$469b0790 switch-with-block-scope-return.js:12:1 Registers: 7 Blocks: 1 Constants: [0] = Undefined [1] = Int32(1) block0: [ 0] GetGlobal dst:reg6, `f` [ 18] Call dst:reg5, callee:reg6, this_value:Undefined, f, arguments:[Int32(1)] [ 40] End value:reg5 f$055cd79c switch-with-block-scope-return.js:2:5 Registers: 8 Blocks: 7 Constants: [0] = Int32(1) [1] = Int32(2) [2] = String("one") [3] = String("two") [4] = Undefined [5] = String("other") block0: [ 0] GetLexicalEnvironment dst:reg4 [ 8] CreateLexicalEnvironment dst:reg5, parent:reg4, capacity:0 [ 18] CreateImmutableBinding environment:reg5, `y`, strict_binding:true [ 28] JumpStrictlyEquals lhs:Int32(1), rhs:arg0, true_target:block3, false_target:block1 block1: [ 40] JumpStrictlyEquals lhs:Int32(2), rhs:arg0, true_target:block4, false_target:block2 block2: [ 58] Jump target:block5 block3: [ 60] SetLexicalEnvironment environment:reg4 [ 68] Return value:String("one") block4: [ 70] InitializeLexicalBinding `y`, src:String("two") [ 88] NewFunction dst:reg7, shared_function_data_index:0 [ a0] Call dst:reg6, callee:reg7, this_value:Undefined [ c0] SetLexicalEnvironment environment:reg4 [ c8] Return value:reg6 block5: [ d0] SetLexicalEnvironment environment:reg4 [ d8] Return value:String("other") block6: [ e0] SetLexicalEnvironment environment:reg4 [ e8] End value:Undefined