Skip to content

Commit f761038

Browse files
authored
Merge branch 'master' into goetz_backport_8314136
2 parents 4b6806f + bd1728a commit f761038

File tree

53 files changed

+1965
-460
lines changed

Some content is hidden

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

53 files changed

+1965
-460
lines changed

.github/workflows/main.yml

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -293,17 +293,6 @@ jobs:
293293
bootjdk-platform: linux-x64
294294
runs-on: ubuntu-22.04
295295

296-
test-macos-x64:
297-
name: macos-x64
298-
needs:
299-
- build-macos-x64
300-
uses: ./.github/workflows/test.yml
301-
with:
302-
platform: macos-x64
303-
bootjdk-platform: macos-x64
304-
runs-on: macos-13
305-
xcode-toolset-version: '14.3.1'
306-
307296
test-macos-aarch64:
308297
name: macos-aarch64
309298
needs:
@@ -325,46 +314,3 @@ jobs:
325314
bootjdk-platform: windows-x64
326315
runs-on: windows-2025
327316

328-
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
329-
remove-bundles:
330-
name: 'Remove bundle artifacts'
331-
runs-on: ubuntu-22.04
332-
if: always()
333-
needs:
334-
- build-linux-x64
335-
- build-linux-x86-hs
336-
- build-linux-x64-hs-nopch
337-
- build-linux-x64-hs-zero
338-
- build-linux-x64-hs-minimal
339-
- build-linux-x64-hs-optimized
340-
- build-linux-cross-compile
341-
- build-macos-x64
342-
- build-macos-aarch64
343-
- build-windows-x64
344-
- build-windows-aarch64
345-
- test-linux-x64
346-
- test-macos-x64
347-
- test-macos-aarch64
348-
- test-windows-x64
349-
350-
steps:
351-
- name: 'Remove bundle artifacts'
352-
run: |
353-
# Find and remove all bundle artifacts
354-
# See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
355-
ALL_ARTIFACT_IDS="$(curl -sL \
356-
-H 'Accept: application/vnd.github+json' \
357-
-H 'Authorization: Bearer ${{ github.token }}' \
358-
-H 'X-GitHub-Api-Version: 2022-11-28' \
359-
'${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts?per_page=100')"
360-
BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
361-
for id in $BUNDLE_ARTIFACT_IDS; do
362-
echo "Removing $id"
363-
curl -sL \
364-
-X DELETE \
365-
-H 'Accept: application/vnd.github+json' \
366-
-H 'Authorization: Bearer ${{ github.token }}' \
367-
-H 'X-GitHub-Api-Version: 2022-11-28' \
368-
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
369-
|| echo "Failed to remove bundle"
370-
done

