RFR(S) 8193332 MetaspaceShared::check_shared_class_loader_type is not used during archive creation
Ioi Lam
ioi.lam at oracle.com
Mon May 21 16:55:28 UTC 2018
On 5/21/18 7:03 AM, Lois Foltan wrote:
> On 5/17/2018 9:13 PM, Ioi Lam wrote:
>
>> https://bugs.openjdk.java.net/browse/JDK-8193332
>> http://cr.openjdk.java.net/~iklam/jdk11/8193332-check_shared_class_loader_type.v01/
>>
>>
>> Summary:
>>
>> When we restructured the AppCDS code, the call to
>> MetaspaceShared::check_shared_class_loader_type
>> was somehow left out. I have restored it, and actually found a minor
>> bug related to modules
>> and -Xbootclasspath/a:
>>
>> In classLoader.cpp, at dump time we used to load a class from
>> -Xbootclasspath/a even if
>> this class belongs to a named packaged, which means it would not be
>> loaded by the JVM at runtime.
>> Such dump-time loading seems unnecessary so I removed it, and fixed a
>> related test case
>> to reflect the latest behavior.
>>
>> Tested with hs-tier1,2.
>>
>> Thanks
>> - Ioi
> Looks good. Can you either remove or improve upon the
> DumpSharedSpaces comment in lines 1413-1424 of classLoader.cpp to
> reflect the changed behavior?
> Thanks,
> Lois
>
Hi Lois,
Thanks for the review. I've changed the comments from:
// If DumpSharedSpaces is true boot loader visibility boundaries are
set to:
// - [jimage] + [_first_append_entry to _last_append_entry] (all
path entries).
//
// If search_append_only is true, boot loader visibility boundaries are
// set to be _first_append_entry to the end. This includes:
// [-Xbootclasspath/a]; [jvmti appended entries]
//
// If both DumpSharedSpaces and search_append_only are false, boot loader
// visibility boundaries are set to be the --patch-module entries
plus the base piece.
// This would include:
// [--patch-module=<module>=<file>(<pathsep><file>)*]; [jimage |
exploded module build]
to
// If search_append_only is true, boot loader visibility boundaries are
// set to be _first_append_entry to the end. This includes:
// [-Xbootclasspath/a]; [jvmti appended entries]
//
// If search_append_only is false, boot loader visibility boundaries are
// set to be the --patch-module entries plus the base piece. This
includes:
// [--patch-module=<module>=<file>(<pathsep><file>)*]; [jimage |
exploded module build]
Thanks
- Ioi
More information about the hotspot-runtime-dev
mailing list