   0  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
   5  -live- %r0, %r1
   5  goto_if_not_ptr_iszero %r1, L1
   9  ref_return $<* struct tuple2>
  11  ---
  11  L1:
  11  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
  16  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
  21  -live- %i1, %r0, %r1
  21  guard_class %r1 -> %i0
  24  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  29  -live- %i0, %i1, %r0, %r1
  29  switch %i0, <SwitchDictDescr 0:L2, 1:L3, 2:L4>
  33  unreachable
  34  ---
  34  L2:
  34  -live- %i1, %r0, %r1
  34  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
  39  L5:
  39  -live- %i1, %r0, %r1, %r2
  39  guard_class %r2 -> %i0
  42  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  47  -live- %i0, %i1, %r0, %r1, %r2
  47  int_guard_value %i0
  49  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2, %r1], <CallDescr(rr) EF=2> -> %i0
  57  -live- %i0, %i1, %r0
  57  -live- %i0, %i1, %r0
  57  goto_if_not_int_ne %i1, %i0, L6
  62  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
  67  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff713b8960> -> %r1
  71  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  76  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  81  assert_not_none %r1
  83  -live- %r1
  83  guard_class %r1 -> %i0
  86  -live- %r1
  86  raise %r1
  88  ---
  88  L6:
  88  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
  93  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
  98  -live- %i0, %i1, %r0
  98  goto_if_not_int_lt %i0, %i1, L7
 103  -live- %r0
 103  guard_class %r0 -> %i0
 106  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseItemIterator_vtable.cls_next_item_entry> -> %i0
 111  -live- %i0, %r0
 111  int_guard_value %i0
 113  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r2
 120  -live- %r0, %r2
 120  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 125  int_add %i0, $1 -> %i0
 129  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos>
 134  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_strategy> -> %r3
 139  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 144  -live- %r0, %r1, %r2, %r3
 144  guard_class %r1 -> %i0
 147  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 152  -live- %i0, %r0, %r1, %r2, %r3
 152  switch %i0, <SwitchDictDescr 0:L8, 1:L9, 2:L10>
 156  unreachable
 157  ---
 157  L8:
 157  -live- %r0, %r1, %r2, %r3
 157  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
 162  L11:
 162  instance_ptr_eq %r3, %r1 -> %i0
 166  -live- %i0, %r0, %r2
 166  goto_if_not %i0, L12
 170  ref_return %r2
 172  ---
 172  L12:
 172  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r2
 177  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 182  -live- %r0, %r1, %r2
 182  guard_class %r1 -> %i0
 185  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 190  -live- %i0, %r0, %r1, %r2
 190  switch %i0, <SwitchDictDescr 0:L13, 1:L14, 2:L15>
 194  unreachable
 195  ---
 195  L13:
 195  -live- %r0, %r1, %r2
 195  ref_copy %r2 -> %r3
 198  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
 203  L16:
 203  -live- %r0, %r1, %r2, %r3, %r4
 203  guard_class %r4 -> %i0
 206  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem> -> %i0
 211  -live- %i0, %r0, %r1, %r2, %r3, %r4
 211  int_guard_value %i0
 213  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4, %r1, %r2], <CallDescr(rrr) EF=7> -> %r1
 222  -live- %r0, %r1, %r3
 222  -live- %r0, %r1, %r3
 222  goto_if_not_ptr_iszero %r1, L17
 226  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
 231  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff713b8960> -> %r1
 235  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 240  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 245  assert_not_none %r1
 247  -live- %r1
 247  guard_class %r1 -> %i0
 250  -live- %r1
 250  raise %r1
 252  ---
 252  L17:
 252  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff50444d20> -> %r2
 256  setfield_gc_r %r2, %r3, FieldDescr<tuple2.item0>
 261  setfield_gc_r %r2, %r1, FieldDescr<tuple2.item1>
 266  ref_return %r2
 268  ---
 268  L14:
 268  -live-
 268  raise $<* struct object>
 270  ---
 270  L15:
 270  -live- %r0, %r1, %r2
 270  ref_copy %r2 -> %r3
 273  -live- %r0, %r1, %r2, %r3
 273  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 279  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
 284  goto L16
 287  ---
 287  L9:
 287  -live-
 287  raise $<* struct object>
 289  ---
 289  L10:
 289  -live- %r0, %r1, %r2, %r3
 289  -live- %r0, %r1, %r2, %r3
 289  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 295  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 300  goto L11
 303  ---
 303  L7:
 303  setfield_gc_r %r0, $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict>
 308  ref_return $<* struct tuple2>
 310  ---
 310  L3:
 310  -live-
 310  raise $<* struct object>
 312  ---
 312  L4:
 312  -live- %i1, %r0, %r1
 312  -live- %i1, %r0, %r1
 312  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 318  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
 323  goto L5
