   0  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_strategy>
   5  setfield_gc_r %r0, %r2, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict>
  10  -live- %r0, %r1, %r2
  10  guard_class %r2 -> %i0
  13  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  18  -live- %i0, %r0, %r1, %r2
  18  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  22  unreachable
  23  ---
  23  L1:
  23  -live- %r0, %r1, %r2
  23  ref_copy %r0 -> %r3
  26  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
  31  L4:
  31  -live- %r0, %r1, %r2, %r3, %r4
  31  guard_class %r4 -> %i0
  34  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  39  -live- %i0, %r0, %r1, %r2, %r3, %r4
  39  int_guard_value %i0
  41  residual_call_r_i %i0, <IndirectCallTargets>, R[%r4, %r2], <CallDescr(rr) EF=2> -> %i0
  49  -live- %i0, %r0, %r1, %r2, %r3
  49  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
  54  setfield_gc_i %r0, $0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos>
  59  residual_call_r_v $<* fn MapDictIteratorKeys._init>, R[%r3, %r1, %r2], <CallDescr(rrr) EF=5>
  67  -live-
  67  void_return
  68  ---
  68  L2:
  68  -live-
  68  raise $<* struct object>
  70  ---
  70  L3:
  70  -live- %r0, %r1, %r2
  70  ref_copy %r0 -> %r3
  73  -live- %r0, %r1, %r2, %r3
  73  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  79  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
  84  goto L4
