diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java index 5101c995fa751b7eb0760ee3dc529584a018253e..7e61a7cf34875dbfbe11c32cc58c56881beaf796 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java @@ -289,7 +289,9 @@ final class CachedExtractVectorNode extends CachedVectorNode { if (boxNewDimName == null) { boxNewDimName = insert(BoxPrimitiveNode.create()); } - result = boxNewDimName.execute(extract(i, (RAbstractStringVector) boxOldDimNames.execute(dataAt), positions[i], positionProfile[i])); + RAbstractStringVector originalDimName = (RAbstractStringVector) boxOldDimNames.execute(dataAt); + RAbstractStringVector newDimName = (RAbstractStringVector) boxNewDimName.execute(extract(i, originalDimName, positions[i], positionProfile[i])); + result = newDimName.materialize(); } newDimNames[dimIndex] = result; if (newDimNamesNames != null) {