|
[crankshaft] Support ES6 tail call elimination.
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
Committed: https://crrev.com/22938040fdb9a061babe96f004355fd79b2958a0
Cr-Commit-Position: refs/heads/master@{#34542}
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1346 lines, -536 lines) |
Patch |
|
M |
src/arm/builtins-arm.cc
|
View
|
1
2
3
4
|
3 chunks |
+9 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.h
|
View
|
1
2
3
4
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
2
|
1 chunk |
+58 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm64/builtins-arm64.cc
|
View
|
1
2
3
4
|
3 chunks |
+8 lines, -47 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.h
|
View
|
1
2
3
4
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
1
2
|
1 chunk |
+60 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ast/ast-numbering.cc
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/code-factory.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/code-factory.cc
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-arm.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-codegen-arm.h
|
View
|
1
2
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-codegen-arm.cc
|
View
|
1
2
3
4
|
4 chunks |
+99 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-arm64.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-codegen-arm64.h
|
View
|
1
2
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-codegen-arm64.cc
|
View
|
1
2
3
4
|
4 chunks |
+99 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
|
6 chunks |
+8 lines, -19 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen-instructions.h
|
View
|
|
4 chunks |
+41 lines, -34 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-codegen-ia32.h
|
View
|
1
2
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-codegen-ia32.cc
|
View
|
1
2
3
4
|
4 chunks |
+101 lines, -20 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-ia32.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-codegen-mips.h
|
View
|
1
2
3
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-codegen-mips.cc
|
View
|
1
2
3
4
|
4 chunks |
+99 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-mips.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-codegen-mips64.h
|
View
|
1
2
3
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-codegen-mips64.cc
|
View
|
1
2
3
4
|
4 chunks |
+96 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-mips64.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-codegen-x64.h
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-codegen-x64.cc
|
View
|
1
2
3
4
|
4 chunks |
+98 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-x64.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/builtins-ia32.cc
|
View
|
1
2
3
4
|
2 chunks |
+10 lines, -50 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
1
2
3
4
|
3 chunks |
+12 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
1
2
|
1 chunk |
+71 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips/builtins-mips.cc
|
View
|
1
2
3
4
|
2 chunks |
+9 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.h
|
View
|
1
2
3
4
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.cc
|
View
|
1
2
3
|
1 chunk |
+59 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips64/builtins-mips64.cc
|
View
|
1
2
3
4
|
2 chunks |
+8 lines, -45 lines |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.h
|
View
|
1
2
3
4
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.cc
|
View
|
1
2
3
|
1 chunk |
+59 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/builtins-x64.cc
|
View
|
1
2
3
4
|
2 chunks |
+9 lines, -48 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
1
2
3
4
|
3 chunks |
+12 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
2
|
1 chunk |
+71 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/es6/tail-call.js
|
View
|
|
9 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/es6/tail-call-megatest.js
|
View
|
1
2
3
4
5
|
15 chunks |
+129 lines, -61 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/es6/tail-call-simple.js
|
View
|
|
5 chunks |
+40 lines, -2 lines |
0 comments
|
Download
|
Depends on Patchset:
Dependent Patchsets:
Total messages: 37 (25 generated)
|