• Caitlin Potter's avatar
    [async-await] remove CSA_SLOW_ASSERT in AsyncGeneratorResolve · 9867aa3f
    Caitlin Potter authored
    The assertion was intended to verify that the function is only called
    at appropriate times (at a point when it was called both by by other builtins, and by desugarings added in the parser and during bytecode generation) --- However, it didn't account for the case where
    the wrapper Promise is resolved with another JSPromise with a
    non-callable "then" method. (Step 12 of
    https://tc39.github.io/ecma262/#sec-promise-resolve-functions):
    
    "If IsCallable(thenAction) is false, then
        Return FulfillPromise(promise, resolution)."
    
    It would be observable to verify this behaviour by loading the "then"
    value and asserting that it's non-callable, so instead the CSA_ASSERT
    is just removed and replaced with a comment explaining the appropriate
    use of the function.
    
    BUG=chromium:897436, v8:5855
    R=bmeurer@chromium.org
    
    Change-Id: Ib4b11abfe3339409b57ccfda9c3f75a34e0db532
    Reviewed-on: https://chromium-review.googlesource.com/c/1296909
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#56916}
    9867aa3f
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer 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...
preparser Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...