   0  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r2
   5  -live- %r0, %r1, %r2
   5  guard_class %r2 -> %i0
   8  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_copy> -> %i0
  13  -live- %i0, %r0, %r1, %r2
  13  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %r0, %r1, %r2
  18  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a39b7948> -> %r3
  22  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  27  residual_call_r_i $<* fn AbstractAttribute.size_estimate>, R[%r2], <CallDescr(r) EF=0> -> %i0
  34  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr'>, I[%i0], R[$<* struct object>] -> %r2
  42  -live- %r0, %r1, %r2, %r3
  42  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
  47  L4:
  47  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r2
  52  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
  57  inline_call_ir_r <JitCode 'AbstractAttribute.read'>, I[%i0], R[%r0, %r1, %r2] -> %r2
  67  -live- %r0, %r2, %r3
  67  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r1
  72  -live- %r0, %r1, %r2, %r3
  72  ref_guard_value %r1
  74  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r4
  79  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
  84  inline_call_ir_v <JitCode 'AbstractAttribute.add_attr'>, I[%i0], R[%r1, %r3, %r4, %r2]
  94  -live- %r3
  94  ref_return %r3
  96  ---
  96  L2:
  96  -live- %r0, %r1, %r2
  96  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r2, %r1] -> %r3
 103  -live- %r0, %r1, %r3
 103  goto L4
 106  ---
 106  L3:
 106  -live-
 106  raise $<* struct object>
