• 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
lookup.cc 37.6 KB