RFR: 8256375: AArch64: aarch64-asmtest.py may generate undefined register r18
Dong Bo
dongbo at openjdk.java.net
Thu Nov 19 02:46:15 UTC 2020
In aarch64-asmtest.py, register `r18` is not generated for all the GeneralRegister instructions, except `LoadStoreOp` and `LoadStorePairOp`.
So when adding new instructions to the script before `LoadStoreOp` or `LoadStorePairOp`,
assembler smoke test may fail with undefined register `r18`, like:
Creating javadoc element list
.../jdk/src/hotspot/cpu/aarch64/assembler_aarch64.cpp: In function 'void entry(CodeBuffer*)':
.../jdk/src/hotspot/cpu/aarch64/assembler_aarch64.cpp:580:37: error: 'r18' was not declared in this scope; did you mean 'z18'?
580 | __ ldp(r28, r22, Address(__ pre(r18, 16))); // ldp x28, x22, [x18, #16]!
| ^~~
| z18
gmake[3]: *** [lib/CompileJvm.gmk:143: .../jdk/build/linux-aarch64-server-fastdebug/hotspot/variant-server/libjvm/objs/assembler_aarch64.o] Error 1
gmake[3]: *** Waiting for unfinished jobs....
Compiling 89 properties into resource bundles for java.desktop
This excludes `r18` from the random list of `LoadStoreOp` and `LoadStorePairOp`.
-------------
Commit messages:
- 8256375: AArch64: aarch64-asmtest.py may generate undefined register r18
Changes: https://git.openjdk.java.net/jdk/pull/1304/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1304&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8256375
Stats: 32 lines in 2 files changed: 0 ins; 0 del; 32 mod
Patch: https://git.openjdk.java.net/jdk/pull/1304.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1304/head:pull/1304
PR: https://git.openjdk.java.net/jdk/pull/1304
More information about the hotspot-compiler-dev
mailing list