< prev index next >

src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java

Print this page
rev 47754 : 8191442: Regression in LambdaFormBuffer.replaceFunctions
Reviewed-by: TBD

@@ -113,13 +113,13 @@
         }
         assert(firstChange == length) : Arrays.asList(firstChange, Arrays.asList(names));
         return true;
     }
 
-    private static int indexOf(NamedFunction fn, NamedFunction[] fns) {
-        for (int i = 0; i < fns.length; i++) {
-            if (fns[i] == fn)  return i;
+    private static int indexOf(NamedFunction fn, List<NamedFunction> fns) {
+        for (int i = 0; i < fns.size(); i++) {
+            if (fns.get(i) == fn)  return i;
         }
         return -1;
     }
 
     private static int indexOf(Name n, Name[] ns) {

@@ -331,11 +331,11 @@
                                       Object... forArguments) {
         assert(inTrans());
         if (oldFns.isEmpty())  return this;
         for (int i = arity; i < length; i++) {
             Name n = names[i];
-            int nfi = oldFns.indexOf(n.function);
+            int nfi = indexOf(n.function, oldFns);
             if (nfi >= 0 && Arrays.equals(n.arguments, forArguments)) {
                 changeName(i, new Name(newFns.get(nfi), n.arguments));
             }
         }
         return this;
< prev index next >