On Tue, 23 Sep 2025 19:11:41 GMT, David Beaumont <[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).

Disclaimer: I can only speak for the runtime portions of the code.

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?)

src/hotspot/share/classfile/classLoader.cpp line 291:

> 289: // the preview mode to be manually specified, so must not be accessible 
> outside this
> 290: // class. ClassPathImageEntry manages all calls for resources after 
> startup is complete.
> 291: static JImageLocationRef jimage_find_resource(const char* module_name,

This function makes the rest of the code more legible. Thanks!

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?

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

Marked as reviewed by phubner (Author).

PR Review: 
https://git.openjdk.org/valhalla/pull/1618#pullrequestreview-3322083982
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1618#discussion_r2418991622
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1618#discussion_r2418995309
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1618#discussion_r2418997876

Reply via email to