   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
  13  goto_if_not_ptr_nonzero %r1, L1
  17  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab83360758> -> %i0
  22  -live- %i0, %i1, %r0
  25  goto_if_not_int_is_true %i0, L2
  29  getfield_gc_r %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_w_objclass> -> %r1
  34  residual_call_ir_i $<* fn as_pyobj>, I[$False], R[%r1, $<* struct pypy.objspace.std.typeobject.W_TypeObject>], <CallDescr(rri) EF=7> -> %i1
  44  -live- %i1, %r0
  47  goto_if_not_int_is_true %i1, L3
  51  getfield_gc_r_pure %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_offset> -> %r0
  56  int_copy $0 -> %i2
  59  L4:
  59  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab83360758> -> %i0
  64  -live- %i0, %i1, %i2, %r0
  67  goto_if_not_int_ge %i2, %i0, L5
  72  int_return %i1
  74  ---
  74  L5:
  74  int_copy %i2 -> %i0
  77  ref_copy %r0 -> %r1
  80  int_add %i0, $1 -> %i2
  84  getarrayitem_gc_i_pure %r1, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab83360758> -> %i0
  90  int_add %i1, %i0 -> %i0
  94  getarrayitem_raw_i %i0, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab75d6aaa0> -> %i1
 100  goto L4
 103  ---
 103  L3:
 103  getfield_gc_r %r0, FieldDescr<pypy.module.cpyext.methodobject.W_PyCWrapperObject.inst_w_objclass> -> %r1
 108  inline_call_r_r <JitCode 'll_str__InstanceR_pypy_objspace_std_ty_pypy_objspace_std_typeobject_W_TypeObjectPtr'>, R[%r1] -> %r1
 114  -live- %r1
 117  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab80801408> -> %r0
 122  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab80801408>
 128  -live- %r0, %r1
 131  goto_if_not_ptr_nonzero %r1, L6
 135  L7:
 135  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab80801408>
 141  setarrayitem_gc_r %r0, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab80801408>
 147  int_isconstant $3 -> %i0
 150  -live- %i0, %r0
 153  goto_if_not %i0, L8
 157  ref_isvirtual %r0 -> %i0
 160  -live- %i0, %r0
 163  goto_if_not %i0, L9
 167  inline_call_ir_r <JitCode 'll_join_strs__v1135___simple_call__function_'>, I[$3], R[%r0] -> %r1
 175  L10:
 175  -live-
 178  raise $<* struct object>
 180  ---
 180  L9:
 180  L11:
 180  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1137___simple_call__function_>, I[$3], R[%r0], <CallDescr(ir) EF=5> -> %r1
 189  -live-
 192  goto L10
 195  ---
 195  L8:
 195  goto L11
 198  ---
 198  L6:
 198  ref_copy $<* struct rpy_string> -> %r1
 201  goto L7
 204  ---
 204  L2:
 204  int_return %i1
 206  ---
 206  L1:
 206  int_return %i1
