   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=2> -> %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=2> -> %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=2> -> %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=2> -> %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 'ObjSpace.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-
 306  raise $<* struct object>
 308  ---
 308  L16:
 308  -live- %i1, %r0, %r1
 308  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 313  goto L17
 316  ---
 316  L11:
 316  -live-
 316  raise $<* struct object>
 318  ---
 318  L12:
 318  -live- %r0, %r1
 318  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 323  goto L13
 326  ---
 326  L6:
 326  -live-
 326  raise $<* struct object>
 328  ---
 328  L7:
 328  -live- %i1, %r0, %r1
 328  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 333  goto L8
 336  ---
 336  L2:
 336  -live-
 336  raise $<* struct object>
 338  ---
 338  L3:
 338  -live- %r0, %r1
 338  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 343  goto L4
