diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java index 7ecb06de9682124a077836b1834a817c7705bf77..ca2133ea918c645f2efcfcac3ae892d6972d27eb 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java @@ -371,10 +371,10 @@ final class REngine implements Engine, Engine.Timings { RContext.setThreadLocalInstance(newContext); try { Object lastValue = RNull.instance; - for (int i = 0; i < statements.size(); i++) { - RSyntaxNode node = statements.get(i); + for (int i = 0; i < calls.length; i++) { if (calls[i] == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); + RSyntaxNode node = statements.get(i); calls[i] = insert(Truffle.getRuntime().createDirectCallNode(doMakeCallTarget(node.asRNode(), RSource.Internal.REPL_WRAPPER.string, printResult, true))); } lastValue = calls[i].call(new Object[]{executionFrame != null ? executionFrame : newContext.stateREnvironment.getGlobalFrame()});