RFR: 8265956: JVM crashes when matching LShiftVB Node [v3]

Xiaohong Gong xgong at openjdk.java.net
Sat May 8 04:51:23 UTC 2021


On Fri, 7 May 2021 09:03:14 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> It is fount that the rule `match(Set dst (LShiftVB src shift))` is missing on many cpus, such like `aarch64` and `x86`. It is this reason that JVM will crash under `JDK-8265956`'s test case. In this commit, I :
>> * show the crash case `TestVectorShuffleIotaShort`
>> * solve the issue on `aarch64` and `x86` by adding the rule. 
>> * test after fixing on tire1~3
>> 
>> Thank you for your review. Any suggestion is welcome. 
>>                          Wang Huang
>
> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix bugs

Please update the copyright year of `"vectorIntrinsics.cpp"` to 2021. Thanks!

src/hotspot/cpu/x86/x86.ad line 5864:

> 5862:   match(Set dst (LShiftVB src (LShiftCntV shift)));
> 5863:   match(Set dst (RShiftVB src (RShiftCntV shift)));
> 5864:   match(Set dst (URShiftVB src (RShiftCntV shift)));

Regarding to this issue, it's no need to add these rules here. There is the vector shift rules already.

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

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


More information about the hotspot-compiler-dev mailing list