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; ...@@ -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.NativeLogicalArray;
import com.oracle.truffle.r.engine.interop.NativeRawArray; import com.oracle.truffle.r.engine.interop.NativeRawArray;
import com.oracle.truffle.r.nodes.ffi.RFFIUtils; 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.REnvVars;
import com.oracle.truffle.r.runtime.RInternalError; import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.data.RDataFactory; import com.oracle.truffle.r.runtime.data.RDataFactory;
...@@ -47,10 +47,10 @@ import com.oracle.truffle.r.runtime.ffi.CharSXPWrapper; ...@@ -47,10 +47,10 @@ import com.oracle.truffle.r.runtime.ffi.CharSXPWrapper;
import com.oracle.truffle.r.runtime.ffi.RFFIVariables; 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 TruffleLLVM_UpCallsRFFIImpl singleton;
private static TruffleObject singletonTruffleObject; private static TruffleObject singletonTruffleObject;
......
...@@ -72,7 +72,7 @@ public enum RFFIUpCallMethod { ...@@ -72,7 +72,7 @@ public enum RFFIUpCallMethod {
R_SetExternalPtrTag("(object, object) : void"), R_SetExternalPtrTag("(object, object) : void"),
R_ToplevelExec("() : object"), R_ToplevelExec("() : object"),
R_computeIdentical("(object, object, sint32) : sint32"), R_computeIdentical("(object, object, sint32) : sint32"),
R_do_MAKE_CLASS("(object) : object"), R_do_MAKE_CLASS("(pointer) : object"),
R_getContextCall("(object) : object"), R_getContextCall("(object) : object"),
R_getContextEnv("(object) : object"), R_getContextEnv("(object) : object"),
R_getContextFun("(object) : object"), R_getContextFun("(object) : object"),
...@@ -104,7 +104,7 @@ public enum RFFIUpCallMethod { ...@@ -104,7 +104,7 @@ public enum RFFIUpCallMethod {
Rf_copyMatrix("(object, object, sint32) : void"), Rf_copyMatrix("(object, object, sint32) : void"),
Rf_defineVar("(object, object, object) : void"), Rf_defineVar("(object, object, object) : void"),
Rf_duplicate("(object, sint32) : object"), Rf_duplicate("(object, sint32) : object"),
Rf_error("(object) : void"), Rf_error("(pointer) : void"),
Rf_eval("(object, object) : object"), Rf_eval("(object, object) : object"),
Rf_findVar("(object, object) : object"), Rf_findVar("(object, object) : object"),
Rf_findVarInFrame("(object, object) : object"), Rf_findVarInFrame("(object, object) : object"),
...@@ -112,18 +112,18 @@ public enum RFFIUpCallMethod { ...@@ -112,18 +112,18 @@ public enum RFFIUpCallMethod {
Rf_findfun("(object, object) : object"), Rf_findfun("(object, object) : object"),
Rf_getAttrib("(object, object) : object"), Rf_getAttrib("(object, object) : object"),
Rf_gsetVar("(object, object, object) : void"), Rf_gsetVar("(object, object, object) : void"),
Rf_inherits("(object, object) : sint32"), Rf_inherits("(pointer, object) : sint32"),
Rf_install("(object) : object"), Rf_install("(pointer) : object"),
Rf_isNull("(object) : sint32"), Rf_isNull("(object) : sint32"),
Rf_isString("(object) : sint32"), Rf_isString("(object) : sint32"),
Rf_lengthgets("(object, sint32) : object"), Rf_lengthgets("(object, sint32) : object"),
Rf_mkCharLenCE("(object, sint32, sint32) : object"), Rf_mkCharLenCE("(pointer, sint32, sint32) : object"),
Rf_ncols("(object) : sint32"), Rf_ncols("(object) : sint32"),
Rf_nrows("(object) : sint32"), Rf_nrows("(object) : sint32"),
Rf_setAttrib("(object, object, object) : void"), Rf_setAttrib("(object, object, object) : void"),
Rf_warning("(object) : void"), Rf_warning("(pointer) : void"),
Rf_warningcall("(object, object) : void"), Rf_warningcall("(object, pointer) : void"),
Rprintf("(object) : void"), Rprintf("(pointer) : void"),
SETCADR("(object, object) : object"), SETCADR("(object, object) : object"),
SETCAR("(object, object) : object"), SETCAR("(object, object) : object"),
SETCDR("(object, object) : object"), SETCDR("(object, object) : object"),
......
...@@ -27,8 +27,9 @@ import static com.oracle.truffle.r.nodes.ffi.RFFIUtils.traceDownCallReturn; ...@@ -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 static com.oracle.truffle.r.nodes.ffi.RFFIUtils.traceEnabled;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; 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.RFFIUtils;
import com.oracle.truffle.r.nodes.ffi.UpCallsRFFIImpl;
import com.oracle.truffle.r.runtime.RInternalError; import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.ffi.CallRFFI; import com.oracle.truffle.r.runtime.ffi.CallRFFI;
import com.oracle.truffle.r.runtime.ffi.NativeCallInfo; import com.oracle.truffle.r.runtime.ffi.NativeCallInfo;
...@@ -128,7 +129,7 @@ public class JNI_Call implements CallRFFI { ...@@ -128,7 +129,7 @@ public class JNI_Call implements CallRFFI {
traceDownCall("initialize"); traceDownCall("initialize");
} }
try { try {
initialize(new UpCallsRFFIImpl(), RFFIVariables.initialize()); initialize(new UpCallsRFFIImpl(new JavaUpCallsRFFIImpl()), RFFIVariables.initialize());
} finally { } finally {
if (traceEnabled()) { if (traceEnabled()) {
traceDownCallReturn("initialize", null); 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