RFR: 8332689: RISC-V: Use load instead of trampolines [v19]

Robbin Ehn rehn at openjdk.org
Fri Jun 28 07:04:25 UTC 2024


On Thu, 27 Jun 2024 20:02:18 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 28 commits:
>> 
>>  - Rename lc
>>  - Merge branch 'master' into 8332689
>>  - Merge branch 'master' into 8332689
>>  - Comments
>>  - Missed in merge-fixes, minor revert
>>  - Merge branch 'master' into 8332689
>>  - Minor review comments
>>  - Merge branch 'master' into 8332689
>>  - To be pushed
>>  - Merge branch 'master' into 8332689
>>  - ... and 18 more: https://git.openjdk.org/jdk/compare/46b817b7...442680b4
>
> src/hotspot/cpu/riscv/macroAssembler_riscv.hpp line 1275:
> 
>> 1273:   //
>> 1274:   // Return: the call PC or null if CodeCache is full.
>> 1275:   address patchable_far_call(Address entry) {
> 
> For runtime_call_type, I don't think we ever update the target/destination, so the name "patchable" seems not quite right for them.  Also, for runtime_call_type, since they never change, we can decide early if a near call is possible when the destination is always reachable (based on the bounds of code cache), which is what aarch64 does for trampoline_call.

Yes. My thinking was, the site is still patachable, even if some sites don't need that capability.
The reason why this patch ignores near calls is because the short reach of JAL +-1MB (so normally only a few stubs can be reach from a few nmethods).
But it is on the enhancement list.

I don't mind changing the name, feel free to suggest something!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19453#discussion_r1658251519


More information about the hotspot-dev mailing list