RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code.
vladimir.kozlov at oracle.com
Tue Dec 10 13:43:11 PST 2013
Coleen, me and Vitaly reviewed these changes. I did not hear objections
from GC group (I additionally asked them directly last week).
I am pushing these changes.
JDK9 fork is coming (Thursday) so I want to push AMAP to avoid pushing
in two places after the fork.
On 12/3/13 9:09 AM, Lindenmaier, Goetz wrote:
> could somebody of rt and gc please have a look at the following change?
> It contains memory ordering fixes as required by the PPC64 port, see also
> Thanks and best regards,
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
> Sent: Montag, 2. Dezember 2013 22:42
> To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'
> Subject: Re: RFR (M): 8029396: PPC64 (part 212): Several memory ordering fixes in C-code.
> These changes need to be reviewed by GC and Runtime group. Especially
> first 2 changes (CMS).
> The rest 6 changes are less performance critical and, I think they are
> On 12/2/13 8:51 AM, Lindenmaier, Goetz wrote:
>> This change contains a row of fixes to the memory ordering in runtime, GC etc.
>> These are:
>> - Accessing arrays in CMS (compactibleFreeListSpace.cpp)
>> - CMS: Do release when marking a card dirty. The release must only be done if GC is running. (several files)
>> - Method counter initialization (method.hpp).
>> - Order accessing f1/f2 in constant pool cache.
>> - Release stores in OopMapCache constructor (instanceKLass.cpp).
>> - BiasedLocking: Release setting object header to displaced mark.
>> - Release state of nmethod sweeper (sweeper.cpp).
>> - Do barriers when writing the thread state (thread.hpp).
>> Please review and test this change.
>> If requested, I can part this into smaller changes. But for now
>> I wanted to put them all into one change as they all address the
>> problems with the PPC memory model.
>> Best regards,
More information about the hotspot-runtime-dev