[jdk17] RFR: 8269568: JVM crashes when running VectorMask query tests [v2]

Jie Fu jiefu at openjdk.java.net
Thu Jul 1 07:53:04 UTC 2021


On Thu, 1 Jul 2021 07:48:44 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> 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
>
> Xiaohong Gong has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Refactor VectorMask query tests
>  - Fix x86 backend codegen issue

Changes in HotSpot LGTM.
Thanks for fixing it.

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

Marked as reviewed by jiefu (Reviewer).

PR: https://git.openjdk.java.net/jdk17/pull/168


More information about the hotspot-compiler-dev mailing list