From 116f45609d1b019b8424eb49c0900f8fa85d8d9e Mon Sep 17 00:00:00 2001 From: Adam Welc <adam.welc@oracle.com> Date: Thu, 31 Dec 2015 11:12:49 -0800 Subject: [PATCH] Names used for slot retrieval must be interned. --- .../com/oracle/truffle/r/nodes/access/AccessSlotNode.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java index 0bd1bdf8ad..6c6f480933 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java @@ -98,8 +98,9 @@ public abstract class AccessSlotNode extends RNode { @Specialization(contains = "getSlotS4Cached", guards = "object.isS4()") protected Object getSlotS4(RAttributable object, String name) { - Object value = object.getAttr(attrProfiles, name.intern()); - return getSlotS4Internal(object, name, value); + String internedName = name.intern(); + Object value = object.getAttr(attrProfiles, internedName); + return getSlotS4Internal(object, internedName, value); } protected RFunction getDataPartFunction(REnvironment methodsNamespace) { -- GitLab