RFR: 8326306: RISC-V: Re-structure MASM calls and jumps [v2]
Robbin Ehn
rehn at openjdk.org
Mon May 6 07:38:53 UTC 2024
On Mon, 6 May 2024 07:13:20 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Yes, sorry I didn't explain that:
>> The cases in stubGenerator are all slow-path so we don't care much about performance.
>> Calling:
>> - MacroAssembler::debug64 debug
>> - JavaThread::check_special_condition_for_native_trans when suspend flag is set
>> - SharedRuntime::reguard_yellow_pages regaurd pages => syscall
>> - Interpreter::trace_code(t->tos_in()) Calling a interpreter trace method for the bytcode
>> - __ rt_call(runtime_entry); calling runtime when throwing an exception
>
> All right. What about the one in `MacroAssembler::call_VM_leaf_base`? The `call` there is replaced with movptr+jalr. Why not use `rt_call` there like the other places? Then we won't lose it when we eliminate `call` finally.
Yes, you right the old:
call() = mv(tmp, adr) => li(adr) + jalr()
li(adr) is better than movptr()
I'll fix thanks!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18942#discussion_r1590644162
More information about the hotspot-dev
mailing list