Skip to content

Commit 0eac9c8

Browse files
committed
[GR-14489] Migrate standard FastR types to Truffle Libraries.
PullRequest: fastr/2045
2 parents 41d5d7a + bc0ff47 commit 0eac9c8

File tree

80 files changed

+2876
-2833
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2876
-2833
lines changed

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/EngineRootNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public static EngineRootNode createEngineRoot(REngine engine, RContext context,
8282
public Object execute(VirtualFrame frame) {
8383
Object actualFrame = executionFrame != null ? executionFrame : contextReference.get().stateREnvironment.getGlobalFrame();
8484
try {
85-
return r2Foreign.execute(this.bodyNode.execute(actualFrame));
85+
return r2Foreign.convert(this.bodyNode.execute(actualFrame));
8686
} catch (ReturnException ex) {
8787
return ex.getResult();
8888
} catch (DebugExitException | JumpToTopLevelException | ExitException | ThreadDeath e) {

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ public Object execute(VirtualFrame frame) {
346346
for (int i = 0; i < statements.length - 1; i++) {
347347
statements[i].execute(frame);
348348
}
349-
return toForeignNode.execute(statements[statements.length - 1].execute(frame));
349+
return toForeignNode.convert(statements[statements.length - 1].execute(frame));
350350
}
351351
}
352352

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode;
4444
import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
4545
import com.oracle.truffle.r.nodes.builtin.RBuiltinRootNode;
46+
import com.oracle.truffle.r.nodes.builtin.base.Rm;
4647
import com.oracle.truffle.r.nodes.builtin.base.printer.ComplexVectorPrinter;
4748
import com.oracle.truffle.r.nodes.builtin.base.printer.DoubleVectorPrinter;
4849
import com.oracle.truffle.r.nodes.builtin.helpers.DebugHandling;
@@ -54,7 +55,9 @@
5455
import com.oracle.truffle.r.nodes.control.ReplacementDispatchNode;
5556
import com.oracle.truffle.r.nodes.function.ClassHierarchyNode;
5657
import com.oracle.truffle.r.nodes.function.FunctionDefinitionNode;
58+
import com.oracle.truffle.r.nodes.function.PromiseHelperNode;
5759
import com.oracle.truffle.r.nodes.function.RCallNode;
60+
import com.oracle.truffle.r.nodes.function.call.RExplicitCallNode;
5861
import com.oracle.truffle.r.nodes.instrumentation.RSyntaxTags.FunctionBodyBlockTag;
5962
import com.oracle.truffle.r.nodes.instrumentation.RSyntaxTags.LoopTag;
6063
import com.oracle.truffle.r.runtime.ArgumentsSignature;
@@ -79,6 +82,7 @@
7982
import com.oracle.truffle.r.runtime.data.RPromise;
8083
import com.oracle.truffle.r.runtime.data.RStringVector;
8184
import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector;
85+
import com.oracle.truffle.r.runtime.env.REnvironment;
8286
import com.oracle.truffle.r.runtime.nodes.InternalRSyntaxNodeChildren;
8387
import com.oracle.truffle.r.runtime.nodes.RBaseNode;
8488
import com.oracle.truffle.r.runtime.nodes.RInstrumentableNode;
@@ -118,6 +122,26 @@ public Object forcePromise(String identifier, Object val) {
118122
}
119123
}
120124

125+
@TruffleBoundary
126+
@Override
127+
public boolean removeFromEnv(REnvironment env, String key) {
128+
try {
129+
return Rm.removeFromEnv(env, key, true);
130+
} catch (REnvironment.PutException ex) {
131+
return false;
132+
}
133+
}
134+
135+
@Override
136+
public Object forcePromise(RPromise promise) {
137+
return PromiseHelperNode.evaluateSlowPath(promise);
138+
}
139+
140+
@Override
141+
public ExplicitFunctionCall createExplicitFunctionCall() {
142+
return RExplicitCallNode.create();
143+
}
144+
121145
@Override
122146
public ArgumentsSignature getArgumentsSignature(RFunction f) {
123147
return ((RRootNode) f.getRootNode()).getSignature();

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ActiveBindingMR.java

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)