   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.UnboxedPlainAttribute.inst_firstunwrapped> -> %i0
   5  -live- %i0, %r0
   8  goto_if_not %i0, L1
  12  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  17  int_add %i0, $1 -> %i0
  21  int_return %i0
  23  ---
  23  L1:
  23  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r0
  28  -live- %r0
  31  guard_class %r0 -> %i0
  34  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  39  -live- %i0, %r0
  42  switch %i0, <SwitchDictDescr 0:L2, 1:L3, 2:L4, 3:L5>
  46  unreachable
  47  ---
  47  L2:
  47  -live-
  50  int_return $0
  52  ---
  52  L3:
  52  -live- %r0
  55  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  60  int_add %i0, $1 -> %i0
  64  int_return %i0
  66  ---
  66  L4:
  66  -live- %r0
  69  inline_call_r_i <JitCode 'UnboxedPlainAttribute.storage_needed'>, R[%r0] -> %i0
  75  -live- %i0
  78  int_return %i0
  80  ---
  80  L5:
  80  -live-
  83  raise $<* struct object>
