• Simon Zünd's avatar
    [debug] Allow live-editing of top-most frame · 79db56f1
    Simon Zünd authored
    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/+/3695353Reviewed-by: 's avatarKim-Anh Tran <kimanh@chromium.org>
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81097}
    79db56f1
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.bazelrc Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.mailmap Loading commit data...
.style.yapf Loading commit data...
.vpython Loading commit data...
.vpython3 Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LOONG_OWNERS Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...