RFR(M): 8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering.

David Holmes david.holmes at oracle.com
Sun Oct 13 19:20:26 PDT 2013

Hi Goetz,

As I wrote in the bug report:

"This needs to be considered very carefully. The only time C2 needs to 
be concerned with memory ordering is for Java volatiles and in that case 
there are both atomicity and ordering issues to consider. In addition we 
have to ensure that the low level load.acq and st.rel instructions 
provide the correct semantics to implement volatile variables.

Rather than change the kind of nodes I would have expected that the 
actual code generation would combine the load+membarAcquire nodes into 
the relevant ld.acq instruction if applicable!

Also see JDK-7143664."

This is up to the compiler guys of course.


On 11/10/2013 11:34 PM, Lindenmaier, Goetz wrote:
> Hi,
> I prepared a webrev for 8024921<https://bugs.openjdk.java.net/browse/JDK-8024921>Extend Load and Store nodes to know about memory ordering.
> This is part of the PPC port.
> http://cr.openjdk.java.net/~goetz/webrevs/8024921-0-ldst/
> For a detailed description see the text in the webrev and bug description.
> All this basically does is add a field to load and store nodes and
> change all constructor calls to set this field.  So the effect on
> existing platforms should be very small.  Therefore I marked this
> 'M', although quite some lines of code are touched.
> Please review and test this change.
> I'm happy to incorporate your comments and any improvements
> you propose.
> Best regards,
>    Goetz.

More information about the hotspot-dev mailing list