   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 0x0000aaab0cc449c0> -> %r3
  85  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  90  setfield_gc_r %r3, $<* None>, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
  95  ref_return %r3
  97  ---
  97  L6:
  97  -live- %r1, %r2
 100  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r2, %r1] -> %r3
 107  -live- %r3
 110  ref_return %r3
 112  ---
 112  L7:
 112  -live-
 115  raise $<* struct object>
 117  ---
 117  L3:
 117  -live- %r0, %r1
 120  jit_force_quasi_immutable %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
 124  setfield_gc_i %r0, $True, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>
 129  goto L4
 132  ---
 132  L2:
 132  L8:
 132  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
 137  -live- %i0, %r0, %r1, %r2, %r3
 140  guard_class %r3 -> %i1
 143  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_delete> -> %i1
 148  -live- %i0, %i1, %r0, %r1, %r2, %r3
 151  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11>
 155  unreachable
 156  ---
 156  L9:
 156  -live- %i0, %r0, %r1, %r2, %r3
 159  inline_call_ir_r <JitCode 'PlainAttribute.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 169  L12:
 169  -live- %r0, %r1, %r3
 172  goto_if_not_ptr_iszero %r3, L13
 176  ref_return %r3
 178  ---
 178  L13:
 178  inline_call_r_v <JitCode 'PlainAttribute._copy_attr'>, R[%r0, %r1, %r3]
 185  -live- %r3
 188  ref_return %r3
 190  ---
 190  L10:
 190  -live- %i0, %r0, %r1, %r2, %r3
 193  inline_call_ir_r <JitCode 'DevolvedDictTerminator.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 203  -live- %r0, %r1, %r3
 206  goto L12
 209  ---
 209  L11:
 209  -live-
 212  ref_return $<* struct pypy.objspace.std.mapdict.Object>
 214  ---
 214  L1:
 214  goto L8
