RFR: [lworld] Switch JLink to not use ImageReader API [v6]
David Beaumont
duke at openjdk.org
Thu Nov 6 17:50:38 UTC 2025
> Creates a new, narrowed API explicitly for use by jlink, which view the resource entries in a jimage file without the re-mapping of names and invention of synthetic entries inherent in ImageReader.
>
> Another good reason to express this new API as something other than ImageReader is that, to fix issues such as [JDK-8357249](https://bugs.openjdk.org/browse/JDK-8357249), we don't want to have the (System)ImageReader class used directly in jlink code. It's just the wrong abstraction and will make it harder to refactor jlink to use a non-singleton API with a controlled lifetime later.
>
> I've not added unit tests for the new API (yet), but the fact the PackagedModulesVsRuntimeImageLinkTest passes with preview content in the jimage file means that it's working as expected.
David Beaumont 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 six additional commits since the last revision:
- Merge branch 'jdk_8368467_reader/squashed' into jdk_8371292_jlink/squashed
- Tidied up diff code in test.
- Added copyright notice and tidied a couple of comments.
- Tighted access to new API and undo new path() method.
- Remove redundant extra method (part of original prototype)
- Make jlink use a new narrow API for raw jimage access
-------------
Changes:
- all: https://git.openjdk.org/valhalla/pull/1721/files
- new: https://git.openjdk.org/valhalla/pull/1721/files/fdcb73f7..1f85ff74
Webrevs:
- full: https://webrevs.openjdk.org/?repo=valhalla&pr=1721&range=05
- incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1721&range=04-05
Stats: 56 lines in 8 files changed: 5 ins; 11 del; 40 mod
Patch: https://git.openjdk.org/valhalla/pull/1721.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1721/head:pull/1721
PR: https://git.openjdk.org/valhalla/pull/1721
More information about the valhalla-dev
mailing list