   0  -live- %r0, %r1, %r2
   3  guard_class %r2 -> %i0
   6  -live- %i0, %r0, %r1, %r2
   9  int_guard_value %i0
  11  -live- %r0, %r1, %r2
  14  guard_class %r2 -> %i0
  17  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  22  -live- %i0, %r0, %r1, %r2
  25  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  29  unreachable
  30  ---
  30  L1:
  30  -live- %r0, %r1, %r2
  33  guard_class %r2 -> %i0
  36  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
  41  -live- %i0, %r0, %r1, %r2
  44  int_guard_value %i0
  46  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r3
  53  -live- %r0, %r1, %r2, %r3
  56  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
  61  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
  66  L5:
  66  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r3] -> %i0
  73  -live- %i0, %r0, %r1, %r2
  76  goto_if_not %i0, L6
  80  inline_call_r_r <JitCode 'JsonDictStrategy.getitem_unicode'>, R[%r0, %r1, %r2] -> %r3
  88  -live- %r3
  91  ref_return %r3
  93  ---
  93  L6:
  93  residual_call_r_r $<* fn JsonDictStrategy._make_unicode_dict>, R[%r0, %r1], <CallDescr(rr) EF=5> -> %r3
 101  -live- %r1, %r2, %r3
 104  guard_class %r1 -> %i0
 107  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_set_strategy> -> %i0
 112  -live- %i0, %r1, %r2, %r3
 115  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
 119  unreachable
 120  ---
 120  L7:
 120  -live- %r1, %r2, %r3
 123  jit_force_quasi_immutable %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 127  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>
 132  L10:
 132  setfield_gc_r %r1, %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage>
 137  -live- %r1, %r2
 140  guard_class %r1 -> %i0
 143  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 148  -live- %i0, %r1, %r2
 151  switch %i0, <SwitchDictDescr 0:L11, 1:L12, 2:L13>
 155  unreachable
 156  ---
 156  L11:
 156  -live- %r1, %r2
 159  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 165  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 170  L14:
 170  -live- %r1, %r2, %r3
 173  guard_class %r3 -> %i0
 176  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem> -> %i0
 181  -live- %i0, %r1, %r2, %r3
 184  int_guard_value %i0
 186  residual_call_r_r %i0, <IndirectCallTargets>, R[%r3, %r1, %r2], <CallDescr(rrr) EF=7> -> %r3
 195  -live- %r3
 198  ref_return %r3
 200  ---
 200  L12:
 200  -live- %r1, %r2
 203  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 208  goto L14
 211  ---
 211  L13:
 211  -live-
 214  raise $<* struct object>
 216  ---
 216  L8:
 216  -live- %r1, %r2, %r3
 219  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy>
 224  goto L10
 227  ---
 227  L9:
 227  -live-
 230  raise $<* struct object>
 232  ---
 232  L2:
 232  -live- %r0, %r1, %r2
 235  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r3
 240  -live- %r0, %r1, %r2, %r3
 243  ref_guard_value %r3
 245  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 250  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 255  goto L5
 258  ---
 258  L3:
 258  -live- %r0, %r1, %r2
 261  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r3
 266  goto L5
 269  ---
 269  L4:
 269  -live- %r0, %r1, %r2
 272  guard_class %r2 -> %i0
 275  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r3
 280  goto L5
