   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %r0, %r1, %r2
   8  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  14  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  19  -live- %r0, %r1, %r2
  22  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
  28  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
  33  -live- %r0, %r1, %r2
  36  goto_if_not_ptr_nonzero %r2, L1
  40  getfield_gc_i %r2, FieldDescr<dicttable.num_live_items> -> %i0
  45  -live- %i0, %r0, %r1
  48  goto_if_not_int_is_true %i0, L2
  52  -live- %r0, %r1
  55  guard_class %r1 -> %i0
  58  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  63  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  68  -live- %i0, %r0, %r1
  71  goto_if_not %i0, L3
  75  L4:
  75  -live- %r0, %r1
  78  guard_class %r1 -> %i0
  81  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
  86  -live- %i0, %r0, %r1
  89  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  93  unreachable
  94  ---
  94  L5:
  94  -live- %r0, %r1
  97  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r2
 103  L8:
 103  -live- %r0, %r2
 106  inline_call_r_r <JitCode 'W_NDimArray.getfield'>, R[%r0, %r2] -> %r2
 113  -live- %r2
 116  ref_return %r2
 118  ---
 118  L6:
 118  -live- %r0, %r1
 121  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 126  goto L8
 129  ---
 129  L7:
 129  -live- %r1
 132  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>, %r1] -> %r2
 141  -live- %r2
 144  assert_not_none %r2
 146  -live- %r2
 149  guard_class %r2 -> %i0
 152  -live- %r2
 155  raise %r2
 157  ---
 157  L3:
 157  -live- %r0, %r1
 160  guard_class %r1 -> %i0
 163  -live- %i0, %r0, %r1
 166  int_guard_value %i0
 168  -live- %r0, %r1
 171  guard_class %r1 -> %i0
 174  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 179  -live- %i0, %r0, %r1
 182  switch %i0, <SwitchDictDescr 0:L9, 1:L10, 2:L11, 3:L12>
 186  unreachable
 187  ---
 187  L9:
 187  -live- %r0, %r1
 190  guard_class %r1 -> %i0
 193  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 198  -live- %i0, %r0, %r1
 201  int_guard_value %i0
 203  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r2
 210  -live- %r0, %r1, %r2
 213  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 218  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 223  L13:
 223  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 230  -live- %i0, %r0, %r1
 233  goto_if_not %i0, L14
 237  goto L4
 240  ---
 240  L14:
 240  L15:
 240  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 247  -live- %i0, %r0, %r1
 250  goto_if_not %i0, L16
 254  -live- %r0
 257  guard_class %r0 -> %i0
 260  -live- %i0, %r0
 263  int_guard_value %i0
 265  -live- %r0
 268  guard_class %r0 -> %i0
 271  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 276  -live- %i0, %r0
 279  switch %i0, <SwitchDictDescr 0:L17, 1:L18, 2:L19, 3:L20>
 283  unreachable
 284  ---
 284  L17:
 284  -live- %r0
 287  ref_copy %r0 -> %r2
 290  -live- %r0, %r2
 293  guard_class %r0 -> %i0
 296  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 301  -live- %i0, %r0, %r2
 304  int_guard_value %i0
 306  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
 313  -live- %r1, %r2
 316  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
 321  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
 326  L21:
 326  residual_call_r_r $<* fn W_NDimArray.descr_view>, R[%r2, %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rrr) EF=7> -> %r2
 335  -live- %r2
 338  ref_return %r2
 340  ---
 340  L18:
 340  -live- %r0
 343  ref_copy %r0 -> %r2
 346  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r1
 351  -live- %r1, %r2
 354  ref_guard_value %r1
 356  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
 361  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
 366  goto L21
 369  ---
 369  L19:
 369  -live- %r0
 372  ref_copy %r0 -> %r2
 375  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r1
 380  goto L21
 383  ---
 383  L20:
 383  -live- %r0
 386  ref_copy %r0 -> %r2
 389  -live- %r0, %r2
 392  guard_class %r0 -> %i0
 395  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r1
 400  goto L21
 403  ---
 403  L16:
 403  -live- %r0, %r1
 406  goto_if_not_ptr_nonzero %r1, L22
 410  ref_copy %r1 -> %r2
 413  -live- %r0, %r1, %r2
 416  guard_class %r2 -> %i0
 419  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 424  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 429  -live- %i0, %r0, %r1
 432  goto_if_not %i0, L23
 436  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 441  -live- %r0, %r1, %r3
 444  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 450  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 455  -live- %r0, %r1, %r2, %r3
 458  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 464  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 469  -live- %r0, %r1, %r2, %r3
 472  guard_class %r2 -> %i0
 475  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 480  -live- %i0, %r0, %r1, %r3
 483  goto_if_not_int_eq %i0, $'b', L24
 488  -live- %r0, %r1, %r3
 491  guard_class %r3 -> %i0
 494  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 499  -live- %i0, %r0, %r1, %r3
 502  switch %i0, <SwitchDictDescr 0:L25, 1:L26>
 506  unreachable
 507  ---
 507  L25:
 507  -live- %r0, %r1, %r3
 510  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 515  L27:
 515  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 520  -live- %i0, %r0, %r1
 523  goto_if_not_int_gt %i0, $0, L28
 528  inline_call_ir_r <JitCode 'W_NDimArray.getitem_filter'>, I[$0], R[%r0, %r1] -> %r2
 537  L29:
 537  -live- %r2
 540  guard_class %r2 -> %i0
 543  -live- %i0, %r2
 546  goto_if_not_int_eq %i0, $<* struct object_vtable>, L30
 551  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.boxes.W_ObjectBox.inst_w_obj> -> %r2
 556  ref_return %r2
 558  ---
 558  L30:
 558  ref_return %r2
 560  ---
 560  L28:
 560  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x73ed3310> -> %r2
 564  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 569  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 574  assert_not_none %r2
 576  -live- %r2
 579  raise %r2
 581  ---
 581  L26:
 581  -live- %r0, %r1, %r3
 584  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 589  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x657890b0> -> %i0
 594  -live- %i0, %r0, %r1, %r2
 597  int_guard_value %i0
 599  goto L27
 602  ---
 602  L24:
 602  L31:
 602  -live- %r0, %r1
 605  goto_if_not_ptr_nonzero %r1, L32
 609  ref_copy %r1 -> %r2
 612  -live- %r0, %r1, %r2
 615  guard_class %r2 -> %i0
 618  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 623  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 628  -live- %i0, %r0, %r1
 631  goto_if_not %i0, L33
 635  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 642  -live- %r0, %r1, %r2
 645  guard_class %r1 -> %i0
 648  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 653  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 658  -live- %i0, %r0, %r2
 661  goto_if_not %i0, L34
 665  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 670  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x6595bf50> -> %r1
 674  setfield_gc_i %r1, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 679  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 687  -live- %r2
 690  goto L29
 693  ---
 693  L34:
 693  goto L29
 696  ---
 696  L33:
 696  L35:
 696  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 701  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 709  -live- %r0, %r1, %r2
 712  catch_exception L36
 715  goto L29
 718  ---
 718  L36:
 718  goto_if_exception_mismatch $<* struct object_vtable>, L37
 722  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 729  -live- %r2
 732  goto L29
 735  ---
 735  L37:
 735  reraise
 736  ---
 736  L32:
 736  goto L35
 739  ---
 739  L23:
 739  goto L31
 742  ---
 742  L22:
 742  goto L31
 745  ---
 745  L10:
 745  -live- %r0, %r1
 748  getfield_gc_r %r1, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r2
 753  -live- %r0, %r1, %r2
 756  ref_guard_value %r2
 758  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 763  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 768  goto L13
 771  ---
 771  L11:
 771  -live- %r0, %r1
 774  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r2
 779  goto L13
 782  ---
 782  L12:
 782  -live- %r0, %r1
 785  guard_class %r1 -> %i0
 788  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r2
 793  goto L13
 796  ---
 796  L2:
 796  goto L15
 799  ---
 799  L1:
 799  goto L15
