• Benedikt Meurer's avatar
    [builtins] Extend the @@species protector to guard Promises. · 79e91f0c
    Benedikt Meurer authored
    Use this in the PromiseThen operation to skip the (expensive) lookup in
    the SpeciesConstructor operation. This yields in a nice 3-5% improvement
    on the bluebird and wikipedia benchmarks, and paves the way for inlining
    certain Promise operations into TurboFan optimized code later.
    
    On the micro-benchmark mentioned in the bug (from the findings doc), we
    reduce the overall execution time by 25%, which makes sense given that
    Promise.prototype.then spends a significant portion of it's time just
    figuring out the appropriate constructor.
    
    Bug: v8:7253, v8:7349
    Change-Id: Ia1577b59d1b7e4b8dbda83e2186583edab76695a
    Reviewed-on: https://chromium-review.googlesource.com/880681Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50794}
    79e91f0c
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...
unittests Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
d8_default.gyp Loading commit data...
d8_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...