[aarch64-port-dev ] RFR(M): 8233743: AArch64: Make r27 conditionally allocatable

Pengfei Li (Arm Technology China) Pengfei.Li at arm.com
Wed Nov 13 09:55:48 UTC 2019


Hi,

JBS: https://bugs.openjdk.java.net/browse/JDK-8233743
Webrev: http://cr.openjdk.java.net/~pli/rfr/8233743/webrev.00/

This is a follow-up patch of JDK-8217909[1] to make the AArch64 register
r27 allocatable when CompressedOops and CompressedClassPointers are both
turned off.

Below changes have been made:
- Massage the RegMask(s) in reg_mask_init() at C2 initialization and
remove r27 from some of the masks conditionally to make it allocatable.
- Also make r29 conditionally reserved in this similar way.
- Make r29 allocatable for pointers as well as integers.
- Replace an rheapbase use to rscratch1 in AArch64 ZGC.
- Revert JDK-8231754[2] which makes r27 always reserved in JVMCI.

This patch aligns with the implementation in [1] which makes the x86_64
r12 register allocatable. Please let me know if I have missed anything
for AArch64.

Tests:
Full jtreg with default options and extra options "-XX:-UseCompressedOops
-XX:+PreserveFramePointer". No new failure is found.

[1] https://hg.openjdk.java.net/jdk/jdk/rev/48b50573dee4
[2] https://hg.openjdk.java.net/jdk/jdk/rev/d068b1e534de

--
Thanks,
Pengfei



More information about the aarch64-port-dev mailing list