6d87d95785
With this CL we use interrupt for pause in two cases: - when we process Debugger.pause on interruption, - when we would like to break as soon as possible after OOM. In all other cases, e.g. for async step into we use break on function call by calling StepIn debugger action. In mentioned cases we should not actually use interrupt as well: - Debugger.pause in this case scheduled using interrupt and we may just break right now without requesting another interrupt, unfortunately blink side is not ready, - we should use more reliable way to break right after near OOM callback, otherwise we can get this callback, increase limit, request break on next interrupt, before interrupt get another huge memory allocation and crash. There are couple advantages: - we get much better break locations for async stepping (see inspector tests expectations), - we can remove DEBUG_BREAK interruption (it should speedup blackboxing with async tasks, see removed todo in debug.cc for details) - it is required preparation step for async step out, (see https://chromium-review.googlesource.com/c/v8/v8/+/1054618) Bug: v8:7753 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iabd7627dbffa9a0eab1736064caf589d02591926 Reviewed-on: https://chromium-review.googlesource.com/1054155 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53439}
14 lines
331 B
Plaintext
14 lines
331 B
Plaintext
Test for Debugger.stepInto with breakOnAsyncCall.
|
|
|
|
Running test: testSetTimeout
|
|
(anonymous) (test.js:0:0)
|
|
asyncCallStackTraceId is set
|
|
setTimeout (test.js:0:17)
|
|
asyncCallStackTraceId is empty
|
|
|
|
Running test: testPromiseThen
|
|
(anonymous) (test.js:0:2)
|
|
asyncCallStackTraceId is set
|
|
p.then (test.js:0:13)
|
|
asyncCallStackTraceId is empty
|