   0  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   5  guard_class %r3 -> %i0
   8  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_materialize_str_dict> -> %i0
  13  -live- %i0, %r0, %r1, %r2, %r3
  13  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %r0, %r1, %r2, %r3
  18  inline_call_r_r <JitCode 'PlainAttribute.materialize_str_dict'>, R[%r3, %r1, %r2] -> %r4
  26  -live- %r0, %r1, %r2, %r4
  26  L4:
  26  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind> -> %i0
  31  -live- %i0, %r0, %r1, %r2, %r4
  31  goto_if_not_int_is_zero %i0, L5
  35  -live- %r0, %r1, %r2, %r4
  35  guard_class %r0 -> %i0
  38  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute_vtable.cls__prim_direct_read> -> %i0
  43  -live- %i0, %r0, %r1, %r2, %r4
  43  switch %i0, <SwitchDictDescr 0:L6, 1:L7>
  47  unreachable
  48  ---
  48  L6:
  48  -live- %r0, %r1, %r2, %r4
  48  inline_call_r_r <JitCode 'UnboxedPlainAttribute._prim_direct_read'>, R[%r0, %r1] -> %r3
  55  -live- %r0, %r2, %r3, %r4
  55  L8:
  55  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r0
  60  -live- %r0, %r2, %r3, %r4
  60  goto_if_not_ptr_nonzero %r0, L9
  64  strhash %r0 -> %i0
  67  conditional_call_value_ir_i %i0, $<* fn _ll_strhash__rpy_stringPtr>, I[], R[%r0], <CallDescr(r) EF=2> -> %i1
  76  L10:
  76  ref_isvirtual %r2 -> %i0
  79  -live- %i0, %i1, %r0, %r2, %r3, %r4
  79  goto_if_not %i0, L11
  83  inline_call_ir_i <JitCode 'll_call_lookup_function__v1104___simple_call__function_'>, I[%i1, $1], R[%r2, %r0] -> %i0
  93  -live- %i0, %i1, %r0, %r2, %r3, %r4
  93  L12:
  93  inline_call_ir_v <JitCode '_ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_objectPtr_Signed_Signed'>, I[%i1, %i0], R[%r2, %r0, %r3]
 103  -live- %r4
 103  ref_return %r4
 105  ---
 105  L11:
 105  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1121___simple_call__function_>, I[%i1, $1], R[%r2, %r0], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 116  -live- %i0, %i1, %r0, %r2, %r3, %r4
 116  goto L12
 119  ---
 119  L9:
 119  int_copy $0 -> %i1
 122  goto L10
 125  ---
 125  L7:
 125  -live- %r0, %r1, %r2, %r4
 125  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
 130  -live- %i0, %r0, %r1, %r2, %r4
 130  guard_class %r1 -> %i1
 133  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_read_storage> -> %i1
 138  -live- %i0, %i1, %r0, %r1, %r2, %r4
 138  int_guard_value %i1
 140  residual_call_ir_r %i1, <IndirectCallTargets>, I[%i0], R[%r1], <CallDescr(ri) EF=5> -> %r3
 149  -live- %r0, %r2, %r3, %r4
 149  goto L8
 152  ---
 152  L5:
 152  inline_call_r_v <JitCode 'PlainAttribute._copy_attr'>, R[%r0, %r1, %r4]
 159  -live- %r4
 159  ref_return %r4
 161  ---
 161  L2:
 161  -live- %r0, %r1, %r2, %r3
 161  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174048f38> -> %r4
 165  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.DictTerminator.inst_devolved_dict_terminator> -> %r3
 170  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
 175  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000019e85bf30> -> %r3
 180  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
 185  goto L4
 188  ---
 188  L3:
 188  -live-
 188  raise $<* struct object>
