   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
  13  guard_class %r2 -> %i0
  16  getfield_raw_i %i0, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData_vtable.cls_get_array_length> -> %i0
  21  -live- %i0, %r0, %r1, %r2
  24  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  28  unreachable
  29  ---
  29  L1:
  29  -live- %r0, %r1, %r2
  32  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataNewOwning.inst_allocated_length> -> %i2
  37  L5:
  37  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData.inst__ptr> -> %i0
  42  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst__next>
  47  -live- %i0, %i2, %r0, %r1
  50  record_quasiimmut_field %r1, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size>, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.mutate_size>
  56  getfield_gc_i_pure %r1, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size> -> %i1
  61  int_mul %i2, %i1 -> %i1
  65  int_add %i0, %i1 -> %i0
  69  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._cffi_backend.ctypearray.W_CDataIter.inst__stop>
  74  void_return
  75  ---
  75  L2:
  75  -live- %r0, %r1, %r2
  78  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataFromBuffer.inst_length> -> %i2
  83  goto L5
  86  ---
  86  L3:
  86  -live- %r0, %r1, %r2
  89  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CDataSliced.inst_length> -> %i2
  94  goto L5
  97  ---
  97  L4:
  97  -live- %r0, %r1, %r2
 100  getfield_gc_r_pure %r2, FieldDescr<pypy.module._cffi_backend.cdataobj.W_CData.inst_ctype> -> %r3
 105  getfield_gc_i_pure %r3, FieldDescr<pypy.module._cffi_backend.ctypeptr.W_CTypePtrOrArray.inst_length> -> %i2
 110  goto L5
