• oth's avatar
    [Interpreter] Add support for for..in. · dcf757a1
    oth authored
    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
    
    Review URL: https://codereview.chromium.org/1422033002
    
    Cr-Commit-Position: refs/heads/master@{#31651}
    dcf757a1
runtime-interpreter.cc 5.79 KB