Description[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}
Patch Set 1 #Patch Set 2 : Fixes for 32-bit. #
Total comments: 33
Patch Set 3 : Incorporate comments and fix a failure in test262. #Patch Set 4 : Rebase only. #Patch Set 5 : Add interpreter assembler test for LoadFixedArrayElement. #Patch Set 6 : Update comments. #
Total comments: 19
Patch Set 7 : Incorporate review comments. #Patch Set 8 : Comment nits. #
Total comments: 1
Created: 5 years, 1 month ago
Messages
Total messages: 18 (5 generated)
|