$460e17ea for-in-register-lifetime.js:1:1 Registers: 14 Blocks: 6 Constants: [0] = String("") [1] = Int32(1) [2] = Int32(2) [3] = Int32(3) [4] = Undefined block0: [ 0] SetGlobal `result`, src:String("") [ 10] NewObject dst:reg5 [ 20] InitObjectLiteralProperty object:reg5, `a`, src:Int32(1), shape_cache_index:0, property_slot:0 [ 38] InitObjectLiteralProperty object:reg5, `b`, src:Int32(2), shape_cache_index:0, property_slot:1 [ 50] InitObjectLiteralProperty object:reg5, `c`, src:Int32(3), shape_cache_index:0, property_slot:2 [ 68] CacheObjectShape object:reg5 [ 78] SetGlobal `obj`, src:reg5 [ 88] GetGlobal dst:reg5, `obj` [ 98] JumpNullish condition:reg5, true_target:block3, false_target:block4 block1: [ a8] End value:reg5 block2: [ b0] ObjectPropertyIteratorNext dst_value:reg7, dst_done:reg8, iterator_object:reg6 [ c0] JumpIf condition:reg8, true_target:block1, false_target:block5 block3: [ d0] End value:reg5 block4: [ d8] GetObjectPropertyIterator dst_iterator:reg6, object:reg5 [ e8] Mov dst:reg5, src:Undefined [ f8] Jump target:block2 block5: [ 100] SetGlobal `k`, src:reg7 [ 110] GetGlobal dst:reg9, `result` [ 120] GetGlobal dst:reg10, `k` [ 130] GetGlobal dst:reg11, `obj` [ 140] GetGlobal dst:reg12, `k` [ 150] GetByValue dst:reg13, base:reg11, property:reg12 (obj[reg12]) [ 168] Add dst:reg11, lhs:reg10, rhs:reg13 [ 178] Add dst:reg10, lhs:reg9, rhs:reg11 [ 188] SetGlobal `result`, src:reg10 [ 198] Mov dst:reg5, src:reg10 [ 1a8] Jump target:block2