From 2a8db056f46bc88b816f3e1e5e8b583d202ababd Mon Sep 17 00:00:00 2001 From: gaoxiang90 Date: Tue, 29 Oct 2024 20:27:29 +0800 Subject: [PATCH] Backport JDK-8327963: incorrect result of C2 compiled code --- ...3-incorrect-result-of-C2-compiled-code.patch | 17 +++++++++++++++++ openjdk-17.spec | 7 ++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch diff --git a/Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch b/Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch new file mode 100755 index 0000000..7bc6569 --- /dev/null +++ b/Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch @@ -0,0 +1,17 @@ +diff --git a/src/hotspot/share/opto/macro.cpp b/src/hotspot/share/opto/macro.cpp +index 69596ac80..cc92be234 100644 +--- a/src/hotspot/share/opto/macro.cpp ++++ b/src/hotspot/share/opto/macro.cpp +@@ -1251,7 +1251,11 @@ void PhaseMacroExpand::expand_allocate_common( + if (!allocation_has_use) { + InitializeNode* init = alloc->initialization(); + if (init != nullptr) { +- init->remove(&_igvn); ++ MemBarCPUOrderNode* membar = new MemBarCPUOrderNode(C, C->get_alias_index(init->adr_type()), nullptr); ++ membar->init_req(TypeFunc::Control, init->in(TypeFunc::Control)); ++ membar->init_req(TypeFunc::Memory, init->in(TypeFunc::Memory)); ++ transform_later(membar); ++ _igvn.replace_node(init, membar); + } + if (expand_fast_path && (initial_slow_test == nullptr)) { + // Remove allocation node and return. diff --git a/openjdk-17.spec b/openjdk-17.spec index 0a708bc..42aa469 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -903,7 +903,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 0 +Release: 1 # 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 @@ -1039,6 +1039,7 @@ Patch66: Backport-of-8337712-Wrong-javadoc-in-java.util.Date-.patch #17.0.13 Patch67: Huawei-Fix-JBooster-file-issue-caused-by-os-write-change.patch +Patch68: Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch ############################################ # # LoongArch64 specific patches @@ -1321,6 +1322,7 @@ pushd %{top_level_dir_name} %patch65 -p1 %patch66 -p1 %patch67 -p1 +%patch68 -p1 popd # openjdk %endif @@ -1887,6 +1889,9 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Tue Oct 29 2024 gaoxiang - 1:17.0.13.11-1 +- add Backport-JDK-8327963-incorrect-result-of-C2-compiled-code.patch + * Wed Oct 16 2024 Benshuai5D - 1:17.0.13.11-0 - modify 8264805-Backport-Ahead-of-Time-Compiler.patch - modify 8264806-Backport-Graal-Compiler.patch -- Gitee