RFR: 8365926: RISC-V: Performance regression in renaissance (chi-square) [v2]

Robbin Ehn rehn at openjdk.org
Mon Sep 1 14:38:49 UTC 2025


On Mon, 1 Sep 2025 10:01:58 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Robbin Ehn 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 four additional commits since the last revision:
>> 
>>  - Merge branch 'master' into 8365926
>>  - Spelling
>>  - Merge branch 'master' into 8365926
>>  - draft jal<->jalr
>
> src/hotspot/cpu/riscv/nativeInst_riscv.cpp line 110:
> 
>> 108:   // We changed instruction stream
>> 109:   if (mt_safe) {
>> 110:     OrderAccess::release();
> 
> If we have relese here, do we still need the release in `set_stub_address_destination_at`?

>From JBS entry, the point is to do it in a sane order:

The release in make_jal_opt so to make sure the store to instruction stream happens before I-cache flush.

1: store destination to stub
2: release
3: store destination to instruction stream
4: release
5: i-cache flush

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26944#discussion_r2314129918


More information about the hotspot-compiler-dev mailing list