Skip to content

Commit 83e4d85

Browse files
committed
Merge master HEAD into openj9-staging
Signed-off-by: J9 Build <[email protected]>
2 parents 53833ff + 6455bd6 commit 83e4d85

File tree

49 files changed

+777
-718
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+777
-718
lines changed

make/InitSupport.gmk

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -215,13 +215,15 @@ ifeq ($(HAS_SPEC), )
215215
$$(if $$(findstring $$(CONF), $$(var)), $$(var))))
216216
endif
217217
ifneq ($$(filter $$(CONF), $$(matching_confs)), )
218+
ifneq ($$(word 2, $$(matching_confs)), )
219+
# Don't repeat this output on make restarts caused by including
220+
# generated files.
221+
ifeq ($$(MAKE_RESTARTS), )
222+
$$(info Using exact match for CONF=$$(CONF) (other matches are possible))
223+
endif
224+
endif
218225
# If we found an exact match, use that
219226
matching_confs := $$(CONF)
220-
# Don't repeat this output on make restarts caused by including
221-
# generated files.
222-
ifeq ($$(MAKE_RESTARTS), )
223-
$$(info Using exact match for CONF=$$(CONF) (other matches are possible))
224-
endif
225227
endif
226228
endif
227229
ifeq ($$(matching_confs), )

make/autoconf/basic.m4

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,15 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
8484
8585
# We get the top-level directory from the supporting wrappers.
8686
BASIC_WINDOWS_VERIFY_DIR($TOPDIR, source)
87+
orig_topdir="$TOPDIR"
8788
UTIL_FIXUP_PATH(TOPDIR)
8889
AC_MSG_CHECKING([for top-level directory])
8990
AC_MSG_RESULT([$TOPDIR])
91+
if test "x$TOPDIR" != "x$orig_topdir"; then
92+
AC_MSG_WARN([Your top dir was originally represented as $orig_topdir,])
93+
AC_MSG_WARN([but after rewriting it became $TOPDIR.])
94+
AC_MSG_WARN([This typically means you have characters like space in the path, which can cause all kind of trouble.])
95+
fi
9096
AC_SUBST(TOPDIR)
9197
9298
if test "x$CUSTOM_ROOT" != x; then

