   0  setfield_gc_r %r0, %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides>
   5  setfield_gc_r %r0, %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides>
  10  setfield_gc_r %r0, %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape>
  15  -live- %i0, %r0, %r3, %r4, %r5, %r6
  18  goto_if_not_ptr_iszero %r6, L1
  22  -live- %i0, %r0, %r3, %r4, %r5
  25  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  31  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r6
  36  L2:
  36  -live- %i0, %r0, %r3, %r4, %r5, %r6
  39  goto_if_not_ptr_nonzero %r4, L3
  43  ref_copy %r4 -> %r1
  46  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
  49  guard_class %r1 -> %i1
  52  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  57  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  62  -live- %i0, %i1, %r0, %r3, %r4, %r5, %r6
  65  goto_if_not %i1, L4
  69  getfield_gc_r %r4, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_parent> -> %r4
  74  L5:
  74  setfield_gc_r %r0, %r4, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_parent>
  79  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage> -> %i1
  84  setfield_gc_i %r0, %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_storage>
  89  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_gcstruct> -> %r1
  94  setfield_gc_r %r0, %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_gcstruct>
  99  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i1
 104  int_is_zero %i1 -> %i2
 107  int_eq %i1, $1 -> %i3
 111  int_or %i2, %i3 -> %i2
 115  -live- %i0, %i1, %i2, %r0, %r3, %r4, %r5, %r6
 118  goto_if_not %i2, L6
 122  setfield_gc_i %r0, %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order>
 127  -live- %i0, %r0, %r3, %r4, %r5, %r6
 130  jit_force_quasi_immutable %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 134  setfield_gc_r %r0, %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>
 139  inline_call_r_i <JitCode 'product_check'>, R[%r3] -> %i1
 145  -live- %i0, %i1, %r0, %r4, %r5
 148  catch_exception L7
 151  -live- %i0, %i1, %r0, %r4, %r5
 154  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 160  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 165  -live- %i0, %i1, %r0, %r1, %r4, %r5
 168  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 174  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
 179  -live- %i0, %i1, %i2, %r0, %r4, %r5
 182  int_mul_jump_if_ovf L8, %i1, %i2 -> %i1
 188  setfield_gc_i %r0, %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size>
 193  setfield_gc_i %r0, %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start>
 198  setfield_gc_r %r0, %r5, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr>
 203  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags> -> %i1
 208  int_and %i1, $256 -> %i0
 212  int_and %i1, $1024 -> %i1
 216  int_or %i0, %i1 -> %i0
 220  inline_call_r_i <JitCode 'is_c_contiguous'>, R[%r0] -> %i1
 226  -live- %i0, %i1, %r0
 229  goto_if_not %i1, L9
 233  int_or %i0, $1 -> %i0
 237  L10:
 237  inline_call_r_i <JitCode 'is_f_contiguous'>, R[%r0] -> %i1
 243  -live- %i0, %i1, %r0
 246  goto_if_not %i1, L11
 250  int_or %i0, $2 -> %i0
 254  L12:
 254  setfield_gc_i %r0, %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags>
 259  void_return
 260  ---
 260  L11:
 260  goto L12
 263  ---
 263  L9:
 263  goto L10
 266  ---
 266  L8:
 266  L13:
 266  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000055d2f17bf6e0> -> %r1
 270  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 275  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 280  assert_not_none %r1
 282  -live- %r1
 285  raise %r1
 287  ---
 287  L7:
 287  goto_if_exception_mismatch $<* struct object_vtable>, L14
 291  goto L13
 294  ---
 294  L14:
 294  reraise
 295  ---
 295  L6:
 295  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000055d2d0b85830> -> %r1
 299  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 304  setfield_gc_r %r1, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 309  setfield_gc_i %r1, %i1, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 314  assert_not_none %r1
 316  -live- %r1
 319  raise %r1
 321  ---
 321  L4:
 321  goto L5
 324  ---
 324  L3:
 324  goto L5
 327  ---
 327  L1:
 327  goto L2
