   0  getfield_gc_i %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_func> -> %i1
   5  getfield_gc_r_pure %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_offset> -> %r1
  10  -live- %i1, %r0, %r1
  10  goto_if_not_ptr_nonzero %r1, L1
  14  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
  19  -live- %i0, %i1, %r0
  19  goto_if_not_int_is_true %i0, L2
  23  getfield_gc_r %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_w_objclass> -> %r1
  28  residual_call_ir_i $<* fn as_pyobj>, I[$False], R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>], <CallDescr(rri) EF=7> -> %i1
  38  -live- %i1, %r0
  38  -live- %i1, %r0
  38  goto_if_not_int_is_true %i1, L3
  42  getfield_gc_r_pure %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_offset> -> %r0
  47  int_copy $0 -> %i2
  50  L4:
  50  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
  55  -live- %i0, %i1, %i2, %r0
  55  goto_if_not_int_ge %i2, %i0, L5
  60  int_return %i1
  62  ---
  62  L5:
  62  int_copy %i2 -> %i0
  65  ref_copy %r0 -> %r1
  68  int_add %i0, $1 -> %i2
  72  getarrayitem_gc_i_pure %r1, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
  78  int_add %i1, %i0 -> %i0
  82  getarrayitem_raw_i %i0, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aab4e72ec8> -> %i1
  88  goto L4
  91  ---
  91  L3:
  91  getfield_gc_r %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_w_objclass> -> %r1
  96  inline_call_r_r <JitCode 'll_str__InstanceR_pypy_objspace_std_ty_pypy_objspace_std_typeobject_W_TypeObjectPtr'>, R[%r1] -> %r1
 102  -live- %r1
 102  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0> -> %r0
 107  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
 113  -live- %r0, %r1
 113  goto_if_not_ptr_nonzero %r1, L6
 117  L7:
 117  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
 123  setarrayitem_gc_r %r0, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
 129  ref_isvirtual %r0 -> %i0
 132  -live- %i0, %r0
 132  goto_if_not %i0, L8
 136  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$3], R[%r0] -> %r1
 144  -live-
 144  L9:
 144  raise $<* struct object>
 146  ---
 146  L8:
 146  int_isconstant $3 -> %i0
 149  -live- %i0, %r0
 149  goto_if_not %i0, L10
 153  L11:
 153  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$3], R[%r0], <CallDescr(ir) EF=5> -> %r1
 162  -live-
 162  goto L9
 165  ---
 165  L10:
 165  goto L11
 168  ---
 168  L6:
 168  ref_copy $<* struct rpy_string> -> %r1
 171  goto L7
 174  ---
 174  L2:
 174  int_return %i1
 176  ---
 176  L1:
 176  int_return %i1
