   0  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r4
   5  -live- %r0, %r1, %r2, %r4
   5  guard_class %r4 -> %i0
   8  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_materialize_str_dict> -> %i0
  13  -live- %i0, %r0, %r1, %r2, %r4
  13  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  17  unreachable
  18  ---
  18  L1:
  18  -live- %r0, %r1, %r2, %r4
  18  inline_call_r_r <JitCode 'PlainAttribute.materialize_str_dict'>, R[%r4, %r1, %r2] -> %r3
  26  -live- %r0, %r1, %r2, %r3
  26  L4:
  26  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
  31  -live- %i0, %r0, %r1, %r2, %r3
  31  goto_if_not_int_is_zero %i0, L5
  35  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i0
  40  -live- %i0, %r0, %r1, %r2, %r3
  40  guard_class %r1 -> %i1
  43  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_read_storage> -> %i1
  48  -live- %i0, %i1, %r0, %r1, %r2, %r3
  48  int_guard_value %i1
  50  residual_call_ir_r %i1, <IndirectCallTargets>, I[%i0], R[%r1], <CallDescr(ri) EF=5> -> %r4
  59  -live- %r0, %r2, %r3, %r4
  59  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r1
  64  -live- %r1, %r2, %r3, %r4
  64  goto_if_not_ptr_nonzero %r1, L6
  68  strhash %r1 -> %i0
  71  conditional_call_value_ir_i %i0, $<* fn _ll_strhash__rpy_stringPtr>, I[], R[%r1], <CallDescr(r) EF=2> -> %i1
  80  L7:
  80  ref_isvirtual %r2 -> %i0
  83  -live- %i0, %i1, %r1, %r2, %r3, %r4
  83  goto_if_not %i0, L8
  87  inline_call_ir_i <JitCode 'll_call_lookup_function__v1107___simple_call__function_'>, I[%i1, $1], R[%r2, %r1] -> %i0
  97  -live- %i0, %i1, %r1, %r2, %r3, %r4
  97  L9:
  97  inline_call_ir_v <JitCode '_ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_objectPtr_Signed_Signed'>, I[%i1, %i0], R[%r2, %r1, %r4]
 107  -live- %r3
 107  ref_return %r3
 109  ---
 109  L8:
 109  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1120___simple_call__function_>, I[%i1, $1], R[%r2, %r1], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 120  -live- %i0, %i1, %r1, %r2, %r3, %r4
 120  goto L9
 123  ---
 123  L6:
 123  int_copy $0 -> %i1
 126  goto L7
 129  ---
 129  L5:
 129  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r4
 134  inline_call_ir_r <JitCode 'AbstractAttribute.read'>, I[%i0], R[%r0, %r1, %r4] -> %r4
 144  -live- %r0, %r3, %r4
 144  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map> -> %r2
 149  -live- %r0, %r2, %r3, %r4
 149  ref_guard_value %r2
 151  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r1
 156  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_index> -> %i0
 161  inline_call_ir_v <JitCode 'AbstractAttribute.add_attr'>, I[%i0], R[%r2, %r3, %r1, %r4]
 171  -live- %r3
 171  ref_return %r3
 173  ---
 173  L2:
 173  -live- %r0, %r1, %r2, %r4
 173  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x50ddeb10> -> %r3
 177  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.DictTerminator.inst_devolved_dict_terminator> -> %r4
 182  setfield_gc_r %r3, %r4, FieldDescr<pypy.objspace.std.mapdict.Object.inst_map>
 187  residual_call_r_i $<* fn AbstractAttribute.size_estimate>, R[%r4], <CallDescr(r) EF=0> -> %i0
 194  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr'>, I[%i0], R[$<* struct object>] -> %r4
 202  -live- %r0, %r1, %r2, %r3, %r4
 202  setfield_gc_r %r3, %r4, FieldDescr<pypy.objspace.std.mapdict.Object.inst_storage>
 207  goto L4
 210  ---
 210  L3:
 210  -live-
 210  raise $<* struct object>
