v8/test/inspector
Simon Zünd 3094c4002b [debug] Fix stepping through single statement loops
The debugger utilizes the source position while single stepping
("Step-in") through the source to go from statement to statement and
skipping some expressions along the way. The debugger remembers the
"statement position" of the last stepping action.

This works well in general but falls flat for loops that only have
a single statement in them. Every step lands on the same statement,
just one loop iteration later.

We detect this case by checking if we are in the same frame and have
the exact same bytecode offset as the last step action.

Note that this also fixes "frame restarting" should we have restarted
a function while paused at the beginning of that function.

R=jarin@chromium.org

Bug: chromium:1401674
Change-Id: Id0a5753ed7cc9f23f22d869368d88e1c4b48566d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4135881
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85107}
2023-01-05 07:18:16 +00:00
..
console [inspector] Rename console.scheduleTask to console.createTask 2022-07-27 06:09:27 +00:00
cpu-profiler [wasm] Add more output to console-profile-wasm test 2022-10-17 15:18:25 +00:00
debugger [debug] Fix stepping through single statement loops 2023-01-05 07:18:16 +00:00
heap-profiler Don't run sampling-heap-profiler-flags with stress-incremental-marking 2022-09-15 12:53:28 +00:00
regress [debug] Fix stepping through single statement loops 2023-01-05 07:18:16 +00:00
runtime Runtime.callFunctionOn supports uniqueContextId 2022-12-28 10:45:28 +00:00
sessions [inspector] Correct location for inline scripts with sourceURL. 2021-12-29 15:39:22 +00:00
BUILD.gn Include test/inspector/regress to swarming 2021-07-29 08:00:47 +00:00
DEPS [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
frontend-channel.h [execution] Pass microtask queue from Context to MicrotasksScope 2022-10-19 14:56:37 +00:00
inspector-test.cc [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
inspector.status [inspector] Remove Type Profiler 2022-10-10 11:50:16 +00:00
isolate-data.cc Revert "Fix a few more places where we don't check for termination" 2022-12-14 13:08:13 +00:00
isolate-data.h [test] Move inspector stopping to session 2022-12-13 06:59:09 +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 Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
print-method-not-found-expected.txt [tests] Filter out non-existent methods in inspector tests 2020-01-17 12:21:29 +00:00
print-method-not-found.js [tests] Filter out non-existent methods in inspector tests 2020-01-17 12:21:29 +00:00
protocol-test.js [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
task-runner.cc Reland "[flags] Remove FLAG_* aliases" 2022-10-14 13:13:55 +00:00
task-runner.h [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
tasks.cc Fix gcc build following https://crrev.com/c/v8/v8/+/3976353 2022-11-10 22:35:41 +00:00
tasks.h DevTools: use a barrier to sync runIfWaitingForDebugger from multiple sessions 2022-11-10 20:23:01 +00:00
testcfg.py [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
utils.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
utils.h [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
wasm-inspector-test.js [testing][wasm] Inspector: Print 'null' for empty table entries 2022-11-11 10:53:52 +00:00