   0  -live- %r0, %r1, %r2, %r3
   3  guard_class %r2 -> %i0
   6  -live- %i0, %r0, %r1, %r2, %r3
   9  int_guard_value %i0
  11  -live- %r0, %r1, %r2, %r3
  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, %r3
  25  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  29  unreachable
  30  ---
  30  L1:
  30  -live- %r0, %r1, %r2, %r3
  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, %r3
  44  int_guard_value %i0
  46  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r4
  53  -live- %r0, %r1, %r2, %r3, %r4
  56  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
  61  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
  66  L5:
  66  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r4] -> %i0
  73  -live- %i0, %r0, %r1, %r2, %r3
  76  goto_if_not %i0, L6
  80  inline_call_r_r <JitCode 'JsonDictStrategy.getitem_unicode'>, R[%r0, %r1, %r2] -> %r4
  88  -live- %r0, %r1, %r2, %r3, %r4
  91  goto_if_not_ptr_iszero %r4, L7
  95  L8:
  95  residual_call_r_r $<* fn JsonDictStrategy._make_unicode_dict>, R[%r0, %r1], <CallDescr(rr) EF=5> -> %r4
 103  -live- %r1, %r2, %r3, %r4
 106  guard_class %r1 -> %i0
 109  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_set_strategy> -> %i0
 114  -live- %i0, %r1, %r2, %r3, %r4
 117  switch %i0, <SwitchDictDescr 0:L9, 1:L10, 2:L11>
 121  unreachable
 122  ---
 122  L9:
 122  -live- %r1, %r2, %r3, %r4
 125  jit_force_quasi_immutable %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 129  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>
 134  L12:
 134  setfield_gc_r %r1, %r4, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage>
 139  inline_call_r_r <JitCode 'setdefault__star_2'>, R[%r1, %r2, %r3] -> %r4
 147  -live- %r4
 150  ref_return %r4
 152  ---
 152  L10:
 152  -live- %r1, %r2, %r3, %r4
 155  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy>
 160  goto L12
 163  ---
 163  L11:
 163  -live-
 166  raise $<* struct object>
 168  ---
 168  L7:
 168  ref_return %r4
 170  ---
 170  L6:
 170  goto L8
 173  ---
 173  L2:
 173  -live- %r0, %r1, %r2, %r3
 176  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 181  -live- %r0, %r1, %r2, %r3, %r4
 184  ref_guard_value %r4
 186  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
 191  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
 196  goto L5
 199  ---
 199  L3:
 199  -live- %r0, %r1, %r2, %r3
 202  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r4
 207  goto L5
 210  ---
 210  L4:
 210  -live- %r0, %r1, %r2, %r3
 213  guard_class %r2 -> %i0
 216  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r4
 221  goto L5
