From 338bf871c2a8380bb3e239015bcbdcb2d62de63a Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Tue, 14 Feb 2017 09:44:21 -0800 Subject: [PATCH] rffi: fix signature of R_NewHashedEnv --- com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c | 2 +- com.oracle.truffle.r.native/version.source | 2 +- .../com/oracle/truffle/r/nodes/ffi/JavaUpCallsRFFIImpl.java | 5 +++-- .../src/com/oracle/truffle/r/nodes/ffi/RFFIUpCallMethod.java | 2 +- .../oracle/truffle/r/nodes/ffi/TracingUpCallsRFFIImpl.java | 2 +- .../src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c b/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c index 2753180542..d35c32ed46 100644 --- a/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c +++ b/com.oracle.truffle.r.native/fficall/src/jni/Rinternals.c @@ -166,7 +166,7 @@ void init_internals(JNIEnv *env) { Rf_allocateArrayMethodID = checkGetMethodID(env, UpCallsRFFIClass, "Rf_allocateArray", "(ILjava/lang/Object;)Ljava/lang/Object;", 0); Rf_duplicateMethodID = checkGetMethodID(env, UpCallsRFFIClass, "Rf_duplicate", "(Ljava/lang/Object;I)Ljava/lang/Object;", 0); Rf_anyDuplicatedMethodID = checkGetMethodID(env, UpCallsRFFIClass, "Rf_anyDuplicated", "(Ljava/lang/Object;I)I", 0); - R_NewHashedEnvMethodID = checkGetMethodID(env, UpCallsRFFIClass, "R_NewHashedEnv", "(Lcom/oracle/truffle/r/runtime/env/REnvironment;I)Lcom/oracle/truffle/r/runtime/env/REnvironment;", 0); + R_NewHashedEnvMethodID = checkGetMethodID(env, UpCallsRFFIClass, "R_NewHashedEnv", "(Lcom/oracle/truffle/r/runtime/env/REnvironment;Ljava/lang/Object;)Lcom/oracle/truffle/r/runtime/env/REnvironment;", 0); Rf_classgetsMethodID = checkGetMethodID(env, UpCallsRFFIClass, "Rf_classgets", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", 0); RprintfMethodID = checkGetMethodID(env, UpCallsRFFIClass, "Rprintf", "(Ljava/lang/Object;)V", 0); R_do_MAKE_CLASS_MethodID = checkGetMethodID(env, UpCallsRFFIClass, "R_do_MAKE_CLASS", "(Ljava/lang/Object;)Ljava/lang/Object;", 0); diff --git a/com.oracle.truffle.r.native/version.source b/com.oracle.truffle.r.native/version.source index 78c24caea0..61286da084 100644 --- a/com.oracle.truffle.r.native/version.source +++ b/com.oracle.truffle.r.native/version.source @@ -1 +1 @@ -2/10/17 +2/14/17 diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/JavaUpCallsRFFIImpl.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/JavaUpCallsRFFIImpl.java index a12d923fd9..9dbf07932a 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/JavaUpCallsRFFIImpl.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/JavaUpCallsRFFIImpl.java @@ -1146,8 +1146,9 @@ public abstract class JavaUpCallsRFFIImpl implements UpCallsRFFI { } @Override - public REnvironment R_NewHashedEnv(REnvironment parent, int initialSize) { - REnvironment env = RDataFactory.createNewEnv(REnvironment.UNNAMED, true, initialSize); + public REnvironment R_NewHashedEnv(REnvironment parent, Object initialSize) { + // We know this is an RIntVector from use site in gramRd.c + REnvironment env = RDataFactory.createNewEnv(REnvironment.UNNAMED, true, ((RIntVector) initialSize).getDataAt(0)); RArguments.initializeEnclosingFrame(env.getFrame(), parent.getFrame()); return env; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/RFFIUpCallMethod.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/RFFIUpCallMethod.java index a998220115..0c9427a05f 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/RFFIUpCallMethod.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/RFFIUpCallMethod.java @@ -69,7 +69,7 @@ public enum RFFIUpCallMethod { R_Interactive("() : sint32"), R_MakeExternalPtr("(object, object, object) : object"), R_NamespaceRegistry("() : object"), - R_NewHashedEnv("(object, sint32) : object"), + R_NewHashedEnv("(object, object) : object"), R_ParseVector("(object, sint32, object) : object"), R_PromiseExpr("(object) : object"), R_SetExternalPtrAddr("(object, object) : void"), diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/TracingUpCallsRFFIImpl.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/TracingUpCallsRFFIImpl.java index fd78becb64..110cb51fbf 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/TracingUpCallsRFFIImpl.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/ffi/TracingUpCallsRFFIImpl.java @@ -700,7 +700,7 @@ final class TracingUpCallsRFFIImpl implements UpCallsRFFI { } @Override - public REnvironment R_NewHashedEnv(REnvironment parent, int initialSize) { + public REnvironment R_NewHashedEnv(REnvironment parent, Object initialSize) { RFFIUtils.traceUpCall("R_NewHashedEnv", parent, initialSize); return delegate.R_NewHashedEnv(parent, initialSize); } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java index 3d96124a1c..7521fdc944 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ffi/StdUpCallsRFFI.java @@ -240,7 +240,7 @@ public interface StdUpCallsRFFI { void R_CleanUp(int sa, int status, int runlast); - REnvironment R_NewHashedEnv(REnvironment parent, int initialSize); + REnvironment R_NewHashedEnv(REnvironment parent, Object initialSize); int PRSEEN(Object x); -- GitLab