Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
635c4b9
8377727: Ghost caret and focus appear in non‑editable text fields
Apr 23, 2026
4a832ce
8381746: Add --with-print-assembly-options configure flag to set defa…
Apr 23, 2026
18d8aa0
8377655: C1: in x86, avoid 0x00s leftover after PatchingStub
marc-chevalier Apr 23, 2026
e896c66
8381939: G1: Fix marking state verification at the end of a concurren…
Apr 23, 2026
17e9151
8382740: JFR: Disable jdk.OldObjectSample event for generational ZGC
Apr 23, 2026
cb8860a
8379337: Deprecate Modifier.toString
liach Apr 23, 2026
695bcff
8382637: GenShen: ubsan error, divide by zero during TestThreadFailure
Apr 23, 2026
274a137
8364167: Test java/foreign/TestHandshake.java crashed with access vio…
JornVernee Apr 23, 2026
ec19f0b
8382433: GenShen: Remembered set scan encountered invalid object
Apr 23, 2026
4233216
8382608: Shenandoah: STS yield deadlocks in OOM-evac scope
shipilev Apr 23, 2026
b800c7e
8345301: GenShen: TestShenandoahEvacuationInformationEvent.java inter…
Apr 23, 2026
8256d13
8360498: [TEST_BUG] Some Mixing test continue to fail
kboulanou Apr 23, 2026
989b188
8378506: [macOS] Window content not updated when rendering to multipl…
mrserb Apr 23, 2026
e1d889e
8382815: C2: Reference intrinsics are broken by shadow "referent" field
shipilev Apr 23, 2026
8db8d27
8382170: Assert in AnyObj::operator delete due to race condition in i…
iklam Apr 23, 2026
3bbb0d9
8377715: Thawing frame can undo deoptimization
pchilano Apr 23, 2026
bfb4c58
8381988: Fix inconsistency in clearing cpu feature bits
Apr 23, 2026
0091060
8345501: GenShen: Test TestEvilSyncBug.java#generational intermittent…
Apr 23, 2026
4963170
8345631: TestRegionSamplingLogging.java#generational-rotation intermi…
Apr 24, 2026
79fc68c
8383162: jpackage: decouple WinMsiPackager and RTF converter
Apr 24, 2026
a0caf2c
8383163: Build without CDS broken after 8382170
iklam Apr 24, 2026
d32eb4b
8376300: Avoid more leaks in KeystoreImpl.m because of missing CFRele…
MBaesken Apr 24, 2026
7aa7f28
8381811: [S390] Add support for JDK-8200555
Harshit470250 Apr 24, 2026
9813fd4
8382934: LateInlineQueueDrainTest.java fails without diagnostic option
Apr 24, 2026
7fcf2bb
8180483: sun.net.www.protocol.http.HttpClient::available may consume …
vy Apr 24, 2026
9ce60ba
8381723: Crash in fastdebug VM: assert(strlen(name1) + strlen(name2) …
minborg Apr 24, 2026
19ffa60
8382878: RISC-V: Missing InlineSkippedInstructionsCounter in ZGC barr…
zifeihan Apr 24, 2026
cd01fab
8382614: Consolidate implementation of current_stack_base_and_size on…
Apr 24, 2026
71e5a16
8381651: Remove non-failing ModalFocusTransfer test from Problemlist
prsadhuk Apr 24, 2026
5596e81
8381975: CPU feature verification in AOTCodeCache should check for ex…
Apr 24, 2026
df8a940
8382485: ArrayIndexOutOfBoundsException was hiding in ClhsdbPrintAll.jtr
YaSuenag Apr 24, 2026
bca6f51
8382375: Remove obsolete options from CLDRConverter
naotoj Apr 24, 2026
d5d5334
8383161: [PPC64] MachCallDynamicJavaNode::ret_addr_offset() needs ada…
TheRealMDoerr Apr 25, 2026
944df10
8383176: Shenandoah: Skip marked objects in final verification steps
shipilev Apr 25, 2026
b41edeb
8383183: Shenandoah: Mangle trashed regions up to top instead of end
shipilev Apr 25, 2026
7b92998
8379722: C2: assert that result is used for CallLeafPureNode in final…
april-ivy Apr 25, 2026
eb9a8ab
8376626: Shenandoah: Remove command line options for setting min and …
pf0n Apr 25, 2026
52ca298
8381452: TestMultiplyReductionByte.java: Update the IR test on AArch6…
Apr 26, 2026
0b1c586
8382890: JcmdOnTrainingProcess.java fails Native memory tracking is n…
Apr 27, 2026
18ac172
8374322: TestMemoryWithSubgroups.java fails Permission denied
Apr 27, 2026
dffe9f4
8374575: [PPC64] Remove support for SuperwordUseVSX on Power 8
Apr 27, 2026
0ba115c
8382635: G1: TAMSes overwritten by G1ConcurrentMark::fully_initialize…
Apr 27, 2026
3444dad
8381739: Comma-separated declaration with type-use annotations causes…
dbalek Apr 27, 2026
90d2142
8332632: Redundant assert "compiler should always document failure: %…
Apr 27, 2026
95791f3
8380129: Remove AccessFlags::print_on in favor of context-specific pr…
caspernorrbin Apr 27, 2026
1586790
8383174: Improve exceptions in Java_sun_net_www_protocol_http_ntlm_NT…
MBaesken Apr 27, 2026
3f07e65
8382931: Do fewer implicit narrowing conversions in deoptimization.hpp
lkorinth Apr 27, 2026
102302b
8382930: Do fewer implicit narrowing conversions in methodData.hpp
lkorinth Apr 27, 2026
455707c
8378257: [IR Framework] Add identity for socket connection and prepar…
chhagedorn Apr 27, 2026
38a6f6b
8382940: Clean up the AlwaysAtomicAccesses flag
Arraying Apr 27, 2026
5ddb0fd
8383168: jpackage: enhance capabilities of the test lib for testing j…
Apr 27, 2026
0b9548b
8382933: Improve Shenandoah clone barrier tests
olivergillespie Apr 27, 2026
e29ffd1
8381840: Lots of /tmp/8173970-<number> folders on test machines
jaikiran Apr 27, 2026
704efcb
8378603: libfontmanager FFM path needs to use FFM to locate both mall…
prrace Apr 27, 2026
64779a2
8377975: Fails to parse PEM text with trailing whitespace on the firs…
Apr 27, 2026
02c1fde
8382616: Create GCArguments::set_heap_size interface
xmas92 Apr 27, 2026
3adc770
8383175: (tz) Update Timezone Data to 2026b
Apr 27, 2026
74ec80b
8379953: [macos] VoiceOver Reads "Header" instead of "Heading"
Apr 27, 2026
38a8e3c
8381436: Remove Obsolete Translation Resources
Apr 27, 2026
5d49a68
8383459: [BACKOUT] [macos] VoiceOver Reads "Header" instead of "Heading"
prrace Apr 27, 2026
2342f6b
8381550: Shenandoah: Fix confusing end of degenerated cycle log message
pf0n Apr 27, 2026
7c1f89e
8343606: Test FinalizerTest.java intermittent fails Debuggee heap OOM
Apr 28, 2026
9993593
8383462: G1: scan_root_regions should guarantee that the number of wo…
Arraying Apr 28, 2026
4b39e6d
8373526: Add tooltips to API documentation elements
hns Apr 28, 2026
1476d4f
8375631: VectorAPI part number: reformulate documentation and improve…
eme64 Apr 28, 2026
3e5b5dd
8379636: constantPool.hpp includes bsmAttribute.inline.hpp
Apr 28, 2026
d8e2a54
8383367: jdk/jfr/event/oldobject/TestDFSWithSmallStack.java failed wi…
Apr 28, 2026
56559eb
8380955: Value-based classes in FFM should have @ValueBased
YaSuenag Apr 28, 2026
c39cf56
8381898: SwitchBootstraps::typeSwitch() not accepting Float, Double t…
dbalek Apr 28, 2026
b3f658d
8380753: C2: RegMask::find_first_set() incorrectly returns partially …
Apr 28, 2026
ee85834
8383396: Parallel: Avoid reloading klass when pushing promoted object…
albertnetymk Apr 28, 2026
0566c79
8373481: Remove the deprecated -noclassgc, -noverify, -Xverify:none a…
jaikiran Apr 28, 2026
a9613a3
8382222: sun/security/ssl/SSLSocketImpl/SSLSocketBruteForceClose.java…
artur-oracle Apr 28, 2026
d96d196
8382088: ObjectMonitor::wait() lacks suspension handling for TS_RUN path
toxaart Apr 28, 2026
d618008
8382711: Shenandoah: Support AOT code dumping
shipilev Apr 28, 2026
78fe29f
7186009: [macOS] No way to hide(), dispose() FileDialog
prrace Apr 28, 2026
13c92d0
8371656: HashMap.putAll() optimizations
jengebr Apr 28, 2026
a5003b3
8308878: com/sun/net/httpserver/simpleserver/OutputFilterTest.java fa…
jaikiran Apr 29, 2026
d037d62
8380060: C2: Wrong execution with COH and arraycopy
rwestrel Apr 29, 2026
a09083b
8350971: C2: assert(idx == alias_idx) failed: Following Phi nodes sho…
sarannat Apr 29, 2026
f8ad81c
8374001: sun/security/ skip without Exceptions
myankelev Apr 29, 2026
106f348
8382389: Test java/lang/LazyConstant/LazyConstantSafePublicationTest.…
minborg Apr 29, 2026
79e95a1
8383486: G1: Revise documentation about root scanning
Apr 29, 2026
13ff127
8383515: Add guarantees to disallow running WorkerTasks with zero wor…
Apr 29, 2026
e86f550
8383366: Missing call store_archive_data() on one of paths in generat…
adinn Apr 29, 2026
44313a4
8345277: TLSv1.2 - unable to sign a secp256r1 key with ecdsa_secp384r…
artur-oracle Apr 29, 2026
98fb435
8383546: HeapReserver::Instance::reserve_heap() breaks 32-bit build
iklam Apr 29, 2026
bc634b1
8383473: Follow on from 2026b time change to include temporary hack B…
Apr 29, 2026
290cdb7
8383545: Gcc warning in bsmAttribute.hpp: comparison is always true
iklam Apr 29, 2026
004d0ec
8373439: Deadlock between flight recorder & VM shutdown
egahlin Apr 29, 2026
69455d5
8198665: Many java/awt/Modal/ModalBlockingTest fail on mac
Apr 29, 2026
855d591
8383542: Remove hard-coded enum value from CPU_FEATURE_FLAGS
iklam Apr 30, 2026
0c07aaa
8383420: SIGSEGV in PhaseChaitin::gather_lrg_masks
Apr 30, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions make/autoconf/buildjdk-spec.gmk.template
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,4 @@ override EXTRA_LDFLAGS :=
# hsdis is not needed
HSDIS_BACKEND := none
ENABLE_HSDIS_BUNDLING := false
DEFAULT_PRINT_ASSEMBLY_OPTIONS :=
5 changes: 5 additions & 0 deletions make/autoconf/lib-hsdis.m4
Original file line number Diff line number Diff line change
Expand Up @@ -417,4 +417,9 @@ AC_DEFUN_ONCE([LIB_SETUP_HSDIS],
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_HSDIS_BUNDLING)

UTIL_ARG_WITH(NAME: print-assembly-options, TYPE: string,
DEFAULT: [], RESULT: DEFAULT_PRINT_ASSEMBLY_OPTIONS,
DESC: [default value for the PrintAssemblyOptions diagnostic flag, passed verbatim to the disassembler])
AC_SUBST(DEFAULT_PRINT_ASSEMBLY_OPTIONS)
])
1 change: 1 addition & 0 deletions make/autoconf/spec.gmk.template
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,7 @@ HSDIS_CFLAGS := @HSDIS_CFLAGS@
HSDIS_LDFLAGS := @HSDIS_LDFLAGS@
HSDIS_LIBS := @HSDIS_LIBS@
CAPSTONE_ARCH_AARCH64_NAME := @CAPSTONE_ARCH_AARCH64_NAME@
DEFAULT_PRINT_ASSEMBLY_OPTIONS := @DEFAULT_PRINT_ASSEMBLY_OPTIONS@

# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
Expand Down
4 changes: 4 additions & 0 deletions make/hotspot/lib/JvmFlags.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ ifneq ($(HOTSPOT_OVERRIDE_LIBPATH), )
JVM_CFLAGS += -DOVERRIDE_LIBPATH='"$(HOTSPOT_OVERRIDE_LIBPATH)"'
endif

ifneq ($(DEFAULT_PRINT_ASSEMBLY_OPTIONS), )
JVM_CFLAGS += -DDEFAULT_PRINT_ASSEMBLY_OPTIONS='"$(DEFAULT_PRINT_ASSEMBLY_OPTIONS)"'
endif

ifeq ($(ENABLE_COMPATIBLE_CDS_ALIGNMENT), true)
JVM_CFLAGS += -DCOMPATIBLE_CDS_ALIGNMENT
endif
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2013, 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 @@ -50,7 +50,7 @@ String getClassName() {
};

public void generateBundle(String packageName, String baseName, String localeID,
boolean useJava, Map<String, ?> map, BundleType type) throws IOException;
Map<String, ?> map, BundleType type) throws IOException;

public void generateMetaInfo(Map<String, SortedSet<String>> metaInfo) throws IOException;
}
46 changes: 12 additions & 34 deletions make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ String getKeyword() {
}
}

