   0  residual_call_r_v $<* fn pypy__allow_attach>, R[], <CallDescr() EF=2>
   5  residual_call_r_i $<* fn ll_os.ll_os_getpid>, R[], <CallDescr() EF=5> -> %i1
  11  -live- %i1
  11  residual_call_r_i $<* fn ll_os.ll_os_fork>, R[], <CallDescr() EF=5> -> %i0
  17  -live- %i0, %i1
  17  -live- %i0, %i1
  17  goto_if_not_int_is_zero %i0, L1
  21  residual_call_r_r $<* fn ll_os.ll_os_getenv>, R[$<* struct rpy_string>], <CallDescr(r) EF=5> -> %r2
  28  -live- %i1, %r2
  28  -live- %i1, %r2
  28  goto_if_not_ptr_nonzero %r2, L2
  32  strlen %r2 -> %i0
  35  -live- %i0, %i1, %r2
  35  goto_if_not_int_is_true %i0, L3
  39  strlen %r2 -> %i0
  42  L4:
  42  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'/', $0, %i0], R[%r2], <CallDescr(riii) EF=0> -> %i0
  53  int_add %i0, $1 -> %i0
  57  -live- %i0, %i1, %r2
  57  goto_if_not_int_gt %i0, $0, L5
  62  ref_copy %r2 -> %r3
  65  strlen %r3 -> %i2
  68  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i2], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
  78  -live- %i1, %r2, %r3
  78  L6:
  78  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50> -> %r1
  83  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
  89  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i1], R[], <CallDescr(i) EF=3> -> %r0
  97  -live- %r0, %r1, %r2, %r3
  97  setarrayitem_gc_r %r1, $1, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 103  ref_isvirtual %r1 -> %i0
 106  -live- %i0, %r1, %r2, %r3
 106  goto_if_not %i0, L7
 110  L8:
 110  inline_call_ir_r <JitCode 'll_join_strs__v977___simple_call__function_l'>, I[$2], R[%r1] -> %r1
 118  -live- %r1, %r2, %r3
 118  L9:
 118  newlist $3, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff417bed10>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550> -> %r0
 129  setlistitem_gc_r %r0, $0, %r2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550>
 137  setlistitem_gc_r %r0, $1, $<* struct rpy_string>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550>
 145  setlistitem_gc_r %r0, $2, %r1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff512de550>
 153  residual_call_r_v $<* fn ll_os.ll_os_execv>, R[%r3, %r0], <CallDescr(rr) EF=7>
 160  -live-
 160  catch_exception L10
 163  raise $<* struct object>
 165  ---
 165  L10:
 165  goto_if_exception_mismatch $<* struct object_vtable>, L11
 169  last_exc_value -> %r0
 171  getfield_gc_i %r0, FieldDescr<exceptions.EnvironmentError.inst_errno> -> %i0
 176  residual_call_ir_r $<* fn ll_os.ll_os_strerror>, I[%i0], R[], <CallDescr(i) EF=5> -> %r0
 184  -live- %r0
 184  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50> -> %r1
 189  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 195  -live- %r0, %r1
 195  goto_if_not_ptr_nonzero %r0, L12
 199  L13:
 199  setarrayitem_gc_r %r1, $1, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff42bb8b50>
 205  ref_isvirtual %r1 -> %i0
 208  -live- %i0, %r1
 208  goto_if_not %i0, L14
 212  L15:
 212  inline_call_ir_r <JitCode 'll_join_strs__v977___simple_call__function_l'>, I[$2], R[%r1] -> %r0
 220  -live- %r0
 220  L16:
 220  residual_call_ir_i $<* fn ll_os.ll_os_write>, I[$2], R[%r0], <CallDescr(ir) EF=7> -> %i0
 229  -live-
 229  raise $<* struct object>
 231  ---
 231  L14:
 231  int_isconstant $2 -> %i0
 234  -live- %i0, %r1
 234  goto_if_not %i0, L17
 238  goto L15
 241  ---
 241  L17:
 241  residual_call_ir_r $<* fn ll_join_strs_trampoline__v982___simple_call__function_l>, I[$2], R[%r1], <CallDescr(ir) EF=5> -> %r0
 250  -live- %r0
 250  goto L16
 253  ---
 253  L12:
 253  ref_copy $<* struct rpy_string> -> %r0
 256  goto L13
 259  ---
 259  L11:
 259  reraise
 260  ---
 260  L7:
 260  int_isconstant $2 -> %i0
 263  -live- %i0, %r1, %r2, %r3
 263  goto_if_not %i0, L18
 267  goto L8
 270  ---
 270  L18:
 270  residual_call_ir_r $<* fn ll_join_strs_trampoline__v982___simple_call__function_l>, I[$2], R[%r1], <CallDescr(ir) EF=5> -> %r1
 279  -live- %r1, %r2, %r3
 279  goto L9
 282  ---
 282  L5:
 282  ref_copy %r2 -> %r3
 285  goto L6
 288  ---
 288  L3:
 288  int_copy $7 -> %i0
 291  ref_copy $<* struct rpy_string> -> %r2
 294  goto L4
 297  ---
 297  L2:
 297  int_copy $7 -> %i0
 300  ref_copy $<* struct rpy_string> -> %r2
 303  goto L4
 306  ---
 306  L1:
 306  residual_call_irf_v $<* fn ll_time.ll_time_sleep>, I[], R[], F[$1.0], <CallDescr(f) EF=7>
 314  -live-
 314  void_return
