On Tue, 23 Sep 2025 13:47:28 GMT, David Beaumont <[email protected]> wrote:

> Adds support for writing preview related flags into jimage files.
> 
> Preview mode is complex. It's not nearly as simple as "does something in 
> /modules/xxx/... have an entry in /modules/xxx/META-INF/preview/...".
> 
> Specific issues include:
> 1. Supporting preview-only resources without forcing a double lookup on 
> everything.
> 2. Changing the set of entries in /packages/xxx directories to account for 
> preview only packages in some modules.
> 3. Minimising the work done during image reader initialization to only need 
> to process the small number of preview resources (rather than scanning the 
> whole file to look for them).
> 
> The new flags added by this code address these issues, but calculating them 
> correctly with only minor adjustments to the existing code was not feasible, 
> it just became a lot larger and very complex.
> 
> To address this, a new type (ModuleReference) is introduced to track and then 
> merge information about packages seen in each module. This allows a much 
> simpler inner loop for processing resource paths when building the node tree, 
> combined with a subsequent merging stage to produce the final package 
> information for each module.
> 
> Not that since ModuleReference is needed during jimage reading, that class is 
> already present in the previous PR on which this is based, but it starts to 
> be used to calculate the module flags in this PR.
> 
> This PR can also adds the ImageReader unit tests for preview mode, which rely 
> on being able to generate jimage files with preview mode flags in.
> 
> Compare and review this against https://github.com/openjdk/valhalla/pull/1613.
> 
> https://github.com/openjdk/valhalla/pull/1615/commits/28eae40aa9a3f8520519d79d7749b5a4b3511609

This pull request has been closed without being integrated.

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

PR: https://git.openjdk.org/valhalla/pull/1615

Reply via email to