   0  -live- %r0
   0  guard_class %r0 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
   8  -live- %i0, %r0
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0
  13  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
  18  L4:
  18  -live- %r0, %r1
  18  guard_class %r1 -> %i0
  21  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_has_iterreversed> -> %i0
  26  -live- %i0, %r0, %r1
  26  goto_if_not %i0, L5
  30  -live- %r0, %r1
  30  guard_class %r1 -> %i0
  33  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_iterreversed> -> %i0
  38  -live- %i0, %r0, %r1
  38  int_guard_value %i0
  40  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1, %r0], <CallDescr(rr) EF=5> -> %r0
  48  -live- %r0
  48  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4bcf5af0> -> %r1
  52  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_BaseDictMultiIterObject.inst_iteratorimplementation>
  57  ref_return %r1
  59  ---
  59  L5:
  59  -live- %r0
  59  guard_class %r0 -> %i0
  62  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  67  -live- %i0, %r0
  67  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  71  unreachable
  72  ---
  72  L6:
  72  -live- %r0
  72  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r1
  77  L9:
  77  -live- %r0, %r1
  77  guard_class %r1 -> %i0
  80  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_w_keys> -> %i0
  85  -live- %i0, %r0, %r1
  85  int_guard_value %i0
  87  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r0
  95  -live- %r0
  95  inline_call_r_r <JitCode 'call_method_opt__star_0'>, R[%r0, $<* struct rpy_string>] -> %r1
 102  -live- %r1
 102  ref_return %r1
 104  ---
 104  L7:
 104  -live-
 104  raise $<* struct object>
 106  ---
 106  L8:
 106  -live- %r0
 106  -live- %r0
 106  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 112  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 117  goto L9
 120  ---
 120  L2:
 120  -live-
 120  raise $<* struct object>
 122  ---
 122  L3:
 122  -live- %r0
 122  -live- %r0
 122  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 128  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r1
 133  goto L4
