diff --git a/8264805-Backport-Ahead-of-Time-Compiler.patch b/8264805-Backport-Ahead-of-Time-Compiler.patch index 82af69170c69aca6e5d7250486c9a9903672ce8d..52f8d5de6660bff68d5f3cb784115e1a264cdca4 100644 --- a/8264805-Backport-Ahead-of-Time-Compiler.patch +++ b/8264805-Backport-Ahead-of-Time-Compiler.patch @@ -20,8 +20,8 @@ .../cpu/aarch64/compiledIC_aot_aarch64.cpp | 104 ++ .../c1/shenandoahBarrierSetC1_aarch64.cpp | 4 +- .../cpu/aarch64/macroAssembler_aarch64.hpp | 6 +- - .../cpu/aarch64/nativeInst_aarch64.cpp | 17 +- - .../cpu/aarch64/nativeInst_aarch64.hpp | 14 +- + .../cpu/aarch64/nativeInst_aarch64.cpp | 15 +- + .../cpu/aarch64/nativeInst_aarch64.hpp | 12 +- .../cpu/aarch64/sharedRuntime_aarch64.cpp | 16 +- .../templateInterpreterGenerator_aarch64.cpp | 6 +- .../cpu/aarch64/templateTable_aarch64.cpp | 10 +- @@ -377,7 +377,7 @@ test/jtreg-ext/requires/VMProps.java | 42 + test/lib/jdk/test/whitebox/WhiteBox.java | 3 + test/lib/jdk/test/whitebox/code/CodeBlob.java | 10 +- - 378 files changed, 27158 insertions(+), 310 deletions(-) + 378 files changed, 27156 insertions(+), 308 deletions(-) create mode 100644 make/modules/jdk.aot/Java.gmk create mode 100644 make/modules/jdk.aot/Launcher.gmk create mode 100644 src/hotspot/cpu/aarch64/compiledIC_aot_aarch64.cpp @@ -1663,14 +1663,13 @@ index c75c65f66..90c36a115 100644 +++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp @@ -1,6 +1,6 @@ /* -- * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved. -+ * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2023, Red Hat Inc. 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 -@@ -496,9 +496,16 @@ bool NativeInstruction::is_stop() { +@@ -490,9 +490,16 @@ bool NativeInstruction::is_stop() { void NativeJump::patch_verified_entry(address entry, address verified_entry, address dest) { assert(dest == SharedRuntime::get_handle_wrong_method_stub(), "expected fixed destination of patch"); @@ -1696,14 +1695,13 @@ index 243bf6c68..60dc3be3a 100644 +++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp @@ -1,6 +1,6 @@ /* -- * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2014, 2108, Red Hat Inc. All rights reserved. -+ * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2023, Red Hat Inc. 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 -@@ -235,6 +235,16 @@ public: +@@ -236,6 +236,16 @@ public: return is_call_at(return_address - NativeCall::return_address_offset); } diff --git a/8314236-Overflow-in-Collections.rotate.patch b/8314236-Overflow-in-Collections.rotate.patch deleted file mode 100644 index 9e3bf5e17332f7ebd052a5409b86032f0d3992be..0000000000000000000000000000000000000000 --- a/8314236-Overflow-in-Collections.rotate.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 99dde5664ec2941f6744391b3effb9466146c9df Mon Sep 17 00:00:00 2001 -Subject: 8314236: Overflow in Collections.rotate ---- - .../share/classes/java/util/Collections.java | 9 +- - .../jdk/java/util/Collections/RotateHuge.java | 83 +++++++++++++++++++ - 2 files changed, 88 insertions(+), 4 deletions(-) - create mode 100644 test/jdk/java/util/Collections/RotateHuge.java - -diff --git a/src/java.base/share/classes/java/util/Collections.java b/src/java.base/share/classes/java/util/Collections.java -index 473de05f9..31e83060e 100644 ---- a/src/java.base/share/classes/java/util/Collections.java -+++ b/src/java.base/share/classes/java/util/Collections.java -@@ -792,15 +792,16 @@ public class Collections { - if (distance == 0) - return; - -- for (int cycleStart = 0, nMoved = 0; nMoved != size; cycleStart++) { -+ int bound = size - distance; -+ for (int cycleStart = 0, nMoved = 0; nMoved < size; cycleStart++) { - T displaced = list.get(cycleStart); - int i = cycleStart; - do { -- i += distance; -- if (i >= size) -+ if (i >= bound) - i -= size; -+ i += distance; - displaced = list.set(i, displaced); -- nMoved ++; -+ nMoved++; - } while (i != cycleStart); - } - } -diff --git a/test/jdk/java/util/Collections/RotateHuge.java b/test/jdk/java/util/Collections/RotateHuge.java -new file mode 100644 -index 000000000..44368aff2 ---- /dev/null -+++ b/test/jdk/java/util/Collections/RotateHuge.java -@@ -0,0 +1,83 @@ -+/* -+ * Copyright (c) 2023, 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 8314236 -+ * @summary Overflow in Collections.rotate -+ */ -+ -+import java.util.AbstractList; -+import java.util.Collections; -+import java.util.List; -+import java.util.Objects; -+import java.util.RandomAccess; -+ -+public class RotateHuge { -+ -+ private static final class MockList extends AbstractList -+ implements RandomAccess { -+ private final int size; -+ -+ public MockList(final int size) { -+ if (size < 0) -+ throw new IllegalArgumentException("Illegal size: " + size); -+ this.size = size; -+ } -+ -+ @Override -+ public Object get(final int index) { -+ Objects.checkIndex(index, size); -+ return null; -+ } -+ -+ @Override -+ public Object set(final int index, final Object element) { -+ Objects.checkIndex(index, size); -+ return null; -+ } -+ -+ @Override -+ public int size() { -+ return size; -+ } -+ } -+ -+ public static void main(final String[] args) { -+ testRotate((1 << 30) + 1, -(1 << 30) - 2); -+ testRotate((1 << 30) + 1, 1 << 30); -+ testRotate(Integer.MAX_VALUE, Integer.MIN_VALUE); -+ testRotate(Integer.MAX_VALUE, Integer.MIN_VALUE + 3); -+ testRotate(Integer.MAX_VALUE, 2); -+ testRotate(Integer.MAX_VALUE, Integer.MAX_VALUE - 1); -+ } -+ -+ /* -+ * This test covers only index computations. -+ * Correctness of elements rotation is not checked. -+ */ -+ private static void testRotate(final int size, final int distance) { -+ final List list = new MockList(size); -+ Collections.rotate(list, distance); -+ } -+} --- -2.22.0 - diff --git a/8352716-tz-Update-Timezone-Data-to-2025b.patch b/8352716-tz-Update-Timezone-Data-to-2025b.patch deleted file mode 100644 index d2aaa6030d30f02c1fca8981eac6f5ed4e6d2916..0000000000000000000000000000000000000000 --- a/8352716-tz-Update-Timezone-Data-to-2025b.patch +++ /dev/null @@ -1,243 +0,0 @@ -From d6e7911fd4f410152a56d1e6e2c0b5b3d5849c79 Mon Sep 17 00:00:00 2001 -From: wulongyao -Date: Tue, 29 Apr 2025 14:06:41 +0800 -Subject: [PATCH] 8352716: (tz) Update Timezone Data to 2025b - ---- - make/data/tzdata/VERSION | 2 +- - make/data/tzdata/asia | 12 ++- - make/data/tzdata/northamerica | 9 ++ - make/data/tzdata/southamerica | 86 +++++++++++++++---- - make/data/tzdata/zone.tab | 3 +- - .../java/util/TimeZone/TimeZoneData/VERSION | 2 +- - 6 files changed, 94 insertions(+), 20 deletions(-) - -diff --git a/make/data/tzdata/VERSION b/make/data/tzdata/VERSION -index 9c056fac3..4bd54efbc 100644 ---- a/make/data/tzdata/VERSION -+++ b/make/data/tzdata/VERSION -@@ -21,4 +21,4 @@ - # or visit www.oracle.com if you need additional information or have any - # questions. - # --tzdata2025a -+tzdata2025b -diff --git a/make/data/tzdata/asia b/make/data/tzdata/asia -index b0a6fa01d..55b13134f 100644 ---- a/make/data/tzdata/asia -+++ b/make/data/tzdata/asia -@@ -1523,6 +1523,16 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov - # (UIT No. 143 17.XI.1977) and not 23 September (UIT No. 141 13.IX.1977). - # UIT is the Operational Bulletin of International Telecommunication Union. - -+# From Roozbeh Pournader (2025-03-18): -+# ... the exact time of Iran's transition from +0400 to +0330 ... was Friday -+# 1357/8/19 AP=1978-11-10. Here's a newspaper clip from the Ettela'at -+# newspaper, dated 1357/8/14 AP=1978-11-05, translated from Persian -+# (at https://w.wiki/DUEY): -+# Following the government's decision about returning the official time -+# to the previous status, the spokesperson for the Ministry of Energy -+# announced today: At the hour 24 of Friday 19th of Aban (=1978-11-10), -+# the country's time will be pulled back half an hour. -+# - # From Roozbeh Pournader (2003-03-15): - # This is an English translation of what I just found (originally in Persian). - # The Gregorian dates in brackets are mine: -@@ -1650,7 +1660,7 @@ Rule Iran 2021 2022 - Sep 21 24:00 0 - - Zone Asia/Tehran 3:25:44 - LMT 1916 - 3:25:44 - TMT 1935 Jun 13 # Tehran Mean Time - 3:30 Iran %z 1977 Oct 20 24:00 -- 4:00 Iran %z 1979 -+ 4:00 Iran %z 1978 Nov 10 24:00 - 3:30 Iran %z - - -diff --git a/make/data/tzdata/northamerica b/make/data/tzdata/northamerica -index 0a54e63be..21f178ee8 100644 ---- a/make/data/tzdata/northamerica -+++ b/make/data/tzdata/northamerica -@@ -1634,6 +1634,15 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9 - # For more on Orillia, see: Daubs K. Bold attempt at daylight saving - # time became a comic failure in Orillia. Toronto Star 2017-07-08. - # https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html -+# From Paul Eggert (2025-03-20): -+# Also see the 1912-06-17 front page of The Evening Sunbeam, -+# reproduced in: Richardson M. "Daylight saving was a confusing -+# time in Orillia" in the 2025-03-15 Orillia Matters. Richardson writes, -+# "The first Sunday after the switch was made, [DST proponent and -+# Orillia mayor William Sword] Frost walked into church an hour late. -+# This became a symbol of the downfall of daylight saving in Orillia." -+# The mayor became known as "Daylight Bill". -+# https://www.orilliamatters.com/local-news/column-daylight-saving-was-a-confusing-time-in-orillia-10377529 - - # From Mark Brader (2010-03-06): - # -diff --git a/make/data/tzdata/southamerica b/make/data/tzdata/southamerica -index 0a5859600..ca3c33859 100644 ---- a/make/data/tzdata/southamerica -+++ b/make/data/tzdata/southamerica -@@ -1269,35 +1269,45 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 - # dates to 2014. - # DST End: last Saturday of April 2014 (Sun 27 Apr 2014 03:00 UTC) - # DST Start: first Saturday of September 2014 (Sun 07 Sep 2014 04:00 UTC) --# http://www.diariooficial.interior.gob.cl//media/2014/02/19/do-20140219.pdf -+# From Tim Parenti (2025-03-22): -+# Decreto 307 of 2014 of the Ministry of the Interior and Public Security, -+# promulgated 2014-01-30 and published 2014-02-19: -+# https://www.diariooficial.interior.gob.cl/media/2014/02/19/do-20140219.pdf#page=1 -+# https://www.bcn.cl/leychile/navegar?idNorma=1059557 - - # From Eduardo Romero Urra (2015-03-03): - # Today has been published officially that Chile will use the DST time - # permanently until March 25 of 2017 --# http://www.diariooficial.interior.gob.cl/media/2015/03/03/1-large.jpg --# --# From Paul Eggert (2015-03-03): --# For now, assume that the extension will persist indefinitely. -+# From Tim Parenti (2025-03-22): -+# Decreto 106 of 2015 of the Ministry of the Interior and Public Security, -+# promulgated 2015-01-27 and published 2015-03-03: -+# https://www.diariooficial.interior.gob.cl/media/2015/03/03/do-20150303.pdf#page=1 -+# https://www.bcn.cl/leychile/navegar?idNorma=1075157 - - # From Juan Correa (2016-03-18): --# The decree regarding DST has been published in today's Official Gazette: --# http://www.diariooficial.interior.gob.cl/versiones-anteriores/do/20160318/ --# http://www.leychile.cl/Navegar?idNorma=1088502 -+# The decree regarding DST has been published in today's Official Gazette... - # It does consider the second Saturday of May and August as the dates - # for the transition; and it lists DST dates until 2019, but I think - # this scheme will stick. --# - # From Paul Eggert (2016-03-18): --# For now, assume the pattern holds for the indefinite future. - # The decree says transitions occur at 24:00; in practice this appears - # to mean 24:00 mainland time, not 24:00 local time, so that Easter - # Island is always two hours behind the mainland. -+# From Tim Parenti (2025-03-22): -+# Decreto 253 of 2016 of the Ministry of the Interior and Public Security, -+# promulgated 2016-03-16 and published 2016-03-18. -+# https://www.diariooficial.interior.gob.cl/media/2016/03/18/do-20160318.pdf#page=1 -+# https://www.bcn.cl/leychile/navegar?idNorma=1088502 - - # From Juan Correa (2016-12-04): - # Magallanes region ... will keep DST (UTC -3) all year round.... - # http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx --# From Deborah Goldsmith (2017-01-19): --# http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf -+# From Tim Parenti (2025-03-22), via Deborah Goldsmith (2017-01-19): -+# Decreto 1820 of 2016 of the Ministry of the Interior and Public Security, -+# promulgated 2016-12-02 and published 2017-01-17: -+# https://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf -+# https://www.bcn.cl/leychile/Navegar?idNorma=1099217 -+# Model this as a change to standard offset effective 2016-12-04. - - # From Juan Correa (2018-08-13): - # As of moments ago, the Ministry of Energy in Chile has announced the new -@@ -1316,13 +1326,20 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 - # https://twitter.com/MinEnergia/status/1029009354001973248 - # "We will keep the new time policy unchanged for at least the next 4 years." - # So we extend the new rules on Saturdays at 24:00 mainland time indefinitely. --# From Juan Correa (2019-02-04): --# http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf -+# From Tim Parenti (2025-03-22), via Juan Correa (2019-02-04): -+# Decreto 1286 of 2018 of the Ministry of the Interior and Public Security, -+# promulgated 2018-09-21 and published 2018-11-23: -+# https://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf -+# https://www.bcn.cl/leychile/Navegar?idNorma=1125760 - - # From Juan Correa (2022-04-02): - # I found there was a decree published last Thursday that will keep --# Magallanes region to UTC -3 "indefinitely". The decree is available at -+# Magallanes region to UTC -3 "indefinitely". -+# From Tim Parenti (2025-03-22): -+# Decreto 143 of 2022 of the Ministry of the Interior and Public Security, -+# promulgated 2022-03-29 and published 2022-03-31: - # https://www.diariooficial.interior.gob.cl/publicaciones/2022/03/31/43217-B/01/2108910.pdf -+# https://www.bcn.cl/leychile/Navegar?idNorma=1174342 - - # From Juan Correa (2022-08-09): - # the Internal Affairs Ministry (Ministerio del Interior) informed DST -@@ -1331,13 +1348,36 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 - # will keep UTC -3 "indefinitely"... This is because on September 4th - # we will have a voting whether to approve a new Constitution. - # --# From Eduardo Romero Urra (2022-08-17): -+# From Tim Parenti (2025-03-22), via Eduardo Romero Urra (2022-08-17): -+# Decreto 224 of 2022 of the Ministry of the Interior and Public Security, -+# promulgated 2022-07-14 and published 2022-08-13: - # https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf -+# https://www.bcn.cl/leychile/navegar?idNorma=1179983 - # - # From Paul Eggert (2022-08-17): - # Although the presidential decree stops at fall 2026, assume that - # similar DST rules will continue thereafter. - -+# From Paul Eggert (2025-01-15): -+# Diario Regional Aysén's Sebastián Martel reports that 94% of Aysén -+# citizens polled in November favored changing the rules from -+# -04/-03-with-DST to -03 all year... -+# https://www.diarioregionalaysen.cl/noticia/actualidad/2024/12/presentan-decision-que-gano-la-votacion-sobre-el-cambio-del-huso-horario-en-aysen -+# -+# From Yonathan Dossow (2025-03-20): -+# [T]oday we have more confirmation of the change. [Aysén] region will keep -+# UTC-3 all year... -+# https://www.cnnchile.com/pais/region-de-aysen-mantendra-horario-de-verano-todo-el-ano_20250320/ -+# https://www.latercera.com/nacional/noticia/tras-consulta-ciudadana-region-de-aysen-mantendra-el-horario-de-verano-durante-todo-el-ano/ -+# https://x.com/min_interior/status/1902692504270672098 -+# -+# From Tim Parenti (2025-03-22), via Eduardo Romero Urra (2025-03-20): -+# Decreto 93 of 2025 of the Ministry of the Interior and Public Security, -+# promulgated 2025-03-11 and published 2025-03-20: -+# https://www.diariooficial.interior.gob.cl/publicaciones/2025/03/20/44104/01/2624263.pdf -+# https://www.bcn.cl/leychile/Navegar?idNorma=1211955 -+# Model this as a change to standard offset effective 2025-03-20. -+ - # Rule NAME FROM TO - IN ON AT SAVE LETTER/S - Rule Chile 1927 1931 - Sep 1 0:00 1:00 - - Rule Chile 1928 1932 - Apr 1 0:00 0 - -@@ -1394,6 +1434,20 @@ Zone America/Santiago -4:42:45 - LMT 1890 - -5:00 1:00 %z 1947 Mar 31 24:00 - -5:00 - %z 1947 May 21 23:00 - -4:00 Chile %z -+Zone America/Coyhaique -4:48:16 - LMT 1890 -+ -4:42:45 - SMT 1910 Jan 10 -+ -5:00 - %z 1916 Jul 1 -+ -4:42:45 - SMT 1918 Sep 10 -+ -4:00 - %z 1919 Jul 1 -+ -4:42:45 - SMT 1927 Sep 1 -+ -5:00 Chile %z 1932 Sep 1 -+ -4:00 - %z 1942 Jun 1 -+ -5:00 - %z 1942 Aug 1 -+ -4:00 - %z 1946 Aug 28 24:00 -+ -5:00 1:00 %z 1947 Mar 31 24:00 -+ -5:00 - %z 1947 May 21 23:00 -+ -4:00 Chile %z 2025 Mar 20 -+ -3:00 - %z - Zone America/Punta_Arenas -4:43:40 - LMT 1890 - -4:42:45 - SMT 1910 Jan 10 - -5:00 - %z 1916 Jul 1 -diff --git a/make/data/tzdata/zone.tab b/make/data/tzdata/zone.tab -index e7a4868c3..c8fc60104 100644 ---- a/make/data/tzdata/zone.tab -+++ b/make/data/tzdata/zone.tab -@@ -162,7 +162,8 @@ CH +4723+00832 Europe/Zurich - CI +0519-00402 Africa/Abidjan - CK -2114-15946 Pacific/Rarotonga - CL -3327-07040 America/Santiago most of Chile --CL -5309-07055 America/Punta_Arenas Region of Magallanes -+CL -4534-07204 America/Coyhaique Aysen Region -+CL -5309-07055 America/Punta_Arenas Magallanes Region - CL -2709-10926 Pacific/Easter Easter Island - CM +0403+00942 Africa/Douala - CN +3114+12128 Asia/Shanghai Beijing Time -diff --git a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION -index 5159b3786..750d9fae2 100644 ---- a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION -+++ b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION -@@ -1 +1 @@ --tzdata2025a -+tzdata2025b --- -2.47.0.windows.2 - diff --git a/Apply-TBI-to-ZGC-of-JDK17.patch b/Apply-TBI-to-ZGC-of-JDK17.patch index a960c1c0005216b0c06e7f706a409f5e0fd0ede9..ac0da427ee7b5bd08fe3f016759c01f5d785cd5d 100644 --- a/Apply-TBI-to-ZGC-of-JDK17.patch +++ b/Apply-TBI-to-ZGC-of-JDK17.patch @@ -489,9 +489,9 @@ diff --git a/src/hotspot/cpu/aarch64/globalDefinitions_aarch64.hpp b/src/hotspot index 3c779bb11..4a2af011f 100644 --- a/src/hotspot/cpu/aarch64/globalDefinitions_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/globalDefinitions_aarch64.hpp -@@ -67,4 +67,7 @@ const bool CCallingConventionRequiresIntsAsLongs = false; - #define NOT_R18_RESERVED(code) code - #endif +@@ -69,4 +69,7 @@ const bool CCallingConventionRequiresIntsAsLongs = false; + + #define USE_TRAMPOLINE_STUB_FIX_OWNER +#define CLEAR_TOP_BYTE(addr) ((addr) & ((1UL << 56) - 1)) +#define CLEAR_COLOR_BITS(addr) (UseTBI ? CLEAR_TOP_BYTE(addr) : (addr)) diff --git a/Backport-Important-Fixed-Issues.patch b/Backport-Important-Fixed-Issues.patch index eb174ce5e5038977ba5a6b17abfafde45d810213..72902f48cbf93a0088340bf35c2bae0686f4a48e 100644 --- a/Backport-Important-Fixed-Issues.patch +++ b/Backport-Important-Fixed-Issues.patch @@ -1,13 +1,10 @@ --- src/hotspot/cpu/aarch64/assembler_aarch64.cpp | 20 ++ src/hotspot/cpu/aarch64/assembler_aarch64.hpp | 13 +- - src/hotspot/os/linux/osContainer_linux.cpp | 2 +- src/hotspot/os/linux/os_perf_linux.cpp | 2 +- - src/hotspot/share/c1/c1_globals.hpp | 6 +- src/hotspot/share/gc/parallel/psScavenge.cpp | 8 +- .../recorder/checkpoint/types/jfrTypeSet.cpp | 2 +- src/hotspot/share/opto/c2compiler.cpp | 1 + - src/hotspot/share/opto/compile.cpp | 2 +- src/hotspot/share/opto/library_call.cpp | 11 +- src/hotspot/share/opto/loopPredicate.cpp | 2 +- src/hotspot/share/opto/loopopts.cpp | 6 +- @@ -22,20 +19,16 @@ .../swing/plaf/basic/BasicDirectoryModel.java | 103 ++++----- .../classes/javax/swing/text/html/CSS.java | 6 +- .../jdk/internal/net/http/common/Utils.java | 10 +- - .../share/native/libj2gss/GSSLibStub.c | 10 +- .../com/sun/tools/javac/comp/Annotate.java | 7 +- .../sun/tools/javac/comp/DeferredAttr.java | 5 +- .../classes/sun/security/pkcs11/P11Key.java | 9 +- - .../sun/jvmstat/monitor/MonitoredHost.java | 16 +- .../arraycopy/TestArrayCopyOfRangeGuards.java | 61 +++++ .../TestCountedLoopMinJintStride.java | 64 ++++++ .../TestSplitDivThroughPhiWithControl.java | 210 ++++++++++++++++++ - .../containers/docker/TestContainerInfo.java | 97 ++++++++ .../java/awt/image/BufferedImage/SetData.java | 114 ++++++++++ .../net/httpclient/HttpClientBuilderTest.java | 19 +- .../File/SMFInterruptedRunningStatus.java | 143 ++++++++++++ .../jfr/api/consumer/TestRecordedClass.java | 115 ++++++++++ - .../ConcurrentGetMonitoredHost.java | 90 ++++++++ .../sun/security/jca/NullPreferredList.java | 41 ++++ .../sun/security/jca/app-security.properties | 1 + test/langtools/tools/javac/T8320144.java | 19 ++ @@ -47,11 +40,9 @@ create mode 100644 test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyOfRangeGuards.java create mode 100644 test/hotspot/jtreg/compiler/predicates/TestCountedLoopMinJintStride.java create mode 100644 test/hotspot/jtreg/compiler/splitif/TestSplitDivThroughPhiWithControl.java - create mode 100644 test/hotspot/jtreg/containers/docker/TestContainerInfo.java create mode 100644 test/jdk/java/awt/image/BufferedImage/SetData.java create mode 100644 test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java create mode 100644 test/jdk/jdk/jfr/api/consumer/TestRecordedClass.java - create mode 100644 test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java create mode 100644 test/jdk/sun/security/jca/NullPreferredList.java create mode 100644 test/jdk/sun/security/jca/app-security.properties create mode 100644 test/langtools/tools/javac/T8320144.java @@ -63,7 +54,7 @@ diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.cpp b/src/hotspot/cpu/aar index d31f63883..ca033b71a 100644 --- a/src/hotspot/cpu/aarch64/assembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/assembler_aarch64.cpp -@@ -156,6 +156,26 @@ void Assembler::adrp(Register reg1, const Address &dest, uint64_t &byte_offset) +@@ -165,6 +165,26 @@ void Assembler::adrp(Register reg1, const Address &dest, uint64_t &byte_offset) rf(Rd, 0); } @@ -87,14 +78,14 @@ index d31f63883..ca033b71a 100644 + } +} + - #undef starti - - Address::Address(address target, relocInfo::relocType rtype) : _mode(literal){ + // An "all-purpose" add/subtract immediate, per ARM documentation: + // A "programmer-friendly" assembler may accept a negative immediate + // between -(2^24 -1) and -1 inclusive, causing it to convert a diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp index 1fea866cc..313c22318 100644 --- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp -@@ -763,6 +763,8 @@ public: +@@ -731,6 +731,8 @@ public: void adrp(Register Rd, const Address &dest, uint64_t &offset); @@ -102,14 +93,14 @@ index 1fea866cc..313c22318 100644 + #undef INSN - void add_sub_immediate(Register Rd, Register Rn, unsigned uimm, int op, -@@ -1498,17 +1500,6 @@ public: + void add_sub_immediate(Instruction_aarch64 ¤t_insn, Register Rd, Register Rn, +@@ -1467,17 +1469,6 @@ public: #undef INSN -#define INSN(NAME, size, op) \ - void NAME(const Address &adr, prfop pfop = PLDL1KEEP) { \ -- ld_st2((Register)pfop, adr, size, op); \ +- ld_st2(as_Register(pfop), adr, size, op); \ - } - - INSN(prfm, 0b11, 0b10); // FIXME: PRFM should not be used with @@ -120,44 +111,7 @@ index 1fea866cc..313c22318 100644 - #define INSN(NAME, size, op) \ void NAME(FloatRegister Rt, const Address &adr) { \ - ld_st2((Register)Rt, adr, size, op, 1); \ -diff --git a/src/hotspot/os/linux/osContainer_linux.cpp b/src/hotspot/os/linux/osContainer_linux.cpp -index 52e6ab86c..88a9289b9 100644 ---- a/src/hotspot/os/linux/osContainer_linux.cpp -+++ b/src/hotspot/os/linux/osContainer_linux.cpp -@@ -138,7 +138,7 @@ jlong OSContainer::pids_current() { - - void OSContainer::print_container_helper(outputStream* st, jlong j, const char* metrics) { - st->print("%s: ", metrics); -- if (j > 0) { -+ if (j >= 0) { - if (j >= 1024) { - st->print_cr(UINT64_FORMAT " k", uint64_t(j) / 1024); - } else { -diff --git a/src/hotspot/share/c1/c1_globals.hpp b/src/hotspot/share/c1/c1_globals.hpp -index 7564b2b8a..41d4607f8 100644 ---- a/src/hotspot/share/c1/c1_globals.hpp -+++ b/src/hotspot/share/c1/c1_globals.hpp -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2000, 2023, 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 -@@ -287,9 +287,11 @@ - develop(bool, InstallMethods, true, \ - "Install methods at the end of successful compilations") \ - \ -+ /* The compiler assumes, in many places, that methods are at most 1MB. */ \ -+ /* Therefore, we restrict this flag to at most 1MB. */ \ - develop(intx, NMethodSizeLimit, (64*K)*wordSize, \ - "Maximum size of a compiled method.") \ -- range(0, max_jint) \ -+ range(0, 1*M) \ - \ - develop(bool, TraceFPUStack, false, \ - "Trace emulation of the FPU stack (intel only)") \ + ld_st2(as_Register(Rt), adr, size, op, 1); \ diff --git a/src/hotspot/share/gc/parallel/psScavenge.cpp b/src/hotspot/share/gc/parallel/psScavenge.cpp index 98ab42022..56ed8a5dd 100644 --- a/src/hotspot/share/gc/parallel/psScavenge.cpp @@ -198,19 +152,6 @@ index 13de7651e..411733814 100644 // Attempt to compile while subsuming loads into machine instructions. Compile C(env, target, entry_bci, subsume_loads, do_escape_analysis, eliminate_boxing, do_locks_coarsening, install_code, directive); -diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp -index 10ab50369..5d1422519 100644 ---- a/src/hotspot/share/opto/compile.cpp -+++ b/src/hotspot/share/opto/compile.cpp -@@ -4610,7 +4610,7 @@ void Compile::remove_speculative_types(PhaseIterGVN &igvn) { - const Type* t_no_spec = t->remove_speculative(); - if (t_no_spec != t) { - bool in_hash = igvn.hash_delete(n); -- assert(in_hash, "node should be in igvn hash table"); -+ assert(in_hash || n->hash() == Node::NO_HASH, "node should be in igvn hash table"); - tn->set_type(t_no_spec); - igvn.hash_insert(n); - igvn._worklist.push(n); // give it a chance to go away diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp index c52f24834..d732c706e 100644 --- a/src/hotspot/share/opto/library_call.cpp @@ -646,39 +587,6 @@ index a3f6a11aa..0955bdffe 100644 return p1; } -diff --git a/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c b/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c -index d6e1712a2..cc9e8c3cb 100644 ---- a/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c -+++ b/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2005, 2024, 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 -@@ -197,7 +197,10 @@ gss_channel_bindings_t newGSSCB(JNIEnv *env, jobject jcb) { - return GSS_C_NO_CHANNEL_BINDINGS; - } - -- cb = malloc(sizeof(struct gss_channel_bindings_struct)); -+ // initialize cb as zeroes to avoid uninitialized pointer being -+ // freed when deleteGSSCB is called at cleanup. -+ cb = calloc(1, sizeof(struct gss_channel_bindings_struct)); -+ - if (cb == NULL) { - throwOutOfMemoryError(env,NULL); - return NULL; -@@ -217,9 +220,6 @@ gss_channel_bindings_t newGSSCB(JNIEnv *env, jobject jcb) { - cb->initiator_addrtype = GSS_C_AF_NULLADDR; - cb->acceptor_addrtype = GSS_C_AF_NULLADDR; - } -- // addresses needs to be initialized to empty -- memset(&cb->initiator_address, 0, sizeof(cb->initiator_address)); -- memset(&cb->acceptor_address, 0, sizeof(cb->acceptor_address)); - - /* set up initiator address */ - jinetAddr = (*env)->CallObjectMethod(env, jcb, diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java index 2561ae38f..bafbdb5a6 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java @@ -749,54 +657,6 @@ index d12244337..f3c7fdf99 100644 } else { if (cnt < 0) { // should never happen as we start count at 1 and pair get/release calls -diff --git a/src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredHost.java b/src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredHost.java -index b119a0045..fafcce1c4 100644 ---- a/src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredHost.java -+++ b/src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredHost.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2004, 2023, 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 -@@ -50,7 +50,7 @@ import sun.jvmstat.monitor.event.HostListener; - * @see HostListener - */ - public abstract class MonitoredHost { -- private static Map monitoredHosts = -+ private static final Map monitoredHosts = - new HashMap(); - - /* -@@ -133,13 +133,6 @@ public abstract class MonitoredHost { - return getMonitoredHost(hostId); - } - -- -- /* -- * Load the MonitoredHostServices -- */ -- private static ServiceLoader monitoredHostServiceLoader = -- ServiceLoader.load(MonitoredHostService.class, MonitoredHostService.class.getClassLoader()); -- - /** - * Factory method to construct a MonitoredHost instance to manage the - * connection to the host indicated by {@code hostId}. -@@ -167,9 +160,12 @@ public abstract class MonitoredHost { - - hostId = resolveHostId(hostId); - -- for (MonitoredHostService mhs : monitoredHostServiceLoader) { -+ ServiceLoader services = ServiceLoader.load( -+ MonitoredHostService.class, MonitoredHostService.class.getClassLoader()); -+ for (MonitoredHostService mhs : services) { - if (mhs.getScheme().equals(hostId.getScheme())) { - mh = mhs.getMonitoredHost(hostId); -+ break; - } - } - diff --git a/test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyOfRangeGuards.java b/test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyOfRangeGuards.java new file mode 100644 index 000000000..e5886d700 @@ -1150,109 +1010,6 @@ index 000000000..28e4db334 + } + } +} -diff --git a/test/hotspot/jtreg/containers/docker/TestContainerInfo.java b/test/hotspot/jtreg/containers/docker/TestContainerInfo.java -new file mode 100644 -index 000000000..dadc262cd ---- /dev/null -+++ b/test/hotspot/jtreg/containers/docker/TestContainerInfo.java -@@ -0,0 +1,97 @@ -+/* -+ * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2024, Red Hat, Inc. -+ * 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 -+ * @summary Test container info for cgroup v2 -+ * @requires docker.support -+ * @library /test/lib -+ * @modules java.base/jdk.internal.misc -+ * java.management -+ * jdk.jartool/sun.tools.jar -+ * @build CheckContainerized jdk.test.whitebox.WhiteBox PrintContainerInfo -+ * @run driver jdk.test.lib.helpers.ClassFileInstaller -jar whitebox.jar jdk.test.whitebox.WhiteBox -+ * @run driver TestContainerInfo -+ */ -+import jtreg.SkippedException; -+import jdk.test.lib.containers.docker.Common; -+import jdk.test.lib.containers.docker.DockerTestUtils; -+import jdk.test.lib.containers.docker.DockerRunOptions; -+import jdk.test.lib.process.OutputAnalyzer; -+import jdk.test.lib.process.ProcessTools; -+ -+ -+public class TestContainerInfo { -+ private static final String imageName = Common.imageName("container-info"); -+ -+ public static void main(String[] args) throws Exception { -+ if (!DockerTestUtils.canTestDocker()) { -+ return; -+ } -+ -+ Common.prepareWhiteBox(); -+ DockerTestUtils.buildJdkContainerImage(imageName); -+ -+ try { -+ testPrintContainerInfoWithoutSwap(); -+ } finally { -+ DockerTestUtils.removeDockerImage(imageName); -+ } -+ } -+ -+ private static void testPrintContainerInfoWithoutSwap() throws Exception { -+ Common.logNewTestCase("Test print_container_info() - without swap"); -+ -+ DockerRunOptions opts = Common.newOpts(imageName, "PrintContainerInfo") -+ .addDockerOpts("--memory=500m") -+ .addDockerOpts("--memory-swap=500m"); // no swap -+ Common.addWhiteBoxOpts(opts); -+ -+ OutputAnalyzer out = Common.run(opts); -+ checkContainerInfo(out); -+ } -+ -+ private static void shouldMatchWithValue(OutputAnalyzer output, String match, String value) { -+ output.shouldContain(match); -+ String str = output.getOutput(); -+ for (String s : str.split(System.lineSeparator())) { -+ if (s.contains(match)) { -+ if (!s.contains(value)) { -+ throw new RuntimeException("memory_swap_current_in_bytes NOT " + value + "! Line was : " + s); -+ } -+ } -+ } -+ } -+ -+ private static void checkContainerInfo(OutputAnalyzer out) throws Exception { -+ String str = out.getOutput(); -+ if (str.contains("cgroupv2")) { -+ shouldMatchWithValue(out, "memory_swap_max_limit_in_bytes", "0"); -+ shouldMatchWithValue(out, "memory_swap_current_in_bytes", "0"); -+ } else { -+ throw new SkippedException("This test is cgroups v2 specific, skipped on cgroups v1"); -+ } -+ } -+} diff --git a/test/jdk/java/awt/image/BufferedImage/SetData.java b/test/jdk/java/awt/image/BufferedImage/SetData.java new file mode 100644 index 000000000..5085df5ea @@ -1564,102 +1321,6 @@ index 000000000..1b82e2f73 + (byte) 0xFF, 0x2F, 0x00 // META (end of track) + }; +} -diff --git a/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java b/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java -new file mode 100644 -index 000000000..a6049f6a0 ---- /dev/null -+++ b/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java -@@ -0,0 +1,90 @@ -+/* -+ * Copyright (c) 2023, 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. -+ */ -+ -+import java.util.ArrayList; -+import java.util.List; -+import java.util.Objects; -+import java.util.concurrent.Callable; -+import java.util.concurrent.ExecutorService; -+import java.util.concurrent.Executors; -+import java.util.concurrent.Future; -+ -+import sun.jvmstat.monitor.MonitoredHost; -+import sun.jvmstat.monitor.VmIdentifier; -+ -+/* -+ * @test -+ * @bug 8320687 -+ * @summary verify that sun.jvmstat.monitor.MonitoredHost.getMonitoredHost() doesn't -+ * unexpectedly throw an exception when invoked by concurrent threads -+ * -+ * @run main/othervm ConcurrentGetMonitoredHost -+ */ -+public class ConcurrentGetMonitoredHost { -+ -+ /* -+ * Launches multiple concurrent threads and invokes MonitoredHost.getMonitoredHost() -+ * in each of these threads and expects the call to return successfully without any -+ * exceptions. -+ */ -+ public static void main(final String[] args) throws Exception { -+ final String pidStr = "12345"; -+ final VmIdentifier vmid = new VmIdentifier(pidStr); -+ final int numTasks = 100; -+ final List tasks = new ArrayList<>(); -+ for (int i = 0; i < numTasks; i++) { -+ tasks.add(new Task(vmid)); -+ } -+ System.out.println("Submitting " + numTasks + " concurrent tasks to" + -+ " get MonitoredHost for " + vmid); -+ ExecutorService executor = Executors.newCachedThreadPool(); -+ // wait for all tasks to complete -+ final List> results = executor.invokeAll(tasks); -+ // verify each one successfully completed and each of -+ // the returned MonitoredHost is not null -+ for (final Future result : results) { -+ final MonitoredHost mh = result.get(); -+ if (mh == null) { -+ throw new AssertionError("MonitoredHost.getMonitoredHost() returned" + -+ " null for vmid " + vmid); -+ } -+ } -+ -+ System.out.println("All " + numTasks + " completed successfully"); -+ } -+ -+ // a task which just calls MonitoredHost.getMonitoredHost(VmIdentifier) and -+ // returns the resultant MonitoredHost -+ private static final class Task implements Callable { -+ private final VmIdentifier vmid; -+ -+ private Task(final VmIdentifier vmid) { -+ this.vmid = Objects.requireNonNull(vmid); -+ } -+ -+ @Override -+ public MonitoredHost call() throws Exception { -+ return MonitoredHost.getMonitoredHost(this.vmid); -+ } -+ } -+} diff --git a/test/jdk/sun/security/jca/NullPreferredList.java b/test/jdk/sun/security/jca/NullPreferredList.java new file mode 100644 index 000000000..0a8cf7344 diff --git a/add-version-txt.patch b/add-version-txt.patch index 975b9afa310abe3e0aef48f175c745ff54fa531f..b71c5462adaf7c92485c4b6c4e8a44ac312da3d6 100644 --- a/add-version-txt.patch +++ b/add-version-txt.patch @@ -13,7 +13,7 @@ index 000000000..b717bafbe --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ -+17.0.15.0.13 ++17.0.16.0.13 -- 2.19.0 diff --git a/jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz b/jdk-updates-jdk17u-jdk-17.0.16+7.tar.gz similarity index 86% rename from jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz rename to jdk-updates-jdk17u-jdk-17.0.16+7.tar.gz index 355a9434999fe691a7ab0649b9dd1d4c429435be..af5988a53f4b41065737ec38b374fe161b9736e2 100644 Binary files a/jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz and b/jdk-updates-jdk17u-jdk-17.0.16+7.tar.gz differ diff --git a/openjdk-17.spec b/openjdk-17.spec index 7afba25d7e3f742f7394832530fd5d7b010994c9..addf90f39339a84eb48cc44df07828d13c935c11 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -168,7 +168,7 @@ # Used via new version scheme. JDK 17 was # GA'ed in March 2021 => 21.9 %global vendor_version_string 21.9 -%global securityver 15 +%global securityver 16 # buildjdkver is usually same as %%{majorver}, # but in time of bootstrap of next jdk, it is majorver-1, # and this it is better to change it here, on single place @@ -194,7 +194,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{origin} %global minorver 0 -%global buildver 6 +%global buildver 7 # priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit %if %is_system_jdk %global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} ) @@ -920,7 +920,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 5 +Release: 0 # 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 @@ -1022,7 +1022,6 @@ Patch31: add-8292296-Use-multiple-threads-to-process-Par.patch Patch32: fix-cds-SignedJar_java-test-fails.patch # 17.0.9 -Patch36: 8314236-Overflow-in-Collections.rotate.patch Patch41: 8312200-Fix-Parse-catch_call_exceptions-memory-leak.patch Patch42: Add-problemlist.patch Patch43: puyuan-jdk17.0.9-patch.patch @@ -1070,7 +1069,6 @@ Patch78: Fix-a-concurrent-issue-of-program-data-ref-cnt.patch #17.0.15 Patch79: Huawei-fix-potential-build-fail-in-jbolt.patch -Patch80: 8352716-tz-Update-Timezone-Data-to-2025b.patch Patch81: heapdump-bug-fix.patch Patch82: CompileCommand-support-dontprediction.patch ############################################ @@ -1331,7 +1329,6 @@ pushd %{top_level_dir_name} %patch 30 -p1 %patch 31 -p1 %patch 32 -p1 -%patch 36 -p1 %patch 41 -p1 %patch 42 -p1 %patch 43 -p1 @@ -1371,7 +1368,6 @@ pushd %{top_level_dir_name} %patch 77 -p1 %patch 78 -p1 %patch 79 -p1 -%patch 80 -p1 %patch 81 -p1 %patch 82 -p1 popd # openjdk @@ -1999,6 +1995,15 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Mon Jul 7 2025 wulongyao - 1:17.0.16.7-0 +- update to 17.0.16 +- modified Apply-TBI-to-ZGC-of-JDK17.patch +- delete 8314236-Overflow-in-Collections.rotate.patch +- modified puyuan-jdk17.0.9-patch.patch +- modified 8264805-Backport-Ahead-of-Time-Compiler.patch +- modified Backport-Important-Fixed-Issues.patch +- delete 8352716-tz-Update-Timezone-Data-to-2025b.patch + * Fri Jun 13 2025 wulongyao - 1:17.0.15.6-5 - add CompileCommand-support-dontprediction.patch diff --git a/puyuan-jdk17.0.9-patch.patch b/puyuan-jdk17.0.9-patch.patch index f70f91117abc92c214497ebec6cdb1373fc2d7ac..eb93204f406a96511053adf384d06824119f96da 100644 --- a/puyuan-jdk17.0.9-patch.patch +++ b/puyuan-jdk17.0.9-patch.patch @@ -7,14 +7,12 @@ Subject: [PATCH] puyuan: jdk17.0.9 patch src/hotspot/share/classfile/stringTable.hpp | 8 +- .../share/gc/shenandoah/shenandoahFullGC.cpp | 3 + src/hotspot/share/opto/compile.cpp | 2 +- - src/hotspot/share/runtime/arguments.cpp | 1 - .../share/classes/java/util/zip/ZipFile.java | 18 ++- .../classes/sun/security/pkcs/PKCS7.java | 4 +- .../classes/java/io/WinNTFileSystem.java | 31 ++++ .../PLATFORM_API_WinOS_DirectSound.cpp | 26 +++- .../javax/xml/stream/XMLStreamException.java | 2 +- .../TestArrayAllocatorMallocLimit.java | 4 +- - .../CommandLine/UnrecognizedProperty.java | 45 ++++++ .../ExceptionCauseTest.java | 62 ++++++++ test/jdk/java/io/File/GetAbsolutePath.java | 114 ++++++++------ test/jdk/java/io/File/GetCanonicalPath.java | 82 ++++++++-- @@ -26,8 +24,7 @@ Subject: [PATCH] puyuan: jdk17.0.9 patch .../Signature/KeyAndParamCheckForPSS.java | 104 +++++++------ .../pkcs11/Signature/SignatureTestPSS.java | 110 ++++++------- .../x509/X509CRLImpl/UnexpectedNPE.java | 63 +++----- - 23 files changed, 842 insertions(+), 269 deletions(-) - create mode 100644 test/hotspot/jtreg/runtime/CommandLine/UnrecognizedProperty.java + 21 files changed, 797 insertions(+), 268 deletions(-) create mode 100644 test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamExceptionTest/ExceptionCauseTest.java create mode 100644 test/jdk/java/io/File/WindowsPrefixes.java create mode 100644 test/jdk/javax/sound/sampled/Lines/OpenLineAfterScreenLock.java @@ -188,23 +185,11 @@ index 4b22284f9..56471d69a 100644 _stress_seed = static_cast(Ticks::now().nanoseconds()); FLAG_SET_ERGO(StressSeed, _stress_seed); } else { -diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp -index 5683e4fe0..60f639795 100644 ---- a/src/hotspot/share/runtime/arguments.cpp -+++ b/src/hotspot/share/runtime/arguments.cpp -@@ -339,7 +339,6 @@ static bool matches_property_suffix(const char* option, const char* property, si - // any of the reserved module properties. - // property should be passed without the leading "-D". - bool Arguments::is_internal_module_property(const char* property) { -- assert((strncmp(property, "-D", 2) != 0), "Unexpected leading -D"); - if (strncmp(property, MODULE_PROPERTY_PREFIX, MODULE_PROPERTY_PREFIX_LEN) == 0) { - const char* property_suffix = property + MODULE_PROPERTY_PREFIX_LEN; - if (matches_property_suffix(property_suffix, ADDEXPORTS, ADDEXPORTS_LEN) || diff --git a/src/java.base/share/classes/java/util/zip/ZipFile.java b/src/java.base/share/classes/java/util/zip/ZipFile.java index d47a1d260..7e16e6a67 100644 --- a/src/java.base/share/classes/java/util/zip/ZipFile.java +++ b/src/java.base/share/classes/java/util/zip/ZipFile.java -@@ -95,8 +95,9 @@ import static java.util.zip.ZipUtils.*; +@@ -94,8 +94,9 @@ import static java.util.zip.ZipUtils.*; * @since 1.1 */ public class ZipFile implements ZipConstants, Closeable { @@ -216,7 +201,7 @@ index d47a1d260..7e16e6a67 100644 private volatile boolean closeRequested; // The "resource" used by this zip file that needs to be -@@ -246,7 +247,8 @@ public class ZipFile implements ZipConstants, Closeable { +@@ -245,7 +246,8 @@ public class ZipFile implements ZipConstants, Closeable { } Objects.requireNonNull(charset, "charset"); @@ -226,7 +211,7 @@ index d47a1d260..7e16e6a67 100644 long t0 = System.nanoTime(); this.res = new CleanableResource(this, ZipCoder.get(charset), file, mode); -@@ -477,8 +479,16 @@ public class ZipFile implements ZipConstants, Closeable { +@@ -476,8 +478,16 @@ public class ZipFile implements ZipConstants, Closeable { * @return the path name of the ZIP file */ public String getName() { @@ -339,7 +324,7 @@ diff --git a/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_Direct index ea188e934..8585eda01 100644 --- a/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp +++ b/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp -@@ -357,7 +379,7 @@ typedef struct { +@@ -379,7 +379,7 @@ typedef struct { } DS_Info; @@ -361,58 +346,6 @@ index 5a229ed1e..ec9734d7c 100644 nested = th; this.location = location; } -diff --git a/test/hotspot/jtreg/runtime/CommandLine/UnrecognizedProperty.java b/test/hotspot/jtreg/runtime/CommandLine/UnrecognizedProperty.java -new file mode 100644 -index 000000000..78ec54bbc ---- /dev/null -+++ b/test/hotspot/jtreg/runtime/CommandLine/UnrecognizedProperty.java -@@ -0,0 +1,45 @@ -+/* -+ * Copyright (c) 2023, 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 8321479 -+ * @summary VM should not crash with property "-D-D" -+ * @requires vm.flagless -+ * @library /test/lib -+ * @run driver UnrecognizedProperty -+ */ -+ -+import jdk.test.lib.process.ProcessTools; -+import jdk.test.lib.process.OutputAnalyzer; -+ -+public class UnrecognizedProperty { -+ public static void main(String[] args) throws Exception { -+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( -+ "-D-D"); -+ -+ OutputAnalyzer output = new OutputAnalyzer(pb.start()); -+ output.shouldContain("Usage: java"); -+ output.shouldHaveExitValue(1); -+ } -+} -\ No newline at end of file diff --git a/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamExceptionTest/ExceptionCauseTest.java b/test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamExceptionTest/ExceptionCauseTest.java new file mode 100644 index 000000000..e32527621