   0  -live- %r0, %r1
   3  guard_class %r0 -> %i0
   6  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  11  -live- %i0, %r0, %r1
  14  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  18  unreachable
  19  ---
  19  L1:
  19  -live- %r0, %r1
  22  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  28  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  33  L4:
  33  -live- %r0, %r1, %r3
  36  guard_class %r3 -> %i0
  39  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  44  -live- %i0, %r0, %r1, %r3
  47  int_guard_value %i0
  49  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=5> -> %i1
  57  -live- %i1, %r0, %r1
  60  guard_class %r1 -> %i0
  63  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  68  -live- %i0, %i1, %r0, %r1
  71  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  75  unreachable
  76  ---
  76  L5:
  76  -live- %i1, %r0, %r1
  79  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  85  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  90  L8:
  90  -live- %i1, %r0, %r1, %r3
  93  guard_class %r3 -> %i0
  96  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 101  -live- %i0, %i1, %r0, %r1, %r3
 104  int_guard_value %i0
 106  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=5> -> %i0
 114  -live- %i0, %i1, %r0, %r1
 117  goto_if_not_int_lt %i1, %i0, L9
 122  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 124  ---
 124  L9:
 124  -live- %r0, %r1
 127  guard_class %r0 -> %i0
 130  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 135  -live- %i0, %r0, %r1
 138  switch %i0, <SwitchDictDescr 0:L10, 1:L11, 2:L12>
 142  unreachable
 143  ---
 143  L10:
 143  -live- %r0, %r1
 146  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 152  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 157  L13:
 157  -live- %r0, %r1, %r3
 160  guard_class %r3 -> %i0
 163  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 168  -live- %i0, %r0, %r1, %r3
 171  int_guard_value %i0
 173  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=5> -> %i1
 181  -live- %i1, %r0, %r1
 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, %i1, %r0, %r1
 195  switch %i0, <SwitchDictDescr 0:L14, 1:L15, 2:L16>
 199  unreachable
 200  ---
 200  L14:
 200  -live- %i1, %r0, %r1
 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> -> %r3
 214  L17:
 214  -live- %i1, %r0, %r1, %r3
 217  guard_class %r3 -> %i0
 220  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 225  -live- %i0, %i1, %r0, %r1, %r3
 228  int_guard_value %i0
 230  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=5> -> %i0
 238  -live- %i0, %i1, %r0, %r1
 241  goto_if_not_int_gt %i1, %i0, L18
 246  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 248  ---
 248  L18:
 248  residual_call_r_r $<* fn characterize>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r3
 256  -live- %r0, %r1, %r3
 259  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r2
 264  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 269  -live- %r0, %r1, %r2, %r3
 272  goto_if_not_ptr_iszero %r2, L19
 276  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 278  ---
 278  L19:
 278  residual_call_r_r $<* fn characterize>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r1
 286  -live- %r1, %r2, %r3
 289  getfield_gc_r_pure %r1, FieldDescr<tuple2.item0> -> %r0
 294  getfield_gc_r_pure %r1, FieldDescr<tuple2.item1> -> %r5
 299  -live- %r0, %r2, %r3, %r5
 302  goto_if_not_ptr_iszero %r0, L20
 306  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 308  ---
 308  L20:
 308  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r2, %r0] -> %r4
 315  -live- %r0, %r2, %r3, %r4, %r5
 318  goto_if_not_ptr_nonzero %r4, L21
 322  ref_copy %r4 -> %r1
 325  -live- %r0, %r1, %r2, %r3, %r4, %r5
 328  guard_class %r1 -> %i0
 331  -live- %i0, %r0, %r2, %r3, %r4, %r5
 334  goto_if_not_int_eq %i0, $<* struct object_vtable>, L22
 339  getfield_gc_i_pure %r4, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
 344  int_is_true %i0 -> %i0
 347  L23:
 347  -live- %i0, %r0, %r2, %r3, %r4, %r5
 350  goto_if_not %i0, L24
 354  ref_return %r4
 356  ---
 356  L24:
 356  inline_call_r_i <JitCode 'eq_w'>, R[%r2, %r0] -> %i0
 363  -live- %i0, %r3, %r4, %r5
 366  goto_if_not %i0, L25
 370  -live- %r3, %r4, %r5
 373  goto_if_not_ptr_iszero %r5, L26
 377  ref_return %r4
 379  ---
 379  L26:
 379  inline_call_r_r <JitCode 'comparison_lt_impl'>, R[%r3, %r5] -> %r4
 386  -live- %r4
 389  ref_return %r4
 391  ---
 391  L25:
 391  ref_return %r4
 393  ---
 393  L22:
 393  L27:
 393  inline_call_r_i <JitCode 'is_true'>, R[%r4] -> %i0
 399  -live- %i0, %r0, %r2, %r3, %r4, %r5
 402  goto L23
 405  ---
 405  L21:
 405  goto L27
 408  ---
 408  L15:
 408  -live- %i1, %r0, %r1
 411  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 416  goto L17
 419  ---
 419  L16:
 419  -live-
 422  raise $<* struct object>
 424  ---
 424  L11:
 424  -live- %r0, %r1
 427  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 432  goto L13
 435  ---
 435  L12:
 435  -live-
 438  raise $<* struct object>
 440  ---
 440  L6:
 440  -live- %i1, %r0, %r1
 443  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 448  goto L8
 451  ---
 451  L7:
 451  -live-
 454  raise $<* struct object>
 456  ---
 456  L2:
 456  -live- %r0, %r1
 459  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 464  goto L4
 467  ---
 467  L3:
 467  -live-
 470  raise $<* struct object>
