• Yang Guo's avatar
    Make termination exception more consistent. · 7e5cac2c
    Yang Guo authored
    Termination exceptions tear down V8 to the bottom-most V8 call. If there is a
    v8::TryCatch scope around that call, it returns true for HasTerminated() and
    HasCaught(). However, Isolate::IsExecutionTerminating() returns false and we
    can call into V8 from still inside the v8::TryCatch scope.
    
    Changes that this patch introduces:
     - You need to leave the v8::TryCatch scope around the bottom-most call to
       reset the termination state, in order to resume.
     - Explicitly check for termination exception and reporting it through the
       DevTools protocol after Runtime.evaluate and Debugger.evaluateOnCallFrame.
    
    Bug: v8:8455
    Change-Id: I1f36f7a365985469813c2619bf16f18ee69aa4b8
    Reviewed-on: https://chromium-review.googlesource.com/c/1337582Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57963}
    7e5cac2c
Name
Last commit
Last update
benchmarks 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...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...