RFR: add getAddress/putAddress to Unsafe plugin
Christian Thalinger
christian.thalinger at oracle.com
Fri Apr 3 20:47:25 UTC 2015
getAddress and putAddress are missing:
diff -r 6adad2a0a24d graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java Fri Apr 03 17:49:43 2015 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java Fri Apr 03 13:45:34 2015 -0700
@@ -104,6 +104,10 @@ public class StandardGraphBuilderPlugins
}
}
+ // Accesses to native memory addresses.
+ r.register2("getAddress", Receiver.class, long.class, new UnsafeGetPlugin(Kind.Long, false));
+ r.register3("putAddress", Receiver.class, long.class, long.class, new UnsafePutPlugin(Kind.Long, false));
+
for (Kind kind : new Kind[]{Kind.Int, Kind.Long, Kind.Object}) {
Class<?> javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass();
r.register5("compareAndSwap" + kind.name(), Receiver.class, Object.class, long.class, javaClass, javaClass, new InvocationPlugin() {
More information about the graal-dev
mailing list