• 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
..
console Loading commit data...
cpu-profiler Loading commit data...
debugger Loading commit data...
heap-profiler Loading commit data...
regress Loading commit data...
runtime Loading commit data...
sessions Loading commit data...
type-profiler Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
frontend-channel.h Loading commit data...
inspector-test.cc Loading commit data...
inspector.status Loading commit data...
isolate-data.cc Loading commit data...
isolate-data.h Loading commit data...
json-parse-expected.txt Loading commit data...
json-parse.js Loading commit data...
print-method-not-found-expected.txt Loading commit data...
print-method-not-found.js Loading commit data...
protocol-test.js Loading commit data...
task-runner.cc Loading commit data...
task-runner.h Loading commit data...
tasks.cc Loading commit data...
tasks.h Loading commit data...
testcfg.py Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...
wasm-inspector-test.js Loading commit data...