   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind> -> %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> -> %r2
  47  -live- %r1, %r2
  47  guard_class %r2 -> %i1
  50  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_copy> -> %i1
  55  -live- %i1, %r1, %r2
  55  switch %i1, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  59  unreachable
  60  ---
  60  L5:
  60  -live- %r1, %r2
  60  inline_call_r_r <JitCode 'PlainAttribute.copy'>, R[%r2, %r1] -> %r3
  67  -live- %r3
  67  ref_return %r3
  69  ---
  69  L6:
  69  -live- %r2
  69  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174048f38> -> %r3
  73  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
  78  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000019e85bf30> -> %r2
  83  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
  88  ref_return %r3
  90  ---
  90  L7:
  90  -live-
  90  raise $<* struct object>
  92  ---
  92  L3:
  92  -live- %r0, %r1
  92  jit_force_quasi_immutable %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
  96  setfield_gc_i %r0, $True, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>
 101  goto L4
 104  ---
 104  L2:
 104  L8:
 104  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r3
 109  -live- %i0, %r0, %r1, %r2, %r3
 109  guard_class %r3 -> %i1
 112  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_delete> -> %i1
 117  -live- %i0, %i1, %r0, %r1, %r2, %r3
 117  switch %i1, <SwitchDictDescr 0:L9, 1:L10, 2:L11>
 121  unreachable
 122  ---
 122  L9:
 122  -live- %i0, %r0, %r1, %r2, %r3
 122  inline_call_ir_r <JitCode 'PlainAttribute.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 132  -live- %r0, %r1, %r3
 132  L12:
 132  -live- %r0, %r1, %r3
 132  goto_if_not_ptr_iszero %r3, L13
 136  ref_return %r3
 138  ---
 138  L13:
 138  inline_call_r_v <JitCode 'PlainAttribute._copy_attr'>, R[%r0, %r1, %r3]
 145  -live- %r3
 145  ref_return %r3
 147  ---
 147  L10:
 147  -live- %i0, %r0, %r1, %r2, %r3
 147  inline_call_ir_r <JitCode 'DevolvedDictTerminator.delete'>, I[%i0], R[%r3, %r1, %r2] -> %r3
 157  -live- %r0, %r1, %r3
 157  goto L12
 160  ---
 160  L11:
 160  -live-
 160  ref_return $<* struct pypy.objspace.std.mapdict.Object>
 162  ---
 162  L1:
 162  goto L8
