[lworld] RFR: [lworld] Switch JLink to not use ImageReader API [v9]

Roger Riggs rriggs at openjdk.org
Wed Nov 12 16:38:04 UTC 2025


On Wed, 12 Nov 2025 14:58:36 GMT, David Beaumont <duke at openjdk.org> wrote:

>> 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 pull request now contains 16 commits:
> 
>  - Use byte array not stream for simplicity
>  - Merge branch 'lworld' into jdk_8371292_jlink/squashed
>  - Merge commit '72539b57d088940bc18185d1658db6c89f4033fc' into jdk_8371292_jlink/squashed
>  - comment adjustment
>  - Feedback changes.
>    
>    * copyright update
>    * feedback changes
>  - Merge branch 'jdk_8368467_reader/squashed' into jdk_8371292_jlink/squashed
>  - Rename ModuleReference methods back.
>  - fixing jlink issue
>  - Feedback and test fix
>  - Minor feedback changes
>  - ... and 6 more: https://git.openjdk.org/valhalla/compare/4eb04ffa...a27a2883

Looks good.

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

Marked as reviewed by rriggs (Committer).

PR Review: https://git.openjdk.org/valhalla/pull/1721#pullrequestreview-3454382871


More information about the valhalla-dev mailing list