   0  -live- %r0, %r1
   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, %r1
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0, %r1
  13  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
  18  L4:
  18  -live- %r0, %r1, %r3
  18  guard_class %r3 -> %i0
  21  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  26  -live- %i0, %r0, %r1, %r3
  26  int_guard_value %i0
  28  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=2> -> %i1
  36  -live- %i1, %r0, %r1
  36  -live- %i1, %r0, %r1
  36  guard_class %r1 -> %i0
  39  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  44  -live- %i0, %i1, %r0, %r1
  44  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  48  unreachable
  49  ---
  49  L5:
  49  -live- %i1, %r0, %r1
  49  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
  54  L8:
  54  -live- %i1, %r0, %r1, %r3
  54  guard_class %r3 -> %i0
  57  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  62  -live- %i0, %i1, %r0, %r1, %r3
  62  int_guard_value %i0
  64  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
  72  -live- %i0, %i1, %r0, %r1
  72  -live- %i0, %i1, %r0, %r1
  72  goto_if_not_int_lt %i1, %i0, L9
  77  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  79  ---
  79  L9:
  79  -live- %r0, %r1
  79  guard_class %r0 -> %i0
  82  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  87  -live- %i0, %r0, %r1
  87  switch %i0, <SwitchDictDescr 0:L10, 1:L11, 2:L12>
  91  unreachable
  92  ---
  92  L10:
  92  -live- %r0, %r1
  92  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
  97  L13:
  97  -live- %r0, %r1, %r3
  97  guard_class %r3 -> %i0
 100  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 105  -live- %i0, %r0, %r1, %r3
 105  int_guard_value %i0
 107  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=2> -> %i1
 115  -live- %i1, %r0, %r1
 115  -live- %i1, %r0, %r1
 115  guard_class %r1 -> %i0
 118  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 123  -live- %i0, %i1, %r0, %r1
 123  switch %i0, <SwitchDictDescr 0:L14, 1:L15, 2:L16>
 127  unreachable
 128  ---
 128  L14:
 128  -live- %i1, %r0, %r1
 128  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 133  L17:
 133  -live- %i1, %r0, %r1, %r3
 133  guard_class %r3 -> %i0
 136  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 141  -live- %i0, %i1, %r0, %r1, %r3
 141  int_guard_value %i0
 143  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 151  -live- %i0, %i1, %r0, %r1
 151  -live- %i0, %i1, %r0, %r1
 151  goto_if_not_int_gt %i1, %i0, L18
 156  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 158  ---
 158  L18:
 158  residual_call_r_r $<* fn characterize>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r3
 166  -live- %r0, %r1, %r3
 166  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 171  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 176  -live- %r0, %r1, %r2, %r3
 176  goto_if_not_ptr_iszero %r2, L19
 180  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 182  ---
 182  L19:
 182  residual_call_r_r $<* fn characterize>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r1
 190  -live- %r1, %r2, %r3
 190  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r0
 195  getfield_gc_r_pure %r1, FieldDescr<tuple2.item1> -> %r5
 200  -live- %r0, %r2, %r3, %r5
 200  goto_if_not_ptr_iszero %r0, L20
 204  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 206  ---
 206  L20:
 206  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r2, %r0] -> %r4
 213  -live- %r0, %r2, %r3, %r4, %r5
 213  -live- %r0, %r2, %r3, %r4, %r5
 213  goto_if_not_ptr_nonzero %r4, L21
 217  ref_copy %r4 -> %r1
 220  -live- %r0, %r1, %r2, %r3, %r4, %r5
 220  guard_class %r1 -> %i0
 223  -live- %i0, %r0, %r2, %r3, %r4, %r5
 223  goto_if_not_int_eq %i0, $<* struct object_vtable>, L22
 228  getfield_gc_i_pure %r4, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 233  int_is_true %i0 -> %i0
 236  L23:
 236  -live- %i0, %r0, %r2, %r3, %r4, %r5
 236  goto_if_not %i0, L24
 240  ref_return %r4
 242  ---
 242  L24:
 242  inline_call_r_i <JitCode 'ObjSpace.eq_w'>, R[%r2, %r0] -> %i0
 249  -live- %i0, %r3, %r4, %r5
 249  -live- %i0, %r3, %r4, %r5
 249  goto_if_not %i0, L25
 253  -live- %r3, %r4, %r5
 253  goto_if_not_ptr_iszero %r5, L26
 257  ref_return %r4
 259  ---
 259  L26:
 259  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r3, %r5] -> %r4
 266  -live- %r4
 266  ref_return %r4
 268  ---
 268  L25:
 268  ref_return %r4
 270  ---
 270  L22:
 270  L27:
 270  inline_call_r_i <JitCode 'is_true'>, R[%r4] -> %i0
 276  -live- %i0, %r0, %r2, %r3, %r4, %r5
 276  goto L23
 279  ---
 279  L21:
 279  goto L27
 282  ---
 282  L15:
 282  -live-
 282  raise $<* struct object>
 284  ---
 284  L16:
 284  -live- %i1, %r0, %r1
 284  -live- %i1, %r0, %r1
 284  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 290  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 295  goto L17
 298  ---
 298  L11:
 298  -live-
 298  raise $<* struct object>
 300  ---
 300  L12:
 300  -live- %r0, %r1
 300  -live- %r0, %r1
 300  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 306  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 311  goto L13
 314  ---
 314  L6:
 314  -live-
 314  raise $<* struct object>
 316  ---
 316  L7:
 316  -live- %i1, %r0, %r1
 316  -live- %i1, %r0, %r1
 316  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 322  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 327  goto L8
 330  ---
 330  L2:
 330  -live-
 330  raise $<* struct object>
 332  ---
 332  L3:
 332  -live- %r0, %r1
 332  -live- %r0, %r1
 332  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 338  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 343  goto L4
