   0  -live- %r0
   0  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
   6  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r1
  11  -live- %r0, %r1
  11  goto_if_not_ptr_nonzero %r1, L1
  15  getfield_gc_i %r1, FieldDescr<dicttable.num_live_items> -> %i0
  20  -live- %i0, %r0, %r1
  20  goto_if_not_int_is_true %i0, L2
  24  -live- %r0, %r1
  24  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_names>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_names>
  30  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_names> -> %r0
  35  residual_call_r_r $<* fn _array_descr_walk_fields>, R[%r0, %r1], <CallDescr(rr) EF=5> -> %r1
  43  -live- %r1
  43  ref_return %r1
  45  ---
  45  L2:
  45  L3:
  45  -live- %r0
  45  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_subdtype>
  51  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype> -> %r1
  56  -live- %r0, %r1
  56  goto_if_not_ptr_nonzero %r1, L4
  60  residual_call_r_v $<* fn _array_descr_walk_subarray>, R[%r1], <CallDescr(r) EF=5>
  66  -live-
  66  ref_return $<* struct list>
  68  ---
  68  L4:
  68  inline_call_r_r <JitCode '_array_descr_builtin'>, R[%r0] -> %r1
  74  -live- %r1
  74  ref_return %r1
  76  ---
  76  L1:
  76  goto L3
