$78a7573a optional-chain.js:25:1
  Registers: 8
  Blocks:    1
  Constants:
    [0] = Undefined
    [1] = Null

block0:
  [   0] GetGlobal dst:reg6, `member`
  [  10] Call dst:reg5, callee:reg6, this_value:Undefined, member, arguments:[Null]
  [  38] GetGlobal dst:reg7, `nested_member`
  [  48] Call dst:reg6, callee:reg7, this_value:Undefined, nested_member, arguments:[Null]
  [  70] GetGlobal dst:reg7, `call_no_args`
  [  80] Call dst:reg5, callee:reg7, this_value:Undefined, call_no_args, arguments:[Null]
  [  a8] GetGlobal dst:reg7, `call_with_args`
  [  b8] Call dst:reg6, callee:reg7, this_value:Undefined, call_with_args, arguments:[Null]
  [  e0] GetGlobal dst:reg7, `computed`
  [  f0] Call dst:reg5, callee:reg7, this_value:Undefined, computed, arguments:[Null]
  [ 118] GetGlobal dst:reg7, `member_then_call`
  [ 128] Call dst:reg6, callee:reg7, this_value:Undefined, member_then_call, arguments:[Null]
  [ 150] End value:reg6


member$36eb39cf optional-chain.js:7:5
  Registers: 7
  Blocks:    3
  Constants:
    [0] = Undefined

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `x`
  [  68] Return value:reg6


nested_member$85d10998 optional-chain.js:10:5
  Registers: 7
  Blocks:    4
  Constants:
    [0] = Undefined

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `x`
  [  68] JumpNullish condition:reg6, true_target:block1, false_target:block3

block3:
  [  78] Mov dst:reg5, src:reg6
  [  88] GetById dst:reg6, base:reg6, `y`
  [  a0] Return value:reg6


call_no_args$70a09739 optional-chain.js:13:5
  Registers: 8
  Blocks:    3
  Constants:
    [0] = Undefined

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `foo`
  [  68] NewArray dst:reg7
  [  78] CallWithArgumentArray dst:reg6, callee:reg6, this_value:reg5, arguments:reg7
  [  90] Mov dst:reg5, src:Undefined
  [  a0] Return value:reg6


call_with_args$b7c2071f optional-chain.js:16:5
  Registers: 11
  Blocks:    3
  Constants:
    [0] = Undefined
    [1] = Int32(1)
    [2] = Int32(2)
    [3] = Int32(3)

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `foo`
  [  68] Mov3 dst1:reg8, src1:Int32(1), dst2:reg9, src2:Int32(2), dst3:reg10, src3:Int32(3)
  [  88] NewArray dst:reg7, elements:[reg8, reg9, reg10]
  [  a8] CallWithArgumentArray dst:reg6, callee:reg6, this_value:reg5, arguments:reg7
  [  c0] Mov dst:reg5, src:Undefined
  [  d0] Return value:reg6


computed$9ef8515a optional-chain.js:19:5
  Registers: 7
  Blocks:    3
  Constants:
    [0] = Undefined
    [1] = String("hello")

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `hello`
  [  68] Return value:reg6


member_then_call$b60035e3 optional-chain.js:22:5
  Registers: 8
  Blocks:    3
  Constants:
    [0] = Undefined

block0:
  [   0] Mov2 dst1:reg5, src1:Undefined, dst2:reg6, src2:arg0
  [  18] JumpNullish condition:reg6, true_target:block1, false_target:block2

block1:
  [  28] Mov dst:reg6, src:Undefined
  [  38] Return value:reg6

block2:
  [  40] Mov dst:reg5, src:reg6
  [  50] GetById dst:reg6, base:reg6, `x`
  [  68] Mov dst:reg5, src:reg6
  [  78] GetById dst:reg6, base:reg6, `foo`
  [  90] NewArray dst:reg7
  [  a0] CallWithArgumentArray dst:reg6, callee:reg6, this_value:reg5, arguments:reg7
  [  b8] Mov dst:reg5, src:Undefined
  [  c8] Return value:reg6
