   0  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_ctype> -> %r2
   5  -live- %i0, %i1, %r0, %r1, %r2
   5  guard_class %r2 -> %i2
   8  -live- %i0, %i1, %i2, %r0, %r1, %r2
   8  goto_if_not_int_eq %i2, $<* struct object_vtable>, L1
  13  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.ctypeptr.W_CTypePtrOrArray.inst_length> -> %i2
  18  -live- %i0, %i1, %i2, %r0, %r1, %r2
  18  goto_if_not_int_lt %i2, $0, L2
  23  inline_call_r_r <JitCode 'W_CTypeArray.get_new_array_length'>, R[%r2, %r1] -> %r3
  30  -live- %i0, %i1, %r0, %r2, %r3
  30  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r1
  35  getfield_gc_i_pure %r3, FieldDescr<tuple2.item1> -> %i2
  40  -live- %i0, %i1, %i2, %r0, %r1, %r2
  40  goto_if_not_int_ne %i1, $-1, L3
  45  getfield_gc_r_pure %r2, FieldDescr<pypy.module._cffi_backend.ctypeptr.W_CTypePtrOrArray.inst_ctitem> -> %r1
  50  -live- %i1, %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> -> %i0
  61  -live- %i0, %i1, %i2, %r0
  61  int_mul_jump_if_ovf L4, %i0, %i2 -> %i2
  67  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_offset> -> %i0
  72  -live- %i0, %i1, %i2
  72  int_add_jump_if_ovf L5, %i0, %i2 -> %i2
  78  -live- %i1, %i2
  78  goto_if_not_int_gt %i2, %i1, L6
  83  int_return %i2
  85  ---
  85  L6:
  85  int_return %i1
  87  ---
  87  L5:
  87  L7:
  87  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r1
  91  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  96  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 101  assert_not_none %r1
 103  -live- %r1
 103  guard_class %r1 -> %i2
 106  -live- %r1
 106  raise %r1
 108  ---
 108  L4:
 108  goto L7
 111  ---
 111  L3:
 111  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i2
 118  -live- %i0, %i1, %i2, %r0, %r1, %r2
 118  -live- %i0, %i1, %i2, %r0, %r1, %r2
 118  goto_if_not %i2, L8
 122  int_return %i1
 124  ---
 124  L8:
 124  L9:
 124  -live- %i0, %i1, %r0, %r1, %r2
 124  goto_if_not_int_eq %i1, $-1, L10
 129  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_offset> -> %i2
 134  int_add %i0, %i2 -> %i2
 138  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_bitshift> -> %i0
 143  -live- %i0, %i1, %i2, %r0, %r1
 143  goto_if_not_int_ge %i0, $0, L11
 148  inline_call_ir_v <JitCode 'W_CField.convert_bitfield_from_object'>, I[%i2], R[%r0, %r1]
 156  -live- %i1
 156  int_return %i1
 158  ---
 158  L11:
 158  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_ctype> -> %r2
 163  -live- %i1, %i2, %r1, %r2
 163  guard_class %r2 -> %i0
 166  getfield_raw_i %i0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType_vtable.cls_convert_from_object> -> %i0
 171  -live- %i0, %i1, %i2, %r1, %r2
 171  int_guard_value %i0
 173  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i2], R[%r2, %r1], <CallDescr(rir) EF=7>
 182  -live- %i1
 182  int_return %i1
 184  ---
 184  L10:
 184  -live- %i1, %r0, %r1, %r2
 184  guard_class %r2 -> %i2
 187  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 192  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 197  -live- %i1, %i2, %r0, %r1, %r2
 197  goto_if_not %i2, L12
 201  -live- %i1, %r0, %r1, %r2
 201  record_quasiimmut_field %r2, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CTypeStructOrUnion.inst__with_var_array>, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CTypeStructOrUnion.mutate__with_var_array>
 207  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CTypeStructOrUnion.inst__with_var_array> -> %i2
 212  -live- %i1, %i2, %r0, %r1, %r2
 212  goto_if_not %i2, L13
 216  -live- %i1, %r0, %r1, %r2
 216  goto_if_not_ptr_nonzero %r1, L14
 220  ref_copy %r1 -> %r3
 223  -live- %i1, %r0, %r1, %r2, %r3
 223  guard_class %r3 -> %i2
 226  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 231  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 236  -live- %i1, %i2, %r0, %r1, %r2
 236  goto_if_not %i2, L15
 240  int_return %i1
 242  ---
 242  L15:
 242  L16:
 242  -live- %i1, %r0, %r1, %r2
 242  record_quasiimmut_field %r2, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size>, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.mutate_size>
 248  getfield_gc_i_pure %r2, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_size> -> %i2
 253  ref_isvirtual %r1 -> %i0
 256  -live- %i0, %i1, %i2, %r0, %r1, %r2
 256  goto_if_not %i0, L17
 260  inline_call_ir_i <JitCode 'convert_struct_from_object__v848___simple_call__function_c'>, I[$<* None>, %i2], R[%r2, %r1] -> %i2
 270  -live- %i1, %i2, %r0
 270  L18:
 270  -live- %i1, %i2, %r0
 270  int_mul_jump_if_ovf L19, %i2, $1 -> %i2
 276  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypestruct.W_CField.inst_offset> -> %i0
 281  -live- %i0, %i1, %i2
 281  int_add_jump_if_ovf L20, %i0, %i2 -> %i2
 287  -live- %i1, %i2
 287  goto_if_not_int_gt %i2, %i1, L21
 292  int_return %i2
 294  ---
 294  L21:
 294  int_return %i1
 296  ---
 296  L20:
 296  L22:
 296  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r1
 300  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 305  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 310  assert_not_none %r1
 312  -live- %r1
 312  guard_class %r1 -> %i2
 315  -live- %r1
 315  raise %r1
 317  ---
 317  L19:
 317  goto L22
 320  ---
 320  L17:
 320  residual_call_ir_i $<* fn convert_struct_from_object_trampoline__v952___simple_call__function_c>, I[$<* None>, %i2], R[%r2, %r1], <CallDescr(riri) EF=7> -> %i2
 331  -live- %i1, %i2, %r0
 331  goto L18
 334  ---
 334  L14:
 334  goto L16
 337  ---
 337  L13:
 337  int_return %i1
 339  ---
 339  L12:
 339  int_return %i1
 341  ---
 341  L2:
 341  goto L9
 344  ---
 344  L1:
 344  goto L9