make/autoconf/util_paths.m4

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ AC_DEFUN([UTIL_FIXUP_PATH],
7777
imported_path=""
7878
fi
7979
fi
80-
if test "x$imported_path" != "x$path"; then
80+
[ imported_path_lower=`$ECHO $imported_path | $TR '[:upper:]' '[:lower:]'` ]
81+
[ orig_path_lower=`$ECHO $path | $TR '[:upper:]' '[:lower:]'` ]
82+
# If only case differs, keep original path
83+
if test "x$imported_path_lower" != "x$orig_path_lower"; then
8184
$1="$imported_path"
8285
fi
8386
else
@@ -357,6 +360,8 @@ AC_DEFUN([UTIL_SETUP_TOOL],
357360
fi
358361
$1="$tool_command"
359362
fi
363+
# Make sure we add fixpath if needed
364+
UTIL_FIXUP_EXECUTABLE($1)
360365
if test "x$tool_args" != x; then
361366
# If we got arguments, re-append them to the command after the fixup.
362367
$1="[$]$1 $tool_args"

make/modules/jdk.incubator.vector/Lib.gmk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -64,7 +64,7 @@ ifeq ($(call isTargetOs, linux)+$(call isTargetCpu, aarch64)+$(INCLUDE_COMPILER2
6464
EXTRA_SRC := libsleef/generated, \
6565
DISABLED_WARNINGS_gcc := unused-function sign-compare tautological-compare ignored-qualifiers, \
6666
DISABLED_WARNINGS_clang := unused-function sign-compare tautological-compare ignored-qualifiers, \
67-
CFLAGS := $(SVE_CFLAGS), \
67+
vector_math_sve.c_CFLAGS := $(SVE_CFLAGS), \
6868
))
6969

7070
TARGETS += $(BUILD_LIBSLEEF)

src/java.base/share/classes/jdk/internal/misc/CDS.java

Lines changed: 113 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,10 @@
3131
import java.io.InputStream;
3232
import java.io.IOException;
3333
import java.io.PrintStream;
34+
import java.net.URL;
35+
import java.net.URLClassLoader;
36+
import java.nio.file.InvalidPathException;
37+
import java.nio.file.Path;
3438
import java.util.Arrays;
3539
import java.util.ArrayList;
3640
import java.util.List;
@@ -337,4 +341,112 @@ private static String dumpSharedArchive(boolean isStatic, String fileName) throw
337341
System.out.println("The process was attached by jcmd and dumped a " + (isStatic ? "static" : "dynamic") + " archive " + archiveFilePath);
338342
return archiveFilePath;
339343
}
344+
345+
/**
346+
* This class is used only by native JVM code at CDS dump time for loading
347+
* "unregistered classes", which are archived classes that are intended to
348+
* be loaded by custom class loaders during runtime.
349+
* See src/hotspot/share/cds/unregisteredClasses.cpp.
350+
*/
351+
private static class UnregisteredClassLoader extends URLClassLoader {
352+
private String currentClassName;
353+
private Class<?> currentSuperClass;
354+
private Class<?>[] currentInterfaces;
355+
356+
/**
357+
* Used only by native code. Construct an UnregisteredClassLoader for loading
358+
* unregistered classes from the specified file. If the file doesn't exist,
359+
* the exception will be caughted by native code which will print a warning message and continue.
360+
*
361+
* @param fileName path of the the JAR file to load unregistered classes from.
362+
*/
363+
private UnregisteredClassLoader(String fileName) throws InvalidPathException, IOException {
364+
super(toURLArray(fileName), /*parent*/null);
365+
currentClassName = null;
366+
currentSuperClass = null;
367+
currentInterfaces = null;
368+
}
369+
370+
private static URL[] toURLArray(String fileName) throws InvalidPathException, IOException {
371+
if (!((new File(fileName)).exists())) {
372+
throw new IOException("No such file: " + fileName);
373+
}
374+
return new URL[] {
375+
// Use an intermediate File object to construct a URI/URL without
376+
// authority component as URLClassPath can't handle URLs with a UNC
377+
// server name in the authority component.
378+
Path.of(fileName).toRealPath().toFile().toURI().toURL()
379+
};
380+
}
381+
382+
383+
/**
384+
* Load the class of the given <code>/name<code> from the JAR file that was given to
385+
* the constructor of the current UnregisteredClassLoader instance. This class must be
386+
* a direct subclass of <code>superClass</code>. This class must be declared to implement
387+
* the specified <code>interfaces</code>.
388+
* <p>
389+
* This method must be called in a single threaded context. It will never be recursed (thus
390+
* the asserts)
391+
*
392+
* @param name the name of the class to be loaded.
393+
* @param superClass must not be null. The named class must have a super class.
394+
* @param interfaces could be null if the named class does not implement any interfaces.
395+
*/
396+
private Class<?> load(String name, Class<?> superClass, Class<?>[] interfaces)
397+
throws ClassNotFoundException
398+
{
399+
assert currentClassName == null;
400+
assert currentSuperClass == null;
401+
assert currentInterfaces == null;
402+
403+
try {
404+
currentClassName = name;
405+
currentSuperClass = superClass;
406+
currentInterfaces = interfaces;
407+
408+
return findClass(name);
409+
} finally {
410+
currentClassName = null;
411+
currentSuperClass = null;
412+
currentInterfaces = null;
413+
}
414+
}
415+
416+
/**
417+
* This method must be called from inside the <code>load()</code> method. The <code>/name<code>
418+
* can be only:
419+
* <ul>
420+
* <li> the <code>name</code> parameter for <code>load()</code>
421+
* <li> the name of the <code>superClass</code> parameter for <code>load()</code>
422+
* <li> the name of one of the interfaces in <code>interfaces</code> parameter for <code>load()</code>
423+
* <ul>
424+
*
425+
* For all other cases, a <code>ClassNotFoundException</code> will be thrown.
426+
*/
427+
protected Class<?> findClass(final String name)
428+
throws ClassNotFoundException
429+
{
430+
Objects.requireNonNull(currentClassName);
431+
Objects.requireNonNull(currentSuperClass);
432+
433+
if (name.equals(currentClassName)) {
434+
// Note: the following call will call back to <code>this.findClass(name)</code> to
435+
// resolve the super types of the named class.
436+
return super.findClass(name);
437+
}
438+
if (name.equals(currentSuperClass.getName())) {
439+
return currentSuperClass;
440+
}
441+
if (currentInterfaces != null) {
442+
for (Class<?> c : currentInterfaces) {
443+
if (name.equals(c.getName())) {
444+
return c;
445+
}
446+
}
447+
}
448+
449+
throw new ClassNotFoundException(name);
450+
}
451+
}
340452
}

src/java.base/share/data/tzdata/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
# or visit www.oracle.com if you need additional information or have any
2222
# questions.
2323
#
24-
tzdata2024b
24+
tzdata2025a

