diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
index db7b9d646f2c5bc2c2b1e9e8057178d058fc8a49..16e2391d7597c0c59b9bbf9654ecbd0bba474b8c 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
@@ -24,6 +24,7 @@ package com.oracle.truffle.r.runtime.data;
 
 import java.util.*;
 
+import com.oracle.truffle.api.CompilerDirectives.SlowPath;
 import com.oracle.truffle.api.source.*;
 import com.oracle.truffle.r.runtime.*;
 import com.oracle.truffle.r.runtime.data.RAttributes.RAttribute;
@@ -102,6 +103,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         return names == null ? RNull.instance : names;
     }
 
+    @SlowPath
     public final int getElementIndexByName(String name) {
         if (getNames() == RNull.instance) {
             return -1;
@@ -121,6 +123,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
      * index. If there are no names, or none is found, or there are multiple inexact matches, return
      * -1.
      */
+    @SlowPath
     public final int getElementIndexByNameInexact(String name) {
         if (getNames() == RNull.instance) {
             return -1;
@@ -160,6 +163,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         attributes.put(attribute, value);
     }
 
+    @SlowPath
     public final void setAttr(String name, Object value) {
         if (attributes == null) {
             initAttributes();
@@ -557,6 +561,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
+    @SlowPath
     public final void resetDimensions(int[] newDimensions) {
         // reset all attributes other than dimensions;
         this.dimensions = newDimensions;