• Dmitry Gozman's avatar
    [inspector] Simplify async stepping · fe3d51e1
    Dmitry Gozman authored
    Currently, debugger pauses on async call schedule and then waits for Debugger.pauseOnAsyncCall
    with parentStackTraceId to actually schedule the pause.
    
    This CL combines these two steps:
    - For local async tasks, it just stores m_taskWithScheduledBreak at the time of schedule,
      to be able to pause once this task is run.
    - For external async tasks, it plumbs "should_pause" boolean in V8StackTraceId from
      the point of schedule to the point of execution, and schedules a pause once
      externalAsyncTaskStarted is called with "should_pause" set to true.
    
    This approach greatly simplifies the implementation, and reduced frontend to a single
    "breakOnAsyncCall: true" parameter in Debugger.stepInto.
    
    Drive-by: introduce hasScheduledBreakOnNextFunctionCall() to make
    SetBreakOnNextFunctionCall management more robust.
    
    Note: artificial pauses at async call schedule time are gone from test expectations -
    we now only pause when user actually wants to pause, which makes protocol much simpler.
    
    See also design doc linked in the bug.
    
    BUG=chromium:1000475
    
    Change-Id: I2d16f79c599fe196b2aaeca8223c63437a2954a9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1783724
    Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
    Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63737}
    fe3d51e1
Name
Last commit
Last update
..
libplatform Loading commit data...
APIDesign.md Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
js_protocol-1.2.json Loading commit data...
js_protocol-1.3.json Loading commit data...
js_protocol.pdl Loading commit data...
v8-inspector-protocol.h Loading commit data...
v8-inspector.h Loading commit data...
v8-internal.h Loading commit data...
v8-platform.h Loading commit data...
v8-profiler.h Loading commit data...
v8-testing.h Loading commit data...
v8-util.h Loading commit data...
v8-value-serializer-version.h Loading commit data...
v8-version-string.h Loading commit data...
v8-version.h Loading commit data...
v8-wasm-trap-handler-posix.h Loading commit data...
v8-wasm-trap-handler-win.h Loading commit data...
v8.h Loading commit data...
v8config.h Loading commit data...