   0  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
   5  setfield_gc_r %r0, %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator>
  10  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name>
  15  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind>
  20  -live- %i1, %r0, %r2
  23  guard_class %r2 -> %i0
  26  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  31  inline_call_ir_i <JitCode 'dispatcher_storage_needed'>, I[%i0], R[%r2] -> %i0
  39  -live- %i0, %i1, %r0, %r2
  42  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex>
  47  -live- %i1, %r0, %r2
  50  guard_class %r2 -> %i0
  53  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_num_attributes> -> %i0
  58  -live- %i0, %i1, %r0, %r2
  61  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  65  unreachable
  66  ---
  66  L1:
  66  -live- %i1, %r0, %r2
  69  int_copy $1 -> %i0
  72  L4:
  72  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst__num_attributes>
  77  setfield_gc_r %r0, %r2, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back>
  82  -live- %i1, %r0
  85  jit_force_quasi_immutable %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.mutate_ever_mutated>
  89  setfield_gc_i %r0, $False, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_ever_mutated>
  94  setfield_gc_i %r0, %i1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_order>
  99  void_return
 100  ---
 100  L2:
 100  -live- %i1, %r0, %r2
 103  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst__num_attributes> -> %i0
 108  int_add %i0, $1 -> %i0
 112  goto L4
 115  ---
 115  L3:
 115  -live-
 118  raise $<* struct object>
