RFR: 8261268: LOAD_INSTANCE placeholders unneeded for parallelCapable class loaders

Coleen Phillimore coleenp at openjdk.java.net
Tue Feb 9 12:36:37 UTC 2021


On Tue, 9 Feb 2021 02:55:09 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> See CR for more details.  This optimizes some code for class loading.
>> Tested with tier1-6.
>
> src/hotspot/share/classfile/systemDictionary.cpp line 1865:
> 
>> 1863:     }
>> 1864: 
>> 1865:     DEBUG_ONLY(if (is_parallelCapable(class_loader)) verify_placeholder(name, loader_data));
> 
> I can't help but feel that somewhere in the loading process there should be a more general assertion that, not only is there a placeholder present, but that it is for this thread. Though such a check would also need to check the kind of placeholder found. Future RFE perhaps.

In this case, we call check_constraints() after loadClass so the placeholder doesn't exist for parallelCapable class loaders (we do want one for the define class path).  Not sure what sort of assertion would be helpful here.

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

PR: https://git.openjdk.java.net/jdk/pull/2469


More information about the hotspot-runtime-dev mailing list