|
[es8] More spec compliant syntactic tail calls implementation.
Unlike previous implementation where the 'continue' keyword was a feature of a return statement the keyword is now recognized as a part of expression. Error reporting was significantly improved.
--harmony-explicit-tailcalls option is now orthogonal to --harmony-tailcalls so we can test both modes at the same time.
This CL also adds %GetExceptionDetails(exception) that fetches hidden |start_pos| and |end_pos| values from the exception object.
BUG= v8:4915
LOG=N
Committed: https://crrev.com/1350eb3dc9421ff274d29bc9e3b08deb59b71c6b
Cr-Commit-Position: refs/heads/master@{#36024}
Total comments: 6
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+871 lines, -758 lines) |
Patch |
|
M |
src/messages.h
|
View
|
1
2
3
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/parsing/expression-classifier.h
|
View
|
|
6 chunks |
+25 lines, -1 line |
0 comments
|
Download
|
|
M |
src/parsing/parser.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/parsing/parser.cc
|
View
|
1
2
3
|
11 chunks |
+40 lines, -41 lines |
0 comments
|
Download
|
|
M |
src/parsing/parser-base.h
|
View
|
1
2
3
|
32 chunks |
+154 lines, -57 lines |
0 comments
|
Download
|
|
M |
src/parsing/preparser.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/parsing/preparser.cc
|
View
|
1
2
3
|
5 chunks |
+17 lines, -24 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-test.cc
|
View
|
1
2
3
|
2 chunks |
+26 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-binop-lhs.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-binop-lhs.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-binop-rhs.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-binop-rhs.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-comma.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-comma.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-extends.js
|
View
|
1
|
1 chunk |
+1 line, -8 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-extends.out
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-for-in.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-for-in.out
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-for-of.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-for-of.out
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-logical-and.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-logical-and.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-logical-or.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-logical-or.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-in-subclass.js
|
View
|
1
2
|
1 chunk |
+5 lines, -7 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-in-subclass.out
|
View
|
1
2
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try.out
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try-catch-finally.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try-catch-finally.out
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try-try-catch-finally.js
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/message/syntactic-tail-call-in-try-try-catch-finally.out
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-inside-member-expr.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-inside-member-expr.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-of-identifier.js
|
View
|
|
1 chunk |
+2 lines, -9 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-of-identifier.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-of-new.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-of-new.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/message/syntactic-tail-call-without-return.js
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
A |
test/message/syntactic-tail-call-without-return.out
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/es6/tail-call.js
|
View
|
1
2
3
4
5
|
3 chunks |
+74 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/es7/syntactic-tail-call.js
|
View
|
1
|
1 chunk |
+0 lines, -423 lines |
0 comments
|
Download
|
|
D |
test/mjsunit/es7/syntactic-tail-call-simple.js
|
View
|
1
|
1 chunk |
+0 lines, -121 lines |
0 comments
|
Download
|
|
A + |
test/mjsunit/es8/syntactic-tail-call.js
|
View
|
1
2
3
4
|
4 chunks |
+71 lines, -7 lines |
0 comments
|
Download
|
|
A |
test/mjsunit/es8/syntactic-tail-call-parsing.js
|
View
|
1
2
3
4
|
1 chunk |
+369 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/mjsunit/es8/syntactic-tail-call-simple.js
|
View
|
1
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
Total messages: 44 (26 generated)
|