   0  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_UnicodeObjectUserDictWeakrefable.inst_map> -> %r0
   5  -live- %r0
   8  guard_class %r0 -> %i0
  11  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_storage_needed> -> %i0
  16  -live- %i0, %r0
  19  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  23  unreachable
  24  ---
  24  L1:
  24  -live-
  27  int_return $0
  29  ---
  29  L2:
  29  -live- %r0
  32  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  37  int_add %i0, $1 -> %i0
  41  int_return %i0
  43  ---
  43  L3:
  43  -live- %r0
  46  inline_call_r_i <JitCode 'UnboxedPlainAttribute.storage_needed'>, R[%r0] -> %i0
  52  -live- %i0
  55  int_return %i0
  57  ---
  57  L4:
  57  -live-
  60  raise $<* struct object>
