< 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 >