testbug? ResolvedClassTest fails on AIX with output very similar to expected

dean.long at oracle.com dean.long at oracle.com
Mon Feb 28 23:07:34 UTC 2022


Hi Tyler.

Apparently the $Holder classes are generated by jlink.  Is your AIX 
build different from your other builds?

dl

On 2/28/22 2:26 PM, Tyler Steele wrote:
> Hello all,
> 
> I am currently looking into a test failure present on AIX, but not on other systems (Linux on various architectures) I
> have tested. I am looking for some guidance to help validate my suspicions about this test failure so that I can submit
> an appropriate fix.
> 
> The test I am looking at is ResolvedClassTest.java which fails when it does not find the line
> `@ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)   force inline by annotation` in the output
> produced by PrintCompilation. Snippets of the output produced on Linux and AIX are shown below. As you can see, they are
> very similar.
> 
> --- Linux (expected) output ---
>> 128    7 %  b  3       compiler.jsr292.ResolvedClassTest$TestIndy::test @ 11 (33 bytes)
>> 	@ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)   force inline by annotation
>> 	@ 5   java.lang.invoke.DirectMethodHandle$Holder::invokeStatic (14 bytes)   force inline by annotation
> --- AIX (failing) output ---
> < 237    7 %  b  3       compiler.jsr292.ResolvedClassTest$TestIndy::test @ 11 (33 bytes)
> <	@ 3   java.lang.invoke.LambdaForm$MH/0x00000007c0002400::linkToTargetMethod (9 bytes)   force inline by
> annotation
> <	@ 5   java.lang.invoke.LambdaForm$DMH/0x00000007c0001c00::invokeStatic (14 bytes)   force inline by annotation
> 
> As I understand it Invokers$Holder, and DirectMethodHandle$Holder are placeholders for pre-compiled or speculatively
> compiled code. I suspect this step happens differently (or doesn't happen) on AIX, but I don't understand where the
> divergence occurs. I would appreciate any suggestions as to what (optimization? enhancement?) changes this behaviour on
> AIX.
> 
> More importantly, is this equivalent output? If so, would something like shouldMatch (rather than shouldContain) be
> appropriate to allow the test to pass on AIX?
> 
> Thanks in advance for your help.
> Tyler


More information about the hotspot-compiler-dev mailing list