changeset 23313:6758183dd36b

Add LoadLoad to the implicit memory barriers on AMD64 * See http://gee.cs.oswego.edu/dl/jmm/cookbook.html and src/cpu/x86/vm/c1_LIRAssembler_x86.cpp for reference.
author Benoit Daloze <benoit.daloze@jku.at>
date Fri, 26 Feb 2016 13:21:28 +0100
parents fb20e2d4f0bc
children 2d1ca131b8be
files jvmci/jdk.vm.ci.amd64/src/jdk/vm/ci/amd64/AMD64.java
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.amd64/src/jdk/vm/ci/amd64/AMD64.java	Tue Feb 23 13:09:08 2016 -0800
+++ b/jvmci/jdk.vm.ci.amd64/src/jdk/vm/ci/amd64/AMD64.java	Fri Feb 26 13:21:28 2016 +0100
@@ -22,6 +22,7 @@
  */
 package jdk.vm.ci.amd64;
 
+import static jdk.vm.ci.code.MemoryBarriers.LOAD_LOAD;
 import static jdk.vm.ci.code.MemoryBarriers.LOAD_STORE;
 import static jdk.vm.ci.code.MemoryBarriers.STORE_STORE;
 import static jdk.vm.ci.code.Register.SPECIAL;
@@ -219,7 +220,7 @@
     private final AMD64Kind largestKind;
 
     public AMD64(EnumSet<CPUFeature> features, EnumSet<Flag> flags) {
-        super("AMD64", AMD64Kind.QWORD, ByteOrder.LITTLE_ENDIAN, true, allRegisters, LOAD_STORE | STORE_STORE, 1, 8);
+        super("AMD64", AMD64Kind.QWORD, ByteOrder.LITTLE_ENDIAN, true, allRegisters, LOAD_LOAD | LOAD_STORE | STORE_STORE, 1, 8);
         this.features = features;
         this.flags = flags;
         assert features.contains(CPUFeature.SSE2) : "minimum config for x64";