Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
d0e9730
8372980: [VectorAPI] AArch64: Add intrinsic support for unsigned min/…
Feb 5, 2026
fde77a9
8365883: Fix P11Cipher to throw BadPaddingException for PKCS11 CKR_EN…
myankelev Feb 5, 2026
72eec52
8377161: G1: Remove unnecessary member G1FullGCScope::_g1h
Feb 5, 2026
d93bd18
8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable
Feb 5, 2026
1ac9658
8376956: Add JVMTI phase entering/setting to hserr event log
MBaesken Feb 5, 2026
37b49b2
8377138: VMError::report should handle out-of-stackbounds errors grac…
tstuefe Feb 5, 2026
ac6e8d4
8376568: Change Thread::getStackTrace to use handshake op for all cases
Feb 5, 2026
1614714
8377150: G1: Full GC should not execute barrier code during reference…
Feb 5, 2026
22e1f68
8375585: Test java/lang/ProcessBuilder/PipelineLeaksFD.java failed
Feb 5, 2026
4e6cf8f
8377244: Update ModuleReaderTest to JUnit prior to making changes
david-beaumont Feb 5, 2026
bd9c94d
8377199: Remove AppContext from AWTKeyStroke
prrace Feb 5, 2026
99be94e
8377116: Refactor java/util/zip TestNG tests to JUnit
Feb 5, 2026
60366a9
8377315: test/jdk/sun/security/pkcs11/Cipher/TestPKCS5PaddingError.ja…
myankelev Feb 5, 2026
37ae15a
8377193: Remove AppContext from SwingUtilties3
prrace Feb 5, 2026
b9c0e05
8377126: Shenandoah: Convert ShenandoahVerifier related code to use A…
Feb 5, 2026
b313052
8376187: [VectorAPI] Define new lane type constants and pass them to …
Feb 6, 2026
a69409b
8374516: -version asserts with "-XX:+UseAESCTRIntrinsics -XX:-UseAES"…
hgqxjj Feb 6, 2026
5724154
8376052: Use AttachOperationFailedException rather than AttachNotSupp…
YaSuenag Feb 6, 2026
90f3702
8377226: Inline Thread::set_allocated_bytes
albertnetymk Feb 6, 2026
bfd5bda
8374582: [REDO] Move input validation checks to Java for java.lang.St…
dafedafe Feb 6, 2026
1efb298
8375598: VM crashes with "assert((labs(val) & 0xFFFFFFFF00000000) == …
hgqxjj Feb 6, 2026
2d6a1aa
8377313: java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.…
Feb 6, 2026
5f83e9a
8377179: Improve and document racy use of start/end in ThreadLocalAll…
Feb 6, 2026
cd6a7a5
8377245: AbstractMemorySegmentImpl#getString with length should be @F…
cushon Feb 6, 2026
7a37d37
8377326: [PPC64] build without C1 and C2 broken
TheRealMDoerr Feb 6, 2026
77e680b
8376269: Mixed jstack cannot find function in vDSO
YaSuenag Feb 6, 2026
8620e67
8377231: Build jpackage with SIZE optimization
MBaesken Feb 6, 2026
d1b226d
8376264: Mixed jstack could not unwind optimized frame
YaSuenag Feb 6, 2026
77e8469
8328306: AArch64: MacOS lazy JIT "write xor execute" switching
Feb 6, 2026
9f13ec1
8377365: [BACKOUT] Mixed jstack cannot find function in vDSO
chhagedorn Feb 6, 2026
cd5256d
8374170: I/O Poller updates
Feb 6, 2026
986d377
8376533: Remove test dependencies on ReferenceQueue$Lock in preparati…
Feb 6, 2026
eec76d7
8377180: Shenandoah: make escalation from degen to full more conserva…
kdnilsen Feb 7, 2026
4c32234
8377018: Convert java/nio/file/DirectoryStream/SecureDS.java to junit
Feb 7, 2026
40bf087
8377392: jpackage: Fix member function called from the CfgFile.Refere…
Feb 7, 2026
5152fdc
8377331: jpackage: improve sign errors reporting
Feb 7, 2026
9cd25d5
8377359: TestOpaqueConstantBoolNodes fails on PPC64
TheRealMDoerr Feb 7, 2026
6665a78
8376688: Gtest os.attempt_reserve_memory_between_small_range_fill_hol…
MBaesken Feb 7, 2026
ffb6279
8377334: Test framework used by langtools regression tests can produc…
liach Feb 8, 2026
dc80ce7
8374056: RISC-V: Fix argument passing for the RiscvFlushIcache::flush
ikarostsin Feb 9, 2026
1314857
8377443: G1: Remove unnecessary cast in ResizeTLABAndSwapCardTableTask
Feb 9, 2026
ee5b10c
8375443: AVX-512: Disabling through UseSHA doesn't affect UseSHA3Intr…
Feb 9, 2026
a7bf468
8377165: G1: Introduce common G1 GC Mark to collect scoped objects
Feb 9, 2026
07f7877
8376491: ZGC: crash in __memset_evex_unaligned_erms when initializing…
hgqxjj Feb 9, 2026
b12367e
8365381: [asan] exclude tests under ASAN build which rely on vm signa…
Feb 9, 2026
d10ddb8
8377352: Parallel: Incorrect capacity in GC overhead log
albertnetymk Feb 9, 2026
a5765a9
8377225: RISC-V: Improve receiver type profiling reliability
Feb 9, 2026
47b2e99
8376199: Convert CodeCacheUnloadingTask to use Atomic<T>
Feb 9, 2026
f81bea2
8376351: Parallel: Convert ParallelScavengeHeap to use Atomic<T>
Feb 9, 2026
2a8badf
8376356: Parallel: Convert PSCardTable to use Atomic<T>
Feb 9, 2026
36758b0
8377435: Problem list serviceability/sa/TestJhsdbJstackMixedCore.java
plummercj Feb 9, 2026
3065aa4
8376627: Remove AppContext from javax/swing/plaf/metal classes
prrace Feb 9, 2026
3871b88
8375065: Update LCMS to 2.18
Feb 9, 2026
161aa5d
8371955: Support AVX10 floating point comparison instructions
Feb 9, 2026
57eb9c7
8377043: Shenandoah: Convert ShenandoahHeapRegion related code to use…
Feb 9, 2026
f9ded7f
6441373: Editing JTable is not Serializable
mrserb Feb 9, 2026
87df1bb
8377513: jpackage: fix Win8365790Test test
Feb 10, 2026
996ca4b
8377411: java/lang/Thread/virtual/stress/ParkAfterTimedPark.java only…
Feb 10, 2026
b808894
8377355: VectorAPI source generation broken after JDK-8371187
Feb 10, 2026
2c9c2f5
8376353: Parallel: Convert PSParallelCompact classes to use Atomic<T>
Feb 10, 2026
f124f86
8376666: Convert G1BlockOffsetTable to use Atomic<T>
Feb 10, 2026
fef06c0
8376328: Convert PLABStats to use Atomic<T>
Feb 10, 2026
ea90214
8375352: java/net/httpclient/ConnectTimeoutWithProxy*.java tests fail…
vy Feb 10, 2026
665dc49
8208752: Calling a deserialized Lambda might fail with ClassCastExcep…
cushon Feb 10, 2026
bd2a3b8
8373040: Mark compiler/codecache/CodeCacheSegmentSizeTest.java as fla…
Feb 10, 2026
bfb6de5
8377429: Warning as error in asan build in test_nmt_cornercases.cpp o…
Feb 10, 2026
264fdc5
8374808: Add new methods to KeyStore and KeyStoreSpi that return the …
myankelev Feb 10, 2026
28f845a
8376777: Consistent use of nonstatic instead of non_static in ci files
jsikstro Feb 10, 2026
ef345e7
8377457: java/util/logging/ParentLoggersTest.java failed intermittently
dfuch Feb 10, 2026
d97ea5a
8377549: [BACKOUT] Need to keep leading zeros in TlsPremasterSecret o…
djelinski Feb 10, 2026
43b2d2b
8375285: Port fdlibm asinh to Java
toxaart Feb 10, 2026
21d4c6c
8377013: TimeZone.getDefault() returns obsolete id on Windows (Asia/C…
naotoj Feb 10, 2026
7bc2475
8377096: Refactor AOTMapLogger::OopDataIterator implementations
iklam Feb 10, 2026
3de6dba
8377183: Impossible or redundant condition in AwtFrame::_NotifyModalB…
Feb 11, 2026
4e3033f
8332189: Enable -Wzero-as-null-pointer-constant for gcc/clang
Feb 11, 2026
5b7a364
8377368: [REDO] Mixed jstack cannot find function in vDSO
YaSuenag Feb 11, 2026
8455b66
8377200: Shenandoah: Convert shenandoahSharedVariables and related co…
Feb 11, 2026
f835073
8377626: The macOS build is broken after JDK-8332189
Feb 11, 2026
e516800
8219203: Use StringBuilder instead of StringBuffer in com.sun.jndi.dn…
jaikiran Feb 11, 2026
3a588e5
8377338: URLJarFile$URLJarFileEntry need not clone the arrays returne…
jaikiran Feb 11, 2026
a87da51
8377514: jpackage: support passing multiple exceptions to the top-lev…
Feb 11, 2026
56afb46
8375038: C2: Enforce that Ideal() returns the root of the subgraph if…
benoitmaillard Feb 11, 2026
1e99cc4
8376355: Update to use jtreg 8.2.1
sormuras Feb 11, 2026
57931dc
8377172: Change datatype of CodeEntryAlignment to uint
lkorinth Feb 11, 2026
9026f49
8377446: Improve parameter naming in pointer_delta()
Feb 11, 2026
e34291d
8377442: More fixes to ThreadLocalAllocBuffer after JDK-8377179
Feb 11, 2026
1bce8e4
8366957: Amalloc may return null despite contrary AllocFailType
Feb 11, 2026
6a5eb26
8377656: JUnit test java/util/zip/ZipFile/ZipFileInputStreamSkipTest.…
jaikiran Feb 11, 2026
0097db5
8364655: Loading class with nested annotations causes stack overflow …
jdksjolen Feb 11, 2026
a532e50
8377395: serviceability/sa/TestJhsdbJstackMixedCore.java fails due to…
YaSuenag Feb 11, 2026
a8a88d7
8374469: Mixed jstack does not work on Windows
YaSuenag Feb 11, 2026
b3fc013
8377143: Parallel: Remove special treatment in JstatGcCapacityResults…
albertnetymk Feb 11, 2026
b98899b
8377461: Add ZipFile test for incorrect number of entries reported in…
Feb 11, 2026
708970a
8377045: Shenandoah: Convert ShenandoahLock related code to use Atomi…
Feb 11, 2026
39a1d1c
8376998: [macOS] Remove AppContext from AppEventHandler
prrace Feb 11, 2026
e515c10
8377396: GenShen: Consolidate and simplify in place region promotions
Feb 11, 2026
0867f9b
8377307: Refactor code for AOT cache pointer compression
iklam Feb 11, 2026
961d328
8377509: Add licenses for gcc 14.2.0
JesperIRL Feb 11, 2026
370929f
8377601: JavacTemplateTestBase not reporting javac crashes
liach Feb 11, 2026
24f6791
8374577: Heap dump from core does not contain HPROF_GC_ROOT_JAVA_FRAME
YaSuenag Feb 12, 2026
5868d35
8377651: [s390x] build failure without c1 & c2 compiler
offamitkumar Feb 12, 2026
6abb29c
8376794: Enable copy and mismatch Partial Inlining for AMD AVX512 tar…
Feb 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions doc/hotspot-style.html
Original file line number Diff line number Diff line change
Expand Up @@ -965,9 +965,8 @@ <h3 id="nullptr">nullptr</h3>
<code>NULL</code>.</p>
<p>Don't use (constant expression or literal) 0 for pointers. Note that
C++14 removed non-literal 0 constants from <em>null pointer
constants</em>, though some compilers continue to treat them as such.
For historical reasons there may be lingering uses of 0 as a
pointer.</p>
constants</em>, though some compilers continue to treat them as
such.</p>
<h3 id="atomic">&lt;atomic&gt;</h3>
<p>Do not use facilities provided by the <code>&lt;atomic&gt;</code>
header (<a
Expand Down
3 changes: 1 addition & 2 deletions doc/hotspot-style.md
Original file line number Diff line number Diff line change
Expand Up @@ -884,8 +884,7 @@ rather than `NULL`. See the paper for reasons to avoid `NULL`.

Don't use (constant expression or literal) 0 for pointers. Note that C++14
removed non-literal 0 constants from _null pointer constants_, though some
compilers continue to treat them as such. For historical reasons there may be
lingering uses of 0 as a pointer.
compilers continue to treat them as such.

### &lt;atomic&gt;

Expand Down
47 changes: 25 additions & 22 deletions make/autoconf/flags-cflags.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2026, 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
Expand Down Expand Up @@ -209,7 +209,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"

WARNINGS_ENABLE_ALL="-W3"
WARNINGS_ENABLE_ALL_NORMAL="-W3"
WARNINGS_ENABLE_ADDITIONAL=""
WARNINGS_ENABLE_ADDITIONAL_CXX=""
WARNINGS_ENABLE_ADDITIONAL_JVM=""
DISABLED_WARNINGS="4800 5105"
;;

Expand All @@ -218,14 +221,16 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"

WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"

# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Winvalid-pch -Wpointer-arith -Wreturn-type \
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
-Winvalid-pch -Wpointer-arith -Wreturn-type \
-Wsign-compare -Wtrampolines -Wtype-limits -Wundef -Wuninitialized \
-Wunused-const-variable=1 -Wunused-function -Wunused-result \
-Wunused-value"
WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"

# These warnings will never be turned on, since they generate too many
# false positives.
Expand All @@ -241,16 +246,24 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"

WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"

# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
-Wpointer-arith -Wsign-compare -Wreorder \
-Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ADDITIONAL_CXX=""
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"

# These warnings will never be turned on, since they generate too many
# false positives.
DISABLED_WARNINGS="unknown-warning-option unused-parameter"
;;
esac
WARNINGS_ENABLE_ALL="$WARNINGS_ENABLE_ALL_NORMAL $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ALL_CXX="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_CXX"
WARNINGS_ENABLE_ALL_JVM="$WARNINGS_ENABLE_ALL_CXX $WARNINGS_ENABLE_ADDITIONAL_JVM"

AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
Expand Down Expand Up @@ -604,19 +617,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
ADLC_LANGSTD_CXXFLAGS="$LANGSTD_CXXFLAGS"

# CFLAGS WARNINGS STUFF
# Set JVM_CFLAGS warning handling
if test "x$TOOLCHAIN_TYPE" = xgcc; then
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"

elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"

elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"

fi
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXX"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_JVM"

# Set some additional per-OS defines.

Expand Down Expand Up @@ -878,12 +881,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"

CFLAGS_JDK_COMMON="$ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
$DEBUG_SYMBOLS_CFLAGS_JDK \
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"

# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
Expand Down
4 changes: 2 additions & 2 deletions make/autoconf/lib-tests.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2026, 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
Expand Down Expand Up @@ -28,7 +28,7 @@
################################################################################

# Minimum supported versions
JTREG_MINIMUM_VERSION=8.1
JTREG_MINIMUM_VERSION=8.2.1
GTEST_MINIMUM_VERSION=1.14.0

################################################################################
Expand Down
4 changes: 2 additions & 2 deletions make/conf/github-actions.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2026, 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
Expand All @@ -26,7 +26,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)

GTEST_VERSION=1.14.0
JTREG_VERSION=8.1+1
JTREG_VERSION=8.2.1+1

LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_linux-x64_bin.tar.gz
Expand Down
6 changes: 3 additions & 3 deletions make/conf/jib-profiles.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2026, 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
Expand Down Expand Up @@ -1174,9 +1174,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "8.1",
version: "8.2.1",
build_number: "1",
file: "bundles/jtreg-8.1+1.zip",
file: "bundles/jtreg-8.2.1+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "home_path") + "/bin",
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
Expand Down
12 changes: 10 additions & 2 deletions make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2026, 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
Expand Down Expand Up @@ -293,8 +293,10 @@ public static void main(String[] args) throws Exception {
bundleGenerator = new ResourceBundleGenerator();

// Parse data independent of locales
parseSupplemental();
// parseBCP47() must precede parseSupplemental(). The latter depends
// on IANA alias map, which is produced by the former.
parseBCP47();
parseSupplemental();

// rules maps
pluralRules = generateRules(handlerPlurals);
Expand Down Expand Up @@ -536,6 +538,12 @@ private static void parseBCP47() throws Exception {

// canonical tz name map
// alias -> primary
//
// Note that CLDR meta zones do not necessarily align with IANA's
// current time zone identifiers. For example, the CLDR "India"
// meta zone maps to "Asia/Calcutta", whereas IANA now uses
// "Asia/Kolkata" for the zone. Accordingly, "canonical" here is
// defined in terms of CLDR's zone mappings.
handlerTimeZone.getData().forEach((k, v) -> {
String[] ids = ((String)v).split("\\s");
for (int i = 1; i < ids.length; i++) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2026, 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
Expand Down Expand Up @@ -27,6 +27,9 @@

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
Expand All @@ -40,6 +43,10 @@
class TimeZoneParseHandler extends AbstractLDMLHandler<Object> {
private static final String PREF_PREFIX = "preferred:";

// CLDR aliases to IANA ids map. The initial capacity is estimated
// from the number of aliases in timezone.xml as of CLDR v48
private final Map<String, String> ianaAliasMap = HashMap.newHashMap(32);

@Override
public InputSource resolveEntity(String publicID, String systemID) throws IOException, SAXException {
// avoid HTTP traffic to unicode.org
Expand All @@ -61,7 +68,16 @@ public void startElement(String uri, String localName, String qName, Attributes
put(attributes.getValue("name"), PREF_PREFIX + preferred);
}
} else {
put(attributes.getValue("name"), attributes.getValue("alias"));
var alias = attributes.getValue("alias");
var iana = attributes.getValue("iana");
if (iana != null) {
for (var a : alias.split("\\s+")) {
if (!a.equals(iana)) {
ianaAliasMap.put(a, iana);
}
}
}
put(attributes.getValue("name"), alias);
}
}
break;
Expand All @@ -80,4 +96,8 @@ public void endDocument() throws SAXException {
.forEach(e -> map.put(e.getKey(),
map.get(e.getValue().toString().substring(PREF_PREFIX.length()))));
}

Map<String, String> getIanaAliasMap() {
return ianaAliasMap;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2026, 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
Expand Down Expand Up @@ -56,6 +56,7 @@ public void startElement(String uri, String localName, String qName, Attributes
String zoneName = attributes.getValue("other");
String territory = attributes.getValue("territory");
String javatz = attributes.getValue("type").replaceFirst("\\s.*", "");
javatz = CLDRConverter.handlerTimeZone.getIanaAliasMap().getOrDefault(javatz, javatz);
put(zoneName + ":" + territory, javatz);
pushIgnoredContainer(qName);
break;
Expand Down
6 changes: 3 additions & 3 deletions make/modules/jdk.jpackage/Lib.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2026, 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
Expand Down Expand Up @@ -54,7 +54,7 @@ $(eval $(call SetupJdkExecutable, BUILD_JPACKAGEAPPLAUNCHER, \
SRC := applauncher, \
EXTRA_SRC := common, \
INCLUDE_FILES := $(JPACKAGEAPPLAUNCHER_INCLUDE_FILES), \
OPTIMIZATION := LOW, \
OPTIMIZATION := SIZE, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_LinuxPackage.c := format-nonliteral, \
DISABLED_WARNINGS_clang_Log.cpp := unused-const-variable, \
Expand Down Expand Up @@ -91,7 +91,7 @@ ifeq ($(call isTargetOs, linux), true)
common, \
EXCLUDE_FILES := LinuxLauncher.c LinuxPackage.c, \
LINK_TYPE := C++, \
OPTIMIZATION := LOW, \
OPTIMIZATION := SIZE, \
DISABLED_WARNINGS_gcc_Log.cpp := unused-const-variable, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_tstrings.cpp := format-nonliteral, \
Expand Down
Loading
Loading