src/java.base/share/data/tzdata/antarctica

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
197197

198198
# France & Italy - year-round base
199199
# Concordia, -750600+1232000, since 2005
200+
# https://en.wikipedia.org/wiki/Concordia_Station
201+
# Can use Asia/Singapore, which it has agreed with since inception.
200202

201203
# Germany - year-round base
202204
# Neumayer III, -704080-0081602, since 2009

src/java.base/share/data/tzdata/asia

Lines changed: 82 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3688,21 +3688,70 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
36883688
# be immediately followed by 1845-01-01; see R.H. van Gent's
36893689
# History of the International Date Line
36903690
# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm
3691-
# The rest of the data entries are from Shanks & Pottenger.
3692-
3693-
# From Jesper Nørgaard Welen (2006-04-26):
3694-
# ... claims that Philippines had DST last time in 1990:
3695-
# http://story.philippinetimes.com/p.x/ct/9/id/145be20cc6b121c0/cid/3e5bbccc730d258c/
3696-
# [a story dated 2006-04-25 by Cris Larano of Dow Jones Newswires,
3697-
# but no details]
3698-
3699-
# From Paul Eggert (2014-08-14):
3700-
# The following source says DST may be instituted November-January and again
3701-
# March-June, but this is not definite. It also says DST was last proclaimed
3702-
# during the Ramos administration (1992-1998); but again, no details.
3703-
# Carcamo D. PNoy urged to declare use of daylight saving time.
3704-
# Philippine Star 2014-08-05
3705-
# http://www.philstar.com/headlines/2014/08/05/1354152/pnoy-urged-declare-use-daylight-saving-time
3691+
3692+
# From P Chan (2021-05-10):
3693+
# Here's a fairly comprehensive article in Japanese:
3694+
# https://wiki.suikawiki.org/n/Philippine%20Time
3695+
# (2021-05-16):
3696+
# According to the references listed in the article,
3697+
# the periods that the Philippines (Manila) observed DST or used +9 are:
3698+
#
3699+
# 1936-10-31 24:00 to 1937-01-15 24:00
3700+
# (Proclamation No. 104, Proclamation No. 126)
3701+
# 1941-12-15 24:00 to 1945-11-30 24:00
3702+
# (Proclamation No. 789, Proclamation No. 20)
3703+
# 1954-04-11 24:00 to 1954-06-04 24:00
3704+
# (Proclamation No. 13, Proclamation No. 33)
3705+
# 1977-03-27 24:00 to 1977-09-21 24:00
3706+
# (Proclamation No. 1629, Proclamation No. 1641)
3707+
# 1990-05-21 00:00 to 1990-07-28 24:00
3708+
# (National Emergency Memorandum Order No. 17, Executive Order No. 415)
3709+
#
3710+
# Proclamation No. 104 ... October 30, 1936
3711+
# https://www.officialgazette.gov.ph/1936/10/30/proclamation-no-104-s-1936/
3712+
# Proclamation No. 126 ... January 15, 1937
3713+
# https://www.officialgazette.gov.ph/1937/01/15/proclamation-no-126-s-1937/
3714+
# Proclamation No. 789 ... December 13, 1941
3715+
# https://www.officialgazette.gov.ph/1941/12/13/proclamation-no-789-s-1941/
3716+
# Proclamation No. 20 ... November 11, 1945
3717+
# https://www.officialgazette.gov.ph/1945/11/11/proclamation-no-20-s-1945/
3718+
# Proclamation No. 13 ... April 6, 1954
3719+
# https://www.officialgazette.gov.ph/1954/04/06/proclamation-no-13-s-1954/
3720+
# Proclamation No. 33 ... June 3, 1954
3721+
# https://www.officialgazette.gov.ph/1954/06/03/proclamation-no-33-s-1954/
3722+
# Proclamation No. 1629 ... March 25, 1977
3723+
# https://www.officialgazette.gov.ph/1977/03/25/proclamation-no-1629-s-1977/
3724+
# Proclamation No. 1641 ...May 26, 1977
3725+
# https://www.officialgazette.gov.ph/1977/05/26/proclamation-no-1641-s-1977/
3726+
# National Emergency Memorandum Order No. 17 ... May 2, 1990
3727+
# https://www.officialgazette.gov.ph/1990/05/02/national-emergency-memorandum-order-no-17-s-1990/
3728+
# Executive Order No. 415 ... July 20, 1990
3729+
# https://www.officialgazette.gov.ph/1990/07/20/executive-order-no-415-s-1990/
3730+
#
3731+
# During WWII, Proclamation No. 789 fixed two periods of DST. The first period
3732+
# was set to continue only until January 31, 1942. But Manila was occupied by
3733+
# the Japanese earlier in the month....
3734+
#
3735+
# For the date of the adoption of standard time, Shank[s] gives 1899-05-11.
3736+
# The article is not able to state the basis of that. I guess it was based on
3737+
# a US War Department Circular issued on that date.
3738+
# https://books.google.com/books?id=JZ1PAAAAYAAJ&pg=RA3-PA8
3739+
#
3740+
# However, according to other sources, standard time was adopted on
3741+
# 1899-09-06. Also, the LMT was GMT+8:03:52
3742+
# https://books.google.com/books?id=MOYIAQAAIAAJ&pg=PA521
3743+
# https://books.google.com/books?id=lSnqqatpYikC&pg=PA21
3744+
#
3745+
# From Paul Eggert (2024-09-05):
3746+
# The penultimate URL in P Chan's email refers to page 521 of
3747+
# Selga M, The Time Service in the Philippines.
3748+
# Proc Pan-Pacific Science Congress. Vol. 1 (1923), 519-532.
3749+
# It says, "The change from the meridian 120° 58' 04" to the 120th implied a
3750+
# change of 3 min. 52s.26 in time; consequently on 6th September, 1899,
3751+
# Manila Observatory gave the noon signal 3 min. 52s.26 later than before".
3752+
#
3753+
# Wikipedia says the US declared Manila liberated on March 4, 1945;
3754+
# this doesn't affect clocks, just our time zone abbreviation and DST flag.
37063755

