   0  -live- %i0, %r0, %r1, %r2, %r3
   3  guard_class %r0 -> %i1
   6  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute_vtable.cls_num_attributes> -> %i1
  11  -live- %i0, %i1, %r0, %r1, %r2, %r3
  14  switch %i1, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  18  unreachable
  19  ---
  19  L1:
  19  -live- %i0, %r0, %r1, %r2, %r3
  22  int_copy $0 -> %i1
  25  ref_copy $<* struct pypy.objspace.std.mapdict.PlainAttribute> -> %r5
  28  L4:
  28  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_Ptr_GCREF__gcopaque_Ll_Signed_GCREFPtr'>, I[%i1], R[%r5] -> %r4
  36  -live- %i0, %r0, %r1, %r2, %r3, %r4
  39  int_copy $0 -> %i2
  42  L5:
  42  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4
  45  goto_if_not_int_is_true %i0, L6
  49  int_copy $0 -> %i3
  52  L7:
  52  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
  55  goto_if_not_int_ge %i3, %i0, L8
  60  L9:
  60  -live- %i2, %r1, %r2, %r3, %r4
  63  guard_class %r2 -> %i1
  66  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute_vtable.cls__switch_map_and_write_increase_storage1> -> %i1
  71  -live- %i1, %i2, %r1, %r2, %r3, %r4
  74  switch %i1, <SwitchDictDescr 0:L10, 1:L11>
  78  unreachable
  79  ---
  79  L10:
  79  -live- %i2, %r1, %r2, %r3, %r4
  82  inline_call_r_v <JitCode 'UnboxedPlainAttribute._switch_map_and_write_increase_storage1'>, R[%r2, %r1, %r3]
  89  L12:
  89  -live- %i2, %r1, %r4
  92  goto_if_not_int_is_true %i2, L13
  96  int_sub %i2, $2 -> %i1
 100  -live- %i1, %r1, %r4
 103  goto_if_not_int_lt %i1, $0, L14
 108  int_copy %i1 -> %i2
 111  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %i1
 116  int_add %i2, %i1 -> %i1
 120  L15:
 120  getarrayitem_gc_r %r4, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %r2
 126  int_add %i2, $1 -> %i0
 130  -live- %i0, %i2, %r1, %r2, %r4
 133  goto_if_not_int_lt %i0, $0, L16
 138  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %i1
 143  int_add %i0, %i1 -> %i0
 147  L17:
 147  getarrayitem_gc_r %r4, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %r3
 153  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_name> -> %r5
 158  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_attrkind> -> %i0
 163  -live- %i0, %i2, %r1, %r3, %r4, %r5
 166  guard_class %r1 -> %i1
 169  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
 174  -live- %i0, %i1, %i2, %r1, %r3, %r4, %r5
 177  int_guard_value %i1
 179  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r0
 186  -live- %i0, %i2, %r0, %r1, %r3, %r4, %r5
 189  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 194  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 197  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_allow_unboxing>, FieldDescr<pypy.objspace.std.mapdict.Terminator.mutate_allow_unboxing>
 203  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_allow_unboxing> -> %i1
 208  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 211  goto_if_not %i1, L18
 215  -live- %i0, %i2, %r0, %r1, %r3, %r4, %r5
 218  goto_if_not_ptr_nonzero %r3, L19
 222  ref_copy %r3 -> %r2
 225  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 228  guard_class %r2 -> %i1
 231  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 234  goto_if_not_int_eq %i1, $<* struct object_vtable>, L20
 239  int_copy $<* struct object_vtable> -> %i1
 242  L21:
 242  residual_call_ir_r $<* fn AbstractAttribute._find_branch_to_move_into>, I[%i0, %i1], R[%r0, %r5], <CallDescr(rrii) EF=4> -> %r2
 253  -live- %i1, %i2, %r0, %r1, %r2, %r3, %r4
 256  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i0
 261  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 266  inline_call_ir_r <JitCode 'CachedAttributeHolder.pick_attr'>, I[%i1], R[%r2] -> %r2
 274  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4
 277  goto L5
 280  ---
 280  L20:
 280  L22:
 280  -live- %i0, %i2, %r0, %r1, %r3, %r4, %r5
 283  goto_if_not_ptr_nonzero %r3, L23
 287  ref_copy %r3 -> %r2
 290  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 293  guard_class %r2 -> %i1
 296  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5
 299  goto_if_not_int_eq %i1, $<* struct object_vtable>, L24
 304  int_copy $<* struct object_vtable> -> %i1
 307  goto L21
 310  ---
 310  L24:
 310  int_copy $<* struct object_vtable> -> %i1
 313  goto L21
 316  ---
 316  L23:
 316  int_copy $<* struct object_vtable> -> %i1
 319  goto L21
 322  ---
 322  L19:
 322  goto L22
 325  ---
 325  L18:
 325  int_copy $<* struct object_vtable> -> %i1
 328  goto L21
 331  ---
 331  L16:
 331  goto L17
 334  ---
 334  L14:
 334  int_copy %i1 -> %i2
 337  goto L15
 340  ---
 340  L13:
 340  void_return
 341  ---
 341  L11:
 341  -live- %i2, %r1, %r2, %r3, %r4
 344  inline_call_r_v <JitCode 'PlainAttribute._switch_map_and_write_increase_storage1'>, R[%r2, %r1, %r3]
 351  -live- %i2, %r1, %r4
 354  goto L12
 357  ---
 357  L8:
 357  int_add %i3, $1 -> %i3
 361  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 364  guard_class %r0 -> %i1
 367  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute_vtable.cls__prim_direct_read> -> %i1
 372  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 375  switch %i1, <SwitchDictDescr 0:L25, 1:L26>
 379  unreachable
 380  ---
 380  L25:
 380  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 383  inline_call_r_r <JitCode 'UnboxedPlainAttribute._prim_direct_read'>, R[%r0, %r1] -> %r5
 390  L27:
 390  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5
 393  goto_if_not_int_lt %i2, $0, L28
 398  int_copy %i2 -> %i1
 401  ref_copy %r0 -> %r6
 404  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %i2
 409  int_add %i1, %i2 -> %i2
 413  L29:
 413  setarrayitem_gc_r %r4, %i2, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80>
 419  int_add %i1, $1 -> %i4
 423  -live- %i0, %i1, %i3, %i4, %r1, %r2, %r3, %r4, %r5, %r6
 426  goto_if_not_int_lt %i4, $0, L30
 431  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80> -> %i2
 436  int_add %i4, %i2 -> %i4
 440  L31:
 440  setarrayitem_gc_r %r4, %i4, %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000056093bc36b80>
 446  int_add %i1, $2 -> %i2
 450  getfield_gc_r_pure %r6, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_back> -> %r0
 455  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 458  guard_class %r1 -> %i1
 461  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_pop_attribute> -> %i1
 466  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 469  int_guard_value %i1
 471  residual_call_r_v %i1, <IndirectCallTargets>, R[%r1, %r0], <CallDescr(rr) EF=5>
 478  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 481  goto L7
 484  ---
 484  L30:
 484  goto L31
 487  ---
 487  L28:
 487  int_copy %i2 -> %i1
 490  ref_copy %r0 -> %r6
 493  goto L29
 496  ---
 496  L26:
 496  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 499  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i1
 504  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
 507  guard_class %r1 -> %i4
 510  getfield_raw_i %i4, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_read_storage> -> %i4
 515  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4
 518  int_guard_value %i4
 520  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i1], R[%r1], <CallDescr(ri) EF=5> -> %r5
 529  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5
 532  goto L27
 535  ---
 535  L6:
 535  goto L9
 538  ---
 538  L2:
 538  -live- %i0, %r0, %r1, %r2, %r3
 541  ref_copy $<* struct pypy.objspace.std.mapdict.PlainAttribute> -> %r5
 544  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst__num_attributes> -> %i1
 549  int_mul %i1, $2 -> %i1
 553  goto L4
 556  ---
 556  L3:
 556  -live-
 559  raise $<* struct object>
