RFR: 8253015: Aarch64: Move linux code out from generic CPU feature detection
Ludovic Henry
luhenry at openjdk.java.net
Thu Sep 24 17:10:54 UTC 2020
On Mon, 14 Sep 2020 20:07:03 GMT, Ludovic Henry <luhenry at openjdk.org> wrote:
>> Please review a change to remove Linux-specific code from hotspot/cpu/aarch64.
>>
>> The change is made to prepare for non-linux aarch64 platforms.
>>
>> vm_version no longer contains any "raw" values that were obtained directly from the platform registers. Some of them
>> may be unavailable on certain architectures, like `ctr_el0` is not available on windows [1].
>> Few opportunities to improve linux code were taken:
>> 1. `HWCAP_` flags now explicitly mapped to `CPU_`
>> 2. `_dcpop` boolean was replaced with `CPU_DCPOP`
>> 3. Code generation to get the platform register values was replaced with inline assembly. There is no a code buffer
>> allocation anymore.
>> Graal-related changes: https://github.com/oracle/graal/pull/2861
>>
>> Testing:
>> * local hotspot tier1
>> * looking at detected features
>> * looking at debug output for `isDcZvaProhibited` and `zvaLength` values in Graal (not committed) -- have not changed
>> * looking at the results of `./graal-compiler-micro-benchmarks.jar -p
>> size=128,256,512,1024,2048,4096,8192,16384,32768,65536,131072 ArrayAllocationBenchmark.arrayAllocate`
>> (https://github.com/oracle/graal/commit/dcb4506e4da05db74e8b4007e2845458e8c555e2) -- the benchmark is noisy in my
>> environment, probably too many threads are used. Manually compared iterations, there is no regression spotted.
>>
>> [1] https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-September/009690.html
>
> I've verified that this code works for the Windows-AArch64 port with minimal changes to the new
> `vm_version_windows_aarch64.cpp` file.
A quick follow-up on getting a review for this patch. We're starting to take dependency on this patch for the
Windows-AArch64 and macOS-AArch64
(https://github.com/openjdk/jdk/pull/212/commits/7bf0aab32fb7ef1659efa09651d59aaed53c31d2). /cc @theRealAph
-------------
PR: https://git.openjdk.java.net/jdk/pull/154
More information about the hotspot-dev
mailing list