   0  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst_ctitem>
   5  setfield_gc_r %r0, %r2, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst_cdata>
  10  -live- %r0, %r1, %r2
  10  guard_class %r2 -> %i0
  13  getfield_raw_i %i0, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData_vtable.cls_get_array_length> -> %i0
  18  -live- %i0, %r0, %r1, %r2
  18  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  22  unreachable
  23  ---
  23  L1:
  23  -live- %r0, %r1, %r2
  23  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataNewOwning.inst_allocated_length> -> %i2
  28  L5:
  28  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData.inst__ptr> -> %i0
  33  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst__next>
  38  -live- %i0, %i2, %r0, %r1
  38  record_quasiimmut_field %r1, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size>, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.mutate_size>
  44  getfield_gc_i_pure %r1, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size> -> %i1
  49  int_mul %i2, %i1 -> %i1
  53  int_add %i0, %i1 -> %i0
  57  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst__stop>
  62  void_return
  63  ---
  63  L2:
  63  -live- %r0, %r1, %r2
  63  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataFromBuffer.inst_length> -> %i2
  68  goto L5
  71  ---
  71  L3:
  71  -live- %r0, %r1, %r2
  71  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataSliced.inst_length> -> %i2
  76  goto L5
  79  ---
  79  L4:
  79  -live- %r0, %r1, %r2
  79  getfield_gc_r_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData.inst_ctype> -> %r3
  84  getfield_gc_i_pure %r3, FieldDescr<pypy.module._cffi_backend.ctypeptr.W_CTypePtrOrArray.inst_length> -> %i2
  89  goto L5
