On Tue, 23 Sep 2025 19:12:27 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 > > David Beaumont has refreshed the contents of this pull request, and previous > commits have been removed. The incremental views will show differences > compared to the previous content of the PR. The pull request contains seven > new commits since the last revision: > > - add system property guard to preview mode > - jimage writer changes to support preview mode. > > * Remove TODOs now jimage version is bumped > * jimage writer changes to support preview mode. > - Word smithing flags definitions. > - Add workaround until new image writing code is in > - Clarifying flag docs for /packages/xxx case > - Java ImageReader changes for preview mode > - C++ preparation for preview mode Regenerating PR so it was a pr/xxx branch available. ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1615#issuecomment-3325265682
