v8/test
Simon Zünd 79db56f1e4 [debug] Allow live-editing of top-most frame
This CL extends the live edit mechanism to allow editing the function
that is currently on top of the stack, as long as that call frame is
the only activation of that  function.

The CL changes how we look for functions on the current JS stack:
Instead of starting at thread_local_top we start at the frame we
are currently paused in. This is possible since there can not be any
JavaScript frames above the current "break frame", only C++ frames
which are not relevant for live edit.

If the edited script modifes the top-most function, the inspector
will trigger a restart of that call frame. That is why we check
if we can actually restart the function and only allow the live
edit to go through if that is the case.

Note that this CL also adds a kill switch in the form of a runtime
flag for this feature, in case we need to pull the plug and disable
this feature again via back-merge.

R=jarin@chromium.org

Bug: chromium:1334484
Change-Id: I711913df96c8acc786ad4de28de804d2f90e1847
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695353
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81097}
2022-06-13 10:29:30 +00:00
..
benchmarks Skip benchmarks/octane/gbemu-part1 test on NumFuzz 2022-06-09 08:28:53 +00:00
bigint
cctest [debug] Allow live-editing of top-most frame 2022-06-13 10:29:30 +00:00
common [wasm][refactor] Use MessageTemplate to describe errors 2022-06-09 16:01:54 +00:00
debugger
debugging
fuzzer [wasm][streaming] Check for illegal section code 2022-06-10 14:23:07 +00:00
fuzzilli
inspector [inspector] Introduce status result for Debugger.setScriptSource 2022-06-09 12:18:32 +00:00
intl
js-perf-test
memory
message [api] add v8::Module::GetStalledTopLevelAwaitMessage() 2022-06-10 16:46:57 +00:00
mjsunit [stringrefs] Implement stringview_wtf16.slice 2022-06-11 11:46:33 +00:00
mkgrokdump
mozilla
test262 [Temporal] Add with to ZonedDateTime 2022-06-09 20:21:53 +00:00
torque
unittests [test] Fix get resources for interpreter expectation files 2022-06-11 02:02:28 +00:00
wasm-api-tests [wasm][c-api] Add handle scope to fix wasm_module_validate 2022-06-09 16:46:23 +00:00
wasm-js
wasm-spec-tests
webkit
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS