   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  -live- %i1, %r0, %r1
  34  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  40  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
  45  L5:
  45  -live- %i1, %r0, %r1, %r2
  45  guard_class %r2 -> %i0
  48  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  53  -live- %i0, %i1, %r0, %r1, %r2
  53  int_guard_value %i0
  55  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2, %r1], <CallDescr(rr) EF=5> -> %i0
  63  -live- %i0, %i1, %r0
  63  -live- %i0, %i1, %r0
  63  goto_if_not_int_ne %i1, %i0, L6
  68  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
  73  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r1
  77  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  82  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  87  assert_not_none %r1
  89  -live- %r1
  89  guard_class %r1 -> %i0
  92  -live- %r1
  92  raise %r1
  94  ---
  94  L6:
  94  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
  99  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
 104  -live- %i0, %i1, %r0
 104  goto_if_not_int_lt %i0, %i1, L7
 109  -live- %r0
 109  guard_class %r0 -> %i0
 112  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseItemIterator_vtable.cls_next_item_entry> -> %i0
 117  -live- %i0, %r0
 117  int_guard_value %i0
 119  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r3
 126  -live- %r0, %r3
 126  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 131  int_add %i0, $1 -> %i0
 135  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos>
 140  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_strategy> -> %r2
 145  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 150  -live- %r0, %r1, %r2, %r3
 150  guard_class %r1 -> %i0
 153  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 158  -live- %i0, %r0, %r1, %r2, %r3
 158  switch %i0, <SwitchDictDescr 0:L8, 1:L9, 2:L10>
 162  unreachable
 163  ---
 163  L8:
 163  -live- %r0, %r1, %r2, %r3
 163  -live- %r0, %r1, %r2, %r3
 163  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 169  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 174  L11:
 174  instance_ptr_eq %r2, %r1 -> %i0
 178  -live- %i0, %r0, %r3
 178  goto_if_not %i0, L12
 182  ref_return %r3
 184  ---
 184  L12:
 184  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r3
 189  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 194  -live- %r0, %r1, %r3
 194  guard_class %r1 -> %i0
 197  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 202  -live- %i0, %r0, %r1, %r3
 202  switch %i0, <SwitchDictDescr 0:L13, 1:L14, 2:L15>
 206  unreachable
 207  ---
 207  L13:
 207  -live- %r0, %r1, %r3
 207  ref_copy %r3 -> %r2
 210  -live- %r0, %r1, %r2, %r3
 210  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 216  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
 221  L16:
 221  -live- %r0, %r1, %r2, %r3, %r4
 221  guard_class %r4 -> %i0
 224  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem> -> %i0
 229  -live- %i0, %r0, %r1, %r2, %r3, %r4
 229  int_guard_value %i0
 231  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4, %r1, %r3], <CallDescr(rrr) EF=7> -> %r1
 240  -live- %r0, %r1, %r2
 240  -live- %r0, %r1, %r2
 240  goto_if_not_ptr_iszero %r1, L17
 244  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
 249  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r1
 253  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 258  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 263  assert_not_none %r1
 265  -live- %r1
 265  guard_class %r1 -> %i0
 268  -live- %r1
 268  raise %r1
 270  ---
 270  L17:
 270  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018bf58db0> -> %r3
 274  setfield_gc_r %r3, %r2, FieldDescr<tuple2.item0>
 279  setfield_gc_r %r3, %r1, FieldDescr<tuple2.item1>
 284  ref_return %r3
 286  ---
 286  L14:
 286  -live- %r0, %r1, %r3
 286  ref_copy %r3 -> %r2
 289  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
 294  goto L16
 297  ---
 297  L15:
 297  -live-
 297  raise $<* struct object>
 299  ---
 299  L9:
 299  -live- %r0, %r1, %r2, %r3
 299  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
 304  goto L11
 307  ---
 307  L10:
 307  -live-
 307  raise $<* struct object>
 309  ---
 309  L7:
 309  setfield_gc_r %r0, $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict>
 314  ref_return $<* struct tuple2>
 316  ---
 316  L3:
 316  -live- %i1, %r0, %r1
 316  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
 321  goto L5
 324  ---
 324  L4:
 324  -live-
 324  raise $<* struct object>
