RFR: 8347489: RISC-V: Misaligned memory access with COH [v4]
Hamlin Li
mli at openjdk.org
Wed Jan 15 15:08:44 UTC 2025
On Wed, 15 Jan 2025 15:01:32 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>>
>> - Merge branch 'master' into JDK-8347489
>> - Comment
>> - Fix assertions
>> - Add assertions
>> - Comment
>> - 8347489: RISC-V: Misaligned memory access with COH
>
> src/hotspot/cpu/riscv/stubGenerator_riscv.cpp line 2474:
>
>> 2472:
>> 2473: // strL is 8-byte aligned
>> 2474: __ ld(tmpLval, Address(strL));
>
> This should also be a `load_long_misaligned`?
And the below one in this function?
> src/hotspot/cpu/riscv/stubGenerator_riscv.cpp line 2531:
>
>> 2529: tmpL = isLU ? tmp1 : tmp2; // where to keep L for comparison
>> 2530:
>> 2531: if ((base_offset1 % 8) == 0) {
>
> The condition should be `((base_offset1 % 8) != 0)`? Seems we try to make the `strL` aligned in the main loop below.
And do we need below piece of code when `AvoidUnalignedAccesses == false`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23053#discussion_r1916812662
PR Review Comment: https://git.openjdk.org/jdk/pull/23053#discussion_r1916821094
More information about the hotspot-compiler-dev
mailing list