RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking

David Holmes david.holmes at oracle.com
Thu Jun 27 05:18:55 PDT 2013


Vladimir,

On 27/06/2013 9:34 AM, Vladimir Kozlov wrote:
> Hi Goetz,
>
> On 6/26/13 7:30 AM, Lindenmaier, Goetz wrote:
>> Hi,
>>
>> To use biased locking in our PPC64 VM,we fixed the biased locking
>> implementation
>> in the cppInterpreter.  We also added  BiasedLockingStatistic support.
>
> Oracle does not use cppInterpreter and no building and testing are done.
> So we trust you to do testing of these changes.
> I glanced on these changes and they look fine to me.
>
> One suggestion I heard from David H. is to move cppInterpreter related
> files (all 6 of them) from interpreter/ directory to separate directory.
> So we can see when changes does not affect our shared code.

It is a general source of confusion to new hotspot engineers that there 
are actually two interpreters in one directory and that one is not used 
by the historical primary ports. It also isn't obvious that 
bytecodeInterpreter.cpp pertains to the cppInterpreter.

>> We need an additional ordering operation in revoke_bias() when writing
>> the mark.
>
> Why you need ordering only for locked objects in this code? And why here
> at all? This code is executed at safepoint.

There is one occurrence that is not executed at a safepoint - see 
BiasedLocking::Condition BiasedLocking::revoke_and_rebias. Though it 
seems to be operating only on current thread in that case.

The use of release_set_mark seems consistent with other uses in 
synchronizer.cpp.

David
-----

> thanks,
> Vladimir
>
>> The change enables biased locking for ppc64 per default.
>> http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock/
>>
>> Please review and test this change.
>>
>> Best regards,
>>    Goetz
>>


More information about the ppc-aix-port-dev mailing list