• bmeurer's avatar
    [turbofan] Inline ReturnReceiver builtin into TurboFan. · aea68b5a
    bmeurer authored
    Builtins::kReturnReceiver is used for the Symbol.iterator function on
    iterators, and just returns the iterator itself. For example, for-of
    or yield* with a generator will first call generator[Symbol.iterator](),
    which simply returns the generator itself. Inlining this particular
    builtin into TurboFan is trivial and avoids that call completely,
    enabling more possibilities for LoadElimination and EscapeAnalysis
    to get rid of even more checks in common generator code.
    
    BUG=v8:6344,v8:6351,v8:6354
    R=jgruber@chromium.org
    
    Review-Url: https://codereview.chromium.org/2938683002
    Cr-Commit-Position: refs/heads/master@{#45927}
    aea68b5a
js-call-reducer.cc 45 KB