RFR: 8320682: [AArch64] C1 compilation fails with "Field too big for insn" [v3]
Dean Long
dlong at openjdk.org
Fri Dec 8 02:32:17 UTC 2023
On Thu, 7 Dec 2023 15:53:47 GMT, Daniel Lundén <duke at openjdk.org> wrote:
>> This changeset fixes an issue where addresses for float and double constants on aarch64 were sometimes out of range for PC-relative offsets using `adr`.
>>
>> Changes:
>> - Set an upper bound of `1M` for the flag `NMethodSizeLimit`, ensuring that float and double constants are in range for `adr`.
>> - Revise tests in `TestC1Globals.java` to use the new upper bound of `1M` for `NMethodSizeLimit`. Also, remove no longer applicable tests in `TestC1Globals.java`.
>>
>> ### Testing (in progress)
>> Platforms: windows-x64, linux-x64, linux-aarch64, macosx-x64, macosx-aarch64
>> - tier1, tier2, tier3, tier4, tier5
>> - Targeted and repeated tests for `TestC1Globals.java` in all tiers
>
> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
>
> Update copyright
test/hotspot/jtreg/compiler/arguments/TestC1Globals.java line 62:
> 60: * Linux.
> 61: *
> 62: * @run main/othervm -XX:NMethodSizeLimit=351658240
What were these large sizes of NMethodSizeLimit meant to test? Removing these test cases because of a problem with aarch64 seems wrong, unless these test cases really have no value for other platforms.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16951#discussion_r1419865173
More information about the hotspot-compiler-dev
mailing list