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

Robbin Ehn rehn at openjdk.org
Fri Jun 14 12:54:20 UTC 2024


On Tue, 11 Jun 2024 20:36:03 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 pull request now contains 15 commits:
>> 
>>  - Merge branch 'master' into 8332689
>>  - Merge branch 'master' into 8332689
>>  - Merge branch 'master' into 8332689
>>  - Remove tmp file
>>  - Prepare for dynamic NativeCall size
>>  - Only allow one calling convetion, i.e. fixed sized
>>  - Merge branch 'master' into 8332689
>>  - Review comments
>>  - Move shart/far code to cpp
>>  - Cleanup
>>  - ... and 5 more: https://git.openjdk.org/jdk/compare/93f3918e...eb30360a
>
> src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 986:
> 
>> 984:   assert_cond(source != nullptr);
>> 985:   int64_t distance = source - pc();
>> 986:   assert(is_simm32(distance), "Must be");
> 
> seems load_link can jump to about +/-2G dest from pc, jump_link seems support full address range jump (e.g. 48 bits)?

The load can only happen within -+2Gb but address loaded is any 64 bit.

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

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


More information about the hotspot-dev mailing list