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 27531805427a24841acc3bd6dfa20d5e5cb46178..d35c32ed46707339add1fe06879f37b82d9d1ca5 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 78c24caea0d6432c6894a971ae42532768cc80d4..61286da084556d9c81a288f1af10b2728d020571 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 a12d923fd9d1eac96a6a53f5fe799a458d3abb74..9dbf07932a2e114a13f6557eae9fffdafba8a679 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 a998220115fb7fa4aec65f56d40e8c6087f704ce..0c9427a05fbc6fb2715f5ba23ee681b06045ea98 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 fd78becb64849ad60a065a0da30db451b4d4ad15..110cb51fbf4554233a21fcddc337fb9c4bfed560 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 3d96124a1cae1cfce8e8af31608e92dd60bbc9a6..7521fdc9442b157cabfd523f0aa124e5bd485d56 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);