- 07 Mar, 2016 1 commit
-
-
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}
-
- 18 Feb, 2016 1 commit
-
-
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}
-
- 11 Feb, 2016 1 commit
-
-
ishell authored
Instead of doing a full function body traversal we collect return expressions and mark them after function parsing. And since we rewrite do-expressions so that the result is explicitly assigned to a result variable the statements marking will never hit so I removed it from the AST. BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1693523002 Cr-Commit-Position: refs/heads/master@{#33911}
-
- 26 Jan, 2016 1 commit
-
-
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}
-