src/java.base/share/classes/sun/util/calendar/ZoneInfo.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2000, 2024, 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
@@ -45,14 +45,14 @@
4545
* for the {@link #getOffset(int,int,int,int,int,int) getOffset}
4646
* method that takes Gregorian calendar date fields.
4747
* <p>
48-
* This table covers transitions from 1900 until 2037 (as of version
49-
* 1.4), Before 1900, it assumes that there was no daylight saving
48+
* This table covers transitions from 1900 until 2100 (as of version
49+
* 23), Before 1900, it assumes that there was no daylight saving
5050
* time and the <code>getOffset</code> methods always return the
5151
* {@link #getRawOffset} value. No Local Mean Time is supported. If a
5252
* specified date is beyond the transition table and this time zone is
53-
* supposed to observe daylight saving time in 2037, it delegates
53+
* supposed to observe daylight saving time in 2100, it delegates
5454
* operations to a {@link java.util.SimpleTimeZone SimpleTimeZone}
55-
* object created using the daylight saving time schedule as of 2037.
55+
* object created using the daylight saving time schedule as of 2100.
5656
* <p>
5757
* The date items, transitions, GMT offset(s), etc. are read from a database
5858
* file. See {@link ZoneInfoFile} for details.

src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2012, 2024, 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
@@ -398,16 +398,16 @@ static long readEpochSec(DataInput in) throws IOException {
398398
// ZoneInfo starts with UTC1900
399399
private static final long UTC1900 = -2208988800L;
400400

401-
// ZoneInfo ends with UTC2037
402-
// LocalDateTime.of(2038, 1, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC) - 1;
403-
private static final long UTC2037 = 2145916799L;
401+
// ZoneInfo ends with UTC2100
402+
// LocalDateTime.of(2101, 1, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC) - 1;
403+
private static final long UTC2100 = 4133980799L;
404404

405-
// ZoneInfo has an ending entry for 2037, this need to be offset by
405+
// ZoneInfo has an ending entry for 2100, this need to be offset by
406406
// a "rawOffset"
407-
// LocalDateTime.of(2037, 1, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC));
408-
private static final long LDT2037 = 2114380800L;
407+
// LocalDateTime.of(2100, 1, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC);
408+
private static final long LDT2100 = 4102444800L;
409409

410-
//Current time. Used to determine future GMToffset transitions
410+
//Current time. Used to determine future GMT offset transitions
411411
private static final long CURRT = System.currentTimeMillis()/1000;
412412

413413
/* Get a ZoneInfo instance.
@@ -474,7 +474,7 @@ private static ZoneInfo getZoneInfo(String zoneId,
474474

475475
for (; i < savingsInstantTransitions.length; i++) {
476476
long trans = savingsInstantTransitions[i];
477-
if (trans > UTC2037) {
477+
if (trans > UTC2100) {
478478
// no trans beyond LASTYEAR
479479
lastyear = LASTYEAR;
480480
break;
@@ -621,11 +621,11 @@ private static ZoneInfo getZoneInfo(String zoneId,
621621
}
622622
} else if (nTrans > 0) { // only do this if there is something in table already
623623
if (lastyear < LASTYEAR) {
624-
// ZoneInfo has an ending entry for 2037
624+
// ZoneInfo has an ending entry for 2100
625625
//long trans = OffsetDateTime.of(LASTYEAR, 1, 1, 0, 0, 0, 0,
626626
// ZoneOffset.ofTotalSeconds(rawOffset/1000))
627627
// .toEpochSecond();
628-
long trans = LDT2037 - rawOffset/1000;
628+
long trans = LDT2100 - rawOffset/1000;
629629

630630
int offsetIndex = indexOf(offsets, 0, nOffsets, rawOffset/1000);
631631
if (offsetIndex == nOffsets)
@@ -810,7 +810,9 @@ private static int getYear(long epochSecond, int offset) {
810810
private static final long DST_MASK = 0xf0L;
811811
private static final int DST_NSHIFT = 4;
812812
private static final int TRANSITION_NSHIFT = 12;
813-
private static final int LASTYEAR = 2037;
813+
// The `last` year that transitions are accounted for. If there are
814+
// rules that go beyond this LASTYEAR, the value needs to be expanded.
815+
private static final int LASTYEAR = 2100;
814816

815817
// from: 0 for offset lookup, 1 for dstsvings lookup
816818
private static int indexOf(int[] offsets, int from, int nOffsets, int offset) {

src/jdk.jfr/share/conf/jfr/default.jfc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@
3838
</event>
3939

4040
<event name="jdk.PlaceholderTableStatistics">
41-
<setting name="enabled">true</setting>
41+
<setting name="enabled">false</setting>
4242
<setting name="period">10 s</setting>
4343
</event>
4444

4545
<event name="jdk.LoaderConstraintsTableStatistics">
46-
<setting name="enabled">true</setting>
46+
<setting name="enabled">false</setting>
4747
<setting name="period">10 s</setting>
4848
</event>
4949

5050
<event name="jdk.ProtectionDomainCacheTableStatistics">
51-
<setting name="enabled">true</setting>
51+
<setting name="enabled">false</setting>
5252
<setting name="period">10 s</setting>
5353
</event>
5454

test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2010, 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
@@ -89,7 +89,7 @@ MethodEntry(jvmtiEnv *jvmti_env,
8989
gIsMethodEntryWorking = JNI_TRUE;
9090

9191
if (!gIsBreakpointSet)
92-
NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL));
92+
NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, thread));
9393
}
9494
}
9595

@@ -116,7 +116,7 @@ SingleStep(jvmtiEnv *jvmti_env,
116116
free(locStr);
117117
}
118118

119-
NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL));
119+
NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, thread));
120120

121121
if (!gIsDebuggerCompatible) {
122122
if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(method, location)))

test/jdk/ProblemList.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ java/awt/Modal/MultipleDialogs/MultipleDialogs2Test.java 8198665 macosx-all
410410
java/awt/Modal/MultipleDialogs/MultipleDialogs3Test.java 8198665 macosx-all
411411
java/awt/Modal/MultipleDialogs/MultipleDialogs4Test.java 8198665 macosx-all
412412
java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java 8198665 macosx-all
413+
java/awt/Modal/NativeDialogToFrontBackTest.java 7188049 windows-all,linux-all
413414
java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java 8177326 macosx-all
414415
java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java 8005021 macosx-all
415416
java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java 8051455 macosx-all
@@ -627,8 +628,6 @@ java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java 7140992 generi
627628

628629
java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java 7146541 linux-all
629630

630-
java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java 7191877 generic-all
631-
632631
java/rmi/registry/readTest/CodebaseTest.java 8173324 windows-all
633632
java/rmi/registry/multipleRegistries/MultipleRegistries.java 8268182 macosx-all
634633

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
/*
2+
* Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
3+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
*
5+
* This code is free software; you can redistribute it and/or modify it
6+
* under the terms of the GNU General Public License version 2 only, as
7+
* published by the Free Software Foundation.
8+
*
9+
* This code is distributed in the hope that it will be useful, but WITHOUT
10+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12+
* version 2 for more details (a copy is included in the LICENSE file that
13+
* accompanied this code).
14+
*
15+
* You should have received a copy of the GNU General Public License version
16+
* 2 along with this work; if not, write to the Free Software Foundation,
17+
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18+
*
19+
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20+
* or visit www.oracle.com if you need additional information or have any
21+
* questions.
22+
*/
23+
24+
import java.awt.BorderLayout;
25+
import java.awt.Button;
26+
import java.awt.Dimension;
27+
import java.awt.Frame;
28+
import java.awt.GraphicsEnvironment;
29+
30+
import java.awt.event.ActionEvent;
31+
import java.awt.event.ActionListener;
32+
33+
import javax.swing.JPanel;
34+
35+
/*
36+
* @test
37+
* @bug 6225472 6682536
38+
* @requires (os.family != "linux")
39+
* @summary Tests that non-focusable Frame in full-screen mode overlaps the task bar.
40+
* @library /java/awt/regtesthelpers
41+
* @build PassFailJFrame
42+
* @run main/manual NonfocusableFrameFullScreenTest
43+
*/
44+
45+
public class NonfocusableFrameFullScreenTest extends JPanel {
46+
boolean fullscreen = false;
47+
48+
public static void main(String[] args) throws Exception {
49+
final String INSTRUCTIONS = """
50+
1. Press "Show Frame" button to show a Frame with two buttons.
51+
52+
2. Press the button "To Full Screen" to bring the frame to
53+
full-screen mode:
54+
55+
The frame should overlap the taskbar
56+
57+
3. Press "To Windowed" button:
58+
The frame should return to its original size.
59+
The frame shouldn't be alwaysOnTop.
60+
61+
4. Press "Set Always On Top" button and make sure the frame
62+
is alwaysOnTop, then press "To Full Screen" button
63+
and then "To Windowed" button:
64+
65+
The frame should return to its original size keeping alwaysOnTop
66+
state on.
67+
68+
Press Pass if everything is as expected.""";
69+
70+
PassFailJFrame.builder()
71+
.instructions(INSTRUCTIONS)
72+
.columns(45)
73+
.testUI(NonfocusableFrameFullScreenTest::new)
74+
.build()
75+
.awaitAndCheck();
76+
}
77+
78+
private NonfocusableFrameFullScreenTest() {
79+
Button b = new Button("Show Frame");
80+
b.addActionListener(new ActionListener() {
81+
@Override
82+
public void actionPerformed(ActionEvent e) {
83+
showFrame();
84+
}
85+
});
86+
setLayout(new BorderLayout());
87+
add(b, BorderLayout.CENTER);
88+
}
89+
90+
@Override
91+
public Dimension getPreferredSize() {
92+
return new Dimension(200, 100);
93+
}
94+
95+
public void showFrame() {
96+
Frame frame = new Frame("Test Frame");
97+
98+
Button button = new Button("To Full Screen");
99+
button.addActionListener(new ActionListener() {
100+
@Override
101+
public void actionPerformed(ActionEvent e) {
102+
if (fullscreen) {
103+
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().
104+
setFullScreenWindow(null);
105+
button.setLabel("To Full Screen");
106+
fullscreen = false;
107+
} else {
108+
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().
109+
setFullScreenWindow(frame);
110+
button.setLabel("To Windowed");
111+
fullscreen = true;
112+
}
113+
frame.validate();
114+
}
115+
});
116+
117+
Button button2 = new Button("Set Always On Top");
118+
button2.addActionListener(new ActionListener() {
119+
@Override
120+
public void actionPerformed(ActionEvent e) {
121+
if (frame.isAlwaysOnTop()) {
122+
button2.setLabel("Set Always On Top");
123+
frame.setAlwaysOnTop(false);
124+
} else {
125+
button2.setLabel("Set Not Always On Top");
126+
frame.setAlwaysOnTop(true);
127+
}
128+
frame.validate();
129+
}
130+
});
131+
132+
frame.setLayout(new BorderLayout());
133+
frame.add(button, BorderLayout.WEST);
134+
frame.add(button2, BorderLayout.EAST);
135+
frame.setBounds(400, 200, 350, 100);
136+
frame.setFocusableWindowState(false);
137+
frame.setVisible(true);
138+
}
139+
}

0 commit comments

Comments
 (0)