RFR: add getAddress/putAddress to Unsafe plugin
Doug Simon
doug.simon at oracle.com
Sat Apr 4 10:59:43 UTC 2015
Looks good. Can you please also add tests for these methods to UnsafeSubstitutionsTest?
> On Apr 3, 2015, at 10:47 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
>
> 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