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

rename Truffle LLVM-based classes/files to incorporate ‘LLVM’

parent 1e10b4b5
No related branches found
No related tags found
No related merge requests found
Showing
with 98 additions and 88 deletions
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.interop.ForeignAccess;
......@@ -35,7 +35,7 @@ import com.oracle.truffle.r.runtime.ffi.NativeCallInfo;
import com.oracle.truffle.r.runtime.ffi.jni.JNI_C;
import com.oracle.truffle.r.runtime.ffi.truffle.TruffleRFFIFrameHelper;
class TruffleC implements CRFFI {
class TruffleLLVM_C implements CRFFI {
private static class TruffleCRFFINode extends JNI_C.JNI_CRFFINode {
@Override
......@@ -44,7 +44,7 @@ class TruffleC implements CRFFI {
super.invoke(nativeCallInfo, args);
} else {
VirtualFrame frame = TruffleRFFIFrameHelper.create();
TruffleDLL.ensureParsed(nativeCallInfo);
TruffleLLVM_DLL.ensureParsed(nativeCallInfo);
Object[] wargs = wrap(args);
try {
Node messageNode = Message.createExecute(0).createNode();
......
......@@ -20,14 +20,22 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.r.runtime.ffi.DLL;
import com.oracle.truffle.r.runtime.ffi.jni.JNI_DLL;
import com.oracle.truffle.r.runtime.rng.user.UserRNG;
/**
* Access to primitive C operations.
* Access to some primitive C operations. This is required by the {@link UserRNG} API which works
* with {@code double *}.
*
* N.B. When {@code libR} is not completely in LLVM mode (as now), we have to look up the symbols
* using an explicitly created {@link TruffleLLVM_DLL.LLVM_Handle}and not go via generic lookup in
* {@link DLL} as that would use a {@link JNI_DLL} handle.
*/
public class TruffleCAccess {
public class TruffleLLVM_CAccess {
private static final TruffleLLVM_DLL.LLVM_Handle handle = new TruffleLLVM_DLL.LLVM_Handle("libR");
public enum Function {
READ_POINTER_INT,
......@@ -39,7 +47,10 @@ public class TruffleCAccess {
public DLL.SymbolHandle getSymbolHandle() {
if (symbolHandle == null) {
symbolHandle = DLL.findSymbol(cName(), null);
// This would be the generic path
// symbolHandle = DLL.findSymbol(cName(), null);
symbolHandle = (DLL.SymbolHandle) DLL.DLLFFIRootNode.create().getCallTarget().call(DLL.DLLFFIRootNode.DLSYM, handle, cName());
assert symbolHandle != null;
}
return symbolHandle;
}
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.ImportStatic;
......@@ -31,8 +31,8 @@ import com.oracle.truffle.api.interop.Message;
import com.oracle.truffle.api.interop.TruffleObject;
import com.oracle.truffle.api.interop.java.JavaInterop;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.r.engine.interop.ffi.TruffleCallFactory.InvokeTruffleNodeGen;
import com.oracle.truffle.r.engine.interop.ffi.TruffleCallFactory.SplitTruffleCallRFFINodeGen;
import com.oracle.truffle.r.engine.interop.ffi.llvm.TruffleLLVM_CallFactory.InvokeTruffleNodeGen;
import com.oracle.truffle.r.engine.interop.ffi.llvm.TruffleLLVM_CallFactory.SplitTruffleCallRFFINodeGen;
import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.context.RContext;
import com.oracle.truffle.r.runtime.context.RContext.ContextState;
......@@ -45,18 +45,18 @@ import com.oracle.truffle.r.runtime.ffi.jni.JNI_Call;
import com.oracle.truffle.r.runtime.ffi.jni.JNI_Call.JNI_CallRFFINode;
import com.oracle.truffle.r.runtime.ffi.truffle.TruffleRFFIFrameHelper;
class TruffleCall implements CallRFFI {
private static TruffleCall truffleCall;
class TruffleLLVM_Call implements CallRFFI {
private static TruffleLLVM_Call truffleCall;
private static TruffleObject truffleCallTruffleObject;
private static TruffleObject truffleCallHelper;
@SuppressWarnings("unused")
TruffleCall() {
TruffleLLVM_Call() {
new JNI_Call();
truffleCall = this;
truffleCallTruffleObject = JavaInterop.asTruffleObject(truffleCall);
TrufflePkgInit.initialize();
truffleCallHelper = TruffleCallHelper.initialize();
TruffleLLVM_PkgInit.initialize();
truffleCallHelper = TruffleLLVM_UpCallsRFFIImpl.initialize();
}
static class ContextStateImpl implements RContext.ContextState {
......@@ -96,7 +96,7 @@ class TruffleCall implements CallRFFI {
private static void initVariables(RContext context) {
// must have parsed the variables module in libR
for (INIT_VAR_FUN initVarFun : INIT_VAR_FUN.values()) {
TruffleDLL.ensureParsed("libR", initVarFun.funName, true);
TruffleLLVM_DLL.ensureParsed("libR", initVarFun.funName, true);
initVarFun.symbolHandle = new SymbolHandle(context.getEnv().importSymbol("@" + initVarFun.funName));
}
VirtualFrame frame = TruffleRFFIFrameHelper.create();
......@@ -171,8 +171,8 @@ class TruffleCall implements CallRFFI {
}
public static boolean ensureReady(NativeCallInfo nativeCallInfo) {
TruffleDLL.ensureParsed(nativeCallInfo);
ContextStateImpl contextState = TruffleRFFIContextState.getContextState().callState;
TruffleLLVM_DLL.ensureParsed(nativeCallInfo);
ContextStateImpl contextState = TruffleLLVM_RFFIContextState.getContextState().callState;
if (!contextState.initVariablesDone) {
initVariables(contextState.context);
contextState.initVariablesDone = true;
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import java.nio.file.FileSystems;
import java.util.HashMap;
......@@ -80,7 +80,7 @@ import com.oracle.truffle.r.runtime.ffi.truffle.LLVM_IR;
* native code is used by non-LLVM packages (libraries) and the LLVM code is used by the LLVM
* packages (libraries).
*/
class TruffleDLL extends JNI_DLL implements DLLRFFI {
class TruffleLLVM_DLL extends JNI_DLL implements DLLRFFI {
/**
* Supports lazy parsing of LLVM modules.
*/
......@@ -142,9 +142,9 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
}
}
private static TruffleDLL truffleDLL;
private static TruffleLLVM_DLL truffleDLL;
TruffleDLL() {
TruffleLLVM_DLL() {
assert truffleDLL == null;
truffleDLL = this;
}
......@@ -168,10 +168,10 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
return true;
}
static class TruffleHandle {
static class LLVM_Handle {
private final String libName;
TruffleHandle(String libName) {
LLVM_Handle(String libName) {
this.libName = libName;
}
}
......@@ -207,7 +207,7 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
LLVM_IR ir = irs[i];
addExportsToMap(contextState, libName, ir, (name) -> true);
}
return new TruffleHandle(libName);
return new LLVM_Handle(libName);
}
} catch (Exception ex) {
return null;
......@@ -216,10 +216,10 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
@Override
public SymbolHandle dlsym(Object handle, String symbol) {
if (handle instanceof TruffleHandle) {
if (handle instanceof LLVM_Handle) {
// If the symbol exists it will be in the map
ParseStatus parseStatus = getContextState().parseStatusMap.get(symbol);
if (parseStatus != null && parseStatus.libName.equals(((TruffleHandle) handle).libName)) {
if (parseStatus != null && parseStatus.libName.equals(((LLVM_Handle) handle).libName)) {
// force a parse so we have a "value"
if (!parseStatus.parsed) {
ensureParsed(parseStatus.libName, symbol, true);
......@@ -238,7 +238,7 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
@Override
public int dlclose(Object handle) {
if (handle instanceof TruffleHandle) {
if (handle instanceof LLVM_Handle) {
return 0;
} else {
return super.dlclose(handle);
......@@ -273,7 +273,7 @@ class TruffleDLL extends JNI_DLL implements DLLRFFI {
private LLVM_IR[] libRModules;
private static ContextStateImpl getContextState() {
return TruffleRFFIContextState.getContextState().dllState;
return TruffleLLVM_RFFIContextState.getContextState().dllState;
}
/**
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.interop.ForeignAccess;
......@@ -37,9 +37,9 @@ import com.oracle.truffle.r.runtime.ffi.DLL.DotSymbol;
import com.oracle.truffle.r.runtime.ffi.DLL.SymbolHandle;
import com.oracle.truffle.r.runtime.ffi.truffle.TruffleRFFIFrameHelper;
class TrufflePkgInit {
class TruffleLLVM_PkgInit {
private static TrufflePkgInit trufflePkgInit;
private static TruffleLLVM_PkgInit trufflePkgInit;
private static TruffleObject trufflePkgInitTruffleObject;
static class ContextStateImpl implements RContext.ContextState {
......@@ -58,9 +58,9 @@ class TrufflePkgInit {
return new ContextStateImpl();
}
static TrufflePkgInit initialize() {
static TruffleLLVM_PkgInit initialize() {
if (trufflePkgInit == null) {
trufflePkgInit = new TrufflePkgInit();
trufflePkgInit = new TruffleLLVM_PkgInit();
trufflePkgInitTruffleObject = JavaInterop.asTruffleObject(trufflePkgInit);
}
return trufflePkgInit;
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.r.runtime.context.RContext;
import com.oracle.truffle.r.runtime.context.RContext.ContextState;
......@@ -29,25 +29,25 @@ import com.oracle.truffle.r.runtime.context.RContext.ContextState;
* A facade for the context state for the Truffle LLVM factory. Delegates to the various
* module-specific pieces of state. This may get merged into a single instance eventually.
*/
class TruffleRFFIContextState implements ContextState {
TruffleDLL.ContextStateImpl dllState;
TrufflePkgInit.ContextStateImpl pkgInitState;
TruffleCall.ContextStateImpl callState;
TruffleStats.ContextStateImpl statsState;
class TruffleLLVM_RFFIContextState implements ContextState {
TruffleLLVM_DLL.ContextStateImpl dllState;
TruffleLLVM_PkgInit.ContextStateImpl pkgInitState;
TruffleLLVM_Call.ContextStateImpl callState;
TruffleLLVM_Stats.ContextStateImpl statsState;
TruffleRFFIContextState() {
dllState = TruffleDLL.newContextState();
pkgInitState = TrufflePkgInit.newContextState();
callState = TruffleCall.newContextState();
statsState = TruffleStats.newContextState();
TruffleLLVM_RFFIContextState() {
dllState = TruffleLLVM_DLL.newContextState();
pkgInitState = TruffleLLVM_PkgInit.newContextState();
callState = TruffleLLVM_Call.newContextState();
statsState = TruffleLLVM_Stats.newContextState();
}
static TruffleRFFIContextState getContextState() {
return (TruffleRFFIContextState) RContext.getInstance().getStateRFFI();
static TruffleLLVM_RFFIContextState getContextState() {
return (TruffleLLVM_RFFIContextState) RContext.getInstance().getStateRFFI();
}
static TruffleRFFIContextState getContextState(RContext context) {
return (TruffleRFFIContextState) context.getStateRFFI();
static TruffleLLVM_RFFIContextState getContextState(RContext context) {
return (TruffleLLVM_RFFIContextState) context.getStateRFFI();
}
@Override
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.r.runtime.context.RContext.ContextState;
import com.oracle.truffle.r.runtime.ffi.CRFFI;
......@@ -35,7 +35,7 @@ import com.oracle.truffle.r.runtime.ffi.jni.JNI_RFFIFactory;
* Incremental approach to using Truffle, defaults to the JNI factory.
*
*/
public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
public class TruffleLLVM_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
protected void initialize(boolean runtime) {
......@@ -44,7 +44,7 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public ContextState newContextState() {
return new TruffleRFFIContextState();
return new TruffleLLVM_RFFIContextState();
}
private CRFFI cRFFI;
......@@ -52,7 +52,7 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public CRFFI getCRFFI() {
if (cRFFI == null) {
cRFFI = new TruffleC();
cRFFI = new TruffleLLVM_C();
}
return cRFFI;
}
......@@ -62,7 +62,7 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public DLLRFFI getDLLRFFI() {
if (dllRFFI == null) {
dllRFFI = new TruffleDLL();
dllRFFI = new TruffleLLVM_DLL();
}
return dllRFFI;
}
......@@ -72,7 +72,7 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public UserRngRFFI getUserRngRFFI() {
if (truffleUserRngRFFI == null) {
truffleUserRngRFFI = new TruffleUserRng();
truffleUserRngRFFI = new TruffleLLVM_UserRng();
}
return truffleUserRngRFFI;
}
......@@ -82,7 +82,7 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public CallRFFI getCallRFFI() {
if (truffleCallRFFI == null) {
truffleCallRFFI = new TruffleCall();
truffleCallRFFI = new TruffleLLVM_Call();
}
return truffleCallRFFI;
}
......@@ -91,11 +91,11 @@ public class Truffle_RFFIFactory extends JNI_RFFIFactory implements RFFI {
@Override
public StatsRFFI getStatsRFFI() {
if (TruffleDLL.isBlacklisted("stats")) {
if (TruffleLLVM_DLL.isBlacklisted("stats")) {
return super.getStatsRFFI();
}
if (truffleStatsRFFI == null) {
truffleStatsRFFI = new TruffleStats();
truffleStatsRFFI = new TruffleLLVM_Stats();
}
return truffleStatsRFFI;
}
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.ImportStatic;
......@@ -31,8 +31,8 @@ import com.oracle.truffle.api.interop.Message;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.r.engine.interop.NativeDoubleArray;
import com.oracle.truffle.r.engine.interop.NativeIntegerArray;
import com.oracle.truffle.r.engine.interop.ffi.TruffleStatsFactory.ExecuteFactorNodeGen;
import com.oracle.truffle.r.engine.interop.ffi.TruffleStatsFactory.ExecuteWorkNodeGen;
import com.oracle.truffle.r.engine.interop.ffi.llvm.TruffleLLVM_StatsFactory.ExecuteFactorNodeGen;
import com.oracle.truffle.r.engine.interop.ffi.llvm.TruffleLLVM_StatsFactory.ExecuteWorkNodeGen;
import com.oracle.truffle.r.runtime.RInternalError;
import com.oracle.truffle.r.runtime.context.RContext;
import com.oracle.truffle.r.runtime.context.RContext.ContextState;
......@@ -44,7 +44,7 @@ import com.oracle.truffle.r.runtime.ffi.DLLRFFI.DLLRFFINode;
import com.oracle.truffle.r.runtime.ffi.StatsRFFI;
import com.oracle.truffle.r.runtime.ffi.truffle.TruffleRFFIFrameHelper;
public class TruffleStats implements StatsRFFI {
public class TruffleLLVM_Stats implements StatsRFFI {
public enum FFT_FUN {
fft_work,
......@@ -60,15 +60,15 @@ public class TruffleStats implements StatsRFFI {
* it here.
*/
if (context.getKind() == RContext.ContextKind.SHARE_PARENT_RW) {
TruffleDLL.ContextStateImpl contextState = TruffleRFFIContextState.getContextState().dllState;
TruffleDLL.ContextStateImpl parentDLLContextState = TruffleRFFIContextState.getContextState(context.getParent()).dllState;
TruffleDLL.ParseStatus parseStatus = null;
TruffleLLVM_DLL.ContextStateImpl contextState = TruffleLLVM_RFFIContextState.getContextState().dllState;
TruffleLLVM_DLL.ContextStateImpl parentDLLContextState = TruffleLLVM_RFFIContextState.getContextState(context.getParent()).dllState;
TruffleLLVM_DLL.ParseStatus parseStatus = null;
for (FFT_FUN f : FFT_FUN.values()) {
String funName = f.name();
TruffleDLL.ParseStatus parentParseStatus = parentDLLContextState.parseStatusMap.get(funName);
TruffleLLVM_DLL.ParseStatus parentParseStatus = parentDLLContextState.parseStatusMap.get(funName);
if (parentParseStatus != null) {
if (parseStatus == null) {
parseStatus = new TruffleDLL.ParseStatus("stats", parentParseStatus.ir, false);
parseStatus = new TruffleLLVM_DLL.ParseStatus("stats", parentParseStatus.ir, false);
}
contextState.parseStatusMap.put(f.name(), parseStatus);
}
......@@ -96,7 +96,7 @@ public class TruffleStats implements StatsRFFI {
SymbolHandle result = dllRFFINode.dlsym(dllInfo.handle, name);
if (result == DLL.SYMBOL_NOT_FOUND) {
@SuppressWarnings("unused")
TruffleRFFIContextState cs = TruffleRFFIContextState.getContextState();
TruffleLLVM_RFFIContextState cs = TruffleLLVM_RFFIContextState.getContextState();
throw RInternalError.shouldNotReachHere();
}
return result;
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import java.nio.charset.StandardCharsets;
......@@ -46,17 +46,16 @@ import com.oracle.truffle.r.runtime.data.RUnboundValue;
import com.oracle.truffle.r.runtime.ffi.CharSXPWrapper;
/**
* A wrapper class that can be instantiated and export for method lookup. For now just delegates to
* {@link UpCallsRFFIImpl}.
* (Incomplete) Variant of {@link UpCallsRFFIImpl} for Truffle LLVM.
*
*/
public class TruffleCallHelper extends UpCallsRFFIImpl {
private static TruffleCallHelper singleton;
public class TruffleLLVM_UpCallsRFFIImpl extends UpCallsRFFIImpl {
private static TruffleLLVM_UpCallsRFFIImpl singleton;
private static TruffleObject singletonTruffleObject;
public static TruffleObject initialize() {
if (singleton == null) {
singleton = new TruffleCallHelper();
singleton = new TruffleLLVM_UpCallsRFFIImpl();
singletonTruffleObject = JavaInterop.asTruffleObject(singleton);
}
return singletonTruffleObject;
......
......@@ -20,7 +20,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.oracle.truffle.r.engine.interop.ffi;
package com.oracle.truffle.r.engine.interop.ffi.llvm;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.interop.ForeignAccess;
......@@ -31,7 +31,7 @@ import com.oracle.truffle.r.runtime.ffi.UserRngRFFI;
import com.oracle.truffle.r.runtime.ffi.truffle.TruffleRFFIFrameHelper;
import com.oracle.truffle.r.runtime.rng.user.UserRNG.Function;
public class TruffleUserRng implements UserRngRFFI {
public class TruffleLLVM_UserRng implements UserRngRFFI {
private static class TruffleUserRngRFFINode extends UserRngRFFINode {
Node initMessage;
Node randMessage;
......@@ -60,7 +60,7 @@ public class TruffleUserRng implements UserRngRFFI {
}
try {
Object address = ForeignAccess.sendExecute(randMessage, frame, Function.Rand.getSymbolHandle().asTruffleObject());
Object value = ForeignAccess.sendExecute(readPointerNode, frame, TruffleCAccess.Function.READ_POINTER_DOUBLE.getSymbolHandle().asTruffleObject(), address);
Object value = ForeignAccess.sendExecute(readPointerNode, frame, TruffleLLVM_CAccess.Function.READ_POINTER_DOUBLE.getSymbolHandle().asTruffleObject(), address);
return (double) value;
} catch (Throwable t) {
throw RInternalError.shouldNotReachHere();
......@@ -75,7 +75,7 @@ public class TruffleUserRng implements UserRngRFFI {
}
try {
Object address = ForeignAccess.sendExecute(nSeedMessage, frame, Function.NSeed.getSymbolHandle().asTruffleObject());
Object n = ForeignAccess.sendExecute(readPointerNode, frame, TruffleCAccess.Function.READ_POINTER_INT.getSymbolHandle().asTruffleObject(), address);
Object n = ForeignAccess.sendExecute(readPointerNode, frame, TruffleLLVM_CAccess.Function.READ_POINTER_INT.getSymbolHandle().asTruffleObject(), address);
return (int) n;
} catch (Throwable t) {
throw RInternalError.shouldNotReachHere();
......@@ -91,7 +91,7 @@ public class TruffleUserRng implements UserRngRFFI {
try {
Object address = ForeignAccess.sendExecute(seedsMessage, frame, Function.Seedloc.getSymbolHandle().asTruffleObject());
for (int i = 0; i < n.length; i++) {
Object seed = ForeignAccess.sendExecute(readPointerNode, frame, TruffleCAccess.Function.READ_ARRAY_INT.getSymbolHandle().asTruffleObject(), address, i);
Object seed = ForeignAccess.sendExecute(readPointerNode, frame, TruffleLLVM_CAccess.Function.READ_ARRAY_INT.getSymbolHandle().asTruffleObject(), address, i);
n[i] = (int) seed;
}
} catch (Throwable t) {
......
......@@ -72,7 +72,7 @@ jni.done:
$(MAKE) -C src/common all
$(MAKE) -C src/jni all
ifeq ($(HAVE_SULONG),yes)
$(MAKE) -C src/truffle all
$(MAKE) -C src/truffle_llvm all
endif
touch jni.done
......@@ -90,7 +90,7 @@ clean:
$(MAKE) -C src/common clean
$(MAKE) -C src/jni clean
ifeq ($(HAVE_SULONG),yes)
$(MAKE) -C src/truffle clean
$(MAKE) -C src/truffle_llvm clean
endif
rm -rf $(R_LIB)
rm -rf $(JNIBOOT_LIB)
......
#
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
......
......@@ -5,7 +5,7 @@
*
* Copyright (c) 1995-2012, The R Core Team
* Copyright (c) 2003, The R Foundation
* Copyright (c) 2014, 2016, Oracle and/or its affiliates
* Copyright (c) 2014, 2017, Oracle and/or its affiliates
*
* All rights reserved.
*/
......
/*
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......
/*
* Copyright (c) 2016, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......
/*
* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......
/*
* Copyright (c) 2016, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......
/*
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......
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