   0  -live- %r0, %r1, %r2
   0  guard_class %r0 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute_vtable.cls__prim_direct_read> -> %i0
   8  -live- %i0, %r0, %r1, %r2
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0, %r1, %r2
  13  inline_call_r_r <JitCode 'UnboxedPlainAttribute._prim_direct_read'>, R[%r0, %r1] -> %r4
  20  -live- %r0, %r2, %r4
  20  L3:
  20  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r1
  25  -live- %r0, %r1, %r2, %r4
  25  ref_guard_value %r1
  27  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r3
  32  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind> -> %i0
  37  inline_call_ir_v <JitCode 'AbstractAttribute._reorder_and_add_look_inside_iff'>, I[%i0], R[%r1, %r2, %r3, %r4]
  47  -live-
  47  void_return
  48  ---
  48  L2:
  48  -live- %r0, %r1, %r2
  48  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  53  -live- %i0, %r0, %r1, %r2
  53  guard_class %r1 -> %i1
  56  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_read_storage> -> %i1
  61  -live- %i0, %i1, %r0, %r1, %r2
  61  int_guard_value %i1
  63  residual_call_ir_r %i1, <IndirectCallTargets>, I[%i0], R[%r1], <CallDescr(ri) EF=5> -> %r4
  72  -live- %r0, %r2, %r4
  72  goto L3
