   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind> -> %i1
   5  -live- %i0, %i1, %r0, %r1, %r2
   8  goto_if_not_int_eq %i0, %i1, L1
  13  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r3
  18  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r3], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
  26  -live- %i0, %i1, %r0, %r1, %r2
  29  goto_if_not %i1, L2
  33  -live- %r0, %r1
  36  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
  42  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated> -> %i1
  47  -live- %i1, %r0, %r1
  50  goto_if_not %i1, L3
  54  L4:
  54  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r2
  59  -live- %r1, %r2
  62  guard_class %r2 -> %i1
  65  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_copy> -> %i1
  70  -live- %i1, %r1, %r2
  73  switch %i1, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  77  unreachable
  78  ---
  78  L5:
  78  -live- %r2
  81  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000001c6ed09c0> -> %r3
  85  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  90  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000001cc548a68> -> %r2
  95  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
 100  ref_return %r3
 102  ---
 102  L6:
 102  -live- %r1, %r2
 105  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r2, %r1] -> %r3
 112  -live- %r3
 115  ref_return %r3
 117  ---
 117  L7:
 117  -live-
 120  raise $<* struct object>
 122  ---
 122  L3:
 122  -live- %r0, %r1
 125  jit_force_quasi_immutable %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
 129  setfield_gc_i %r0, $True, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>
 134  goto L4
 137  ---
 137  L2:
 137  L8:
 137  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
 142  -live- %i0, %r0, %r1, %r2, %r3
 145  guard_class %r3 -> %i1
 148  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_delete> -> %i1
 153  -live- %i0, %i1, %r0, %r1, %r2, %r3
 156  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11>
 160  unreachable
 161  ---
 161  L9:
 161  -live- %i0, %r0, %r1, %r2, %r3
 164  inline_call_ir_r <JitCode 'PlainAttribute.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 174  L12:
 174  -live- %r0, %r1, %r3
 177  goto_if_not_ptr_iszero %r3, L13
 181  ref_return %r3
 183  ---
 183  L13:
 183  inline_call_r_v <JitCode 'PlainAttribute._copy_attr'>, R[%r0, %r1, %r3]
 190  -live- %r3
 193  ref_return %r3
 195  ---
 195  L10:
 195  -live- %i0, %r0, %r1, %r2, %r3
 198  inline_call_ir_r <JitCode 'DevolvedDictTerminator.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 208  -live- %r0, %r1, %r3
 211  goto L12
 214  ---
 214  L11:
 214  -live-
 217  ref_return $<* struct pypy.objspace.std.mapdict.Object>
 219  ---
 219  L1:
 219  goto L8
