hg: ppc-aix-port/jdk7u/hotspot: Extend Load and Store nodes to know about memory ordering.

goetz.lindenmaier at sap.com goetz.lindenmaier at sap.com
Fri Sep 21 07:29:20 PDT 2012


Changeset: bcc03d1e64ee
Author:    Goetz Lindenmaier
Date:      2012-09-18 14:10 +0200
URL:       http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/bcc03d1e64ee

Extend Load and Store nodes to know about memory ordering.

On some platforms, Load and Store nodes can be reordered violating
the semantics required by Java. E.g., a Store publishing the
pointer to a new Java object may not be executed before the
Stores initializing the object. PPC and IA64 for example have
such weak memory ordering.

This change adds a field sem to all Load/Store nodes. The field
is either set to 'unordered', if the node may be reordered with
others, or to 'acquire' for Loads and 'release' for Stores.
The change also contains the code setting the field during IR
construction.

On platforms with weak memory ordering, the ad-file must specify
two versions for each Load/Store node, checking the sem property
and issuing an according operation.

! src/share/vm/opto/generateOptoStub.cpp
! src/share/vm/opto/graphKit.cpp
! src/share/vm/opto/graphKit.hpp
! src/share/vm/opto/idealKit.cpp
! src/share/vm/opto/idealKit.hpp
! src/share/vm/opto/library_call.cpp
! src/share/vm/opto/macro.cpp
! src/share/vm/opto/memnode.cpp
! src/share/vm/opto/memnode.hpp
! src/share/vm/opto/parse2.cpp
! src/share/vm/opto/parse3.cpp
! src/share/vm/opto/vectornode.hpp



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