   0  -live- %i0, %r0
   3  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
   7  unreachable
   8  ---
   8  L1:
   8  -live-
  11  int_return $0
  13  ---
  13  L2:
  13  -live- %r0
  16  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  21  int_add %i0, $1 -> %i0
  25  int_return %i0
  27  ---
  27  L3:
  27  -live- %r0
  30  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.UnboxedPlainAttribute.inst_firstunwrapped> -> %i0
  35  -live- %i0, %r0
  38  goto_if_not %i0, L5
  42  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  47  int_add %i0, $1 -> %i0
  51  int_return %i0
  53  ---
  53  L5:
  53  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r0
  58  -live- %r0
  61  guard_class %r0 -> %i0
  64  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  69  inline_call_ir_i <JitCode 'dispatcher_storage_needed'>, I[%i0], R[%r0] -> %i0
  77  -live- %i0
  80  int_return %i0
  82  ---
  82  L4:
  82  -live-
  85  raise $<* struct object>
