   0  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r2
   5  -live- %r0, %r2
   8  goto_if_not_ptr_iszero %r2, L1
  12  ref_return $<* struct tuple2>
  14  ---
  14  L1:
  14  ref_copy %r0 -> %r1
  17  getfield_gc_i %r1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
  22  -live- %i1, %r0, %r2
  25  guard_class %r2 -> %i0
  28  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  33  -live- %i0, %i1, %r0, %r2
  36  switch %i0, <SwitchDictDescr 0:L2, 1:L3, 2:L4>
  40  unreachable
  41  ---
  41  L2:
  41  -live- %i1, %r0, %r2
  44  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  50  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
  55  L5:
  55  -live- %i1, %r0, %r1, %r2
  58  guard_class %r1 -> %i0
  61  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  66  -live- %i0, %i1, %r0, %r1, %r2
  69  int_guard_value %i0
  71  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1, %r2], <CallDescr(rr) EF=5> -> %i0
  79  -live- %i0, %i1, %r0
  82  goto_if_not_int_ne %i1, %i0, L6
  87  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
  92  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa65925830> -> %r1
  96  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 101  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 106  assert_not_none %r1
 108  -live- %r1
 111  raise %r1
 113  ---
 113  L6:
 113  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 118  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len> -> %i1
 123  -live- %i0, %i1, %r0
 126  goto_if_not_int_lt %i0, %i1, L7
 131  -live- %r0
 134  guard_class %r0 -> %i0
 137  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseItemIterator_vtable.cls_next_item_entry> -> %i0
 142  -live- %i0, %r0
 145  int_guard_value %i0
 147  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=7> -> %r3
 154  -live- %r0, %r3
 157  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos> -> %i0
 162  int_add %i0, $1 -> %i0
 166  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_pos>
 171  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_strategy> -> %r2
 176  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 181  -live- %r0, %r1, %r2, %r3
 184  guard_class %r1 -> %i0
 187  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 192  -live- %i0, %r0, %r1, %r2, %r3
 195  switch %i0, <SwitchDictDescr 0:L8, 1:L9, 2:L10>
 199  unreachable
 200  ---
 200  L8:
 200  -live- %r0, %r1, %r2, %r3
 203  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 209  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 214  L11:
 214  instance_ptr_eq %r2, %r1 -> %i0
 218  -live- %i0, %r0, %r3
 221  goto_if_not %i0, L12
 225  ref_return %r3
 227  ---
 227  L12:
 227  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r3
 232  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict> -> %r1
 237  -live- %r0, %r1, %r3
 240  guard_class %r1 -> %i0
 243  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 248  -live- %i0, %r0, %r1, %r3
 251  switch %i0, <SwitchDictDescr 0:L13, 1:L14, 2:L15>
 255  unreachable
 256  ---
 256  L13:
 256  -live- %r0, %r1, %r3
 259  ref_copy %r3 -> %r2
 262  -live- %r0, %r1, %r2, %r3
 265  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 271  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
 276  L16:
 276  -live- %r0, %r1, %r2, %r3, %r4
 279  guard_class %r4 -> %i0
 282  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem> -> %i0
 287  -live- %i0, %r0, %r1, %r2, %r3, %r4
 290  int_guard_value %i0
 292  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4, %r1, %r3], <CallDescr(rrr) EF=7> -> %r1
 301  -live- %r0, %r1, %r2
 304  goto_if_not_ptr_iszero %r1, L17
 308  setfield_gc_i %r0, $-1, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_len>
 313  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa65925830> -> %r1
 317  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 322  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 327  assert_not_none %r1
 329  -live- %r1
 332  raise %r1
 334  ---
 334  L17:
 334  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa65bea4b8> -> %r3
 338  setfield_gc_r %r3, %r2, FieldDescr<tuple2.item0>
 343  setfield_gc_r %r3, %r1, FieldDescr<tuple2.item1>
 348  ref_return %r3
 350  ---
 350  L14:
 350  -live- %r0, %r1, %r3
 353  ref_copy %r3 -> %r2
 356  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
 361  goto L16
 364  ---
 364  L15:
 364  -live-
 367  raise $<* struct object>
 369  ---
 369  L9:
 369  -live- %r0, %r1, %r2, %r3
 372  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
 377  goto L11
 380  ---
 380  L10:
 380  -live-
 383  raise $<* struct object>
 385  ---
 385  L7:
 385  setfield_gc_r %r0, $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>, FieldDescr<pypy.objspace.std.dictmultiobject.BaseIteratorImplementation.inst_w_dict>
 390  ref_return $<* struct tuple2>
 392  ---
 392  L3:
 392  -live- %i1, %r0, %r2
 395  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
 400  goto L5
 403  ---
 403  L4:
 403  -live-
 406  raise $<* struct object>