37073756
# From Paul Goyette (2018-06-15) with URLs updated by Guy Harris (2024-02-15):
37083757
# In the Philippines, there is a national law, Republic Act No. 10535
@@ -3720,24 +3769,26 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
37203769
# influence of the sources. There is no current abbreviation for DST,
37213770
# so use "PDT", the usual American style.
37223771

3723-
# From P Chan (2021-05-10):
3724-
# Here's a fairly comprehensive article in Japanese:
3725-
# https://wiki.suikawiki.org/n/Philippine%20Time
3726-
# From Paul Eggert (2021-05-10):
3727-
# The info in the Japanese table has not been absorbed (yet) below.
3728-
37293772
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
3730-
Rule Phil 1936 only - Nov 1 0:00 1:00 D
3731-
Rule Phil 1937 only - Feb 1 0:00 0 S
3732-
Rule Phil 1954 only - Apr 12 0:00 1:00 D
3733-
Rule Phil 1954 only - Jul 1 0:00 0 S
3734-
Rule Phil 1978 only - Mar 22 0:00 1:00 D
3735-
Rule Phil 1978 only - Sep 21 0:00 0 S
3773+
Rule Phil 1936 only - Oct 31 24:00 1:00 D
3774+
Rule Phil 1937 only - Jan 15 24:00 0 S
3775+
Rule Phil 1941 only - Dec 15 24:00 1:00 D
3776+
# The following three rules were canceled by Japan:
3777+
#Rule Phil 1942 only - Jan 31 24:00 0 S
3778+
#Rule Phil 1942 only - Mar 1 0:00 1:00 D
3779+
#Rule Phil 1942 only - Jun 30 24:00 0 S
3780+
Rule Phil 1945 only - Nov 30 24:00 0 S
3781+
Rule Phil 1954 only - Apr 11 24:00 1:00 D
3782+
Rule Phil 1954 only - Jun 4 24:00 0 S
3783+
Rule Phil 1977 only - Mar 27 24:00 1:00 D
3784+
Rule Phil 1977 only - Sep 21 24:00 0 S
3785+
Rule Phil 1990 only - May 21 0:00 1:00 D
3786+
Rule Phil 1990 only - Jul 28 24:00 0 S
37363787
# Zone NAME STDOFF RULES FORMAT [UNTIL]
3737-
Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
3738-
8:04:00 - LMT 1899 May 11
3739-
8:00 Phil P%sT 1942 May
3740-
9:00 - JST 1944 Nov
3788+
Zone Asia/Manila -15:56:08 - LMT 1844 Dec 31
3789+
8:03:52 - LMT 1899 Sep 6 4:00u
3790+
8:00 Phil P%sT 1942 Feb 11 24:00
3791+
9:00 - JST 1945 Mar 4
37413792
8:00 Phil P%sT
37423793

37433794
# Bahrain

0 commit comments

Comments
 (0)