Originally reported here:
https://github.com/openjdk/jdk/pull/25673#issuecomment-2951174116
Various vector code has this checker:
public static boolean isNonCapturingLambda(Object o) {
return o.getClass().getDeclaredFields().length == 0;
}
This might not be precise, as LMF generates static fields in lambda-s in some cases:
https://github.com/openjdk/jdk/blob/d7352559195b9e052c3eb24d773c0d6c10dc23ad/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java#L365-L372
Looks like it only affects the assertions.
https://github.com/openjdk/jdk/pull/25673#issuecomment-2951174116
Various vector code has this checker:
public static boolean isNonCapturingLambda(Object o) {
return o.getClass().getDeclaredFields().length == 0;
}
This might not be precise, as LMF generates static fields in lambda-s in some cases:
https://github.com/openjdk/jdk/blob/d7352559195b9e052c3eb24d773c0d6c10dc23ad/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java#L365-L372
Looks like it only affects the assertions.