   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i1
   5  -live- %i0, %i1, %r0, %r1, %r2
   5  goto_if_not_int_eq %i0, %i1, L1
  10  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r3
  15  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r3], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
  23  -live- %i0, %i1, %r0, %r1, %r2
  23  goto_if_not %i1, L2
  27  -live- %r0, %r1
  27  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
  33  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated> -> %i1
  38  -live- %i1, %r0, %r1
  38  goto_if_not %i1, L3
  42  L4:
  42  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
  47  -live- %r1, %r3
  47  guard_class %r3 -> %i1
  50  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_copy> -> %i1
  55  -live- %i1, %r1, %r3
  55  switch %i1, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  59  unreachable
  60  ---
  60  L5:
  60  -live-
  60  raise $<* struct object>
  62  ---
  62  L6:
  62  -live- %r3
  62  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fffa9f71870> -> %r2
  66  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  71  residual_call_r_i $<* fn AbstractAttribute.size_estimate>, R[%r3], <CallDescr(r) EF=0> -> %i1
  78  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr'>, I[%i1], R[$<* struct object>] -> %r3
  86  -live- %r2, %r3
  86  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
  91  ref_return %r2
  93  ---
  93  L7:
  93  -live- %r1, %r3
  93  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r3, %r1] -> %r2
 100  -live- %r2
 100  ref_return %r2
 102  ---
 102  L3:
 102  -live- %r0, %r1
 102  jit_force_quasi_immutable %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
 106  setfield_gc_i %r0, $True, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>
 111  goto L4
 114  ---
 114  L2:
 114  L8:
 114  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
 119  -live- %i0, %r0, %r1, %r2, %r3
 119  guard_class %r3 -> %i1
 122  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_delete> -> %i1
 127  -live- %i0, %i1, %r0, %r1, %r2, %r3
 127  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11>
 131  unreachable
 132  ---
 132  L9:
 132  -live- %i0, %r0, %r1, %r2, %r3
 132  inline_call_ir_r <JitCode 'DevolvedDictTerminator.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r2
 142  -live- %r0, %r1, %r2
 142  L12:
 142  -live- %r0, %r1, %r2
 142  goto_if_not_ptr_iszero %r2, L13
 146  ref_return %r2
 148  ---
 148  L13:
 148  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r3
 153  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i1
 158  inline_call_ir_r <JitCode 'AbstractAttribute.read'>, I[%i1], R[%r0, %r1, %r3] -> %r3
 168  -live- %r0, %r2, %r3
 168  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r1
 173  -live- %r0, %r1, %r2, %r3
 173  ref_guard_value %r1
 175  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r4
 180  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i1
 185  inline_call_ir_v <JitCode 'AbstractAttribute.add_attr'>, I[%i1], R[%r1, %r2, %r4, %r3]
 195  -live- %r2
 195  ref_return %r2
 197  ---
 197  L10:
 197  -live-
 197  ref_return $<* struct pypy.objspace.std.mapdict.Object>
 199  ---
 199  L11:
 199  -live- %i0, %r0, %r1, %r2, %r3
 199  inline_call_ir_r <JitCode 'PlainAttribute.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r2
 209  -live- %r0, %r1, %r2
 209  goto L12
 212  ---
 212  L1:
 212  goto L8
