From 585e352e2cdd1971333d626fc2c455c72f1414b4 Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Thu, 22 Sep 2016 16:14:06 +0200
Subject: [PATCH] Revert back use of ReuseNonSharedNode as it cannot handle
 RSequences yet.

---
 .../truffle/r/nodes/builtin/base/UpdateClass.java      | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
index 9243c21c31..15b61d521b 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
@@ -24,7 +24,6 @@ import com.oracle.truffle.r.nodes.binary.CastTypeNode;
 import com.oracle.truffle.r.nodes.binary.CastTypeNodeGen;
 import com.oracle.truffle.r.nodes.builtin.CastBuilder;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
-import com.oracle.truffle.r.nodes.function.opt.ReuseNonSharedNode;
 import com.oracle.truffle.r.nodes.unary.TypeofNode;
 import com.oracle.truffle.r.nodes.unary.TypeofNodeGen;
 import com.oracle.truffle.r.runtime.RError;
@@ -50,7 +49,6 @@ public abstract class UpdateClass extends RBuiltinNode {
 
     @Child private CastTypeNode castTypeNode;
     @Child private TypeofNode typeof;
-    @Child private ReuseNonSharedNode reuseNode;
 
     private final RAttributeProfiles attrProfiles = RAttributeProfiles.create();
 
@@ -188,12 +186,8 @@ public abstract class UpdateClass extends RBuiltinNode {
     }
 
     @SuppressWarnings("unchecked")
-    private <T> T reuseNonShared(T obj) {
-        if (reuseNode == null) {
-            CompilerDirectives.transferToInterpreterAndInvalidate();
-            reuseNode = insert(ReuseNonSharedNode.create());
-        }
-        return (T) reuseNode.execute(obj);
+    private <T extends RAbstractContainer> T reuseNonShared(T obj) {
+        return (T) obj.getNonShared();
     }
 
     private void initCastTypeNode() {
-- 
GitLab