v8/test/inspector/debugger/stepping-generator-parameters-expected.txt
Benedikt Meurer 887bacacb0 [debug] Consistent Step-In behavior for generator functions.
This change addresses inconsistencies wrt. to stepping into generator
functions and breaking on the implicit initial yield. The new behavior
is the following:

 1. Stepping into a generator function doesn't trigger "generator
    stepping", but rather pauses right before the initial yield
    (assuming there a no non-simple parameters in between).
 2. When paused on the initial yield and stepping into or over, we also
    don't turn on "generator stepping" immediately, but rather return to
    the caller and only enter "generator stepping" on SuspendGenerator
    bytecodes that correspond to `yield`s or `await`s in the source
    code.

This matches the stepping behavior of regular functions more closely and
seems like a good compromise.

Fixed: chromium:901814
Change-Id: Ifc6c174011df1afea183e2c6ec21de27d72b17a7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949099
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75066}
2021-06-10 07:49:04 +00:00

33 lines
661 B
Plaintext

Generator stepping with non-simple parameters
Running test: testStepOverFromInitialYield
Setting breakpoint on implicit initial yield
Calling callGenerator()
function* generator(a = (x => x)(42)) #{
yield a;
Stepping over while paused on the initial yield
function callGenerator() {
return generator(1);#
}
Running test: testStepIntoInitialYield
Setting breakpoint on call to generator()
Calling callGenerator()
function callGenerator() {
#return generator(1);
}
Stepping into the generator()
function* generator(a = (x => x)(42)) #{
yield a;
Stepping into while paused on the initial yield
function callGenerator() {
return generator(1);#
}