Skip to content
Snippets Groups Projects
Commit a6f79579 authored by Mick Jordan's avatar Mick Jordan
Browse files

rffi: refactor UpCallsRFFIImpl classes to ensure tracing always happens

parent ad075c58
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,7 @@ import com.oracle.truffle.r.engine.interop.NativeIntegerArray;
import com.oracle.truffle.r.engine.interop.NativeLogicalArray;
import com.oracle.truffle.r.engine.interop.NativeRawArray;
import com.oracle.truffle.r.nodes.ffi.RFFIUtils;
import com.oracle.truffle.r.nodes.ffi.UpCallsRFFIImpl;
import com.oracle.truffle.r.nodes.ffi.JavaUpCallsRFFIImpl;
import com.oracle.truffle.r.runtime.REnvVars;
import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.data.RDataFactory;
......@@ -47,10 +47,10 @@ import com.oracle.truffle.r.runtime.ffi.CharSXPWrapper;
import com.oracle.truffle.r.runtime.ffi.RFFIVariables;
/**
* (Incomplete) Variant of {@link UpCallsRFFIImpl} for Truffle LLVM.
* (Incomplete) Variant of {@link JavaUpCallsRFFIImpl} for Truffle LLVM.
*
*/
public class TruffleLLVM_UpCallsRFFIImpl extends UpCallsRFFIImpl implements VariableUpCallsRFFI {
public class TruffleLLVM_UpCallsRFFIImpl extends JavaUpCallsRFFIImpl implements VariableUpCallsRFFI {
private static TruffleLLVM_UpCallsRFFIImpl singleton;
private static TruffleObject singletonTruffleObject;
......
......@@ -72,7 +72,7 @@ public enum RFFIUpCallMethod {
R_SetExternalPtrTag("(object, object) : void"),
R_ToplevelExec("() : object"),
R_computeIdentical("(object, object, sint32) : sint32"),
R_do_MAKE_CLASS("(object) : object"),
R_do_MAKE_CLASS("(pointer) : object"),
R_getContextCall("(object) : object"),
R_getContextEnv("(object) : object"),
R_getContextFun("(object) : object"),
......@@ -104,7 +104,7 @@ public enum RFFIUpCallMethod {
Rf_copyMatrix("(object, object, sint32) : void"),
Rf_defineVar("(object, object, object) : void"),
Rf_duplicate("(object, sint32) : object"),
Rf_error("(object) : void"),
Rf_error("(pointer) : void"),
Rf_eval("(object, object) : object"),
Rf_findVar("(object, object) : object"),
Rf_findVarInFrame("(object, object) : object"),
......@@ -112,18 +112,18 @@ public enum RFFIUpCallMethod {
Rf_findfun("(object, object) : object"),
Rf_getAttrib("(object, object) : object"),
Rf_gsetVar("(object, object, object) : void"),
Rf_inherits("(object, object) : sint32"),
Rf_install("(object) : object"),
Rf_inherits("(pointer, object) : sint32"),
Rf_install("(pointer) : object"),
Rf_isNull("(object) : sint32"),
Rf_isString("(object) : sint32"),
Rf_lengthgets("(object, sint32) : object"),
Rf_mkCharLenCE("(object, sint32, sint32) : object"),
Rf_mkCharLenCE("(pointer, sint32, sint32) : object"),
Rf_ncols("(object) : sint32"),
Rf_nrows("(object) : sint32"),
Rf_setAttrib("(object, object, object) : void"),
Rf_warning("(object) : void"),
Rf_warningcall("(object, object) : void"),
Rprintf("(object) : void"),
Rf_warning("(pointer) : void"),
Rf_warningcall("(object, pointer) : void"),
Rprintf("(pointer) : void"),
SETCADR("(object, object) : object"),
SETCAR("(object, object) : object"),
SETCDR("(object, object) : object"),
......
......@@ -27,8 +27,9 @@ import static com.oracle.truffle.r.nodes.ffi.RFFIUtils.traceDownCallReturn;
import static com.oracle.truffle.r.nodes.ffi.RFFIUtils.traceEnabled;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.r.nodes.ffi.UpCallsRFFIImpl;
import com.oracle.truffle.r.nodes.ffi.JavaUpCallsRFFIImpl;
import com.oracle.truffle.r.nodes.ffi.RFFIUtils;
import com.oracle.truffle.r.nodes.ffi.UpCallsRFFIImpl;
import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.ffi.CallRFFI;
import com.oracle.truffle.r.runtime.ffi.NativeCallInfo;
......@@ -128,7 +129,7 @@ public class JNI_Call implements CallRFFI {
traceDownCall("initialize");
}
try {
initialize(new UpCallsRFFIImpl(), RFFIVariables.initialize());
initialize(new UpCallsRFFIImpl(new JavaUpCallsRFFIImpl()), RFFIVariables.initialize());
} finally {
if (traceEnabled()) {
traceDownCallReturn("initialize", null);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment