RFR: 8338851: Hoist os::Posix::realpath() to os::realpath() and implement on Windows [v17]

Simon Tooke stooke at openjdk.org
Thu Oct 10 06:51:13 UTC 2024


> This PR changes the status of realpath() from a Posix-specific API to a globally available API, i.e. adding it to the "Hotspot Porting API".  Code would refer to os::realpath() instead of os::Posix::realpath().
> 
> This requires a Windows implementation of realpath(), using Windows _fullpath(), and renaming os::Posix::realpath() to os::realpath().
> 
> The main difference between POSIX and Windows behaviour is that POSIX actually requires an existing accessible file, while Windows will happily work with made-up filenames.
> 
> Please note that guidelines for doing this appear in src/hotspot/share/runtime/os.hpp

Simon Tooke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 22 additional commits since the last revision:

 - Merge branch 'master' into pr_windows_realpath
 - remove accidently commited file
 - account for Windows behviour changes
 - feedback from review
 - delete commented out code
 - fix realpath test on macOS
 - remove tabs
 - remove conditional compilation
 - Merge branch 'master' into pr_windows_realpath
 - fix realpath() test for POSIX
 - ... and 12 more: https://git.openjdk.org/jdk/compare/281b387e...9fe1466b

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/20683/files
  - new: https://git.openjdk.org/jdk/pull/20683/files/e8c29ff5..9fe1466b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20683&range=16
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20683&range=15-16

  Stats: 67910 lines in 1125 files changed: 55391 ins; 6843 del; 5676 mod
  Patch: https://git.openjdk.org/jdk/pull/20683.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20683/head:pull/20683

PR: https://git.openjdk.org/jdk/pull/20683


More information about the serviceability-dev mailing list