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