From b6305e4fb2a3df0ba7bc2bb26676e0bf2a73cd68 Mon Sep 17 00:00:00 2001 From: DXwangg Date: Tue, 15 Jul 2025 14:18:53 +0800 Subject: [PATCH] AArch64: Incorrect matching rule leading to improper oop instruction encoding --- huawei-AArch64-Incorrect-matching-rule.patch | 22 ++++++++++++++++++++ openjdk-1.8.0.spec | 7 ++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 huawei-AArch64-Incorrect-matching-rule.patch diff --git a/huawei-AArch64-Incorrect-matching-rule.patch b/huawei-AArch64-Incorrect-matching-rule.patch new file mode 100644 index 0000000..2bf8be8 --- /dev/null +++ b/huawei-AArch64-Incorrect-matching-rule.patch @@ -0,0 +1,22 @@ +--- + hotspot/src/cpu/aarch64/vm/aarch64.ad | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hotspot/src/cpu/aarch64/vm/aarch64.ad b/hotspot/src/cpu/aarch64/vm/aarch64.ad +index d73d5d457..347c29263 100644 +--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad ++++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad +@@ -4315,8 +4315,8 @@ operand immPollPage() + operand immByteMapBase() + %{ + // Get base of card map +- predicate((jbyte*)n->get_ptr() == +- ((CardTableModRefBS*)(Universe::heap()->barrier_set()))->byte_map_base); ++ predicate(n->get_ptr_type()->isa_rawptr() != NULL && ++ (jbyte*)n->get_ptr() == ((CardTableModRefBS*)(Universe::heap()->barrier_set()))->byte_map_base); + match(ConP); + + op_cost(0); +-- +2.34.1 + diff --git a/openjdk-1.8.0.spec b/openjdk-1.8.0.spec index ee33d1c..2005a4f 100644 --- a/openjdk-1.8.0.spec +++ b/openjdk-1.8.0.spec @@ -953,7 +953,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 7 +Release: 8 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -1380,6 +1380,7 @@ Patch465: Add-JitProfileCache-feature.patch Patch466: jprofilecache-should-set-log-permission.patch Patch467: set-JProfilecache-feature-experimental.patch Patch468: 8151920-Region-liveness-printing-is-broken.patch +Patch469: huawei-AArch64-Incorrect-matching-rule.patch ############################################# # @@ -2066,6 +2067,7 @@ pushd %{top_level_dir_name} %patch466 -p1 %patch467 -p1 %patch468 -p1 +%patch469 -p1 %endif %ifarch loongarch64 @@ -3052,6 +3054,9 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %endif %changelog +* Tue July 15 2025 DXwangg -1:1.8.0.452.b09-8 +- add huawei-AArch64-Incorrect-matching-rule.patch + * Mon Jun 30 2025 neu-mobi -1:1.8.0.452.b09-7 - add 8151920-Region-liveness-printing-is-broken.patch -- Gitee