• bmeurer's avatar
    [builtins] Start refactoring the Apply builtin. · af76779a
    bmeurer authored
    This splits the monolithic Apply builtin into several smaller builtins,
    namely CallVargargs and ConstructVarargs, which accept a length and a
    FixedArray of elements and deal with the actual stack manipulation, and
    CallWithArrayLike / ConstructWithArrayLike that deal with getting the
    elements from the receiver (for Function.prototype.apply, Reflect.apply
    and Reflect.construct), which can now be written using the CSA.
    
    The idea is that these builtins can be reused by TurboFan directly in
    the future when we optimize apply better, and that we can also reuse the
    core logic in the handling of spread calls/constructs.
    
    R=petermarshall@chromium.org
    BUG=v8:4587,v8:5269
    
    Review-Url: https://codereview.chromium.org/2930623002
    Cr-Commit-Position: refs/heads/master@{#45794}
    af76779a
bailout-reason.h 20.6 KB