|
[Interpreter] Add support for for..in.
For..in introduces 3 new bytecodes ForInPrepare, ForInNext, and
ForInDone to start a for..in loop, get the next element, and check if
the loop is done.
For..in builds upon new LoopBuilder constructs for conditionally
breaking and continuing during iteration: BreakIf{Null|Undefined}
and ContinueIf{Null|Undefined}. New conditional jump bytecodes
support this succinctly: JumpIfNull and JumpIfUndefined.
Add missing check to BytecodeLabel that could allow multiple
forward referencess to the same label which is not supported.
BUG= v8:4280
LOG=N
Committed: https://crrev.com/dcf757a16fa2f1292078f27114bdde0c8f9d5d10
Cr-Commit-Position: refs/heads/master@{#31651}
Total comments: 33
Total comments: 19
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+926 lines, -31 lines) |
Patch |
|
M |
.gitignore
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/bytecode-graph-builder.cc
|
View
|
1
2
3
|
3 chunks |
+48 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/interpreter-assembler.h
|
View
|
3
4
5
6
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/interpreter-assembler.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/raw-machine-assembler.h
|
View
|
1
2
3
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-builder.h
|
View
|
1
2
3
4
5
6
|
4 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-array-builder.cc
|
View
|
1
2
3
4
5
6
|
6 chunks |
+44 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-generator.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-generator.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+110 lines, -1 line |
0 comments
|
Download
|
|
M |
src/interpreter/bytecodes.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecodes.cc
|
View
|
1
2
|
2 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/interpreter/control-flow-builders.h
|
View
|
1
2
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/control-flow-builders.cc
|
View
|
1
2
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/interpreter/interpreter.cc
|
View
|
1
2
3
4
5
6
7
|
3 chunks |
+118 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime.h
|
View
|
1
2
3
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/runtime/runtime-interpreter.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+48 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/test-bytecode-generator.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+207 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/test-interpreter.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+237 lines, -11 lines |
1 comment
|
Download
|
|
M |
test/unittests/compiler/interpreter-assembler-unittest.cc
|
View
|
1
2
3
4
|
2 chunks |
+30 lines, -13 lines |
0 comments
|
Download
|
|
M |
test/unittests/interpreter/bytecode-array-builder-unittest.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
Total messages: 18 (5 generated)
|