[jdk17] RFR: 8269568: JVM crashes when running VectorMask query tests
Xiaohong Gong
xgong at openjdk.java.net
Tue Jun 29 09:10:27 UTC 2021
This is a follow-up patch for [1]. When we are trying to add the VectorMask query implementation for Arm NEON, we found the jtreg tests for `VectorMask.trueCount/firstTrue/lastTrue` is not effective. The tests failure cannot be reported as expected. The main reason is that the Vector API methods are not hot enough to be compiled by C2 compiler. Wrap the main test codes inside a loop can make the tests effective.
With the tests taking effect, we can see a JVM crash due to the following assertion:
vector/src/hotspot/share/opto/vectornode.hpp:879), pid=168241, tid=168257
# Error: assert(mask->Opcode() == Op_VectorStoreMask) failed
The mask input might be other vector nodes like `"LoadVectorNode"`, since there is an optimization for `"VectorStoreMask"`:
VectorStoreMask (VectorLoadMask value) ==> value
Changing the code to check whether its element basic type is `"T_BOOLEAN"` is more reasonable.
[1] https://bugs.openjdk.java.net/browse/JDK-8256973
-------------
Commit messages:
- 8269568: JVM crashes when running VectorMask query tests
Changes: https://git.openjdk.java.net/jdk17/pull/168/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=168&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8269568
Stats: 1063 lines in 32 files changed: 225 ins; 39 del; 799 mod
Patch: https://git.openjdk.java.net/jdk17/pull/168.diff
Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/168/head:pull/168
PR: https://git.openjdk.java.net/jdk17/pull/168
More information about the hotspot-compiler-dev
mailing list