diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/shell/REmbedded.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/shell/REmbedded.java index 1f038b358c5468030cb435f0dfc7e20d12ad3e18..9169ded7d1bf42b99cecca439c26f1209f98b772 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/shell/REmbedded.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/shell/REmbedded.java @@ -23,7 +23,6 @@ package com.oracle.truffle.r.engine.shell; import org.graalvm.polyglot.Context; -import org.graalvm.polyglot.Context.Builder; import org.graalvm.polyglot.Engine; import com.oracle.truffle.api.vm.PolyglotEngine; @@ -64,7 +63,6 @@ import com.oracle.truffle.r.runtime.context.RContext; public class REmbedded { private static ConsoleHandler consoleHandler; - private static Engine engine; private static Context context; /** @@ -74,14 +72,12 @@ public class REmbedded { * the {@link RStartParams}, which happens after this call returns. */ private static void initializeR(String[] args) { - assert engine == null; + assert context == null; RContext.setEmbedded(); RCmdOptions options = RCmdOptions.parseArguments(RCmdOptions.Client.R, args, false); - engine = Engine.create(); consoleHandler = RCommand.createConsoleHandler(options, true, System.in, System.out); - Builder builder = Context.newBuilder().engine(engine); - try (Context cntx = builder.arguments("R", options.getArguments()).in(consoleHandler.createInputStream()).out(System.out).err(System.err).build()) { + try (Context cntx = Context.newBuilder().arguments("R", options.getArguments()).in(consoleHandler.createInputStream()).out(System.out).err(System.err).build()) { context = cntx; consoleHandler.setContext(context); context.eval("R", INIT); @@ -114,7 +110,6 @@ public class REmbedded { } int status = RCommand.readEvalPrint(context, consoleHandler); context.close(); - engine.close(); Utils.systemExit(status); } diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java index ef547b6a2b1d87a0fe0c05df2d2f2511daefb993..c4a73a72284ff214792d805b93206eacf41e3144 100644 --- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java +++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java @@ -31,8 +31,6 @@ import java.nio.file.Files; import java.util.List; import org.graalvm.polyglot.Context; -import org.graalvm.polyglot.Context.Builder; -import org.graalvm.polyglot.Engine; import org.graalvm.polyglot.PolyglotException; import org.graalvm.polyglot.Source; @@ -94,16 +92,13 @@ public class RCommand { } RCmdOptions options = RCmdOptions.parseArguments(RCmdOptions.Client.R, args, false); options.printHelpAndVersion(); - try (Engine engine = Engine.create()) { - assert env == null : "re-enable setting environments"; - ConsoleHandler consoleHandler = createConsoleHandler(options, false, inStream, outStream); - Builder builder = Context.newBuilder().engine(engine); - try (Context context = builder.arguments("R", options.getArguments()).in(consoleHandler.createInputStream()).out(outStream).err(errStream).build()) { - consoleHandler.setContext(context); - StartupTiming.timestamp("VM Created"); - StartupTiming.printSummary(); - return readEvalPrint(context, consoleHandler); - } + assert env == null : "re-enable setting environments"; + ConsoleHandler consoleHandler = createConsoleHandler(options, false, inStream, outStream); + try (Context context = Context.newBuilder().arguments("R", options.getArguments()).in(consoleHandler.createInputStream()).out(outStream).err(errStream).build()) { + consoleHandler.setContext(context); + StartupTiming.timestamp("VM Created"); + StartupTiming.printSummary(); + return readEvalPrint(context, consoleHandler); } } diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java index a6d4faa44eb3e114571de92d16859c32a2e0b14f..28c65b70f10eb584107115cec9e4bae0a0be9b5e 100644 --- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java +++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java @@ -27,7 +27,6 @@ import java.io.OutputStream; import java.util.ArrayList; import org.graalvm.polyglot.Context; -import org.graalvm.polyglot.Engine; import com.oracle.truffle.r.launcher.RCmdOptions.RCmdOption; @@ -109,13 +108,11 @@ public class RscriptCommand { RCmdOptions options = RCmdOptions.parseArguments(RCmdOptions.Client.RSCRIPT, args, false); preprocessRScriptOptions(options); - try (Engine engine = Engine.create()) { - ConsoleHandler consoleHandler = RCommand.createConsoleHandler(options, false, inStream, outStream); - try (Context context = Context.newBuilder().engine(engine).arguments("R", - options.getArguments()).in(consoleHandler.createInputStream()).out(outStream).err(errStream).build()) { - consoleHandler.setContext(context); - return RCommand.readEvalPrint(context, consoleHandler); - } + ConsoleHandler consoleHandler = RCommand.createConsoleHandler(options, false, inStream, outStream); + try (Context context = Context.newBuilder().arguments("R", + options.getArguments()).in(consoleHandler.createInputStream()).out(outStream).err(errStream).build()) { + consoleHandler.setContext(context); + return RCommand.readEvalPrint(context, consoleHandler); } } diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/shell/TestJLineConsoleCompleter.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/shell/TestJLineConsoleCompleter.java index 17dd5fdd79e9591053246ff48a71d1f24342945d..62c394af99bc92277b408f3d7c395590b61cf656 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/shell/TestJLineConsoleCompleter.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/shell/TestJLineConsoleCompleter.java @@ -29,7 +29,6 @@ import java.io.File; import java.util.LinkedList; import org.graalvm.polyglot.Context; -import org.graalvm.polyglot.Engine; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -39,15 +38,13 @@ import com.oracle.truffle.r.launcher.JLineConsoleCompleter; public class TestJLineConsoleCompleter { - private Engine engine; private Context context; private JLineConsoleCompleter consoleCompleter; @Before public void before() { JLineConsoleCompleter.testingMode(); - engine = Engine.create(); - context = Context.newBuilder().engine(engine).build(); + context = Context.create(); consoleCompleter = new JLineConsoleCompleter(context); } @@ -56,9 +53,6 @@ public class TestJLineConsoleCompleter { if (context != null) { context.close(); } - if (engine != null) { - engine.close(); - } } @Test