• bmeurer's avatar
    [turbofan] Introduce JSCallForwardVarargs operator. · 69747e26
    bmeurer authored
    We turn a JSCallFunction node for
    
      f.apply(receiver, arguments)
    
    into a JSCallForwardVarargs node, when the arguments refers to the
    arguments of the outermost optimized code object, i.e. not an inlined
    arguments, and the apply method refers to Function.prototype.apply,
    and there's no other user of arguments except in frame states.
    
    We also replace the arguments node in the graph with a marker for
    the Deoptimizer similar to Crankshaft to make sure we don't materialize
    unused arguments just for the sake of deoptimization. We plan to replace
    this with a saner EscapeAnalysis based solution soon.
    
    R=jarin@chromium.org
    BUG=v8:5267,v8:5726
    
    Review-Url: https://codereview.chromium.org/2655233002
    Cr-Commit-Position: refs/heads/master@{#42680}
    69747e26
code-generator.cc 38.8 KB