RFR: 8334872: BigEndian: java/lang/invoke/condy Tests failing since JDK-8294960

Claes Redestad redestad at openjdk.org
Tue Jun 25 08:32:10 UTC 2024


On Mon, 24 Jun 2024 16:01:41 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> After JDK-8294960 is java.lang.invoke.ClassSpecializer using lamdas for code generation and unfortunately it causes StackOverflow on BigEndian platforms.
> 
> This patch converts all lambdas in ClassSpecializer into anonymous inner classes.
> 
> Please review and test on a BigEndian platform.
> 
> Thanks,
> Adam

Looks like there is a bootstrap cycle initializing this lambda in ClassBuilder: https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/classfile/ClassBuilder.java#L202

I'm not sure, but it looks like the PPC VM might be passing args to the bootstrap method differently, which triggers adapting code in BootstrapMethodInvoker::pushMePullYou - this might be enough to start this cycle.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/19863#issuecomment-2188298757


More information about the core-libs-dev mailing list