• Benedikt Meurer's avatar
    [inspector] Consistently treat promise rejections as side-effecting. · 0195a5eb
    Benedikt Meurer authored
    Previously we'd treat %_AsyncFunctionReject (and %AsyncFunctionReject)
    as side-effect free (in async functions), but that's not correct, since
    promise rejections have side-effects (at the very least triggering the
    unhandled promise rejection machinery in the browser).
    
    This required a minor refactoring as previously we'd classify functions
    as side-effecting or not depending on whether they contain any calls to
    side-effecting intrinsics, no matter whether this call is actually
    executed or not. That would break REPL mode however if we'd generally
    treat all async functions with %_AsyncFunctionReject intrinsic calls as
    side-effecting, so instead of performing the intrinsic checks ahead of
    time, we now perform the test at execution time.
    
    Before: https://imgur.com/5BvJP9d.png
    After: https://imgur.com/10FanNr.png
    Fixed: chromium:1249275
    Change-Id: Ib06f945ba21f1e06ee9b13a1363fad342464fd9a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3197712
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77183}
    0195a5eb
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...
.vpython 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...