   0  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
   5  -live- %r0, %r1
   8  goto_if_not_ptr_iszero %r1, L1
  12  ref_return $<* struct tuple2>
  14  ---
  14  L1:
  14  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
  19  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
  24  -live- %i1, %r0, %r1
  27  guard_class %r1 -> %i0
  30  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  35  -live- %i0, %i1, %r0, %r1
  38  switch %i0, <SwitchDictDescr 0:L2, 1:L3, 2:L4>
  42  unreachable
  43  ---
  43  L2:
  43  -live- %i1, %r0, %r1
  46  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  52  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
  57  L5:
  57  -live- %i1, %r0, %r1, %r2
  60  guard_class %r2 -> %i0
  63  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  68  -live- %i0, %i1, %r0, %r1, %r2
  71  int_guard_value %i0
  73  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2, %r1], <CallDescr(rr) EF=5> -> %i0
  81  -live- %i0, %i1, %r0
  84  goto_if_not_int_ne %i1, %i0, L6
  89  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
  94  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab6b658de8> -> %r1
  98  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 103  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 108  assert_not_none %r1
 110  -live- %r1
 113  raise %r1
 115  ---
 115  L6:
 115  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 120  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
 125  -live- %i0, %i1, %r0
 128  goto_if_not_int_lt %i0, %i1, L7
 133  -live- %r0
 136  guard_class %r0 -> %i0
 139  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseItemIterator_vtable.cls_next_item_entry> -> %i0
 144  -live- %i0, %r0
 147  int_guard_value %i0
 149  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r3
 156  -live- %r0, %r3
 159  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 164  int_add %i0, $1 -> %i0
 168  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos>
 173  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_strategy> -> %r2
 178  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 183  -live- %r0, %r1, %r2, %r3
 186  guard_class %r1 -> %i0
 189  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 194  -live- %i0, %r0, %r1, %r2, %r3
 197  switch %i0, <SwitchDictDescr 0:L8, 1:L9, 2:L10>
 201  unreachable
 202  ---
 202  L8:
 202  -live- %r0, %r1, %r2, %r3
 205  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 211  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 216  L11:
 216  instance_ptr_eq %r2, %r1 -> %i0
 220  -live- %i0, %r0, %r3
 223  goto_if_not %i0, L12
 227  ref_return %r3
 229  ---
 229  L12:
 229  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r3
 234  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 239  -live- %r0, %r1, %r3
 242  guard_class %r1 -> %i0
 245  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 250  -live- %i0, %r0, %r1, %r3
 253  switch %i0, <SwitchDictDescr 0:L13, 1:L14, 2:L15>
 257  unreachable
 258  ---
 258  L13:
 258  -live- %r0, %r1, %r3
 261  ref_copy %r3 -> %r2
 264  -live- %r0, %r1, %r2, %r3
 267  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 273  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
 278  L16:
 278  -live- %r0, %r1, %r2, %r3, %r4
 281  guard_class %r4 -> %i0
 284  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem> -> %i0
 289  -live- %i0, %r0, %r1, %r2, %r3, %r4
 292  int_guard_value %i0
 294  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4, %r1, %r3], <CallDescr(rrr) EF=7> -> %r1
 303  -live- %r0, %r1, %r2
 306  goto_if_not_ptr_iszero %r1, L17
 310  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
 315  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab6b658de8> -> %r1
 319  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 324  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 329  assert_not_none %r1
 331  -live- %r1
 334  raise %r1
 336  ---
 336  L17:
 336  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab69cec1a8> -> %r3
 340  setfield_gc_r %r3, %r2, FieldDescr<tuple2.item0>
 345  setfield_gc_r %r3, %r1, FieldDescr<tuple2.item1>
 350  ref_return %r3
 352  ---
 352  L14:
 352  -live- %r0, %r1, %r3
 355  ref_copy %r3 -> %r2
 358  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
 363  goto L16
 366  ---
 366  L15:
 366  -live-
 369  raise $<* struct object>
 371  ---
 371  L9:
 371  -live- %r0, %r1, %r2, %r3
 374  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
 379  goto L11
 382  ---
 382  L10:
 382  -live-
 385  raise $<* struct object>
 387  ---
 387  L7:
 387  setfield_gc_r %r0, $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict>
 392  ref_return $<* struct tuple2>
 394  ---
 394  L3:
 394  -live- %i1, %r0, %r1
 397  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
 402  goto L5
 405  ---
 405  L4:
 405  -live-
 408  raise $<* struct object>
