RFR: 8265956: JVM crashes when matching LShiftVB Node [v3]
Xiaohong Gong
xgong at openjdk.java.net
Sat May 8 08:33:57 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. ~~ sove the issue by adding `LShiftCntVNode` without adding any 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
test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIotaByte.java line 63:
> 61: static byte[] expected_256 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
> 62: -31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1};
> 63: static byte[] expected_512 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
Looks much better to me! Just a small suggestion here: it's better to use `static final` if these arrays are not expected to be modified.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3747
More information about the hotspot-compiler-dev
mailing list