RFR: 8320697: RISC-V: Small refactoring for runtime calls [v2]
Feilong Jiang
fjiang at openjdk.org
Thu Nov 30 13:35:34 UTC 2023
> 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
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/16816/files
- new: https://git.openjdk.org/jdk/pull/16816/files/4e60351f..81347a99
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=16816&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=16816&range=00-01
Stats: 82 lines in 11 files changed: 23 ins; 25 del; 34 mod
Patch: https://git.openjdk.org/jdk/pull/16816.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16816/head:pull/16816
PR: https://git.openjdk.org/jdk/pull/16816
More information about the hotspot-compiler-dev
mailing list