From 22006dceb4e13299b9213720d2298039c57a7882 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Fri, 24 Jul 2020 11:28:28 +0800 Subject: [PATCH] 8249781: AArch64: AOT compiled code crashes if C2 allocates r27 Reviewed-by: aph --- src/hotspot/cpu/aarch64/aarch64.ad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad index 7fa7f07d6c4..d239044e66d 100644 --- a/src/hotspot/cpu/aarch64/aarch64.ad +++ b/src/hotspot/cpu/aarch64/aarch64.ad @@ -1099,7 +1099,7 @@ source %{ // r27 is not allocatable when compressed oops is on and heapbase is not // zero, compressed klass pointers doesn't use r27 after JDK-8234794 - if (UseCompressedOops && CompressedOops::ptrs_base() != NULL) { + if (UseCompressedOops && (CompressedOops::ptrs_base() != NULL || UseAOT)) { _NO_SPECIAL_REG32_mask.Remove(OptoReg::as_OptoReg(r27->as_VMReg())); _NO_SPECIAL_REG_mask.SUBTRACT(_HEAPBASE_REG_mask); _NO_SPECIAL_PTR_REG_mask.SUBTRACT(_HEAPBASE_REG_mask);