   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__value4> -> %r1
  54  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000558b3d6f2e58> -> %i0
  59  int_add %i0, $4 -> %i0
  63  int_return %i0
  65  ---
  65  L6:
  65  int_return $5
  67  ---
  67  L3:
  67  -live- %r0, %r1
  70  inline_call_r_i <JitCode 'UnboxedPlainAttribute.storage_needed'>, R[%r1] -> %i0
  76  -live- %i0, %r0
  79  goto L5
  82  ---
  82  L4:
  82  -live-
  85  raise $<* struct object>
