• 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
..
benchmarks Loading commit data...
bigint Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
debugging Loading commit data...
fuzzer Loading commit data...
fuzzilli Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-api-tests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
OWNERS Loading commit data...