   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  inline_call_r_r <JitCode 'lstat__str'>, R[%r1] -> %r2
  65  -live- %r0, %r1, %r2
  65  catch_exception L11
  68  getfield_gc_i_pure %r2, FieldDescr<tuple13.item0> -> %i0
  73  int_and %i0, $61440 -> %i0
  77  -live- %i0, %r0, %r1
  77  goto_if_not_int_eq %i0, $40960, L12
  82  inline_call_r_r <JitCode '_readlink_maybe'>, R[%r1] -> %r2
  88  -live- %r0, %r2
  88  catch_exception L13
  91  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r0, %r2] -> %r2
  98  -live- %r2
  98  inline_call_r_r <JitCode 'resolvedirof'>, R[%r2] -> %r0
 104  -live- %r0
 104  ref_return %r0
 106  ---
 106  L13:
 106  goto_if_exception_mismatch $<* struct object_vtable>, L14
 110  ref_return %r0
 112  ---
 112  L14:
 112  reraise
 113  ---
 113  L12:
 113  ref_return %r0
 115  ---
 115  L11:
 115  goto_if_exception_mismatch $<* struct object_vtable>, L15
 119  ref_return %r0
 121  ---
 121  L15:
 121  goto_if_exception_mismatch $<* struct object_vtable>, L16
 125  ref_return %r0
 127  ---
 127  L16:
 127  reraise
 128  ---
 128  L9:
 128  goto_if_exception_mismatch $<* struct object_vtable>, L17
 132  ref_copy %r3 -> %r0
 135  goto L10
 138  ---
 138  L17:
 138  reraise
 139  ---
 139  L7:
 139  L18:
 139  residual_call_r_r $<* fn getcwd>, R[], <CallDescr() EF=7> -> %r2
 145  -live- %r1, %r2, %r3
 145  catch_exception L19
 148  ref_copy %r3 -> %r0
 151  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r0] -> %r3
 158  -live- %r0, %r1, %r3
 158  catch_exception L20
 161  goto L8
 164  ---
 164  L20:
 164  goto_if_exception_mismatch $<* struct object_vtable>, L21
 168  goto L10
 171  ---
 171  L21:
 171  reraise
 172  ---
 172  L19:
 172  goto_if_exception_mismatch $<* struct object_vtable>, L22
 176  ref_copy %r3 -> %r0
 179  goto L10
 182  ---
 182  L22:
 182  reraise
 183  ---
 183  L6:
 183  goto L18
 186  ---
 186  L4:
 186  goto_if_exception_mismatch $<* struct object_vtable>, L23
 190  ref_copy %r0 -> %r1
 193  goto L5
 196  ---
 196  L23:
 196  reraise
 197  ---
 197  L2:
 197  L24:
 197  residual_call_r_r $<* fn getcwd>, R[], <CallDescr() EF=7> -> %r2
 203  -live- %r0, %r2
 203  catch_exception L25
 206  ref_copy %r0 -> %r1
 209  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r1] -> %r0
 216  -live- %r0, %r1
 216  catch_exception L26
 219  goto L3
 222  ---
 222  L26:
 222  goto_if_exception_mismatch $<* struct object_vtable>, L27
 226  goto L5
 229  ---
 229  L27:
 229  reraise
 230  ---
 230  L25:
 230  goto_if_exception_mismatch $<* struct object_vtable>, L28
 234  ref_copy %r0 -> %r1
 237  goto L5
 240  ---
 240  L28:
 240  reraise
 241  ---
 241  L1:
 241  goto L24
