Subject: [PATCH] Backport JDK-8361892: AArch64: Incorrect matching rule
 leading to improper oop instruction encoding

---
 src/hotspot/cpu/aarch64/aarch64.ad | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad
index 015bfabc2..6932dd8df 100644
--- a/src/hotspot/cpu/aarch64/aarch64.ad
+++ b/src/hotspot/cpu/aarch64/aarch64.ad
@@ -4694,6 +4694,7 @@ operand immByteMapBase()
 %{
   // Get base of card map
   predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
+            n->get_ptr_type()->isa_rawptr() != nullptr &&
             (CardTable::CardValue*)n->get_ptr() == ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
   match(ConP);
 
-- 
2.34.1