   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %r0, %r1, %r2
   8  guard_class %r2 -> %i0
  11  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
  16  -live- %i0, %r0, %r1, %r2
  19  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  23  unreachable
  24  ---
  24  L1:
  24  -live- %r0, %r1, %r2
  27  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
  32  L3:
  32  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i0
  37  -live- %i0, %r0, %r1
  40  goto_if_not_int_is_zero %i0, L4
  44  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0ce2a138> -> %r2
  48  setfield_gc_i %r2, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
  53  ref_return %r2
  55  ---
  55  L4:
  55  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
  60  -live- %r0, %r1, %r2
  63  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  69  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  74  inline_call_r_r <JitCode 'W_Dtype.descr_newbyteorder'>, R[%r2, $<* struct rpy_string>] -> %r2
  81  -live- %r0, %r1, %r2
  84  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  89  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i0
  94  residual_call_ir_r $<* fn BaseConcreteArray.astype>, I[%i0, $True], R[%r3, %r2], <CallDescr(rrii) EF=7> -> %r2
 105  -live- %r1, %r2
 108  inline_call_r_r <JitCode 'argsort_array'>, R[%r2, %r1] -> %r2
 115  -live- %r2
 118  ref_return %r2
 120  ---
 120  L2:
 120  -live- %r0, %r1, %r2
 123  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r2
 128  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab0d404e20> -> %i0
 133  -live- %i0, %r0, %r1, %r2
 136  int_guard_value %i0
 138  goto L3
