   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  -live- %r0, %r1
  13  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  19  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  24  L4:
  24  -live- %r0, %r1, %r3
  24  guard_class %r3 -> %i0
  27  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  32  -live- %i0, %r0, %r1, %r3
  32  int_guard_value %i0
  34  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=5> -> %i1
  42  -live- %i1, %r0, %r1
  42  -live- %i1, %r0, %r1
  42  guard_class %r1 -> %i0
  45  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  50  -live- %i0, %i1, %r0, %r1
  50  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  54  unreachable
  55  ---
  55  L5:
  55  -live- %i1, %r0, %r1
  55  -live- %i1, %r0, %r1
  55  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  61  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  66  L8:
  66  -live- %i1, %r0, %r1, %r3
  66  guard_class %r3 -> %i0
  69  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  74  -live- %i0, %i1, %r0, %r1, %r3
  74  int_guard_value %i0
  76  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=5> -> %i0
  84  -live- %i0, %i1, %r0, %r1
  84  -live- %i0, %i1, %r0, %r1
  84  goto_if_not_int_lt %i1, %i0, L9
  89  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  91  ---
  91  L9:
  91  -live- %r0, %r1
  91  guard_class %r0 -> %i0
  94  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  99  -live- %i0, %r0, %r1
  99  switch %i0, <SwitchDictDescr 0:L10, 1:L11, 2:L12>
 103  unreachable
 104  ---
 104  L10:
 104  -live- %r0, %r1
 104  -live- %r0, %r1
 104  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 110  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 115  L13:
 115  -live- %r0, %r1, %r3
 115  guard_class %r3 -> %i0
 118  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 123  -live- %i0, %r0, %r1, %r3
 123  int_guard_value %i0
 125  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=5> -> %i1
 133  -live- %i1, %r0, %r1
 133  -live- %i1, %r0, %r1
 133  guard_class %r1 -> %i0
 136  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 141  -live- %i0, %i1, %r0, %r1
 141  switch %i0, <SwitchDictDescr 0:L14, 1:L15, 2:L16>
 145  unreachable
 146  ---
 146  L14:
 146  -live- %i1, %r0, %r1
 146  -live- %i1, %r0, %r1
 146  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 152  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 157  L17:
 157  -live- %i1, %r0, %r1, %r3
 157  guard_class %r3 -> %i0
 160  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 165  -live- %i0, %i1, %r0, %r1, %r3
 165  int_guard_value %i0
 167  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=5> -> %i0
 175  -live- %i0, %i1, %r0, %r1
 175  -live- %i0, %i1, %r0, %r1
 175  goto_if_not_int_gt %i1, %i0, L18
 180  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 182  ---
 182  L18:
 182  residual_call_r_r $<* fn characterize>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r3
 190  -live- %r0, %r1, %r3
 190  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 195  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 200  -live- %r0, %r1, %r2, %r3
 200  goto_if_not_ptr_iszero %r2, L19
 204  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 206  ---
 206  L19:
 206  residual_call_r_r $<* fn characterize>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r1
 214  -live- %r1, %r2, %r3
 214  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r0
 219  getfield_gc_r_pure %r1, FieldDescr<tuple2.item1> -> %r5
 224  -live- %r0, %r2, %r3, %r5
 224  goto_if_not_ptr_iszero %r0, L20
 228  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 230  ---
 230  L20:
 230  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r2, %r0] -> %r4
 237  -live- %r0, %r2, %r3, %r4, %r5
 237  -live- %r0, %r2, %r3, %r4, %r5
 237  goto_if_not_ptr_nonzero %r4, L21
 241  ref_copy %r4 -> %r1
 244  -live- %r0, %r1, %r2, %r3, %r4, %r5
 244  guard_class %r1 -> %i0
 247  -live- %i0, %r0, %r2, %r3, %r4, %r5
 247  goto_if_not_int_eq %i0, $<* struct object_vtable>, L22
 252  getfield_gc_i_pure %r4, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 257  int_is_true %i0 -> %i0
 260  L23:
 260  -live- %i0, %r0, %r2, %r3, %r4, %r5
 260  goto_if_not %i0, L24
 264  ref_return %r4
 266  ---
 266  L24:
 266  inline_call_r_i <JitCode 'eq_w'>, R[%r2, %r0] -> %i0
 273  -live- %i0, %r3, %r4, %r5
 273  -live- %i0, %r3, %r4, %r5
 273  goto_if_not %i0, L25
 277  -live- %r3, %r4, %r5
 277  goto_if_not_ptr_iszero %r5, L26
 281  ref_return %r4
 283  ---
 283  L26:
 283  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r3, %r5] -> %r4
 290  -live- %r4
 290  ref_return %r4
 292  ---
 292  L25:
 292  ref_return %r4
 294  ---
 294  L22:
 294  L27:
 294  inline_call_r_i <JitCode 'is_true'>, R[%r4] -> %i0
 300  -live- %i0, %r0, %r2, %r3, %r4, %r5
 300  goto L23
 303  ---
 303  L21:
 303  goto L27
 306  ---
 306  L15:
 306  -live- %i1, %r0, %r1
 306  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 311  goto L17
 314  ---
 314  L16:
 314  -live-
 314  raise $<* struct object>
 316  ---
 316  L11:
 316  -live- %r0, %r1
 316  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 321  goto L13
 324  ---
 324  L12:
 324  -live-
 324  raise $<* struct object>
 326  ---
 326  L6:
 326  -live- %i1, %r0, %r1
 326  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 331  goto L8
 334  ---
 334  L7:
 334  -live-
 334  raise $<* struct object>
 336  ---
 336  L2:
 336  -live- %r0, %r1
 336  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 341  goto L4
 344  ---
 344  L3:
 344  -live-
 344  raise $<* struct object>
