   0  residual_call_r_r $<* fn get_nonmovingbuffer_final_null>, R[%r0], <CallDescr(r) EF=5> -> %r1
   7  -live- %r0, %r1
   7  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i0
  12  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i1
  17  residual_call_ir_i $<* fn ccall_chdir__arrayPtr>, I[%i0], R[], <CallDescr(i) EF=7> -> %i2
  25  -live- %i0, %i1, %i2, %r0
  25  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i0, %i1], R[%r0], <CallDescr(rii) EF=2>
  34  -live- %i2
  34  goto_if_not_int_lt %i2, $0, L1
  39  residual_call_ir_i $<* fn _ll_1_threadlocalref_get__INTLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i1
  47  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0> -> %r0
  52  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
  58  setarrayitem_gc_r %r0, $1, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100a0ecb9f0>
  64  ref_isvirtual %r0 -> %i0
  67  -live- %i0, %i1, %r0
  67  goto_if_not %i0, L2
  71  L3:
  71  inline_call_ir_r <JitCode 'll_join_strs__v1095___simple_call__function_'>, I[$2], R[%r0] -> %r1
  79  -live- %i1, %r1
  79  L4:
  79  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000001006dff05d0> -> %r0
  83  setfield_gc_r %r0, %r1, FieldDescr<exceptions.EnvironmentError.inst_strerror>
  88  setfield_gc_i %r0, %i1, FieldDescr<exceptions.EnvironmentError.inst_errno>
  93  assert_not_none %r0
  95  -live- %r0
  95  guard_class %r0 -> %i0
  98  -live- %r0
  98  raise %r0
 100  ---
 100  L2:
 100  int_isconstant $2 -> %i0
 103  -live- %i0, %i1, %r0
 103  goto_if_not %i0, L5
 107  goto L3
 110  ---
 110  L5:
 110  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1091___simple_call__function_>, I[$2], R[%r0], <CallDescr(ir) EF=5> -> %r1
 119  -live- %i1, %r1
 119  goto L4
 122  ---
 122  L1:
 122  void_return
