RFR: 8320697: RISC-V: Small refactoring for runtime calls [v2]
Robbin Ehn
rehn at openjdk.org
Thu Nov 30 14:02:07 UTC 2023
On Thu, 30 Nov 2023 13:35:34 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:
>> Hi, please review this refactoring for runtime calls.
>> Major changes:
>> 1. Unified the runtime calls with the existing MacroAssembler::rt_call. This will remove the duplicate code like `relocate(target.rspec() [&] {...}` to emit uncompressed instructions.
>> 2. Removed MacroAssembler::far_branches and made the call sites default to far branches. `branch_range` is 1MB for riscv, and `ReservedCodeCacheSize` will always bigger than `branch_range` in practice. We should remove this unnecessary check and simplify the code logic.
>> 3. Renamed MacroAssembler::la_patchable with MacroAssembler::auipc making it explicit that this will emit pc-relative addressing code.
>> 4. `far_call` in `rt_call` should use `tmp` instead of the default temporary register `t0`
>>
>>
>> Testing:
>> - [x] Tier1-3 tested on hifive unmatched board (release)
>> - [x] Run non-trivial benchmark workloads (fastdebug)
>
> Feilong Jiang has updated the pull request incrementally with one additional commit since the last revision:
>
> Rename la_patchable with la
Thank you, looks good! (not a line for line review)
You have some unrelated changes in g1BarrierSet, I don't mind, but pointing that out for the record.
-------------
Marked as reviewed by rehn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/16816#pullrequestreview-1757533437
More information about the hotspot-compiler-dev
mailing list