RFR: 8264126: Remove TRAPS/THREAD parameter for class loading functions [v4]

David Holmes dholmes at openjdk.java.net
Thu Mar 25 22:29:26 UTC 2021


On Thu, 25 Mar 2021 13:06:00 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> find_constrained_instance_or_array_klass only passes THREAD so that it can be used in a MutexLocker for SystemDictionary_lock. This can use the MutexLocker that gets Thread::current() without any harm to performance.
>> 
>> The other functions add_loader_constraint, record_linking_constraints, and check_signature_loaders fall out from that.
>> 
>> check_signature_loaders should throw an exception but it unfortunately makes the caller construct the exception message so it doesn't.
>> 
>> Also: is_shared_class_visible{_impl}
>> 
>> Tested with tier1 on 4 Oracle platforms (in progress)
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix broken logic in systemDictionaryShared.

src/hotspot/share/classfile/systemDictionaryShared.cpp line 1864:

> 1862:   }
> 1863: 
> 1864:   if (DynamicDumpSharedSpaces && Thread::current()->is_VM_thread()) {

This is still a functional change. If there is a bug and we get here in the VMThread when DynamicDumpSharedSpaces is not set then we will no longer immediately return.

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

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


More information about the hotspot-dev mailing list