From 1d2c9f3740a4eae52813ef974aa8506f5bc2a8a9 Mon Sep 17 00:00:00 2001
From: Florian Angerer <florian.angerer@oracle.com>
Date: Thu, 12 Oct 2017 13:42:19 +0200
Subject: [PATCH] Disable browser for context kind 'SHARE_ALL'.

---
 .../truffle/r/nodes/builtin/base/BrowserFunctions.java    | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java
index 2b58ec4749..e7ed553b70 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BrowserFunctions.java
@@ -48,6 +48,7 @@ import com.oracle.truffle.r.runtime.RRuntime;
 import com.oracle.truffle.r.runtime.SubstituteVirtualFrame;
 import com.oracle.truffle.r.runtime.builtins.RBuiltin;
 import com.oracle.truffle.r.runtime.context.RContext;
+import com.oracle.truffle.r.runtime.context.RContext.ContextKind;
 import com.oracle.truffle.r.runtime.data.RFunction;
 import com.oracle.truffle.r.runtime.data.RNull;
 import com.oracle.truffle.r.runtime.instrument.InstrumentationState.BrowserState;
@@ -78,7 +79,12 @@ public class BrowserFunctions {
         @Specialization
         protected RNull browser(VirtualFrame frame, Object text, RNull condition, boolean expr, int skipCalls) {
             if (expr) {
-                BrowserState browserState = RContext.getInstance().stateInstrumentation.getBrowserState();
+                RContext instance = RContext.getInstance();
+                if (instance.getKind() == ContextKind.SHARE_NOTHING) {
+                    return RNull.instance;
+                }
+
+                BrowserState browserState = instance.stateInstrumentation.getBrowserState();
                 try {
                     browserState.push(new HelperState(text, condition));
                     MaterializedFrame mFrame = frame.materialize();
-- 
GitLab