On Wed, 24 Sep 2025 18:20:58 GMT, Roger Riggs <[email protected]> wrote:
>> David Beaumont has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Manually deleting ImageReaderFactory (it returned somehow)
>
> src/java.base/share/classes/jdk/internal/jimage/ImageHeader.java line 42:
>
>> 40: * <ul>
>> 41: * <li>src/java.base/share/native/libjimage/imageFile.hpp
>> 42: * </ul>
>
> Are there any java source files that have to be updated on a version change?
This is it I think. Everything else reading/writing the jimage file just uses
this constant as far as I can tell. But it's possible I'm wrong. Certainly none
of the code I'm changing in these PRs needed more than this altered for the
version bump, but I can't rule out things like command line tools I've not
found yet (but I have no evidence). The jimage tool uses these classes, so gets
the change from here.
> src/java.base/share/classes/jdk/internal/jimage/ImageLocation.java line 72:
>
>> 70: * <p>This flag is mutually exclusive with {@link
>> #FLAGS_HAS_PREVIEW_VERSION}.
>> 71: */
>> 72: public static final int FLAGS_IS_PREVIEW_VERSION = 0x2;
>
> Seems to be redundant with HAS_PREVIEW_VERSION when seen in a preview
> location.
Ah, but HAS_PREVIEW_VERSION is never set on a preview location. It's only for
non-preview locations to indicate that a (different) preview version exists.
HAS_PREVIEW_VERSION can also be set for /packages/xxx directory entries (where
it means "some of the entries are modules in which preview versions of
resources exist" rather than "there's a META-INF/preview version of this
entry"). IS_PREVIEW_VERSION is kind of meaningless for the /packages/xxx
directories though, and is never set on them.
I'm not sure I'm a fan of trying to merge the semantics of these into some sort
of "HAS_OR_IS_PREVIEW_VERSION" flag though. We're not short on flag space (and
are extremely unlikely to ever be).
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1619#discussion_r2413662039
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1619#discussion_r2413668235