upgrade to jdk11.0.19-ga

This commit is contained in:
wanghao_hw 2023-05-09 08:53:01 +08:00
parent 50c2748f14
commit 26e038aa46
11 changed files with 6057 additions and 299 deletions

View File

@ -84,7 +84,7 @@ index 5fc5ee8..708e92c 100644
}; };
@@ -5127,8 +5122,7 @@ void CMSRefProcTaskProxy::work(uint worker_id) { @@ -5127,8 +5122,7 @@ void CMSRefProcTaskProxy::work(uint worker_id) {
CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map); CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map);
_task.work(worker_id, is_alive_closure, par_keep_alive, par_drain_stack); _task.work(worker_id, is_alive_closure, par_keep_alive, enqueue, par_drain_stack);
if (_task.marks_oops_alive()) { if (_task.marks_oops_alive()) {
- do_work_steal(worker_id, &par_drain_stack, &par_keep_alive, - do_work_steal(worker_id, &par_drain_stack, &par_keep_alive,
- _collector->hash_seed(worker_id)); - _collector->hash_seed(worker_id));

File diff suppressed because it is too large Load Diff

View File

@ -2764,9 +2764,9 @@ index 2f4b9faf0..10dd02f9f 100644
static int _file_count; static int _file_count;
networkStream *_stream; networkStream *_stream;
xmlStream *_xml; xmlStream *_xml;
@@ -97,10 +93,6 @@ class IdealGraphPrinter : public CHeapObj<mtCompiler> { @@ -98,10 +94,6 @@ class IdealGraphPrinter : public CHeapObj<mtCompiler> {
bool _traverse_outs;
Compile *C; Compile *C;
double _max_freq;
- static void pre_node(Node* node, void *env); - static void pre_node(Node* node, void *env);
- static void post_node(Node* node, void *env); - static void post_node(Node* node, void *env);

View File

@ -1,27 +0,0 @@
From 96ac09c507a663b853235c29a607aca2c1edfc10 Mon Sep 17 00:00:00 2001
Date: Mon, 2 Dec 2019 17:42:17 +0000
Subject: [PATCH] 8225648: [TESTBUG]java/lang/annotation/loaderLeak/Main.java
fails with -Xcomp
Summary: <loaderLeak>: annotations cause memory leak
LLT: NA
Bug url: https://bugs.openjdk.java.net/browse/JDK-8225648
---
test/jdk/java/lang/annotation/loaderLeak/Main.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/test/jdk/java/lang/annotation/loaderLeak/Main.java b/test/jdk/java/lang/annotation/loaderLeak/Main.java
index 58bd63b..aedbc2e 100644
--- a/test/jdk/java/lang/annotation/loaderLeak/Main.java
+++ b/test/jdk/java/lang/annotation/loaderLeak/Main.java
@@ -54,6 +54,7 @@ public class Main {
System.gc();
System.gc();
if (c.get() == null) throw new AssertionError();
+ Reference.reachabilityFence(loader);
System.gc();
System.gc();
loader = null;
--
2.12.3

View File

@ -2138,13 +2138,6 @@ diff --git a/src/hotspot/share/opto/type.hpp b/src/hotspot/share/opto/type.hpp
index a7eec281e..6787b947d 100644 index a7eec281e..6787b947d 100644
--- a/src/hotspot/share/opto/type.hpp --- a/src/hotspot/share/opto/type.hpp
+++ b/src/hotspot/share/opto/type.hpp +++ b/src/hotspot/share/opto/type.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -53,6 +53,7 @@ class TypeNarrowKlass; @@ -53,6 +53,7 @@ class TypeNarrowKlass;
class TypeAry; class TypeAry;
class TypeTuple; class TypeTuple;

View File

@ -1,145 +0,0 @@
diff --git a/src/hotspot/share/opto/stringopts.cpp b/src/hotspot/share/opto/stringopts.cpp
index e8e493bce..91a3c998e 100644
--- a/src/hotspot/share/opto/stringopts.cpp
+++ b/src/hotspot/share/opto/stringopts.cpp
@@ -1028,6 +1028,21 @@ bool StringConcat::validate_control_flow() {
fail = true;
break;
} else if (ptr->is_Proj() && ptr->in(0)->is_Initialize()) {
+ // Check for side effect between Initialize and the constructor
+ for (SimpleDUIterator iter(ptr); iter.has_next(); iter.next()) {
+ Node* use = iter.get();
+ if (!use->is_CFG() && !use->is_CheckCastPP() && !use->is_Load()) {
+#ifndef PRODUCT
+ if (PrintOptimizeStringConcat) {
+ tty->print_cr("unexpected control use of Initialize");
+ ptr->in(0)->dump(); // Initialize node
+ use->dump(1);
+ }
+#endif
+ fail = true;
+ break;
+ }
+ }
ptr = ptr->in(0)->in(0);
} else if (ptr->is_Region()) {
Node* copy = ptr->as_Region()->is_copy();
diff --git a/test/hotspot/jtreg/compiler/stringopts/SideEffectBeforeConstructor.jasm b/test/hotspot/jtreg/compiler/stringopts/SideEffectBeforeConstructor.jasm
new file mode 100644
index 000000000..cbc6d754b
--- /dev/null
+++ b/test/hotspot/jtreg/compiler/stringopts/SideEffectBeforeConstructor.jasm
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+super public class compiler/stringopts/SideEffectBeforeConstructor
+ version 51:0
+{
+ public static Field result:I;
+
+ static Method "<clinit>":"()V"
+ stack 2 locals 0
+ {
+ iconst_0;
+ putstatic Field result:"I";
+ return;
+ }
+ public Method "<init>":"()V"
+ stack 1 locals 1
+ {
+ aload_0;
+ invokespecial Method java/lang/Object."<init>":"()V";
+ return;
+ }
+
+ public static Method test:"(Ljava/lang/String;)V"
+ stack 4 locals 1
+ {
+ new class java/lang/StringBuffer;
+ dup;
+ getstatic Field result:"I";
+ iconst_1;
+ iadd;
+ putstatic Field result:"I";
+ aload_0;
+ invokespecial Method java/lang/StringBuffer."<init>":"(Ljava/lang/String;)V";
+ invokevirtual Method java/lang/StringBuffer.toString:"()Ljava/lang/String;";
+ return;
+ }
+}
diff --git a/test/hotspot/jtreg/compiler/stringopts/TestSideEffectBeforeConstructor.java b/test/hotspot/jtreg/compiler/stringopts/TestSideEffectBeforeConstructor.java
new file mode 100644
index 000000000..86c5eca1d
--- /dev/null
+++ b/test/hotspot/jtreg/compiler/stringopts/TestSideEffectBeforeConstructor.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8290705
+ * @summary Test correctness of the string concatenation optimization with
+ * a store between StringBuffer allocation and constructor invocation.
+ * @compile SideEffectBeforeConstructor.jasm
+ * @run main/othervm -Xbatch compiler.stringopts.TestSideEffectBeforeConstructor
+ */
+
+package compiler.stringopts;
+
+public class TestSideEffectBeforeConstructor {
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 100_000; ++i) {
+ try {
+ SideEffectBeforeConstructor.test(null);
+ } catch (NullPointerException npe) {
+ // Expected
+ }
+ }
+ if (SideEffectBeforeConstructor.result != 100_000) {
+ throw new RuntimeException("Unexpected result: " + SideEffectBeforeConstructor.result);
+ }
+ }
+}

View File

@ -220,7 +220,7 @@ index 41533e566..9fa545605 100644
+ endif + endif
+endif +endif
+ +
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(call isTargetOs, windows), true)
PLATFORM_MODULES += jdk.crypto.mscapi PLATFORM_MODULES += jdk.crypto.mscapi
endif endif
@@ -228,6 +234,13 @@ ifeq ($(ENABLE_AOT), false) @@ -228,6 +234,13 @@ ifeq ($(ENABLE_AOT), false)

View File

@ -290,9 +290,9 @@ index 94c79c9c2..780c09211 100644
/* /*
- * Copyright (c) 2019, Huawei Technologies Co. Ltd. All rights reserved. - * Copyright (c) 2019, Huawei Technologies Co. Ltd. All rights reserved.
+ * Copyright (c) 2019, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2019, Huawei Technologies Co., Ltd. All rights reserved.
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it
diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java diff --git a/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java b/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java
index 37be01524..5242adb43 100644 index 37be01524..5242adb43 100644
--- a/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java --- a/test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java
@ -367,4 +367,4 @@ index 000000000..85b49171c
--- /dev/null --- /dev/null
+++ b/version.txt +++ b/version.txt
@@ -0,0 +1 @@ @@ -0,0 +1 @@
+11.0.17.0.13 +11.0.19.0.13

View File

@ -120,14 +120,14 @@ index 122a01901..c131bd493 100644
+ File.separator + "security" + File.separator + "cacerts"; + File.separator + "security" + File.separator + "cacerts";
// The numbers of certs now. // The numbers of certs now.
- private static final int COUNT = 89; - private static final int COUNT = 90;
+ private static final int COUNT = 86; + private static final int COUNT = 87;
// SHA-256 of cacerts, can be generated with // SHA-256 of cacerts, can be generated with
// shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95 // shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95
private static final String CHECKSUM private static final String CHECKSUM
- = "CC:AD:BB:49:70:97:3F:42:AD:73:91:A0:A2:C4:B8:AA:D1:95:59:F3:B3:22:09:2A:1F:2C:AB:04:47:08:EF:AA"; - = "21:8C:35:29:4C:E2:49:D2:83:30:DF:8B:5E:39:F8:8C:D6:C5:2B:59:05:32:74:E5:79:A5:91:9F:3C:57:B9:E3";
+ = "89:78:5A:96:F4:B2:68:4C:91:C0:32:2C:ED:2D:6B:3B:26:B8:37:C3:07:DD:9E:50:87:53:53:7A:24:98:97:E0"; + = "D5:5B:7A:BD:8F:4A:DA:19:75:90:28:61:E7:40:6D:A2:54:F5:64:C0:F0:30:29:16:FB:46:9B:57:D5:F7:04:D7";
// map of cert alias to SHA-256 fingerprint // map of cert alias to SHA-256 fingerprint
@SuppressWarnings("serial") @SuppressWarnings("serial")

View File

@ -114,7 +114,7 @@
# New Version-String scheme-style defines # New Version-String scheme-style defines
%global majorver 11 %global majorver 11
%global securityver 17 %global securityver 19
# buildjdkver is usually same as %%{majorver}, # buildjdkver is usually same as %%{majorver},
# but in time of bootstrap of next jdk, it is majorver-1, # but in time of bootstrap of next jdk, it is majorver-1,
# and this it is better to change it here, on single place # and this it is better to change it here, on single place
@ -130,12 +130,12 @@
%global origin_nice OpenJDK %global origin_nice OpenJDK
%global top_level_dir_name %{origin} %global top_level_dir_name %{origin}
%global minorver 0 %global minorver 0
%global buildver 8 %global buildver 7
%global patchver 0 %global patchver 0
%global project jdk-updates %global project jdk-updates
%global repo jdk11u %global repo jdk11u
%global revision jdk-11.0.17-ga %global revision jdk-11.0.19-ga
%global full_revision %{project}-%{repo}-%{revision} %global full_revision %{project}-%{repo}-%{revision}
# priority must be 7 digits in total # priority must be 7 digits in total
# setting to 1, so debug ones can have 0 # setting to 1, so debug ones can have 0
@ -773,7 +773,7 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
URL: http://openjdk.java.net/ URL: http://openjdk.java.net/
Source0: %{full_revision}.tar.xz Source0: %{full_revision}.tar.gz
# Use 'icedtea_sync.sh' to update the following # Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (3.x). # They are based on code contained in the IcedTea project (3.x).
@ -801,7 +801,6 @@ Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
# #
############################################# #############################################
Patch2: 8225648-TESTBUG-java-lang-annotation-loaderLeak-Main.patch
Patch5: Add-ability-to-configure-third-port-for-remote-JMX.patch Patch5: Add-ability-to-configure-third-port-for-remote-JMX.patch
Patch6: 8214527-AArch64-ZGC-for-Aarch64.patch Patch6: 8214527-AArch64-ZGC-for-Aarch64.patch
Patch7: 8224675-Late-GC-barrier-insertion-for-ZGC.patch Patch7: 8224675-Late-GC-barrier-insertion-for-ZGC.patch
@ -875,8 +874,9 @@ Patch89: downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch
# 11.0.16 # 11.0.16
Patch90: fix_Internal_and_external_code_inconsistency.patch Patch90: fix_Internal_and_external_code_inconsistency.patch
Patch91: 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
# 11.0.18
Patch91: 8222289-Overhaul-logic-for-reading-writing-constant-pool-entries.patch
BuildRequires: elfutils-extra BuildRequires: elfutils-extra
BuildRequires: autoconf BuildRequires: autoconf
@ -1109,7 +1109,6 @@ fi
pushd %{top_level_dir_name} pushd %{top_level_dir_name}
# OpenJDK patches # OpenJDK patches
%patch2 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1 %patch6 -p1
%patch7 -p1 %patch7 -p1
@ -1678,6 +1677,18 @@ cjc.mainProgram(arg)
%changelog %changelog
* Mon May 08 2023 wanghao <wanghao564@huawei.com> - 1:11.0.19.7-0
- update to 11.0.19+7(GA)
- deleted 8225648-TESTBUG-java-lang-annotation-loaderLeak-Main.patch
- modified Add-KAE-implementation.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
- modified delete_expired_certificates.patch
- modified 8205921-Optimizing-best_of_2-work-stealing-queue-selection.patch
- add 8222289-Overhaul-logic-for-reading-writing-constant-pool-entries.patch
- modified 8224675-Late-GC-barrier-insertion-for-ZGC.patch
- modified 8231441-2-AArch64-Initial-SVE-backend-support.patch
- deleted 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
* Wed Oct 19 2022 DXwangg <wangjiawei80@huawei.com> - 1:11.0.17.8-0 * Wed Oct 19 2022 DXwangg <wangjiawei80@huawei.com> - 1:11.0.17.8-0
- update to 11.0.17+8(GA) - update to 11.0.17+8(GA)
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch - modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch