1. 07 Mar, 2016 1 commit
    • ishell's avatar
      [crankshaft] Support ES6 tail call elimination. · 22938040
      ishell authored
      HInvokeFunction and HApplyArguments instructions now support tail calling.
      
      Inlining of calls at tail position is not supported yet and therefore still disabled.
      
      The tail-call-megatest was modified so that the usages of "arguments" object do not disable Crankshaft.
      
      TBR=bmeurer@chromium.org
      BUG=v8:4698
      LOG=N
      
      Review URL: https://codereview.chromium.org/1760253003
      
      Cr-Commit-Position: refs/heads/master@{#34542}
      22938040
  2. 18 Feb, 2016 1 commit
    • ishell's avatar
      [turbofan] Fixing ES6 tail calls in Turbofan. · c67b5096
      ishell authored
      In case when F inlined normal call to G which tail calls H we should not write translation for G for the tail call site.
      Otherwise we will see G in a stack trace inside H.
      
      This CL also adds a "megatest" which tests product of the following cases:
      1) tail caller is inlined/not-inlined
      2) tail callee is inlined/not-inlined
      3) tail caller has an arguments adaptor frame above or not
      4) tail callee has an arguments adaptor frame above or not
      5) tail callee is a normal/bound/proxy function
      
      Note that tests for not yet supported cases are not run for now.
      
      BUG=v8:4698
      LOG=N
      
      Review URL: https://codereview.chromium.org/1709583002
      
      Cr-Commit-Position: refs/heads/master@{#34108}
      c67b5096
  3. 11 Feb, 2016 1 commit
  4. 26 Jan, 2016 1 commit
    • ishell's avatar
      [es6] Tail calls support. · 6131ab1e
      ishell authored
      This CL implements PrepareForTailCall() mentioned in ES6 spec for full codegen, Crankshaft and Turbofan.
      When debugger is active tail calls are disabled.
      
      Tail calling can be enabled by --harmony-tailcalls flag.
      
      BUG=v8:4698
      LOG=Y
      TBR=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1609893003
      
      Cr-Commit-Position: refs/heads/master@{#33509}
      6131ab1e