[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