   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-
  18  raise $<* struct object>
  20  ---
  20  L2:
  20  -live- %r0, %r1, %r2
  20  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff51226050> -> %r3
  24  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  29  residual_call_r_i $<* fn AbstractAttribute.size_estimate>, R[%r2], <CallDescr(r) EF=0> -> %i0
  36  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr'>, I[%i0], R[$<* struct object>] -> %r2
  44  -live- %r0, %r1, %r2, %r3
  44  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
  49  L4:
  49  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r2
  54  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
  59  inline_call_ir_r <JitCode 'AbstractAttribute.read'>, I[%i0], R[%r0, %r1, %r2] -> %r2
  69  -live- %r0, %r2, %r3
  69  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r1
  74  -live- %r0, %r1, %r2, %r3
  74  ref_guard_value %r1
  76  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r4
  81  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
  86  inline_call_ir_v <JitCode 'AbstractAttribute.add_attr'>, I[%i0], R[%r1, %r3, %r4, %r2]
  96  -live- %r3
  96  ref_return %r3
  98  ---
  98  L3:
  98  -live- %r0, %r1, %r2
  98  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r2, %r1] -> %r3
 105  -live- %r0, %r1, %r3
 105  goto L4
