   0  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_InstanceObjectUserDictWeakrefable.inst_map> -> %r1
   5  -live- %r0, %r1
   8  guard_class %r1 -> %i0
  11  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  16  -live- %i0, %r0, %r1
  19  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  23  unreachable
  24  ---
  24  L1:
  24  -live-
  27  int_return $5
  29  ---
  29  L2:
  29  -live- %r0, %r1
  32  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  37  int_add %i0, $1 -> %i0
  41  L5:
  41  -live- %i0, %r0
  44  goto_if_not_int_gt %i0, $5, L6
  49  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_InstanceObjectUserDictWeakrefable.inst_map> -> %r1
  54  -live- %r1
  57  guard_class %r1 -> %i0
  60  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  65  -live- %i0, %r1
  68  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9, 3:L10>
  72  unreachable
  73  ---
  73  L7:
  73  -live-
  76  int_return $0
  78  ---
  78  L8:
  78  -live- %r1
  81  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  86  int_add %i0, $1 -> %i0
  90  int_return %i0
  92  ---
  92  L9:
  92  -live- %r1
  95  inline_call_r_i <JitCode 'UnboxedPlainAttribute.storage_needed'>, R[%r1] -> %i0
 101  -live- %i0
 104  int_return %i0
 106  ---
 106  L10:
 106  -live-
 109  raise $<* struct object>
 111  ---
 111  L6:
 111  int_return $5
 113  ---
 113  L3:
 113  -live- %r0, %r1
 116  inline_call_r_i <JitCode 'UnboxedPlainAttribute.storage_needed'>, R[%r1] -> %i0
 122  -live- %i0, %r0
 125  goto L5
 128  ---
 128  L4:
 128  -live-
 131  raise $<* struct object>
