-
Enhancement
-
Resolution: Fixed
-
P4
-
22
-
b27
-
riscv
-
linux
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::la making it less confusing.
4. `far_call` in `rt_call` should use `tmp` instead of the default temporary register `t0`
5. Removed some unused codes in `g1BarrierSetAssembler_riscv.cpp`
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::la making it less confusing.
4. `far_call` in `rt_call` should use `tmp` instead of the default temporary register `t0`
5. Removed some unused codes in `g1BarrierSetAssembler_riscv.cpp`