changeset 15252:359c9bb2d2c8

make emitAtomicReadAndAdd and emitAtomicReadAndWrite default methods
author twisti
date Fri, 18 Apr 2014 18:30:40 -1000
parents de1d50c121cd
children 9ff9f6643986
files graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java
diffstat 4 files changed, 19 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java	Fri Apr 18 16:50:52 2014 -1000
+++ b/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java	Fri Apr 18 18:30:40 2014 -1000
@@ -905,13 +905,4 @@
         throw GraalInternalError.unimplemented();
     }
 
-    public Value emitAtomicReadAndAdd(Value address, Value delta) {
-        // TODO Auto-generated method stub
-        throw GraalInternalError.unimplemented();
-    }
-
-    public Value emitAtomicReadAndWrite(Value address, Value newValue) {
-        // TODO Auto-generated method stub
-        throw GraalInternalError.unimplemented();
-    }
 }
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java	Fri Apr 18 16:50:52 2014 -1000
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java	Fri Apr 18 18:30:40 2014 -1000
@@ -200,11 +200,6 @@
         return result;
     }
 
-    public Value emitAtomicReadAndWrite(Value address, Value newValue) {
-        // TODO Auto-generated method stub
-        throw GraalInternalError.unimplemented();
-    }
-
     @Override
     public void emitDeoptimize(Value actionAndReason, Value failedSpeculation, DeoptimizingNode deopting) {
         emitDeoptimizeInner(actionAndReason, state(deopting), "emitDeoptimize");
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java	Fri Apr 18 16:50:52 2014 -1000
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java	Fri Apr 18 18:30:40 2014 -1000
@@ -239,16 +239,6 @@
         throw GraalInternalError.unimplemented();
     }
 
-    public Value emitAtomicReadAndAdd(Value address, Value delta) {
-        // TODO Auto-generated method stub
-        throw GraalInternalError.unimplemented();
-    }
-
-    public Value emitAtomicReadAndWrite(Value address, Value newValue) {
-        // TODO Auto-generated method stub
-        throw GraalInternalError.unimplemented();
-    }
-
     @Override
     public Value emitNot(Value input) {
         GraalInternalError.shouldNotReachHere("binary negation not implemented");
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java	Fri Apr 18 16:50:52 2014 -1000
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java	Fri Apr 18 18:30:40 2014 -1000
@@ -24,6 +24,7 @@
 
 import com.oracle.graal.api.code.*;
 import com.oracle.graal.api.meta.*;
+import com.oracle.graal.compiler.common.*;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.extended.*;
 
@@ -43,9 +44,25 @@
 
     Value emitCompareAndSwap(Value address, Value expectedValue, Value newValue, Value trueValue, Value falseValue);
 
-    Value emitAtomicReadAndAdd(Value address, Value delta);
+    /**
+     * Emit an atomic read-and-add instruction.
+     *
+     * @param address address of the value to be read and written
+     * @param delta the value to be added
+     */
+    default Value emitAtomicReadAndAdd(Value address, Value delta) {
+        throw GraalInternalError.unimplemented();
+    }
 
-    Value emitAtomicReadAndWrite(Value address, Value newValue);
+    /**
+     * Emit an atomic read-and-write instruction.
+     *
+     * @param address address of the value to be read and written
+     * @param newValue the new value to be written
+     */
+    default Value emitAtomicReadAndWrite(Value address, Value newValue) {
+        throw GraalInternalError.unimplemented();
+    }
 
     void emitDeoptimize(Value actionAndReason, Value failedSpeculation, DeoptimizingNode deopting);