   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_sem_unlink__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__SignedLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i0
  47  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1258a230> -> %r0
  51  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
  56  setfield_gc_i %r0, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
  61  -live- %r0
  61  raise %r0
  63  ---
  63  L1:
  63  void_return
