RFR: 8286058: AArch64: clarify uses of MacroAssembler::trampoline_call [v2]

Andrew Haley aph at openjdk.java.net
Fri May 6 08:08:48 UTC 2022


On Thu, 5 May 2022 22:49:43 GMT, Evgeny Astigeevich <duke at openjdk.java.net> wrote:

>> `MacroAssembler::trampoline_call` is for generating calls of targets which are inside CodeCache and can have relocInfo types: `runtime_call_type`, `opt_virtual_call_type`, `static_call_type` or `virtual_call_type`.
>> This PR updates the description of the function and adds additional asserts.
>> Tested a fastdebug build:
>> - `gtest`: Passed
>> - `tier1`: Passed
>
> Evgeny Astigeevich has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix assert message

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp line 1110:

> 1108:   // far_call does not use the stub code section for additional code. It inserts the code at a call site.
> 1109:   // This prevents the call from optimization to a direct call when the code is copied to CodeCache.
> 1110:   //

I can't understand any of this. As far as I can tell it is nonsense.
It introduces pointless confusing terminology such as "far-distant" and "near-distant".
"This prevents the call from optimization to a direct cal" is completely wrongl

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp line 1113:

> 1111:   // If a mark of the generated call BL is needed, a pointer to CodeBuffer keeping the generated code
> 1112:   // must be provided.
> 1113:   //

What does "If a mark of the generated call BL is needed" mean?

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

PR: https://git.openjdk.java.net/jdk/pull/8564


More information about the hotspot-dev mailing list