RFR (S) 8232788: Move biased locking initalization

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Oct 23 12:37:13 UTC 2019



On 10/22/19 10:29 PM, David Holmes wrote:
> Hi Coleen,
>
> On 23/10/2019 5:54 am, coleen.phillimore at oracle.com wrote:
>> Summary: Move from before adding to the dictionary to during 
>> InstanceKlass construction, which occurs right before.
>
> Right before? I had trouble seeing where the IK was created relative 
> to the call to SD::update_dictionary. But I don't think it really 
> matters as long as the biased locking state is set before the new IK 
> gets added to the SD.

Right.  The InstanceKlass is parsed or loaded from the shared archive, 
then added to the SD.   Nothing else gets to see the InstanceKlass until 
then.

>
> But I don't understand the change to restore_shareableinfo. Where 
> would the biased locking state get set on that code path today?

Today, it's updated in update_dictionary in the case where the klass is 
loaded from the shared archive.  With this simple change, it's done in 
the constructor and removing this code from SystemDictionary that 
shouldn't know anything about it.

Coleen

>
> Thanks,
> David
>
>> Tested with tier1 all Oracle platforms, tier 2-3, linux-x64-debug, 
>> tier1 with -XX:BiasedLockingDelay=100, and gtest with 
>> -XX:-UseBiasedLocking.
>>
>> open webrev at 
>> http://cr.openjdk.java.net/~coleenp/2019/8232788.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8232788
>>
>> Thanks,
>> Coleen



More information about the hotspot-runtime-dev mailing list