   0  strlen %r0 -> %i0
   3  -live- %i0, %r0
   3  goto_if_not_int_is_true %i0, L1
   7  strgetitem %r0, $0 -> %i0
  11  -live- %i0, %r0
  11  goto_if_not_int_eq %i0, $'/', L2
  16  L3:
  16  residual_call_r_r $<* fn _posix_rnormpath>, R[%r0], <CallDescr(r) EF=5> -> %r1
  23  -live- %r0, %r1
  23  catch_exception L4
  26  L5:
  26  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r1, $<* struct rpy_string>] -> %r3
  33  -live- %r1, %r3
  33  strlen %r3 -> %i0
  36  -live- %i0, %r1, %r3
  36  goto_if_not_int_is_true %i0, L6
  40  strgetitem %r3, $0 -> %i0
  44  -live- %i0, %r1, %r3
  44  goto_if_not_int_eq %i0, $'/', L7
  49  L8:
  49  residual_call_r_r $<* fn _posix_rnormpath>, R[%r3], <CallDescr(r) EF=5> -> %r0
  56  -live- %r0, %r1, %r3
  56  catch_exception L9
  59  L10:
  59  residual_call_r_r $<* fn ll_os.ll_os_lstat>, R[%r1], <CallDescr(r) EF=7> -> %r2
  66  -live- %r0, %r1, %r2
  66  catch_exception L11
  69  getfield_gc_i_pure %r2, FieldDescr<tuple13.item0> -> %i0
  74  int_and %i0, $61440 -> %i0
  78  -live- %i0, %r0, %r1
  78  goto_if_not_int_eq %i0, $40960, L12
  83  inline_call_r_r <JitCode '_readlink_maybe'>, R[%r1] -> %r2
  89  -live- %r0, %r2
  89  catch_exception L13
  92  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r0, %r2] -> %r2
  99  -live- %r2
  99  inline_call_r_r <JitCode 'resolvedirof'>, R[%r2] -> %r0
 105  -live- %r0
 105  ref_return %r0
 107  ---
 107  L13:
 107  goto_if_exception_mismatch $<* struct object_vtable>, L14
 111  ref_return %r0
 113  ---
 113  L14:
 113  reraise
 114  ---
 114  L12:
 114  ref_return %r0
 116  ---
 116  L11:
 116  goto_if_exception_mismatch $<* struct object_vtable>, L15
 120  ref_return %r0
 122  ---
 122  L15:
 122  goto_if_exception_mismatch $<* struct object_vtable>, L16
 126  ref_return %r0
 128  ---
 128  L16:
 128  reraise
 129  ---
 129  L9:
 129  goto_if_exception_mismatch $<* struct object_vtable>, L17
 133  ref_copy %r3 -> %r0
 136  goto L10
 139  ---
 139  L17:
 139  reraise
 140  ---
 140  L7:
 140  L18:
 140  residual_call_r_r $<* fn ll_os.ll_os_getcwd>, R[], <CallDescr() EF=7> -> %r2
 146  -live- %r1, %r2, %r3
 146  catch_exception L19
 149  ref_copy %r3 -> %r0
 152  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r0] -> %r3
 159  -live- %r0, %r1, %r3
 159  catch_exception L20
 162  goto L8
 165  ---
 165  L20:
 165  goto_if_exception_mismatch $<* struct object_vtable>, L21
 169  goto L10
 172  ---
 172  L21:
 172  reraise
 173  ---
 173  L19:
 173  goto_if_exception_mismatch $<* struct object_vtable>, L22
 177  ref_copy %r3 -> %r0
 180  goto L10
 183  ---
 183  L22:
 183  reraise
 184  ---
 184  L6:
 184  goto L18
 187  ---
 187  L4:
 187  goto_if_exception_mismatch $<* struct object_vtable>, L23
 191  ref_copy %r0 -> %r1
 194  goto L5
 197  ---
 197  L23:
 197  reraise
 198  ---
 198  L2:
 198  L24:
 198  residual_call_r_r $<* fn ll_os.ll_os_getcwd>, R[], <CallDescr() EF=7> -> %r2
 204  -live- %r0, %r2
 204  catch_exception L25
 207  ref_copy %r0 -> %r1
 210  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r1] -> %r0
 217  -live- %r0, %r1
 217  catch_exception L26
 220  goto L3
 223  ---
 223  L26:
 223  goto_if_exception_mismatch $<* struct object_vtable>, L27
 227  goto L5
 230  ---
 230  L27:
 230  reraise
 231  ---
 231  L25:
 231  goto_if_exception_mismatch $<* struct object_vtable>, L28
 235  ref_copy %r0 -> %r1
 238  goto L5
 241  ---
 241  L28:
 241  reraise
 242  ---
 242  L1:
 242  goto L24
