From 8005d5a3417be0cc1accbcb071b5d04928c225d4 Mon Sep 17 00:00:00 2001
From: Adam Welc <adam.welc@oracle.com>
Date: Wed, 6 Jul 2016 18:03:52 -0700
Subject: [PATCH] Fixed a problem with RScalar leaking from vector update.

---
 .../truffle/r/nodes/access/vector/CachedReplaceVectorNode.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedReplaceVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedReplaceVectorNode.java
index 4429a74571..ed17ffb986 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedReplaceVectorNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedReplaceVectorNode.java
@@ -215,7 +215,7 @@ final class CachedReplaceVectorNode extends CachedVectorNode {
         int replacementLength = positionsCheckNode.getSelectedPositionsCount(positionProfiles);
         if (emptyReplacementProfile.profile(replacementLength == 0)) {
             /* Nothing to modify */
-            return vector;
+            return vector.materialize();
         }
 
         if (valueLengthOneProfile.profile(valueLength != 1)) {
-- 
GitLab