From 8061f11e654cc550348a29a281f1872ecd565c07 Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Mon, 22 Sep 2014 17:50:25 +0200
Subject: [PATCH] make ArgumentMatcher.permuteArguments @SlowPath

---
 .../com/oracle/truffle/r/nodes/function/ArgumentMatcher.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ArgumentMatcher.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ArgumentMatcher.java
index c30173d254..846fe50269 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ArgumentMatcher.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/ArgumentMatcher.java
@@ -287,6 +287,7 @@ public class ArgumentMatcher {
      * @param <T> The type of the given arguments
      * @return An array of type <T> with the supplied arguments in the correct order
      */
+    @SlowPath
     private static <T> T[] permuteArguments(RFunction function, T[] suppliedArgs, String[] suppliedNames, FormalArguments formals, VarArgsFactory<T> listFactory, ArrayFactory<T> arrFactory,
                     SourceSection callSrc, SourceSection argsSrc) {
         String[] formalNames = formals.getNames();
@@ -785,7 +786,7 @@ public class ArgumentMatcher {
      * {@link VarArgsFactory} implementation that returns varargs as <code>Object[]</code>.
      */
     public static final class VarArgsAsObjectArrayFactory implements VarArgsFactory<Object> {
-        public Object makeList(final Object[] elements, final String[] names) {
+        public Object makeList(Object[] elements, String[] names) {
             if (elements.length > 0) {
                 return new RArgsValuesAndNames(elements, names);
             } else {
@@ -814,7 +815,7 @@ public class ArgumentMatcher {
      * {@link VarArgsAsObjectArrayNode}.
      */
     public static final class VarArgsAsObjectArrayNodeFactory implements VarArgsFactory<RNode> {
-        public RNode makeList(final RNode[] elements, final String[] names) {
+        public RNode makeList(RNode[] elements, String[] names) {
             if (elements.length > 0) {
                 return new VarArgsAsObjectArrayNode(elements, names);
             } else {
-- 
GitLab