RFR: 8286058: AArch64: clarify types of calls [v3]

Andrew Haley aph at openjdk.java.net
Wed May 25 07:32:09 UTC 2022


On Thu, 19 May 2022 16:46:32 GMT, Evgeny Astigeevich <duke at openjdk.java.net> wrote:

>> The PR clarifies the types of calls AArch64 OpenJDK uses. It cleans up far_call, far_jump and trampoline_call. It removes trampoline_call1 because its use cases are now supported by trampoline_call.
>> Tested a fastdebug build:
>> - `gtest`: Passed
>> - `tier1`...`tier3`: Passed
>
> Evgeny Astigeevich has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
> 
>  - Describe call types; Fix API
>  - Merge branch 'master' into JDK-8286058
>  - Merge branch 'master' into JDK-8286058
>  - Fix assert message
>  - 8286058: AArch64: clarify uses of MacroAssembler::trampoline_call

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 632:

> 630:       CompileTask* task = ciEnv::current()->task();
> 631: 
> 632:       // We need to be at phase output when we check the size of emitted code.

Suggestion:

      // We need to be in the output phase when we check the size of emitted code.

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

> 1120:   //
> 1121:   //   - far call: adrp reg, pc_relative_offset; add; bl reg
> 1122:   //     This is longer and slower than a direct call. The offset has

Suggestion:

  //     This is longer than a direct call. The offset has

I wouldn't be so definite as to say it's slower. Let's stay with longer.

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

> 1123:   //     the range +/-4GB. As the code cache size is limited to 4GB,
> 1124:   //     far calls can reach anywhere in the code cache. If the sematic of
> 1125:   //     the call is not needed, a far jump 'b reg' can be used instead.

Suggestion:

  //     far calls can reach anywhere in the code cache. If a jump is
  //     needed rather than a call, a far jump 'b reg' can be used instead.

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

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


More information about the hotspot-dev mailing list