   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  -live- %r1, %r2, %r3
  83  guard_class %r2 -> %i0
  86  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
  91  -live- %i0, %r1, %r2, %r3
  94  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
  98  unreachable
  99  ---
  99  L7:
  99  -live- %r1, %r2, %r3
 102  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r2] -> %r4
 108  L10:
 108  -live- %r1, %r3, %r4
 111  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r2
 116  -live- %r2, %r3, %r4
 119  guard_class %r2 -> %i0
 122  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_setdictvalue> -> %i0
 127  inline_call_ir_i <JitCode 'dispatcher_setdictvalue'>, I[%i0], R[%r2, %r4, %r3] -> %i0
 137  -live-
 140  void_return
 141  ---
 141  L8:
 141  -live- %r1, %r2, %r3
 144  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r4
 149  goto L10
 152  ---
 152  L9:
 152  -live- %r2
 155  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r2] -> %r4
 164  -live- %r4
 167  assert_not_none %r4
 169  -live- %r4
 172  guard_class %r4 -> %i0
 175  -live- %r4
 178  raise %r4
 180  ---
 180  L6:
 180  inline_call_r_v <JitCode 'MapDictStrategy.switch_to_object_strategy'>, R[%r0, %r1]
 186  -live- %r1, %r2, %r3
 189  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r1, %r2, %r3]
 196  -live-
 199  void_return
 200  ---
 200  L2:
 200  -live- %r0, %r1, %r2, %r3
 203  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 208  -live- %r0, %r1, %r2, %r3, %r4
 211  ref_guard_value %r4
 213  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
 218  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
 223  goto L5
 226  ---
 226  L3:
 226  -live- %r0, %r1, %r2, %r3
 229  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r4
 234  goto L5
 237  ---
 237  L4:
 237  -live- %r0, %r1, %r2, %r3
 240  guard_class %r2 -> %i0
 243  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r4
 248  goto L5
