   0  strlen %r0 -> %i0
   3  -live- %i0, %r0
   6  goto_if_not_int_is_true %i0, L1
  10  strgetitem %r0, $0 -> %i0
  14  -live- %i0, %r0
  17  goto_if_not_int_eq %i0, $'/', L2
  22  L3:
  22  residual_call_r_r $<* fn _posix_rnormpath>, R[%r0], <CallDescr(r) EF=5> -> %r1
  29  -live- %r0, %r1
  32  catch_exception L4
  35  L5:
  35  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r1, $<* struct rpy_string>] -> %r3
  42  -live- %r1, %r3
  45  strlen %r3 -> %i0
  48  -live- %i0, %r1, %r3
  51  goto_if_not_int_is_true %i0, L6
  55  strgetitem %r3, $0 -> %i0
  59  -live- %i0, %r1, %r3
  62  goto_if_not_int_eq %i0, $'/', L7
  67  L8:
  67  residual_call_r_r $<* fn _posix_rnormpath>, R[%r3], <CallDescr(r) EF=5> -> %r0
  74  -live- %r0, %r1, %r3
  77  catch_exception L9
  80  L10:
  80  inline_call_r_r <JitCode 'lstat__str'>, R[%r1] -> %r2
  86  -live- %r0, %r1, %r2
  89  catch_exception L11
  92  getfield_gc_i_pure %r2, FieldDescr<tuple16.item0> -> %i0
  97  int_and %i0, $61440 -> %i0
 101  -live- %i0, %r0, %r1
 104  goto_if_not_int_eq %i0, $40960, L12
 109  inline_call_r_r <JitCode '_readlink_maybe'>, R[%r1] -> %r2
 115  -live- %r0, %r2
 118  catch_exception L13
 121  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r0, %r2] -> %r2
 128  -live- %r2
 131  inline_call_r_r <JitCode 'resolvedirof'>, R[%r2] -> %r0
 137  -live- %r0
 140  ref_return %r0
 142  ---
 142  L13:
 142  goto_if_exception_mismatch $<* struct object_vtable>, L14
 146  ref_return %r0
 148  ---
 148  L14:
 148  reraise
 149  ---
 149  L12:
 149  ref_return %r0
 151  ---
 151  L11:
 151  goto_if_exception_mismatch $<* struct object_vtable>, L15
 155  ref_return %r0
 157  ---
 157  L15:
 157  goto_if_exception_mismatch $<* struct object_vtable>, L16
 161  ref_return %r0
 163  ---
 163  L16:
 163  reraise
 164  ---
 164  L9:
 164  goto_if_exception_mismatch $<* struct object_vtable>, L17
 168  ref_copy %r3 -> %r0
 171  goto L10
 174  ---
 174  L17:
 174  reraise
 175  ---
 175  L7:
 175  L18:
 175  residual_call_r_r $<* fn getcwd>, R[], <CallDescr() EF=7> -> %r2
 181  -live- %r1, %r2, %r3
 184  catch_exception L19
 187  ref_copy %r3 -> %r0
 190  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r0] -> %r3
 197  -live- %r0, %r1, %r3
 200  catch_exception L20
 203  goto L8
 206  ---
 206  L20:
 206  goto_if_exception_mismatch $<* struct object_vtable>, L21
 210  goto L10
 213  ---
 213  L21:
 213  reraise
 214  ---
 214  L19:
 214  goto_if_exception_mismatch $<* struct object_vtable>, L22
 218  ref_copy %r3 -> %r0
 221  goto L10
 224  ---
 224  L22:
 224  reraise
 225  ---
 225  L6:
 225  goto L18
 228  ---
 228  L4:
 228  goto_if_exception_mismatch $<* struct object_vtable>, L23
 232  ref_copy %r0 -> %r1
 235  goto L5
 238  ---
 238  L23:
 238  reraise
 239  ---
 239  L2:
 239  L24:
 239  residual_call_r_r $<* fn getcwd>, R[], <CallDescr() EF=7> -> %r2
 245  -live- %r0, %r2
 248  catch_exception L25
 251  ref_copy %r0 -> %r1
 254  inline_call_r_r <JitCode '_posix_rjoin'>, R[%r2, %r1] -> %r0
 261  -live- %r0, %r1
 264  catch_exception L26
 267  goto L3
 270  ---
 270  L26:
 270  goto_if_exception_mismatch $<* struct object_vtable>, L27
 274  goto L5
 277  ---
 277  L27:
 277  reraise
 278  ---
 278  L25:
 278  goto_if_exception_mismatch $<* struct object_vtable>, L28
 282  ref_copy %r0 -> %r1
 285  goto L5
 288  ---
 288  L28:
 288  reraise
 289  ---
 289  L1:
 289  goto L24
