RFR: 8253015: Aarch64: Move linux code out from generic CPU feature detection [v2]
Anton Kozlov
akozlov at openjdk.java.net
Mon Sep 28 07:53:01 UTC 2020
> 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
Anton Kozlov has updated the pull request incrementally with one additional commit since the last revision:
Fix graal codestyle
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/154/files
- new: https://git.openjdk.java.net/jdk/pull/154/files/20bd7ad5..b3737676
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=154&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=154&range=00-01
Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/154.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/154/head:pull/154
PR: https://git.openjdk.java.net/jdk/pull/154
More information about the hotspot-dev
mailing list