   0  -live- %r0
   3  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
   9  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r1
  14  -live- %r0, %r1
  17  goto_if_not_ptr_nonzero %r1, L1
  21  getfield_gc_i %r1, FieldDescr<dicttable.num_live_items> -> %i0
  26  -live- %i0, %r0, %r1
  29  goto_if_not_int_is_true %i0, L2
  33  -live- %r0, %r1
  36  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_names>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_names>
  42  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_names> -> %r0
  47  residual_call_r_r $<* fn _array_descr_walk_fields>, R[%r0, %r1], <CallDescr(rr) EF=5> -> %r1
  55  -live- %r1
  58  ref_return %r1
  60  ---
  60  L2:
  60  L3:
  60  -live- %r0
  63  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_subdtype>
  69  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype> -> %r1
  74  -live- %r0, %r1
  77  goto_if_not_ptr_nonzero %r1, L4
  81  residual_call_r_v $<* fn _array_descr_walk_subarray>, R[%r1], <CallDescr(r) EF=5>
  87  -live-
  90  ref_return $<* struct list>
  92  ---
  92  L4:
  92  inline_call_r_r <JitCode '_array_descr_builtin'>, R[%r0] -> %r1
  98  -live- %r1
 101  ref_return %r1
 103  ---
 103  L1:
 103  goto L3
