   0  getfield_gc_r_pure %r0, FieldDescr<pypy.interpreter.pycode.PyCode.inst_co_names_w> -> %r3
   5  getarrayitem_gc_r_pure %r3, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r4
  11  -live- %i0, %r0, %r1, %r2, %r4
  14  goto_if_not_ptr_iszero %r2, L1
  18  L2:
  18  inline_call_r_r <JitCode 'getattr'>, R[%r1, %r4] -> %r2
  25  -live- %r2
  28  ref_return %r2
  30  ---
  30  L1:
  30  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
  35  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r5
  40  inline_call_r_r <JitCode 'W_TypeObject.lookup_where_with_method_cache'>, R[%r5, $<* struct rpy_string>] -> %r3
  47  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
  50  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
  55  instance_ptr_eq %r3, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
  59  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  62  goto_if_not %i1, L3
  66  L4:
  66  getfield_gc_i_pure %r5, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_flag_heaptype> -> %i1
  71  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  74  goto_if_not_int_is_true %i1, L5
  78  -live- %i0, %r0, %r1, %r2, %r4, %r5
  81  record_quasiimmut_field %r5, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst__version_tag>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate__version_tag>
  87  getfield_gc_r_pure %r5, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst__version_tag> -> %r6
  92  L6:
  92  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r6
  95  goto_if_not_ptr_iszero %r6, L7
  99  goto L2
 102  ---
 102  L7:
 102  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r6
 105  guard_class %r4 -> %i1
 108  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i1
 113  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 116  switch %i1, <SwitchDictDescr 0:L8, 1:L9, 2:L10>
 120  unreachable
 121  ---
 121  L8:
 121  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r6
 124  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r4] -> %r7
 130  L11:
 130  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 133  residual_call_r_r $<* fn W_TypeObject._pure_lookup_where_with_method_cache>, R[%r5, %r7, %r6], <CallDescr(rrr) EF=4> -> %r3
 142  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 145  getfield_gc_r_pure %r3, FieldDescr<tuple2.item1> -> %r3
 150  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 153  goto_if_not_ptr_iszero %r3, L12
 157  int_copy $0 -> %i1
 160  L13:
 160  residual_call_ir_r $<* fn AbstractAttribute.find_map_attr>, I[%i1], R[%r2, %r7], <CallDescr(rri) EF=0> -> %r3
 170  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 173  goto_if_not_ptr_iszero %r3, L14
 177  goto L2
 180  ---
 180  L14:
 180  inline_call_r_r <JitCode 'W_TypeObject.lookup_where_with_method_cache'>, R[%r5, $<* struct rpy_string>] -> %r4
 187  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r6
 190  getfield_gc_r_pure %r4, FieldDescr<tuple2.item1> -> %r4
 195  instance_ptr_eq %r4, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 199  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r6
 202  goto_if_not %i1, L15
 206  int_copy $True -> %i1
 209  L16:
 209  residual_call_ir_v $<* fn _fill_cache>, I[%i0, %i1], R[%r0, %r2, %r6, %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rirrrri) EF=5>
 222  -live- %r1, %r3
 225  guard_class %r3 -> %i1
 228  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute_vtable.cls__direct_read> -> %i1
 233  -live- %i1, %r1, %r3
 236  switch %i1, <SwitchDictDescr 0:L17, 1:L18>
 240  unreachable
 241  ---
 241  L17:
 241  -live- %r1, %r3
 244  inline_call_r_r <JitCode 'UnboxedPlainAttribute._prim_direct_read'>, R[%r3, %r1] -> %r2
 251  -live- %r1, %r2, %r3
 254  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r0
 259  -live- %r0, %r1, %r2, %r3
 262  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_allow_unboxing>, FieldDescr<pypy.objspace.std.mapdict.Terminator.mutate_allow_unboxing>
 268  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_allow_unboxing> -> %i1
 273  -live- %i1, %r1, %r2, %r3
 276  goto_if_not_int_is_zero %i1, L19
 280  inline_call_r_r <JitCode 'UnboxedPlainAttribute._convert_to_boxed'>, R[%r3, %r1] -> %r3
 287  -live- %r2
 290  ref_return %r2
 292  ---
 292  L19:
 292  ref_return %r2
 294  ---
 294  L18:
 294  -live- %r1, %r3
 297  getfield_gc_i_pure %r3, FieldDescr<pypy.objspace.std.mapdict.PlainAttribute.inst_storageindex> -> %i1
 302  -live- %i1, %r1
 305  guard_class %r1 -> %i0
 308  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__mapdict_read_storage> -> %i0
 313  -live- %i0, %i1, %r1
 316  int_guard_value %i0
 318  residual_call_ir_r %i0, <IndirectCallTargets>, I[%i1], R[%r1], <CallDescr(ri) EF=5> -> %r2
 327  -live- %r2
 330  ref_return %r2
 332  ---
 332  L15:
 332  ptr_iszero %r4 -> %i1
 335  goto L16
 338  ---
 338  L12:
 338  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 341  guard_class %r3 -> %i1
 344  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
 349  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
 354  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 357  goto_if_not %i1, L20
 361  goto L2
 364  ---
 364  L20:
 364  inline_call_r_i <JitCode 'is_data_descr'>, R[%r3] -> %i1
 370  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 373  goto_if_not %i1, L21
 377  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 380  guard_class %r3 -> %i1
 383  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 386  goto_if_not_int_eq %i1, $<* struct object_vtable>, L22
 391  getfield_gc_i_pure %r3, FieldDescr<pypy.interpreter.typedef.Member.inst_index> -> %i1
 396  int_add %i1, $3 -> %i1
 400  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6
 403  goto_if_not_int_ne %i1, $2, L23
 408  ref_copy $<* struct rpy_string> -> %r7
 411  goto L13
 414  ---
 414  L23:
 414  goto L2
 417  ---
 417  L22:
 417  goto L2
 420  ---
 420  L21:
 420  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 423  guard_class %r3 -> %i1
 426  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 429  int_guard_value %i1
 431  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 434  guard_class %r3 -> %i1
 437  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 442  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 445  switch %i1, <SwitchDictDescr 0:L24, 1:L25, 2:L26, 3:L27>
 449  unreachable
 450  ---
 450  L24:
 450  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 453  guard_class %r3 -> %i1
 456  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
 461  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 464  int_guard_value %i1
 466  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3], <CallDescr(r) EF=2> -> %r3
 473  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 476  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 481  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 486  L28:
 486  getfield_gc_i_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_flag_heaptype> -> %i1
 491  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5, %r6, %r7
 494  goto_if_not_int_is_true %i1, L29
 498  goto L2
 501  ---
 501  L29:
 501  int_copy $0 -> %i1
 504  goto L13
 507  ---
 507  L25:
 507  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 510  getfield_gc_r %r3, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r3
 515  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 518  ref_guard_value %r3
 520  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r3
 525  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r3
 530  goto L28
 533  ---
 533  L26:
 533  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 536  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r3
 541  goto L28
 544  ---
 544  L27:
 544  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7
 547  guard_class %r3 -> %i1
 550  getfield_raw_r %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r3
 555  goto L28
 558  ---
 558  L9:
 558  -live- %i0, %r0, %r1, %r2, %r4, %r5, %r6
 561  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r7
 566  goto L11
 569  ---
 569  L10:
 569  -live- %r4
 572  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r4] -> %r3
 581  -live- %r3
 584  assert_not_none %r3
 586  -live- %r3
 589  guard_class %r3 -> %i1
 592  -live- %r3
 595  raise %r3
 597  ---
 597  L5:
 597  -live- %i0, %r0, %r1, %r2, %r4, %r5
 600  ref_guard_value %r5
 602  residual_call_r_r $<* fn _pure_version_tag>, R[%r5], <CallDescr(r) EF=0> -> %r6
 609  goto L6
 612  ---
 612  L3:
 612  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 615  goto_if_not_ptr_iszero %r3, L30
 619  goto L4
 622  ---
 622  L30:
 622  inline_call_r_r <JitCode '_handle_getattribute'>, R[%r3, %r1, %r4] -> %r2
 630  -live- %r2
 633  ref_return %r2
