RFR (XS) 8222032: x86_32 fails with "wrong size of mach node" on AVX-512 machine
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Fri Apr 5 23:54:11 UTC 2019
Looks good.
Best regards,
Vladimir Ivanov
On 05/04/2019 16:50, Aleksey Shipilev wrote:
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8222032
>
> This apparently happens because MachSpillCopyNode size calculation is not correct when AVX-512 is
> involved. x86_64.ad resolves this by calling into MachNode::size, which emits the whole thing into
> the scratch buffer and thus cheats^W passes through size asserts fine:
> http://hg.openjdk.java.net/jdk/jdk/file/dfba4e321ab3/src/hotspot/cpu/x86/x86_64.ad#l1504
>
> x86_32.ad can do the same:
>
> diff -r b75026a7ca95 src/hotspot/cpu/x86/x86_32.ad
> --- a/src/hotspot/cpu/x86/x86_32.ad Sat Apr 06 00:30:50 2019 +0200
> +++ b/src/hotspot/cpu/x86/x86_32.ad Sat Apr 06 00:31:00 2019 +0200
> @@ -1307,11 +1307,11 @@
> uint MachSpillCopyNode::size(PhaseRegAlloc *ra_) const {
> - return implementation( NULL, ra_, true, NULL );
> + return MachNode::size(ra_);
> }
>
> Testing: Linux x86_32 fastdebug tier{1,2}, jdk-submit (running)
>
More information about the hotspot-compiler-dev
mailing list