[aarch64-port-dev ] RFR: 8170188: jtreg compiler/types/TestMeetIncompatibleInterfaceArrays.java causes JVM crash
Andrew Haley
aph at redhat.com
Tue Nov 22 16:59:11 UTC 2016
Hi,
On 22/11/16 15:29, Sergey Nazarkin wrote:
> please review the fix [1] to solve JVM crash when
> compiler/types/TestMeetIncompatibleInterfaceArrays.java test is
> executed.
>
> The crash happens at ANDS generation procedure since imm encoder
> fails to convert zero value. And it has to fail according ARMv8
> arch ref manual.
>
> The patch detects invalid case and replace ANDS(Rd, Rn, imm) with
> ANDS(RD, Rn, ZeroReg)
>
> [1] http://cr.openjdk.java.net/~snazarki/8170188/
> [2] https://bugs.openjdk.java.net/browse/JDK-8170188
+ if(!imm) { NAME(Rd, Rn, /*Zreg*/as_Register(32)); return; } \
is rather eccentric. Can't you just say
+ if(imm == 0) { NAME(Rd, Rn, zr; return; } \
Is the problem that zr isn't defined at this point? In that case it
would make more sense to override ands[w] in MacroAssembler.
Thanks,
Andrew.
More information about the aarch64-port-dev
mailing list