$ee59c992 generator-yield-star.js:6:1
  Registers: 8
  Blocks:    1
  Constants:
    [0] = Undefined

block0:
  [   0] GetGlobal dst:reg6, `f`
  [  10] NewPrimitiveArray dst:reg7, elements:[1, 2]
  [  30] Call dst:reg5, callee:reg6, this_value:Undefined, f, arguments:[reg7]
  [  58] End value:reg5


f$fd11892c generator-yield-star.js:4:5
  Registers: 21
  Blocks:    19
  Constants:
    [0] = Undefined
    [1] = Int32(1)
    [2] = Int32(5)

block0:
  [   0] Yield continuation_label:block1, value:Undefined

block1:
  [  10] GetIterator dst_iterator_object:reg8, dst_iterator_next:reg9, dst_iterator_done:reg10, iterable:arg0
  [  28] Mov2 dst1:reg6, src1:Int32(1), dst2:reg7, src2:Undefined

block2:
  [  40] JumpStrictlyEquals lhs:reg6, rhs:Int32(1), true_target:block5, false_target:block6

block3:
  [  58] Mov dst:reg5, src:reg0
  [  68] GetCompletionFields type_dst:reg6, value_dst:reg7, completion:reg5
  [  78] Jump target:block2

block4:
  [  80] Yield value:Undefined

block5:
  [  90] Call dst:reg12, callee:reg9, this_value:reg8, arguments:[reg7]
  [  b8] ThrowIfNotObject src:reg12
  [  c0] GetById dst:reg13, base:reg12, `done`
  [  d8] JumpIf condition:reg13, true_target:block7, false_target:block8

block6:
  [  e8] JumpStrictlyEquals lhs:reg6, rhs:Int32(5), true_target:block9, false_target:block10

block7:
  [ 100] GetById dst:reg14, base:reg12, `value`
  [ 118] Jump target:block4

block8:
  [ 120] YieldIteratorResult continuation_label:block3, value:reg12

block9:
  [ 130] GetMethod dst:reg16, object:reg8, `throw`
  [ 140] JumpUndefined condition:reg16, true_target:block12, false_target:block11

block10:
  [ 150] GetMethod dst:reg18, object:reg8, `return`
  [ 160] JumpUndefined condition:reg18, true_target:block15, false_target:block16

block11:
  [ 170] Call dst:reg12, callee:reg16, this_value:reg8, arguments:[reg7]
  [ 198] ThrowIfNotObject src:reg12
  [ 1a0] GetById dst:reg13, base:reg12, `done`
  [ 1b8] JumpIf condition:reg13, true_target:block13, false_target:block14

block12:
  [ 1c8] IteratorClose iterator_object:reg8, iterator_next:reg9, iterator_done:reg13, completion_value:Undefined
  [ 1e0] NewTypeError dst:reg17, yield* protocol violation: iterator must have a throw method
  [ 1f0] Throw src:reg17

block13:
  [ 1f8] GetById dst:reg14, base:reg12, `value`
  [ 210] Jump target:block4

block14:
  [ 218] YieldIteratorResult continuation_label:block3, value:reg12

block15:
  [ 228] Yield value:reg7

block16:
  [ 238] Call dst:reg19, callee:reg18, this_value:reg8, arguments:[reg7]
  [ 260] ThrowIfNotObject src:reg19
  [ 268] GetById dst:reg13, base:reg19, `done`
  [ 280] JumpFalse condition:reg13, target:block18

block17:
  [ 290] GetById dst:reg20, base:reg19, `value`
  [ 2a8] Yield value:reg20

block18:
  [ 2b8] YieldIteratorResult continuation_label:block3, value:reg19
