Request for review 6840152: JVM crashes when heavyweight monitors are used

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Feb 16 07:56:15 PST 2011


On 2/16/2011 8:47 AM, Coleen Phillimore wrote:
> On 2/16/2011 1:33 AM, David Holmes wrote:
>> Hi Coleen,
>>
>> I don't see a UseHeavyWeightMonitors flag in the current source. And 
>> the change in arguments.cpp refers to both UseHeavyMonitors and 
>> UseFastLocking, so I'm confused about this "renaming".
>>
>> And I'm not sure this warning logic is quite right:
>>
>> +   // Turn off biased locking for locking debug mode flags
>> +   if (!UseFastLocking || UseHeavyMonitors) {
>> +     if (!FLAG_IS_DEFAULT(UseBiasedLocking)) {
>> +       warning("Biased Locking is not supported with locking debug 
>> flags");
>> +     }
>> +     UseBiasedLocking = false;
>> +   }
>>
>> These FLAG macros always confuse me but surely the issue is whether 
>> UseBiasedLocking is true, not whether it has its "default value" ???
>>
>> On some architectures the default value of UseBiasedLocking is false.
>
> You are right.  The FLAG_IS_DEFAULT is if someone specified it on the 
> command line, but I should also check if they specified it to be true.

That's right! I only had it half correct. :-(

    !FLAG_IS_DEFAULT(foo) && foo

means they set it on the command line to true and we should
warn them... Sigh... I've had more coffee now...

Dan

>
> The earlier description was replaced with:
> Summary: Turn off biased locking if !UseFastLocking or 
> UseHeavyMonitors options are requested.
>
>
> Thanks,
> Coleen
>
>>
>> David
>>
>>
>> Coleen Phillimore said the following on 02/16/11 05:19:
>>> Summary: Renamed UseHeavyWeightMonitors flag to !UseFastLocking flag 
>>> and turn off biased locking if !UseFastLocking option is requested.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/6840152/
>>> bug link at http://bugs.sun.com/view_bug.do?bug_id=6840152
>>>
>>> Tested against specjbb2005.
>>>
>>> Thanks,
>>> Coleen
>>>
>


More information about the hotspot-runtime-dev mailing list