v8/test/inspector
Dmitry Gozman fe3d51e1b2 [inspector] Simplify async stepping
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: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63737}
2019-09-13 02:33:22 +00:00
..
console Revert "[inspector] RemoteObject.description should be empty for primitive type" 2018-05-31 18:52:08 +00:00
cpu-profiler [coverage] Enable optimizations in block coverage modes 2019-05-16 14:39:19 +00:00
debugger [inspector] Simplify async stepping 2019-09-13 02:33:22 +00:00
heap-profiler [heap profiler] Plumb samples through the protocol. 2018-10-23 00:12:01 +00:00
runtime [inspector] honor order in console.table's filter argument 2019-09-02 13:21:24 +00:00
sessions WIP: [parser] Fix arrow function name inferring 2019-01-08 08:10:03 +00:00
type-profiler [test] Remove dead flags from some tests. 2018-10-15 10:00:12 +00:00
BUILD.gn [cleanup] Improve dependency handling in gn targets 2019-02-15 21:52:32 +00:00
DEPS [inspector][roheap] Make inspector-test.cc compatible with shared ro-heap 2019-06-25 10:23:49 +00:00
inspector-test.cc [inspector][roheap] Make inspector-test.cc compatible with shared ro-heap 2019-06-25 10:23:49 +00:00
inspector.status [inspector] Add test for getPossibleBreakpoints on embedded code 2019-04-29 07:47:56 +00:00
isolate-data.cc [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
isolate-data.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
json-parse-expected.txt [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
json-parse.js [inspector] Refactor protocol-test.js 2017-05-19 00:35:45 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
protocol-test.js [wasm] fix clear context group for wasm 2018-11-06 22:27:17 +00:00
task-runner.cc Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
task-runner.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
testcfg.py Reland "Reland "[test] refactor testsuite configuration"" 2019-02-06 09:02:09 +00:00