Integrated: 8253015: Aarch64: Move linux code out from generic CPU feature detection

Anton Kozlov akozlov at openjdk.java.net
Mon Sep 28 14:14:26 UTC 2020


On Mon, 14 Sep 2020 19:42:21 GMT, Anton Kozlov <akozlov 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

This pull request has now been integrated.

Changeset: ec9bee68
Author:    Anton Kozlov <akozlov at openjdk.org>
Committer: Andrew Haley <aph at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/ec9bee68
Stats:     373 lines in 7 files changed: 164 ins; 153 del; 56 mod

8253015: Aarch64: Move linux code out from generic CPU feature detection

Reviewed-by: aph

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

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


More information about the hotspot-dev mailing list