• 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
..
BUILD.gn Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
custom-preview.cc Loading commit data...
custom-preview.h Loading commit data...
injected-script.cc Loading commit data...
injected-script.h Loading commit data...
inspected-context.cc Loading commit data...
inspected-context.h Loading commit data...
inspector_protocol_config.json Loading commit data...
remote-object-id.cc Loading commit data...
remote-object-id.h Loading commit data...
search-util.cc Loading commit data...
search-util.h Loading commit data...
string-16.cc Loading commit data...
string-16.h Loading commit data...
string-util.cc Loading commit data...
string-util.h Loading commit data...
test-interface.cc Loading commit data...
test-interface.h Loading commit data...
v8-console-agent-impl.cc Loading commit data...
v8-console-agent-impl.h Loading commit data...
v8-console-message.cc Loading commit data...
v8-console-message.h Loading commit data...
v8-console.cc Loading commit data...
v8-console.h Loading commit data...
v8-debugger-agent-impl.cc Loading commit data...
v8-debugger-agent-impl.h Loading commit data...
v8-debugger-script.cc Loading commit data...
v8-debugger-script.h Loading commit data...
v8-debugger.cc Loading commit data...
v8-debugger.h Loading commit data...
v8-heap-profiler-agent-impl.cc Loading commit data...
v8-heap-profiler-agent-impl.h Loading commit data...
v8-inspector-impl.cc Loading commit data...
v8-inspector-impl.h Loading commit data...
v8-inspector-protocol-encoding.cc Loading commit data...
v8-inspector-protocol-encoding.h Loading commit data...
v8-inspector-session-impl.cc Loading commit data...
v8-inspector-session-impl.h Loading commit data...
v8-profiler-agent-impl.cc Loading commit data...
v8-profiler-agent-impl.h Loading commit data...
v8-regex.cc Loading commit data...
v8-regex.h Loading commit data...
v8-runtime-agent-impl.cc Loading commit data...
v8-runtime-agent-impl.h Loading commit data...
v8-schema-agent-impl.cc Loading commit data...
v8-schema-agent-impl.h Loading commit data...
v8-stack-trace-impl.cc Loading commit data...
v8-stack-trace-impl.h Loading commit data...
v8-string-conversions.cc Loading commit data...
v8-string-conversions.h Loading commit data...
v8-value-utils.cc Loading commit data...
v8-value-utils.h Loading commit data...
value-mirror.cc Loading commit data...
value-mirror.h Loading commit data...
wasm-translation.cc Loading commit data...
wasm-translation.h Loading commit data...