[lworld] RFR: 8366093: [lworld] Add preview mode to C++ classloader [v2]
David Beaumont
duke at openjdk.org
Tue Oct 14 16:09:42 UTC 2025
On Tue, 14 Oct 2025 12:34:14 GMT, David Beaumont <duke at openjdk.org> 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).
>
> David Beaumont has updated the pull request incrementally with one additional commit since the last revision:
>
> Reorganising to catch preview-only cases
src/hotspot/share/classfile/classLoader.cpp line 471:
> 469:
> 470: jlong size;
> 471: JImageLocationRef location = jimage_find_resource("", name, is_preview, &size);
Actually, now I look at callers, I see this. An empty module name.
So perhaps it should all work and maybe the double '//' isn't what will happen.
The original code also passes "" here, and the old string concatenation code does:
index = 0;
fullpath[index++] = '/';
memcpy(&fullpath[index], module_name, moduleNameLen);
index += moduleNameLen;
fullpath[index++] = '/';
memcpy(&fullpath[index], name, nameLen);
index += nameLen;
fullpath[index++] = '\0';
So it too looks like it generates '//' in the name, which really shouldn't result in anything being found (but we're not in Kansas anymore, so I'll save investigating this for the PR).
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1618#discussion_r2429719330
More information about the valhalla-dev
mailing list