• Benedikt Meurer's avatar
    [builtins] Add fast-path for the Promise.resolve lookup. · e122fc45
    Benedikt Meurer authored
    This adds a global protector to guard the lookup of "resolve" on the
    %Promise% intrinsic object (the initial Promise constructor), making
    sure that Promise.resolve yields the initial builtin method. We use
    this protector to avoid the lookup of "resolve" all the time inside
    of Promise.all and Promise.race, when called with constructor being
    the %Promise% intrinsic object.
    
    This improves the performance on the parallel-async-es2017-native
    benchmark by roughly 2-3%.
    
    Bug: v8:7253
    Change-Id: Ida93b88afbaeae61f17be4cd30ea6a78b4267cea
    Reviewed-on: https://chromium-review.googlesource.com/955564Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#51810}
    e122fc45
lookup.cc 39.7 KB