RFR: 8259839 SystemDictionary exports too much implementation [v2]

David Holmes david.holmes at oracle.com
Thu Jan 28 05:44:06 UTC 2021


On 27/01/2021 10:17 pm, Coleen Phillimore wrote:
> On Wed, 27 Jan 2021 06:10:28 GMT, David Holmes <dholmes at openjdk.org> wrote:
> 
>>> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>>>
>>>    return NULL for find_or_define_helper if pending exception
>>
>> Hi Coleen,
>>
>> I can't quite convince myself that the changes in relation to potentially parallel definition are right, but that is mainly because I can't fully reconcile the existing comments in that area. A number of comments below.
>>
>> Thanks,
>> David
> 
> Re: @dholmes-ora your comment about parallel definition.  I'm trying to grok this myself, but apparently you can use AllowParallelClassDefine to enable parallel definition in custom class loader objects that are parallel capable.  I don't know why they have to be parallel capable but that's what the code does.  The placeholder entry for DEFINE_CLASS is used to synchronize parallel defines and implement this option.  There's a test for this that Volker wrote: in runtime/Metaspace/DefineClass.java.

IIUC If the loader is not parallel-capable then we have taken out the 
loader-lock, so parallel definition is not possible.

Cheers,
David

> -------------
> 
> PR: https://git.openjdk.java.net/jdk/pull/2247
> 


More information about the hotspot-runtime-dev mailing list