From df3fb3e8321a9a15d0f55f9fa59be11b3953afd1 Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Sun, 11 Dec 2016 13:09:03 -0800 Subject: [PATCH] RContext update for Truffle LLVM --- .../oracle/truffle/r/runtime/context/RContext.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/context/RContext.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/context/RContext.java index b6403495ba..2067774aaf 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/context/RContext.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/context/RContext.java @@ -468,7 +468,6 @@ public final class RContext extends ExecutionContext implements TruffleObject { this.stateInternalCode = ContextStateImpl.newContextState(); this.stateDLL = DLL.ContextStateImpl.newContextState(); this.engine = RContext.getRRuntimeASTAccess().createEngine(this); - state.add(State.CONSTRUCTED); } @@ -525,8 +524,8 @@ public final class RContext extends ExecutionContext implements TruffleObject { stateRConnection.initialize(this); stateStdConnections.initialize(this); stateRNG.initialize(this); - this.stateRFFI = RFFIContextStateFactory.newContextState().initialize(this); - + stateRFFI = RFFIContextStateFactory.newContextState(); + // separate in case initialize calls getStateRFFI()! stateRFFI.initialize(this); stateRSerialize.initialize(this); stateLazyDBCache.initialize(this); @@ -791,6 +790,11 @@ public final class RContext extends ExecutionContext implements TruffleObject { return RContext.getInstance().engine; } + public ContextState getStateRFFI() { + assert stateRFFI != null; + return stateRFFI; + } + public PolyglotEngine getVM() { return info.getVM(); } @@ -811,6 +815,10 @@ public final class RContext extends ExecutionContext implements TruffleObject { return exportedSymbols; } + public void addExportedSymbol(String name, TruffleObject obj) { + exportedSymbols.put(name, obj); + } + public TimeZone getSystemTimeZone() { return info.getSystemTimeZone(); } -- GitLab