On Fri, 10 Oct 2025 08:56:59 GMT, Paul Hübner <[email protected]> wrote:
>> C++ changes for supporting preview mode when preview mode resources (with
>> new location flags) are available.
>>
>> At the moment, this code will operate on non-preview jimage files (1.0) and
>> act as if no preview resources are available by virtue of the default value
>> for missing attributes being zero (which matches location flags for "normal"
>> entries).
>
> src/hotspot/share/classfile/classLoader.cpp line 251:
>
>> 249: // Closes and clears the JImage file reference (this will only be
>> called during shutdown).
>> 250: static void jimage_close() {
>> 251: if (JImage_file != nullptr) {
>
> I'm not familiar with jimage at all, is there as reason we could close a
> non-open jimage? And following from that, can we guarantee to not call
> jimage_open on an open jimage? (Maybe an assert should guard it?)
I honestly don't know, so this is the old behaviour, so I'm keeping it for now.
Alan might know more.
> src/java.base/share/native/libjimage/imageFile.cpp line 326:
>
>> 324: // for preview mode. Preview mode changes do not modify any
>> structure,
>> 325: // so a 1.0 file will look like a jimage without any preview
>> resources.
>> 326: // TODO: Restore equality check for MINOR_VERSION.
>
> Is this something you still have to address in this PR?
I need to address it later, when the image writing code is changed.
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1618#discussion_r2419241260
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1618#discussion_r2419235251