RFR: 8258134: assert(size == calc_size) failed: incorrect size calculation on x86_32 with AVX512 machines

Jie Fu jiefu at openjdk.java.net
Sat Dec 12 00:00:09 UTC 2020


Hi all,

Two vector api tests crashed on x86_32 with AVX512 machines due to this assert [1].
The reason is that 'calc_size' is incorrect.

But there is no need to calculate 'calc_size' manually at all since the result [2] is actually never used by the VM.
Also, it is really hard to maintain the calculation logic for various hardwares and configurations.
And it may be easily broken again in the future with more and more complicated instructions & configurations.

So it would be better to remove the calculation and the assert, which is safe and already done for x86_64 [3].
The fix just follows what is done for x86_64.

Thanks.
Best regards,
Jie

[1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_32.ad#L1016
[2] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_32.ad#L1059
[3] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_64.ad#L1042

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

Commit messages:
 - 8258134: assert(size == calc_size) failed: incorrect size calculation on x86_32 with AVX512 machines

Changes: https://git.openjdk.java.net/jdk/pull/1753/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1753&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8258134
  Stats: 36 lines in 1 file changed: 1 ins; 29 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1753.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1753/head:pull/1753

PR: https://git.openjdk.java.net/jdk/pull/1753


More information about the hotspot-compiler-dev mailing list