   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> -> %i1
  63  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  68  -live- %i0, %i1, %r0, %r1
  71  goto_if_not %i1, 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  ref_copy %r1 -> %r2
 160  -live- %i0, %r0, %r1, %r2
 163  int_guard_value %i0
 165  -live- %r0, %r1, %r2
 168  guard_class %r2 -> %i0
 171  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 176  -live- %i0, %r0, %r1
 179  switch %i0, <SwitchDictDescr 0:L9, 1:L10, 2:L11, 3:L12>
 183  unreachable
 184  ---
 184  L9:
 184  -live- %r0, %r1
 187  guard_class %r1 -> %i0
 190  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 195  -live- %i0, %r0, %r1
 198  int_guard_value %i0
 200  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r2
 207  -live- %r0, %r1, %r2
 210  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 215  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 220  L13:
 220  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 227  -live- %i0, %r0, %r1
 230  goto_if_not %i0, L14
 234  goto L4
 237  ---
 237  L14:
 237  L15:
 237  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 244  -live- %i0, %r0, %r1
 247  goto_if_not %i0, L16
 251  -live- %r0
 254  guard_class %r0 -> %i0
 257  -live- %i0, %r0
 260  int_guard_value %i0
 262  -live- %r0
 265  guard_class %r0 -> %i0
 268  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 273  -live- %i0, %r0
 276  switch %i0, <SwitchDictDescr 0:L17, 1:L18, 2:L19, 3:L20>
 280  unreachable
 281  ---
 281  L17:
 281  -live- %r0
 284  ref_copy %r0 -> %r2
 287  -live- %r0, %r2
 290  guard_class %r0 -> %i0
 293  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 298  -live- %i0, %r0, %r2
 301  int_guard_value %i0
 303  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
 310  -live- %r1, %r2
 313  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
 318  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
 323  L21:
 323  residual_call_r_r $<* fn W_NDimArray.descr_view>, R[%r2, %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rrr) EF=7> -> %r2
 332  -live- %r2
 335  ref_return %r2
 337  ---
 337  L18:
 337  -live- %r0
 340  ref_copy %r0 -> %r2
 343  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r1
 348  -live- %r1, %r2
 351  ref_guard_value %r1
 353  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
 358  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
 363  goto L21
 366  ---
 366  L19:
 366  -live- %r0
 369  ref_copy %r0 -> %r2
 372  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r1
 377  goto L21
 380  ---
 380  L20:
 380  -live- %r0
 383  ref_copy %r0 -> %r2
 386  -live- %r0, %r2
 389  guard_class %r0 -> %i0
 392  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r1
 397  goto L21
 400  ---
 400  L16:
 400  -live- %r0, %r1
 403  goto_if_not_ptr_nonzero %r1, L22
 407  ref_copy %r1 -> %r2
 410  -live- %r0, %r1, %r2
 413  guard_class %r2 -> %i0
 416  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 421  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 426  -live- %i0, %r0, %r1
 429  goto_if_not %i0, L23
 433  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 438  -live- %r0, %r1, %r3
 441  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 447  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
 452  -live- %r0, %r1, %r2, %r3
 455  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 461  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 466  -live- %r0, %r1, %r2, %r3
 469  guard_class %r2 -> %i0
 472  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
 477  -live- %i0, %r0, %r1, %r3
 480  goto_if_not_int_eq %i0, $'b', L24
 485  -live- %r0, %r1, %r3
 488  guard_class %r3 -> %i0
 491  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 496  -live- %i0, %r0, %r1, %r3
 499  switch %i0, <SwitchDictDescr 0:L25, 1:L26>
 503  unreachable
 504  ---
 504  L25:
 504  -live- %r0, %r1, %r3
 507  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 512  L27:
 512  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i0
 517  -live- %i0, %r0, %r1
 520  goto_if_not_int_gt %i0, $0, L28
 525  inline_call_ir_r <JitCode 'W_NDimArray.getitem_filter'>, I[$0], R[%r0, %r1] -> %r2
 534  L29:
 534  -live- %r2
 537  guard_class %r2 -> %i0
 540  -live- %i0, %r2
 543  goto_if_not_int_eq %i0, $<* struct object_vtable>, L30
 548  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.boxes.W_ObjectBox.inst_w_obj> -> %r2
 553  ref_return %r2
 555  ---
 555  L30:
 555  ref_return %r2
 557  ---
 557  L28:
 557  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab32545788> -> %r2
 561  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 566  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 571  assert_not_none %r2
 573  -live- %r2
 576  raise %r2
 578  ---
 578  L26:
 578  -live- %r0, %r1, %r3
 581  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 586  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4028f408> -> %i0
 591  -live- %i0, %r0, %r1, %r2
 594  int_guard_value %i0
 596  goto L27
 599  ---
 599  L24:
 599  L31:
 599  -live- %r0, %r1
 602  goto_if_not_ptr_nonzero %r1, L32
 606  ref_copy %r1 -> %r2
 609  -live- %r0, %r1, %r2
 612  guard_class %r2 -> %i0
 615  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 620  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 625  -live- %i0, %r0, %r1
 628  goto_if_not %i0, L33
 632  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 639  -live- %r0, %r1, %r2
 642  guard_class %r1 -> %i0
 645  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 650  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 655  -live- %i0, %r0, %r2
 658  goto_if_not %i0, L34
 662  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 667  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab3c0185d0> -> %r1
 671  setfield_gc_i %r1, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 676  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 684  -live- %r2
 687  goto L29
 690  ---
 690  L34:
 690  goto L29
 693  ---
 693  L33:
 693  L35:
 693  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
 698  inline_call_r_r <JitCode 'BaseConcreteArray.descr_getitem'>, R[%r2, %r0, %r1] -> %r2
 706  -live- %r0, %r1, %r2
 709  catch_exception L36
 712  goto L29
 715  ---
 715  L36:
 715  goto_if_exception_mismatch $<* struct object_vtable>, L37
 719  inline_call_r_r <JitCode 'W_NDimArray.getitem_array_int'>, R[%r0, %r1] -> %r2
 726  -live- %r2
 729  goto L29
 732  ---
 732  L37:
 732  reraise
 733  ---
 733  L32:
 733  goto L35
 736  ---
 736  L23:
 736  goto L31
 739  ---
 739  L22:
 739  goto L31
 742  ---
 742  L10:
 742  -live- %r0, %r1
 745  getfield_gc_r %r1, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r2
 750  -live- %r0, %r1, %r2
 753  ref_guard_value %r2
 755  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 760  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 765  goto L13
 768  ---
 768  L11:
 768  -live- %r0, %r1
 771  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r2
 776  goto L13
 779  ---
 779  L12:
 779  -live- %r0, %r1
 782  guard_class %r1 -> %i0
 785  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r2
 790  goto L13
 793  ---
 793  L2:
 793  goto L15
 796  ---
 796  L1:
 796  goto L15
