   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  ref_copy %r0 -> %r1
 125  setfield_gc_i %r1, %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order>
 130  -live- %i0, %r0, %r1, %r3, %r4, %r5, %r6
 133  jit_force_quasi_immutable %r1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 137  setfield_gc_r %r1, %r6, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>
 142  inline_call_r_i <JitCode 'product_check'>, R[%r3] -> %i1
 148  -live- %i0, %i1, %r0, %r4, %r5
 151  catch_exception L7
 154  -live- %i0, %i1, %r0, %r4, %r5
 157  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 163  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
 168  -live- %i0, %i1, %r0, %r1, %r4, %r5
 171  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 177  getfield_gc_i_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i2
 182  -live- %i0, %i1, %i2, %r0, %r4, %r5
 185  int_mul_jump_if_ovf L8, %i1, %i2 -> %i1
 191  setfield_gc_i %r0, %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size>
 196  setfield_gc_i %r0, %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start>
 201  setfield_gc_r %r0, %r5, FieldDescr<pypy.module.micronumpy.concrete.SliceArray.inst_orig_arr>
 206  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags> -> %i1
 211  int_and %i1, $256 -> %i0
 215  int_and %i1, $1024 -> %i1
 219  int_or %i0, %i1 -> %i0
 223  inline_call_r_i <JitCode 'is_c_contiguous'>, R[%r0] -> %i1
 229  -live- %i0, %i1, %r0
 232  goto_if_not %i1, L9
 236  int_or %i0, $1 -> %i0
 240  L10:
 240  inline_call_r_i <JitCode 'is_f_contiguous'>, R[%r0] -> %i1
 246  -live- %i0, %i1, %r0
 249  goto_if_not %i1, L11
 253  int_or %i0, $2 -> %i0
 257  L12:
 257  setfield_gc_i %r0, %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags>
 262  void_return
 263  ---
 263  L11:
 263  goto L12
 266  ---
 266  L9:
 266  goto L10
 269  ---
 269  L8:
 269  L13:
 269  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ab11f9c90> -> %r1
 273  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 278  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 283  assert_not_none %r1
 285  -live- %r1
 288  raise %r1
 290  ---
 290  L7:
 290  goto_if_exception_mismatch $<* struct object_vtable>, L14
 294  goto L13
 297  ---
 297  L14:
 297  reraise
 298  ---
 298  L6:
 298  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555abbdb5d70> -> %r1
 302  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 307  setfield_gc_r %r1, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 312  setfield_gc_i %r1, %i1, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 317  assert_not_none %r1
 319  -live- %r1
 322  raise %r1
 324  ---
 324  L4:
 324  goto L5
 327  ---
 327  L3:
 327  goto L5
 330  ---
 330  L1:
 330  goto L2
