[jdk11u-dev] RFR: 8235385: Crash on aarch64 JDK due to long offset [v2]
Andrew Haley
aph at openjdk.java.net
Wed Mar 30 13:07:42 UTC 2022
On Wed, 30 Mar 2022 12:08:22 GMT, Alexey Pavlyutkin <duke at openjdk.java.net> wrote:
>> Hi!
>>
>> Please review "backport" of [Wang Zhuo's patch](http://cr.openjdk.java.net/~wzhuo/BigOffsetAarch64/webrev.00/jdk13u.patch) to 11u-dev. The patch is applied with the following adaptation:
>>
>> - the legitimizing overload
>>
>> static void loadStore(MacroAssembler masm, mem_insn insn,
>> Register reg, int opcode,
>> Register base, int index, int size, int disp,
>> int size_in_memory);
>>
>> ported from 15u-dev with slight changes
>> - `aarch64_enc_strh`, `aarch64_enc_strh0`, `aarch64_enc_strw`, `aarch64_enc_strw0`, `aarch64_enc_str`, and `aarch64_enc_str0` functions updated to use new loadStore() overload
>>
>> Verified (18.04.6 LTS/aarch64) with the reproducers from JBS, 10 of 10 runs passed. Aproximately a half of runs crashed before I've applied the patch.
>>
>> Regression (18.04.6 LTS/aarch64): hotspot_compiler
>>
>> @theRealAph @AntonKozlov please take a look at that. Andrew, I could not mention Wang, if you know his ID could you mention him as well. Thank you
>
> Alexey Pavlyutkin has updated the pull request incrementally with one additional commit since the last revision:
>
> removing unwanted assert
src/hotspot/cpu/aarch64/aarch64.ad line 2665:
> 2663: MacroAssembler _masm(&cbuf);
> 2664: loadStore(_masm, &MacroAssembler::strh, zr, $mem->opcode(),
> 2665: as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 2);
This stuff is all generated from `ad_encode.m4`. Please edit that file, then regenerate everything between
` // BEGIN Non-volatile memory access`
and
` // END Non-volatile memory access`
-------------
PR: https://git.openjdk.java.net/jdk11u-dev/pull/960
More information about the jdk-updates-dev
mailing list