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

Hamlin Li mli at openjdk.org
Tue Sep 2 12:50:46 UTC 2025


On Tue, 2 Sep 2025 02:06:16 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> We have:
>> 
>> auipc // instruction_address()                                                                                     # Never changed
>> ld       // instruction_address() + NativeInstruction::instruction_size                    # Never changed
>> jal(r)  // instruction_address() + 2 * NativeInstruction::instruction_size (jal_pc) # jal<->jalr
>> 
>> We only change the instruction at "instruction_address() + 2 * NativeInstruction::instruction_size".
>> 
>> Note that jal_pos and jal_pc means a "jump and link instruction", not specifically jal or jalr.
>> 
>> Make sense?
>
> Maybe we can give it a new name to avoid possible confusion? `jmp_pc` or simply `pc`?

> We only change the instruction at "instruction_address() + 2 * NativeInstruction::instruction_size".

Right!

> Note that jal_pos and jal_pc means a "jump and link instruction", not specifically jal or jalr.

As we're patching either `jal` or `jalr` instruction, so jal is misleading, I agree `jmp_xxx` is a better name.

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

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


More information about the hotspot-compiler-dev mailing list