$8053687a for-of-iterator-close.js:6:1 Registers: 9 Blocks: 1 Constants: [0] = Undefined block0: [ 0] GetGlobal dst:reg6, `forOfBreak` [ 10] Call dst:reg5, callee:reg6, this_value:Undefined, forOfBreak [ 30] GetGlobal dst:reg7, `forOfReturn` [ 40] Call dst:reg6, callee:reg7, this_value:Undefined, forOfReturn [ 60] GetGlobal dst:reg7, `forAwaitOfBreak` [ 70] NewPrimitiveArray dst:reg8, elements:[1, 2, 3] [ 98] Call dst:reg5, callee:reg7, this_value:Undefined, forAwaitOfBreak, arguments:[reg8] [ c0] End value:reg5 forOfBreak$7367477b for-of-iterator-close.js:2:18 Registers: 13 Blocks: 13 Locals: x~0 Constants: [0] = Int32(2) [1] = Int32(3) [2] = Int32(1) [3] = Undefined block0: [ 0] GetLexicalEnvironment dst:reg4 [ 8] NewPrimitiveArray dst:reg5, elements:[1, 2, 3] [ 30] GetIterator dst_iterator_object:reg6, dst_iterator_next:reg7, dst_iterator_done:reg8, iterable:reg5 [ 48] Jump target:block2 block1: [ 50] End value:Undefined block2: [ 58] IteratorNextUnpack dst_value:reg10, dst_done:reg11, iterator_object:reg6, iterator_next:reg7, iterator_done:reg8 [ 70] JumpIf condition:reg11, true_target:block1, false_target:block5 block3: [ 80] Catch dst:reg9 [ 88] SetLexicalEnvironment environment:reg4 [ 90] Mov dst:reg5, src:Int32(1) block4: [ a0] JumpStrictlyEquals lhs:reg5, rhs:Int32(1), true_target:block8, false_target:block9 block5: [ b8] Mov dst:x~0, src:reg10 [ c8] JumpStrictlyEquals lhs:x~0, rhs:Int32(2), true_target:block6, false_target:block7 block6: [ e0] Mov dst:reg5, src:Int32(3) [ f0] Jump target:block4 block7: [ f8] Jump target:block2 block8: [ 100] IteratorClose iterator_object:reg6, iterator_next:reg7, iterator_done:reg8, completion_value:reg9 [ 118] Throw src:reg9 block9: [ 120] IteratorClose iterator_object:reg6, iterator_next:reg7, iterator_done:reg8, completion_value:Undefined [ 138] JumpStrictlyEquals lhs:reg5, rhs:Int32(3), true_target:block1, false_target:block10 block10: [ 150] JumpStrictlyEquals lhs:reg5, rhs:Int32(2), true_target:block11, false_target:block12 block11: [ 168] Return value:reg9 block12: [ 170] Throw src:reg9 Exception handlers: [ b8 .. 100] => handler block3 forOfReturn$3ba37d59 for-of-iterator-close.js:9:18 Registers: 12 Blocks: 10 Locals: x~0 Constants: [0] = Int32(2) [1] = Int32(1) [2] = Undefined block0: [ 0] GetLexicalEnvironment dst:reg4 [ 8] NewPrimitiveArray dst:reg5, elements:[1, 2, 3] [ 30] GetIterator dst_iterator_object:reg6, dst_iterator_next:reg7, dst_iterator_done:reg8, iterable:reg5 [ 48] Jump target:block2 block1: [ 50] End value:Undefined block2: [ 58] IteratorNextUnpack dst_value:reg10, dst_done:reg11, iterator_object:reg6, iterator_next:reg7, iterator_done:reg8 [ 70] JumpIf condition:reg11, true_target:block1, false_target:block5 block3: [ 80] Catch dst:reg9 [ 88] SetLexicalEnvironment environment:reg4 [ 90] Mov dst:reg5, src:Int32(1) block4: [ a0] JumpStrictlyEquals lhs:reg5, rhs:Int32(1), true_target:block6, false_target:block7 block5: [ b8] Mov3 dst1:x~0, src1:reg10, dst2:reg9, src2:x~0, dst3:reg5, src3:Int32(2) [ d8] Jump target:block4 block6: [ e0] IteratorClose iterator_object:reg6, iterator_next:reg7, iterator_done:reg8, completion_value:reg9 [ f8] Throw src:reg9 block7: [ 100] IteratorClose iterator_object:reg6, iterator_next:reg7, iterator_done:reg8, completion_value:Undefined [ 118] JumpStrictlyEquals lhs:reg5, rhs:Int32(2), true_target:block8, false_target:block9 block8: [ 130] Return value:reg9 block9: [ 138] Throw src:reg9 Exception handlers: [ b8 .. e0] => handler block3 forAwaitOfBreak$976a8bbf for-of-iterator-close.js:16:24 Registers: 18 Blocks: 30 Locals: x~0 Constants: [0] = Undefined [1] = Int32(1) [2] = Int32(2) [3] = Int32(3) block0: [ 0] Yield continuation_label:block1, value:Undefined block1: [ 10] GetLexicalEnvironment dst:reg4 [ 18] GetIterator dst_iterator_object:reg5, dst_iterator_next:reg6, dst_iterator_done:reg7, iterable:arg0 [ 30] Jump target:block3 block2: [ 38] Yield value:Undefined block3: [ 48] IteratorNext dst:reg12, iterator_object:reg5, iterator_next:reg6, iterator_done:reg7 [ 60] Mov dst:reg13, src:reg0 [ 70] Await continuation_label:block6, argument:reg12 block4: [ 80] Catch dst:reg9 [ 88] SetLexicalEnvironment environment:reg4 [ 90] Mov dst:reg8, src:Int32(1) block5: [ a0] JumpStrictlyEquals lhs:reg8, rhs:Int32(1), true_target:block13, false_target:block14 block6: [ b8] Mov dst:reg13, src:reg0 [ c8] GetCompletionFields type_dst:reg14, value_dst:reg15, completion:reg13 [ d8] JumpStrictlyEquals lhs:reg14, rhs:Int32(1), true_target:block7, false_target:block8 block7: [ f0] Mov dst:reg12, src:reg15 [ 100] ThrowIfNotObject src:reg12 [ 108] GetById dst:reg11, base:reg12, `done` [ 120] JumpIf condition:reg11, true_target:block2, false_target:block9 block8: [ 130] Throw src:reg15 block9: [ 138] GetById dst:reg10, base:reg12, `value` block10: [ 150] Mov dst:x~0, src:reg10 [ 160] JumpStrictlyEquals lhs:x~0, rhs:Int32(2), true_target:block11, false_target:block12 block11: [ 178] Mov dst:reg8, src:Int32(3) [ 188] Jump target:block5 block12: [ 190] Jump target:block3 block13: [ 198] Jump target:block25 block14: [ 1a0] GetMethod dst:reg12, object:reg5, `return` [ 1b0] JumpUndefined condition:reg12, true_target:block15, false_target:block16 block15: [ 1c0] JumpStrictlyEquals lhs:reg8, rhs:Int32(3), true_target:block2, false_target:block20 block16: [ 1d8] Call dst:reg13, callee:reg12, this_value:reg5 [ 1f8] Await continuation_label:block17, argument:reg13 block17: [ 208] Mov dst:reg14, src:reg0 [ 218] GetCompletionFields type_dst:reg15, value_dst:reg16, completion:reg14 [ 228] JumpStrictlyEquals lhs:reg15, rhs:Int32(1), true_target:block18, false_target:block19 block18: [ 240] ThrowIfNotObject src:reg16 [ 248] Jump target:block15 block19: [ 250] Throw src:reg16 block20: [ 258] JumpStrictlyEquals lhs:reg8, rhs:Int32(2), true_target:block21, false_target:block22 block21: [ 270] Return value:reg9 block22: [ 278] Throw src:reg9 block23: [ 280] Throw src:reg9 block24: [ 288] Catch dst:reg12 [ 290] Jump target:block23 block25: [ 298] GetMethod dst:reg12, object:reg5, `return` [ 2a8] JumpUndefined condition:reg12, true_target:block23, false_target:block26 block26: [ 2b8] Call dst:reg13, callee:reg12, this_value:reg5 [ 2d8] Await continuation_label:block27, argument:reg13 block27: [ 2e8] Mov dst:reg14, src:reg0 [ 2f8] GetCompletionFields type_dst:reg15, value_dst:reg16, completion:reg14 [ 308] JumpStrictlyEquals lhs:reg15, rhs:Int32(1), true_target:block28, false_target:block29 block28: [ 320] Jump target:block23 block29: [ 328] Throw src:reg16 Exception handlers: [ 150 .. 198] => handler block4 [ 298 .. 330] => handler block24