static boolean USE_UTF8 = false;
private static boolean verbose;

private CLDRConverter() {
Expand Down Expand Up @@ -232,10 +231,6 @@ public static void main(String[] args) throws Exception {
DESTINATION_DIR = args[++i];
break;

case "-utf8":
USE_UTF8 = true;
break;

case "-verbose":
verbose = true;
break;
Expand Down Expand Up @@ -336,7 +331,6 @@ private static void usage() {
+ "\t-year year copyright year in output%n"
+ "\t-zntempfile template file for java.time.format.ZoneName.java%n"
+ "\t-tzdatadir tzdata directory for java.time.format.ZoneName.java%n"
+ "\t-utf8 use UTF-8 rather than \\uxxxx (for debug)%n"
+ "\t-jdk-header-template <file>%n"
+ "\t\t override default GPL header with contents of file%n");
}
Expand Down Expand Up @@ -612,31 +606,31 @@ private static void convertBundles(List<Bundle> bundles) throws Exception {
if (bundleTypes.contains(Bundle.Type.LOCALENAMES)) {
Map<String, Object> localeNamesMap = extractLocaleNames(targetMap, id);
if (!localeNamesMap.isEmpty() || bundle.isRoot()) {
bundleGenerator.generateBundle("util", "LocaleNames", id, true, localeNamesMap, BundleType.OPEN);
bundleGenerator.generateBundle("util", "LocaleNames", id, localeNamesMap, BundleType.OPEN);
}
}
if (bundleTypes.contains(Bundle.Type.CURRENCYNAMES)) {
Map<String, Object> currencyNamesMap = extractCurrencyNames(targetMap, id, bundle.getCurrencies());
if (!currencyNamesMap.isEmpty() || bundle.isRoot()) {
bundleGenerator.generateBundle("util", "CurrencyNames", id, true, currencyNamesMap, BundleType.OPEN);
bundleGenerator.generateBundle("util", "CurrencyNames", id, currencyNamesMap, BundleType.OPEN);
}
}
if (bundleTypes.contains(Bundle.Type.TIMEZONENAMES)) {
Map<String, Object> zoneNamesMap = extractZoneNames(targetMap, id);
if (!zoneNamesMap.isEmpty() || bundle.isRoot()) {
bundleGenerator.generateBundle("util", "TimeZoneNames", id, true, zoneNamesMap, BundleType.TIMEZONE);
bundleGenerator.generateBundle("util", "TimeZoneNames", id, zoneNamesMap, BundleType.TIMEZONE);
}
}
if (bundleTypes.contains(Bundle.Type.CALENDARDATA)) {
Map<String, Object> calendarDataMap = extractCalendarData(targetMap, id);
if (!calendarDataMap.isEmpty() || bundle.isRoot()) {
bundleGenerator.generateBundle("util", "CalendarData", id, true, calendarDataMap, BundleType.PLAIN);
bundleGenerator.generateBundle("util", "CalendarData", id, calendarDataMap, BundleType.PLAIN);
}
}
if (bundleTypes.contains(Bundle.Type.FORMATDATA)) {
Map<String, Object> formatDataMap = extractFormatData(targetMap, id);
if (!formatDataMap.isEmpty() || bundle.isRoot()) {
bundleGenerator.generateBundle("text", "FormatData", id, true, formatDataMap, BundleType.PLAIN);
bundleGenerator.generateBundle("text", "FormatData", id, formatDataMap, BundleType.PLAIN);
}
}

Expand Down Expand Up @@ -1053,28 +1047,15 @@ private static void copyIfPresent(Map<String, Object> src, String key, Map<Strin
}
}

// --- code below here is adapted from java.util.Properties ---
private static final String specialSaveCharsJava = "\"";
private static final String specialSaveCharsProperties = "=: \t\r\n\f#!";

/*
* Converts unicodes to encoded &#92;uxxxx
* and writes out any of the characters in specialSaveChars
* with a preceding slash
* Escapes control codes to ASCII escapes or encoded &#92;uxxxx
* and writes out ASCII quotation marks with a preceding slash
*/
static String saveConvert(String theString, boolean useJava) {
static String escape(String theString) {
if (theString == null) {
return "";
}

String specialSaveChars;
if (useJava) {
specialSaveChars = specialSaveCharsJava;
} else {
specialSaveChars = specialSaveCharsProperties;
}
boolean escapeSpace = false;

int len = theString.length();
StringBuilder outBuffer = new StringBuilder(len * 2);
Formatter formatter = new Formatter(outBuffer, Locale.ROOT);
Expand All @@ -1083,14 +1064,14 @@ static String saveConvert(String theString, boolean useJava) {
char aChar = theString.charAt(x);
switch (aChar) {
case ' ':
if (x == 0 || escapeSpace) {
if (x == 0) {
outBuffer.append('\\');
}
outBuffer.append(' ');
break;
case '\\':
outBuffer.append('\\');
case '\\', '"':
outBuffer.append('\\');
outBuffer.append(aChar);
break;
case '\t':
outBuffer.append('\\');
Expand All @@ -1109,12 +1090,9 @@ static String saveConvert(String theString, boolean useJava) {
outBuffer.append('f');
break;
default:
if (aChar < 0x0020 || (!USE_UTF8 && aChar > 0x007e)) {
if (aChar < 0x0020) {
formatter.format("\\u%04x", (int)aChar);
} else {
if (specialSaveChars.indexOf(aChar) != -1) {
outBuffer.append('\\');
}
outBuffer.append(aChar);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,8 @@ class ResourceBundleGenerator implements BundleGenerator {
private static final String META_VALUE_PREFIX = "metaValue_";

@Override
public void generateBundle(String packageName, String baseName, String localeID, boolean useJava,
public void generateBundle(String packageName, String baseName, String localeID,
Map<String, ?> map, BundleType type) throws IOException {
String suffix = useJava ? ".java" : ".properties";
String dirName = CLDRConverter.DESTINATION_DIR + File.separator + "sun" + File.separator
+ packageName + File.separator + "resources" + File.separator + "cldr";
packageName = packageName + ".resources.cldr";
Expand All @@ -91,23 +90,12 @@ public void generateBundle(String packageName, String baseName, String localeID,
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File(dir, baseName + ("root".equals(localeID) ? "" : "_" + localeID) + suffix);
File file = new File(dir, baseName + ("root".equals(localeID) ? "" : "_" + localeID) + ".java");
if (!file.exists()) {
file.createNewFile();
}
CLDRConverter.info("\tWriting file " + file);

String encoding;
if (useJava) {
if (CLDRConverter.USE_UTF8) {
encoding = "utf-8";
} else {
encoding = "us-ascii";
}
} else {
encoding = "iso-8859-1";
}

Formatter fmt = null;
if (type == BundleType.TIMEZONE) {
fmt = new Formatter();
Expand All @@ -119,7 +107,7 @@ public void generateBundle(String packageName, String baseName, String localeID,
value = (String[]) map.get(key);
fmt.format(" final String[] %s = new String[] {\n", meta);
for (String s : value) {
fmt.format(" \"%s\",\n", CLDRConverter.saveConvert(s, useJava));
fmt.format(" \"%s\",\n", CLDRConverter.escape(s));
}
fmt.format(" };\n");
metaKeys.add(key);
Expand Down Expand Up @@ -159,11 +147,11 @@ public void generateBundle(String packageName, String baseName, String localeID,
if (val instanceof String[] values) {
fmt.format(" final String[] %s = new String[] {\n", metaVal);
for (String s : values) {
fmt.format(" \"%s\",\n", CLDRConverter.saveConvert(s, useJava));
fmt.format(" \"%s\",\n", CLDRConverter.escape(s));
}
fmt.format(" };\n");
} else {
fmt.format(" final String %s = \"%s\";\n", metaVal, CLDRConverter.saveConvert((String)val, useJava));
fmt.format(" final String %s = \"%s\";\n", metaVal, CLDRConverter.escape((String)val));
}
newMap.put(oldEntry.key, oldEntry.metaKey());
}
Expand All @@ -173,55 +161,47 @@ public void generateBundle(String packageName, String baseName, String localeID,
map = newMap;
}

try (PrintWriter out = new PrintWriter(file, encoding)) {
try (PrintWriter out = new PrintWriter(file, "utf-8")) {
// Output copyright headers
out.println(getOpenJDKCopyright());
out.println(CopyrightHeaders.getUnicodeCopyright());

if (useJava) {
out.println("package sun." + packageName + ";\n");
out.printf("import %s;\n\n", type.getPathName());
out.printf("public class %s%s extends %s {\n", baseName, "root".equals(localeID) ? "" : "_" + localeID, type.getClassName());
out.println("package sun." + packageName + ";\n");
out.printf("import %s;\n\n", type.getPathName());
out.printf("public class %s%s extends %s {\n", baseName, "root".equals(localeID) ? "" : "_" + localeID, type.getClassName());

out.println(" @Override\n" +
" protected final Object[][] getContents() {");
if (fmt != null) {
out.print(fmt.toString());
}
out.println(" final Object[][] data = new Object[][] {");
out.println(" @Override\n" +
" protected final Object[][] getContents() {");
if (fmt != null) {
out.print(fmt.toString());
}
out.println(" final Object[][] data = new Object[][] {");
for (String key : map.keySet()) {
if (useJava) {
Object value = map.get(key);
if (value == null) {
CLDRConverter.warning("null value for " + key);
} else if (value instanceof String) {
String valStr = (String)value;
if (type == BundleType.TIMEZONE &&
!(key.startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX) ||
key.startsWith(CLDRConverter.METAZONE_DSTOFFSET_PREFIX)) ||
valStr.startsWith(META_VALUE_PREFIX)) {
out.printf(" { \"%s\", %s },\n", key, CLDRConverter.saveConvert(valStr, useJava));
} else {
out.printf(" { \"%s\", \"%s\" },\n", key, CLDRConverter.saveConvert(valStr, useJava));
}
} else if (value instanceof String[]) {
String[] values = (String[]) value;
out.println(" { \"" + key + "\",\n new String[] {");
for (String s : values) {
out.println(" \"" + CLDRConverter.saveConvert(s, useJava) + "\",");
}
out.println(" }\n },");
Object value = map.get(key);
if (value == null) {
CLDRConverter.warning("null value for " + key);
} else if (value instanceof String) {
String valStr = (String)value;
if (type == BundleType.TIMEZONE &&
!(key.startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX) ||
key.startsWith(CLDRConverter.METAZONE_DSTOFFSET_PREFIX)) ||
valStr.startsWith(META_VALUE_PREFIX)) {
out.printf(" { \"%s\", %s },\n", key, CLDRConverter.escape(valStr));
} else {
throw new RuntimeException("unknown value type: " + value.getClass().getName());
out.printf(" { \"%s\", \"%s\" },\n", key, CLDRConverter.escape(valStr));
}
} else if (value instanceof String[]) {
String[] values = (String[]) value;
out.println(" { \"" + key + "\",\n new String[] {");
for (String s : values) {
out.println(" \"" + CLDRConverter.escape(s) + "\",");
}
out.println(" }\n },");
} else {
out.println(key + "=" + CLDRConverter.saveConvert((String) map.get(key), useJava));
throw new RuntimeException("unknown value type: " + value.getClass().getName());
}
}
if (useJava) {
out.println(" };\n return data;\n }\n}");
}
out.println(" };\n return data;\n }\n}");
}
}

Expand Down
7 changes: 2 additions & 5 deletions make/modules/java.base/Gensrc.gmk
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 @@ -47,8 +47,6 @@ CLDR_GEN_DONE := $(GENSRC_DIR)/_cldr-gensrc.marker
TZ_DATA_DIR := $(MODULE_SRC)/share/data/tzdata
ZONENAME_TEMPLATE := $(MODULE_SRC)/share/classes/java/time/format/ZoneName.java.template

# The `-utf8` option is used even for US English, as some names
# may contain non-ASCII characters, such as “Türkiye”.
$(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
$(wildcard $(CLDR_DATA_DIR)/main/en*.xml) \
$(wildcard $(CLDR_DATA_DIR)/supplemental/*.xml) \
Expand All @@ -64,8 +62,7 @@ $(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
-basemodule \
-year $(COPYRIGHT_YEAR) \
-zntempfile $(ZONENAME_TEMPLATE) \
-tzdatadir $(TZ_DATA_DIR) \
-utf8)
-tzdatadir $(TZ_DATA_DIR))
$(TOUCH) $@

TARGETS += $(CLDR_GEN_DONE)
Expand Down
5 changes: 2 additions & 3 deletions make/modules/jdk.localedata/Gensrc.gmk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 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 @@ -45,8 +45,7 @@ $(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
-baselocales "en-US" \
-year $(COPYRIGHT_YEAR) \
-o $(GENSRC_DIR) \
-tzdatadir $(TZ_DATA_DIR) \
-utf8)
-tzdatadir $(TZ_DATA_DIR))
$(TOUCH) $@

TARGETS += $(CLDR_GEN_DONE)
Expand Down
Loading
Loading