   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  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r5
  85  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.jsondict.JsonDictStrategy.inst_jsonmap> -> %r4
  90  residual_call_r_i $<* fn JSONMap.get_index>, R[%r4, %r2], <CallDescr(rr) EF=4> -> %i1
  98  -live- %i1, %r0, %r1, %r2, %r3, %r5
 101  goto_if_not_int_ne %i1, $-1, L7
 106  -live- %i1, %r3, %r5
 109  goto_if_not_int_lt %i1, $0, L8
 114  arraylen_gc %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4e394950> -> %i0
 119  int_add %i1, %i0 -> %i1
 123  L9:
 123  setarrayitem_gc_r %r5, %i1, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4e394950>
 129  void_return
 130  ---
 130  L8:
 130  goto L9
 133  ---
 133  L7:
 133  L10:
 133  residual_call_r_r $<* fn JsonDictStrategy._make_unicode_dict>, R[%r0, %r1], <CallDescr(rr) EF=5> -> %r4
 141  -live- %r1, %r2, %r3, %r4
 144  guard_class %r1 -> %i0
 147  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_set_strategy> -> %i0
 152  -live- %i0, %r1, %r2, %r3, %r4
 155  switch %i0, <SwitchDictDescr 0:L11, 1:L12, 2:L13>
 159  unreachable
 160  ---
 160  L11:
 160  -live- %r1, %r2, %r3, %r4
 163  jit_force_quasi_immutable %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 167  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>
 172  L14:
 172  setfield_gc_r %r1, %r4, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage>
 177  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r1, %r2, %r3]
 184  -live-
 187  void_return
 188  ---
 188  L12:
 188  -live- %r1, %r2, %r3, %r4
 191  setfield_gc_r %r1, $<* struct pypy.objspace.std.dictmultiobject.DictStrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy>
 196  goto L14
 199  ---
 199  L13:
 199  -live-
 202  raise $<* struct object>
 204  ---
 204  L6:
 204  goto L10
 207  ---
 207  L2:
 207  -live- %r0, %r1, %r2, %r3
 210  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 215  -live- %r0, %r1, %r2, %r3, %r4
 218  ref_guard_value %r4
 220  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
 225  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
 230  goto L5
 233  ---
 233  L3:
 233  -live- %r0, %r1, %r2, %r3
 236  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r4
 241  goto L5
 244  ---
 244  L4:
 244  -live- %r0, %r1, %r2, %r3
 247  guard_class %r2 -> %i0
 250  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r4
 255  goto L5
