   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- %r0, %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, %r0, %r1, %r2, %r3
  94  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
  98  unreachable
  99  ---
  99  L7:
  99  -live- %r0, %r1, %r2, %r3
 102  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r2] -> %r2
 108  L10:
 108  -live- %r0, %r1, %r2, %r3
 111  ref_guard_value %r0
 113  -live- %r0, %r1, %r2, %r3
 116  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version>, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.mutate_version>
 122  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version> -> %r4
 127  -live- %r0, %r1, %r2, %r3, %r4
 130  ref_guard_value %r0
 132  -live- %r0, %r1, %r2, %r3, %r4
 135  ref_guard_value %r4
 137  -live- %r0, %r1, %r2, %r3, %r4
 140  ref_guard_value %r1
 142  residual_call_r_r $<* fn _getdictvalue_no_unwrapping_pure>, R[%r0, %r4, %r1, %r2], <CallDescr(rrrr) EF=4> -> %r4
 152  -live- %r0, %r1, %r2, %r3, %r4
 155  inline_call_r_v <JitCode 'ModuleDictStrategy._setitem_str_cell_known'>, R[%r0, %r4, %r1, %r2, %r3]
 164  -live-
 167  void_return
 168  ---
 168  L8:
 168  -live- %r0, %r1, %r2, %r3
 171  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 176  goto L10
 179  ---
 179  L9:
 179  -live- %r2
 182  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
 191  -live- %r4
 194  assert_not_none %r4
 196  -live- %r4
 199  guard_class %r4 -> %i0
 202  -live- %r4
 205  raise %r4
 207  ---
 207  L6:
 207  residual_call_r_v $<* fn ModuleDictStrategy.switch_to_object_strategy>, R[%r0, %r1], <CallDescr(rr) EF=7>
 214  -live- %r1, %r2, %r3
 217  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r1, %r2, %r3]
 224  -live-
 227  void_return
 228  ---
 228  L2:
 228  -live- %r0, %r1, %r2, %r3
 231  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 236  -live- %r0, %r1, %r2, %r3, %r4
 239  ref_guard_value %r4
 241  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
 246  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
 251  goto L5
 254  ---
 254  L3:
 254  -live- %r0, %r1, %r2, %r3
 257  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r4
 262  goto L5
 265  ---
 265  L4:
 265  -live- %r0, %r1, %r2, %r3
 268  guard_class %r2 -> %i0
 271  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r4
 276  goto L5
