Compare commits

...

1068 Commits

Author SHA1 Message Date
Vladimir Dvorak
48c9dcf528 JBR-8890 DCEVM Handle exceptions in do_topological_class_sorting() 2025-06-16 17:50:27 +02:00
Vladimir Lagunov
6d0eb24888 Revert "JBR-7700 Disable java.io over java.nio.file in JBR21 by default"
This reverts commit 54817b2e8d.
2025-06-11 13:37:46 +02:00
Vitaly Provodin
3c90ecd46c update exclude list on results of 21.0.7_b1034.51 test runs 2025-06-11 03:53:12 +04:00
Vladimir Lagunov
54817b2e8d JBR-7700 Disable java.io over java.nio.file in JBR21 by default
The feature is ready month ago, but every time some new test appears that prevents the feature from being deployed.

By disabling the flag, it becomes possible to roll out the new functionality with the ability to enable it. So, it becomes possible to start verifying the new feature easier.

Meanwhile, we'll keep trying to enable the new feature by default.
2025-06-10 15:54:30 +02:00
Vitaly Provodin
c70e17b88b update exclude list after updating agents 2025-06-07 05:07:43 +04:00
Nikita Tsarev
bcd6f0c9c0 fixup! JBR-5860: Implement drag-and-drop [WLToolkit] 2025-06-06 18:42:33 +02:00
Dmitry Drobotov
646d2e478f JBR-8490 Improve searching for scroll bars in ScrollAreaAccessibility.
Use JScrollPane.getVerticalScrollBar/getHorizontalScrollBar methods to look for scroll bars. In some cases a scroll bar might be not a direct child of the scroll area, but it can still be assigned to the vertical/horizontalScrollBar property.
2025-06-06 18:36:25 +02:00
Dmitry Drobotov
4214897d5e JBR-8408 Post accessibility value changed events for scroll bars
3rd party apps might want to subscribe for scroll bar value changed events to track scroll position. VoiceOver and Zoom don't react on these events.
2025-06-06 18:08:05 +02:00
Nikita Tsarev
189907d2ae JBR-5860: Implement drag-and-drop [WLToolkit] 2025-06-06 16:51:01 +02:00
Maxim Kartashev
4b17fcc46e JBR-8949 Wayland: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java: Wrong GTK library version: null 2025-06-06 12:19:16 +04:00
Nikita Tsarev
03804770b6 JBR-8912: Fix pasting unicode content from clipboard [WLToolkit] 2025-06-05 13:43:35 +02:00
Vladimir Dvorak
1d0cbadf05 JBR-8850 DCEVM: Enable interface replacement 2025-06-04 22:13:03 +02:00
Vladimir Dvorak
8cfd55e764 JBR-8636 DCEVM - eagerly set new_version in MagicAccessorImpl 2025-06-04 22:12:42 +02:00
Vitaly Provodin
b06068de9c JBR-8589 permit the case when lambda's parent is from the CDS archive, add omitted Outer.java 2025-06-03 14:01:42 +04:00
Vladimir Lagunov
eb027e2bc9 JBR-8859 Fix assertion in jtreg:test/jdk/com/sun/jdi/SetLocalWhileThreadInNative.java
The test relied on hard-coded constant that knows internals of FileInputStream.read calls, and these internals changed in JBR-7700.
2025-06-03 11:28:56 +02:00
Maxim Kartashev
5fbd7f38e0 JBR-7087 Wayland: enable more GTK tests 2025-06-03 10:03:19 +04:00
Maxim Kartashev
44754c75f9 JBR-8918 Wayland: javax/swing/LookAndFeel/8145547/DemandGTK2.sh fails due to no libgtk found 2025-06-03 09:59:26 +04:00
Vladimir Lagunov
0bf04b04b0 JBR-8852 Let tests that tune MaxDirectMemorySize work with io over nio
The problem is that java.nio.file always creates a direct buffer inside, and it's unavoidable. However, it's avoidable to tune java.nio.file that way, that direct buffers are never cached for latter use. This trick helps with tests that expect to be exclusive owners of the whole direct memory.
2025-06-02 18:10:12 +02:00
Vitaly Provodin
ca69af5c29 update exclude list on results of 21.0.7_b1021.38 test runs 2025-06-02 13:04:02 +04:00
Vitaly Provodin
1527cb78dd clean up fixed issues from exclude lists 2025-05-30 08:30:58 +04:00
Vitaly Provodin
bd8b5fa16f update exclude list on results of 21.0.7_b1020.35 test runs 2025-05-26 09:17:32 +04:00
Nikita Tsarev
c53afaf1c6 fixup! JBR-8833: Refactor Wayland data device abstraction [WLToolkit] 2025-05-23 18:27:35 +02:00
Sergey Shelomentsev
81b393aa37 fixup! JBR-4154 use -V to sort versions 2025-05-23 18:26:43 +03:00
Nikita Tsarev
8b4249aa00 JBR-8833: Refactor Wayland data device abstraction [WLToolkit] 2025-05-23 12:40:01 +02:00
Vitaly Provodin
a8b4f08808 fixup! JBR-4154 fix extracting version info from sources 2025-05-23 12:35:37 +04:00
Vitaly Provodin
88532ca2e1 fixup! clean up fixed issues from exclude lists 2025-05-23 09:30:08 +04:00
Vitaly Provodin
4b01cab791 clean up fixed issues from exclude lists 2025-05-23 06:18:47 +04:00
Vitaly Provodin
971aaf09d7 fixup! update exclude list on results of 21.0.7_b992.24 test runs 2025-05-23 03:50:30 +04:00
Vitaly Provodin
219ad23c66 JBR-8589 disable CDS specifically for Linux-x86 2025-05-22 02:48:11 +04:00
Vitaly Provodin
20015bc3b7 JBR-8589 replace system CDS with an actual one for IntelliJ 2025-05-21 09:20:01 +04:00
Vitaly Provodin
20bfe049b3 update exclude list on results of 21.0.7_b992.24 test runs 2025-05-21 09:12:19 +04:00
Artem Bochkarev
e32b9d4ebc fixup! JBR-8548 Add possibility to build without out-of-process part in Linux. 2025-05-21 08:17:43 +04:00
Artem Bochkarev
8ec3e80317 JBR-8548 Add possibility to build without out-of-process part in Linux. 2025-05-20 20:30:54 +04:00
Maxim Kartashev
c1325a3735 JBR-6979 Modernize more WaitForSingleObject on Windows
Use -XX:+UnlockExperimentalVMOptions -XX:-UseModernSynchAPI
to switch back to the original implementation
2025-05-19 17:25:34 +03:00
Maxim Kartashev
cc2280fd08 fixup! JBR-8664 Optimize sun.nio.fs.WindowsPath.compareTo 2025-05-19 17:44:06 +04:00
Maxim Kartashev
af4d8df355 JBR-8643 Wayland: popup will not appear if located outside of parent window 2025-05-19 17:27:12 +04:00
Nikita Tsarev
8fe8fb8108 JBR-8685: Add new macOS 15.4 shortcuts to the system shortcuts API 2025-05-19 11:29:07 +02:00
Vladimir Lagunov
997c61fdc5 JBR-8664 Optimize sun.nio.fs.WindowsPath.compareTo 2025-05-19 11:24:05 +04:00
Vladimir Lagunov
1651aa4318 JBR-8664 Optimize sun.nio.fs.UnixPath.compareTo 2025-05-16 10:53:40 +04:00
Vladimir Dvorak
a6cdff5987 JBR-8316 DCEVM: Allow idnum to exceed total method count 2025-05-15 18:17:40 +02:00
Maxim Kartashev
5fc78ed3da JBR-8304 Wayland: UI/UnninstallUIMemoryLeaks/UnninstallUIMemoryLeaks.java throws HeadlessException: No X11 DISPLAY variable was set
Pass JVM options to sub-tests in a more reliable and uniform fashion
2025-05-15 16:59:51 +04:00
Vladimir Dvorak
e09479f433 JBR-8636 DCEVM: Fix crashes when multiple class redefinitions are processed simultaneously 2025-05-14 20:25:07 +02:00
bourgesl
d54ab6c19b JBR-8276: fixed CPlaformWindow.flushBuffers() to use LWCTooolkit.invokeAndWait() discarded when CGDisplayRegisterReconfigurationCallback() is in progress (ThreadUtilities.blockingThread + removed isWithinPowerTransition code)
- fixed CVDisplayLink management on wake-ups/sleep and display reconfiguration
- restored opengl changes
2025-05-14 17:27:26 +02:00
bourgesl
8c3a5c3252 JBR-8278: fixed performOnMainThreadWaiting run block condition to fix FullscreenWindowProps and NoResizeEventOnDMChangeTest tests 2025-05-14 17:06:49 +02:00
Maxim Kartashev
d08c6eb496 JBR-8700 Wayland: Glitchy resize in J2Ddemo 2025-05-14 18:27:33 +04:00
Vitaly Provodin
baf55e9e53 update exclude list on results of 21.0.7_b982.16 test runs 2025-05-14 05:51:46 +04:00
Vitaly Provodin
4482618c0b update exclude list on results of 21.0.7_b968.14 test runs 2025-05-09 04:42:54 +04:00
Sergey Shelomentsev
2c7e868474 JBR-5819 fix custom title bar tests 2025-05-06 23:38:47 +03:00
Nikita Gubarkov
510b4fa816 fixup! JBR-8673 Disable watch.desktop.geometry on excessive event count 2025-05-03 12:53:40 +02:00
Nikita Tsarev
8ee1a7eece JBR-8684: Fix for a buffer overrun when reading system hotkey configuration with unexpected shortcuts on macOS 2025-04-30 11:34:20 +02:00
Vitaly Provodin
99bb681fc4 update exclude list on results of 21.0.7_b968.7 test runs 2025-04-29 04:06:19 +04:00
Nikita Gubarkov
d474af791d JBR-8673 Disable watch.desktop.geometry on excessive event count 2025-04-28 16:12:30 +02:00
Vitaly Provodin
146591e096 update exclude list on results of 21.0.7 test runs 2025-04-26 03:36:16 +04:00
Maxim Kartashev
ff557b2f73 JBR-8639 Wayland: exclude tests depending on mouseMove 2025-04-23 11:39:36 +04:00
Maxim Kartashev
ea2a91b83e JBR-8618 Wayland: GTK LaF does not change appearance when system theme changes 2025-04-23 11:22:38 +04:00
Maxim Kartashev
d26358d57c JBR-7892 Generate a descriptive error message when awt cannot be loaded 2025-04-23 11:18:41 +04:00
Sergey Shelomentsev
444b8d9d04 JBR-8632 Remove UI scales above 1.0 for tests 2025-04-22 16:07:36 +03:00
Vladimir Lagunov
a0c48294d2 JBR-7700 Classes from package java.io. use java.nio.file inside
The feature is ON by default. It can be disabled by specifying `-Djbr.java.io.use.nio=false`
2025-04-17 17:57:04 +04:00
Martin Balao
c91670346a 8347847: Enhance jar file support
Backport-of: 013d9f988559bc7e29449967c4d35b80d692ef11
Reviewed-by:
2025-04-17 09:03:49 +03:00
Prasanta Sadhukhan
57fc667fdb 8343007: Enhance Buffered Image handling
Backport-of: e95aaf16aa202b49892ccb05ded783114b2d8534
2025-04-17 09:03:49 +03:00
Alexei Voitylov
e59735f32d 8342562: Enhance Deflater operations
Backport-of: 17f7df55fb762488c1054985830ea13840489df2
2025-04-17 09:03:49 +03:00
Martin Balao
c9b65634e8 8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract
Reviewed-by: andrew
Backport-of: 8fce5275fc
2025-04-17 09:03:49 +03:00
Alexei Voitylov
6142b58de5 8338430: Improve compiler transformations
Backport-of: 456be5090b6a181afb85d72ac8473e4df3398032
2025-04-17 09:03:49 +03:00
Alexei Voitylov
efff1d815b 8337692: Better TLS connection support
Backport-of: f06ecf8072b39ffb9eedfc629f181bd805115e0e
2025-04-17 09:03:49 +03:00
Nibedita Jena
056e46f364 8337494: Clarify JarInputStream behavior
Backport-of: 353f6e90bec7248016b2c733bae52ed6ca06fc20
2025-04-17 09:03:49 +03:00
Andrew John Hughes
b7a165efd6 8331735: UpcallLinker::on_exit races with GC when copying frame anchor 8343144: UpcallLinker::on_entry racingly clears pending exception with GC safepoints 8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native
Backport-of: 461ffafeba
2025-04-17 09:03:49 +03:00
Roman Marchenko
dc062e8f73 8309841: Jarsigner should print a warning if an entry is removed
Reviewed-by: yan
Backport-of: bdfb41f977
2025-04-17 09:03:48 +03:00
Andrew John Hughes
292386aea2 8352097: (tz) zone.tab update missed in 2025a backport
Reviewed-by: serb, dcherepanov
2025-04-17 09:03:48 +03:00
Alexey Bakhtin
1e888ac836 8317808: HTTP/2 stream cancelImpl may leave subscriber registered
Backport-of: 6273ab97dc
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
770d0854a3 8344581: [TESTBUG] java/awt/Robot/ScreenCaptureRobotTest.java failing on macOS
Reviewed-by: mbaesken
Backport-of: 0d30b869d8
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
a3544617b9 8339356: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine
Backport-of: f6e7713bb6
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
ad1669d49c 8342635: javax/swing/JFileChooser/FileSystemView/WindowsDefaultIconSizeTest.java creates tmp file in src dir
8342634: javax/imageio/plugins/wbmp/WBMPStreamTruncateTest.java creates temp file in src dir

Backport-of: 02ea4b548e
2025-04-17 09:03:48 +03:00
Matthias Baesken
96458eba85 8349039: Adjust exception No type named <ThreadType> in database
Backport-of: 669f8c0c07
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
ae064d69b0 8327476: Upgrade JLine to 3.26.1
Reviewed-by: mdoerr
Backport-of: aaa90b3005
2025-04-17 09:03:48 +03:00
Suchismith Roy
22993e612d 8349729: [21u] AIX jtreg tests fail to compile with qvisibility=hidden
Reviewed-by: goetz
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
145d40b327 8348675: TrayIcon tests fail in Ubuntu 24.10 Wayland
Backport-of: 6f4fc82149
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
101b509203 8346828: javax/swing/JScrollBar/4865918/bug4865918.java still fails in CI
Backport-of: 9fafd63d46
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
ecdb7bcd3e 8346324: javax/swing/JScrollBar/4865918/bug4865918.java fails in CI
Backport-of: a0b7c4f015
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
9107d9f00c 8338595: Add more linesize for MIME decoder in macro bench test Base64Decode
Backport-of: 7458952ded
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
569d32abc2 8337222: gc/TestDisableExplicitGC.java fails due to unexpected CodeCache GC
Backport-of: dab2a0b597
2025-04-17 09:03:48 +03:00
Antonio Vieiro
6a0fbe9cef 8339728: [Accessibility,Windows,JAWS] Bug in the getKeyChar method of the AccessBridge class
Backport-of: ecdc322029
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
dd764e60c1 8342098: Write a test to compare the images
Backport-of: 47ebf8d868
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
fd382bd26b 8283664: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintTextTest.java
Backport-of: 84c99fb91f
2025-04-17 09:03:48 +03:00
Goetz Lindenmaier
950a1571f9 8328730: Convert java/awt/print/bug8023392/bug8023392.html applet test to main
Backport-of: 4047a3623a
2025-04-17 09:03:48 +03:00
Matthias Baesken
c3434f068e 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero
Backport-of: 5e92a4ceaf
2025-04-17 09:03:48 +03:00
Matthias Baesken
4df1d6ef46 8347268: [ubsan] logOutput.cpp:357:21: runtime error: applying non-zero offset 1 to null pointer
Backport-of: 82e16ba248
2025-04-17 09:03:48 +03:00
Matthias Baesken
0334e25009 8345676: [ubsan] ProcessImpl_md.c:561:40: runtime error: applying zero offset to null pointer on macOS aarch64
Backport-of: 0285020c7e
2025-04-17 09:03:48 +03:00
SendaoYan
c5170498ff 8322983: Virtual Threads: exclude 2 tests
Backport-of: cf28fd4cbc
2025-04-17 09:03:48 +03:00
Matthias Baesken
fb4c755723 8338303: Linux ppc64le with toolchain clang - detection failure in early JVM startup
Backport-of: 70eec9001a
2025-04-17 09:03:48 +03:00
Joachim Kern
567cbe69ee 8346880: [aix] java/lang/ProcessHandle/InfoTest.java still fails: "reported cputime less than expected"
Backport-of: f9b11332ec
2025-04-17 09:03:47 +03:00
Matthias Baesken
353f9c998b 8347576: Error output in libjsound has non matching format strings
Backport-of: 07a0dcbabc
2025-04-17 09:03:47 +03:00
Matthias Baesken
4f1a1eec69 8346881: [ubsan] logSelection.cpp:154:24 / logSelectionList.cpp:72:94 : runtime error: applying non-zero offset 1 to null pointer
Backport-of: 0a81676fae
2025-04-17 09:03:47 +03:00
Matthias Baesken
022916eebe 8345569: [ubsan] adjustments to filemap.cpp and virtualspace.cpp for macOS aarch64
Backport-of: 1d2ccaeaa3
2025-04-17 09:03:47 +03:00
SendaoYan
8fae2eeb7c 8346972: Test java/nio/channels/FileChannel/LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk
Backport-of: a07d784919ae232a890bf79de27b8623e294ad20
2025-04-17 09:03:47 +03:00
SendaoYan
c6822cedc2 8347171: (dc) java/nio/channels/DatagramChannel/InterruptibleOrNot.java fails with virtual thread factory
Backport-of: 687ea73b00fd047305bfa1dda8187276bfb68dbf
2025-04-17 09:03:47 +03:00
SendaoYan
bd09ae2b81 8343882: BasicAnnoTests doesn't handle multiple annotations at the same position
Backport-of: d562d3c7a9
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
f8e64d144e 8347740: java/io/File/createTempFile/SpecialTempFile.java failing
Backport-of: f2a9d26b2e
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
25e8dee671 8302111: Serialization considerations
Reviewed-by: andrew
Backport-of: 369c573383
2025-04-17 09:03:47 +03:00
Matthias Baesken
d74327f308 8319233: AArch64: Build failure with clang due to -Wformat-nonliteral warning
Backport-of: 439ed046e4
2025-04-17 09:03:47 +03:00
SendaoYan
952026a25f 8339834: Replace usages of -mx and -ms in some tests
Backport-of: 1d39249231
2025-04-17 09:03:47 +03:00
SendaoYan
671d32af05 8347038: [JMH] jdk.incubator.vector.SpiltReplicate fails NoClassDefFoundError
Backport-of: 4d8fb80732
2025-04-17 09:03:47 +03:00
Antonio Vieiro
667663f0ac 8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs
Reviewed-by: andrew
Backport-of: d2262fe4e9b3118d4c4ab152aa2771b744398367
2025-04-17 09:03:47 +03:00
Jan Kratochvil
118ab46587 8346713: [testsuite] NeverActAsServerClassMachine breaks TestPLABAdaptToMinTLABSize.java TestPinnedHumongousFragmentation.java TestPinnedObjectContents.java
Reviewed-by: abakhtin
Backport-of: 43b7e9f547
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
3ac9c43c43 8345368: java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025
Backport-of: b0c131e872
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
872fd09873 8346671: java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025
Backport-of: 2e00816ac3
2025-04-17 09:03:47 +03:00
Christoph Langer
3611c9c000 8349603: [21u, 17u, 11u] Update GHA JDKs after Jan/25 updates
Reviewed-by: mbaesken, sgehwolf
2025-04-17 09:03:47 +03:00
Martin Doerr
e55582bd5c 8348562: ZGC: segmentation fault due to missing node type check in barrier elision analysis
Backport-of: afcc2b03af
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
4ffcc95e61 8340411: open source several 2D imaging tests
Backport-of: 8dcf7b8fa7
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
1844fefe00 8330702: Update failure handler to don't generate Error message if cores actions are empty
Backport-of: 548e95a689
2025-04-17 09:03:47 +03:00
Joachim Kern
3857c13f04 8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages
Reviewed-by: mdoerr, stuefe
Backport-of: ced9906635
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
06a7d486af 8347911: Limit the length of inflated text chunks
Reviewed-by: andrew
Backport-of: 398a580518
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
9aa750cf29 8338571: [TestBug] DefaultCloseOperation.java test not working as expected wrt instruction after JDK-8325851 fix
Backport-of: 8858de393a
2025-04-17 09:03:47 +03:00
Goetz Lindenmaier
f30daca524 8343491: javax/management/remote/mandatory/connection/DeadLockTest.java failing with NoSuchObjectException: no such object in table
Backport-of: 4f5a241ec1
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
6ccba42653 8226938: [TEST_BUG]GTK L&F: There is no Details button in FileChooser Dialog
Backport-of: fe98f86b57
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
df2e600cb9 8340078: Open source several 2D tests
Backport-of: 88a1c0550e
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
a7fcd521a7 8332917: failure_handler should execute gdb "info threads" command on linux
Backport-of: ec88c6a872
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
836a5d4cde 8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC
Backport-of: c2cca2ab44
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
205360e8ae 8329692: Add more details to FrameStateTest.java test instructions
Backport-of: 6f98d8f58f
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
d2336837a1 8325042: Remove unused JVMDITools test files
Backport-of: 0cc8e5beed
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
40d5429817 8320691: Timeout handler on Windows takes 2 hours to complete
Backport-of: 4d50df63b6
2025-04-17 09:03:46 +03:00
Sergey Bylokhov
3e285747f1 8345468: test/jdk/javax/swing/JScrollBar/4865918/bug4865918.java fails in ubuntu22.04
Backport-of: 6f30762356
2025-04-17 09:03:46 +03:00
Sergey Bylokhov
5af25ba580 8347427: JTabbedPane/8134116/Bug8134116.java has no license header
Backport-of: f67b703625
2025-04-17 09:03:46 +03:00
SendaoYan
b2cfcd95b3 8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr
Backport-of: f5ab7dff40
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
306bf71a86 8343378: Exceptions in javax/management DeadLockTest.java do not cause test failure
Backport-of: 4a70c83bd0
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
fd8706d9e9 8327986: ASAN reports use-after-free in DirectivesParserTest.empty_object_vm
Reviewed-by: rrich
Backport-of: 47f33a59ea
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
4df9a1636e 8328387: Convert java/awt/Frame/FrameStateTest/FrameStateTest.html applet test to main
Backport-of: 269163d509
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
1dd25f3822 8327098: GTest needs larger combination limit
Backport-of: c901da48e3
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
89abffdf64 8315486: vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/forceEarlyReturn002.java timed out
Backport-of: 041510dc21
2025-04-17 09:03:46 +03:00
Severin Gehwolf
2241d2315e 8347129: cpuset cgroups controller is required for no good reason
Backport-of: 2de71d0445
2025-04-17 09:03:46 +03:00
Radek Cap
dc683c9f30 8347965: (tz) Update Timezone Data to 2025a
Reviewed-by: andrew
Backport-of: caa3c78f78
2025-04-17 09:03:46 +03:00
Varada M
50e6d661f1 8211851: (ch) java/nio/channels/AsynchronousSocketChannel/StressLoopback.java times out (aix)
Backport-of: 8b22517cb0
2025-04-17 09:03:46 +03:00
Chen Liang
9db48a745e 8345614: Improve AnnotationFormatError message for duplicate annotation interfaces
Backport-of: 7aa0cbc91d
2025-04-17 09:03:46 +03:00
Aleksey Shipilev
26676890e9 8347256: Epsilon: Demote heap size and AlwaysPreTouch warnings to info level
Backport-of: 1a0fe49732
2025-04-17 09:03:46 +03:00
William Kemper
18d095fbaf 8345750: Shenandoah: Test TestJcmdHeapDump.java#aggressive intermittent assert(gc_cause() == GCCause::_no_gc) failed: Over-writing cause
Reviewed-by: ysr, shade
Backport-of: 6a29a8110e
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
9a5723ec85 8331977: Crash: SIGSEGV in dlerror()
Reviewed-by: rrich
Backport-of: 24530022d0
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
a3ba2e21da 8345375: Improve debuggability of test/jdk/java/net/Socket/CloseAvailable.java
Backport-of: 4b92816743
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
29ef77d5e3 8343118: [TESTBUG] java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java fails with rror. Can't find HTML file PrintCheckboxManualTest.html
Backport-of: f12c370d73
2025-04-17 09:03:46 +03:00
Goetz Lindenmaier
3f36dcc433 8341111: open source several AWT tests including menu shortcut tests
Backport-of: 04c9c5f0a7
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
9374aaa014 8341037: Use standard layouts in DefaultFrameIconTest.java and MenuCrash.java
Backport-of: c43202baf6
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
f346730792 8329320: Simplify awt/print/PageFormat/NullPaper.java test
Backport-of: 5cf457b743
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
a27abe87f4 8324838: test_nmt_locationprinting.cpp broken in the gcc windows build
Backport-of: a2229b18bf
2025-04-17 09:03:45 +03:00
Radek Cap
21cdc0c3ec 8343599: Kmem limit and max values swapped when printing container information
Backport-of: 6cdebf0e4c
2025-04-17 09:03:45 +03:00
Radek Cap
89da5437b1 8344589: Update IANA Language Subtag Registry to Version 2024-11-19
Backport-of: 9267dfa63b
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b4786a889d 8346055: javax/swing/text/StyledEditorKit/4506788/bug4506788.java fails in ubuntu22.04
Backport-of: 31ceec7cd5
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b1d0d17f08 8341982: Simplify JButton/bug4323121.java
Backport-of: 6fa5cea984
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
401d2e88c7 8341453: java/awt/a11y/AccessibleJTableTest.java fails in some cases where the test tables are not visible
Backport-of: f1f15370fa
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
4514034e52 8341316: [macos] javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java fails sometimes in macos
Backport-of: 6bc3971f64
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
8df633beac 8341412: Various test failures after JDK-8334305
Backport-of: 49501fe9c4
2025-04-17 09:03:45 +03:00
Aleksey Shipilev
389e0b4bb5 8311546: Certificate name constraints improperly validated with leading period
8320372: test/jdk/sun/security/x509/DNSName/LeadingPeriod.java validity check failed
8347424: Fix and rewrite sun/security/x509/DNSName/LeadingPeriod.java test

Reviewed-by: simonis
Backport-of: bfaf5704e7
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
d4971ea6b9 8334305: Remove all code for nsk.share.Log verbose mode
Backport-of: 855c8a7def
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
7859ee7f04 8329322: Convert PageFormat/Orient.java to use PassFailJFrame
Backport-of: f713766cab
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b97af83d5e 8320676: Manual printer tests have no Pass/Fail buttons, instructions close set 1
Backport-of: 7eb78e3320
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
44f7cb9da8 8326525: com/sun/tools/attach/BasicTests.java does not verify AgentLoadException case
Backport-of: b8fc4186d5
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b0c421bf50 8313633: [macOS] java/awt/dnd/NextDropActionTest/NextDropActionTest.java fails with java.lang.RuntimeException: wrong next drop action!
Backport-of: d97de8260c
2025-04-17 09:03:45 +03:00
Satyen Subramaniam
b2aced3646 8346887: DrawFocusRect() may cause an assertion failure
Backport-of: 8eddf67c82
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b44c60e4a2 8342508: Use latch in BasicMenuUI/bug4983388.java instead of delay
Backport-of: 02ec8ca2d6
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
0e76886643 8342498: Add test for Allocation elimination after use as alignment reference by SuperWord
Backport-of: f62fc48441
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
004bc08e11 8333403: Write a test to check various components events are triggered properly
Backport-of: a02d895f7a
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
491bc38801 8340687: Open source closed frame tests #1
Backport-of: 47fcf5a3b0
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
6fc2256b92 8324807: Manual printer tests have no Pass/Fail buttons, instructions close set 2
Backport-of: ed821cbe85
2025-04-17 09:03:45 +03:00
Goetz Lindenmaier
b8a6e2f1c9 8328819: Remove applet usage from JFileChooser tests bug6698013
Backport-of: e3588bba04
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
42a9fae741 8227529: With malformed --app-image the error messages are awful
Backport-of: 56d4c33f40
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
b3381c39ba 8304701: Request with timeout aborts later in-flight request on HTTP/1.1 cxn
Backport-of: bddcd086b7
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
de9f992b12 8325529: Remove unused imports from ModuleGenerator test file
Reviewed-by: rschmelter
Backport-of: d70156d2e2
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
50aab3636d 8339542: compiler/codecache/CheckSegmentedCodeCache.java fails
Backport-of: 777c20cb14
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
f6db73de79 8325659: Normalize Random usage by incubator vector tests
Backport-of: 4bba445d83
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
f4adfbf051 8198237: [macos] Test java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java fails
Backport-of: 862e615696
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
c358ae8b07 8327505: Test com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java fails
Backport-of: 2b79c22c43
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
1d99eb5159 8327994: Update code gen in CallGeneratorHelper
Backport-of: ac2f8e5af8
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
7fe48b932d 8317636: Improve heap walking API tests to verify correctness of field indexes
Backport-of: f31957e6a1
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
85ced7ecb4 8320706: RuntimePackageTest.testUsrInstallDir test fails on Linux
Backport-of: 726f854b14
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
91908decc1 8317283: jpackage tests run osx-specific checks on windows and linux
Backport-of: 179792beb4
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
f9432c236c 8312570: [TESTBUG] Jtreg compiler/loopopts/superword/TestDependencyOffsets.java fails on 512-bit SVE
Backport-of: e5ea9aa9aa
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
37caf0cb8c 8226933: [TEST_BUG]GTK L&F: There is no swatches or RGB tab in JColorChooser
Backport-of: 5c4f1ef746
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
40cb6fb0a3 8328368: Convert java/awt/image/multiresolution/MultiDisplayTest/MultiDisplayTest.java applet test to main
Backport-of: ba05c6d0b6
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
d482c14ea8 8314752: Use google test string comparison macros
Reviewed-by: mbaesken
Backport-of: a0d0f21f08
2025-04-17 09:03:44 +03:00
Aleksey Shipilev
b8bc87bfcf 8342988: GHA: Build JTReg in single step
Reviewed-by: serb, phh
Backport-of: 88dc655a6d
2025-04-17 09:03:44 +03:00
Liam Miller-Cushon
8beae071de 8336942: Improve test coverage for class loading elements with annotations of different retentions
Reviewed-by: goetz, vromero
Backport-of: e36ce5f034
2025-04-17 09:03:44 +03:00
Fabian Meumertzheim
5d0b5df581 8345684: OperatingSystemMXBean.getSystemCpuLoad() throws NPE
Backport-of: d7ef3ac0b7
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
a56ad3c036 8327460: Compile tests with the same visibility rules as product code
Reviewed-by: mbaesken
Backport-of: cc9a8aba67
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
61b1e3d432 8339524: Clean up a few ExtendedRobot tests
Backport-of: 16232578d9
2025-04-17 09:03:44 +03:00
Goetz Lindenmaier
7d718c5edc 8343396: Use OperatingSystem, Architecture, and OSVersion in jpackage tests
Backport-of: a63f501b92
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
d9197c3e62 8340719: Open source AWT List tests
Backport-of: b11066b56b
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
3872012f8f 8340480: Bad copyright notices in changes from JDK-8339902
Backport-of: fdc16a3734
2025-04-17 09:03:43 +03:00
Amit Kumar
e9cb71e779 8346847: [s390x] minimal build failure
Backport-of: 807f6f7fb8
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
f4eaf52693 8344326: Move jpackage tests from "jdk.jpackage.tests" package to the default package
Reviewed-by: mbaesken
Backport-of: 2c509a158f
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
cb5a4331ae 8337660: C2: basic blocks with only BoxLock nodes are wrongly treated as empty
Reviewed-by: mbaesken
Backport-of: 0105203575
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
c654f2a16e 8340313: Crash due to invalid oop in nmethod after C1 patching
Reviewed-by: mdoerr
Backport-of: 58d39c317e
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
79aac86a68 8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java
Backport-of: b1b4cd429a
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
9fdec5dd2c 8328558: Convert javax/swing/JCheckBox/8032667/bug8032667.java applet test to main
Backport-of: ef2bd57213
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
6279bcb27f 8315825: Open some swing tests
Backport-of: e015e6ce28
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
bba35b69f2 8313905: Checked_cast assert in CDS compare_by_loader
Reviewed-by: mdoerr
Backport-of: bd1b942741
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
c651b34cdf 8335468: [XWayland] JavaFX hangs when calling java.awt.Robot.getPixelColor
Backport-of: 965aace297
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
e0177f6e5a 8342609: jpackage test helper function incorrectly removes a directory instead of its contents only
Backport-of: 7133d1b983
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
e4edfdd26e 8339883: Open source several AWT/2D related tests
Backport-of: b26645f64b
2025-04-17 09:03:43 +03:00
SendaoYan
136a4320c0 8321818: vmTestbase/nsk/stress/strace/strace015.java failed with 'Cannot read the array length because "<local4>" is null'
Backport-of: ea50c54a14
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
57a3798ac4 8345414: Google CAInterop test failures
Backport-of: 8e9ba788ae
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
63ace972f9 8342602: Remove JButton/PressedButtonRightClickTest test
Backport-of: 8647c00114
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
d2d5f9f9f8 8343101: Rework BasicTest.testTemp test cases
8343178: Test BasicTest.java javac compile fails cannot find symbol

Reviewed-by: mdoerr
Backport-of: a95374f588
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
cf8e85e841 8335288: SunPKCS11 initialization will call C_GetMechanismInfo on unsupported mechanisms
Reviewed-by: mdoerr
Backport-of: fdfe503d01
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
3b5511a0d4 8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java
Backport-of: 7d1bbff076
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
7353b18d6b 8333647: C2 SuperWord: some additional PopulateIndex tests
Backport-of: 487c477181
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
e6fc46301f 8326421: Add jtreg test for large arrayCopy disjoint case.
Backport-of: 73cdc9a070
2025-04-17 09:03:43 +03:00
Goetz Lindenmaier
a3d9239a12 8329210: Delete Redundant Printer Dialog Modality Test
Backport-of: 7ac2f914aa
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
d401a7c2f5 8315883: Open source several Swing JToolbar tests
Backport-of: 62c0a1b9ac
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
7380e231a7 8316056: Open source several Swing JTree tests
Backport-of: 5f6cee86ef
2025-04-17 09:03:42 +03:00
SendaoYan
283b04ec2c 8341881: [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3
8342145: File libCreationTimeHelper.c compile fails on Alpine

Reviewed-by: sgehwolf, goetz, phh
Backport-of: daa67f45f0
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
0aba73d012 8315952: Open source several Swing JToolbar JTooltip JTree tests
Backport-of: d2b2f6759f
2025-04-17 09:03:42 +03:00
Matthias Baesken
13218efce4 8339475: Clean up return code handling for pthread calls in library coding 8341135: Incorrect format string after JDK-8339475
Reviewed-by: mdoerr
Backport-of: 2a2ecc994e
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
3c1d37e8b4 8344646: The libjsig deprecation warning should go to stderr not stdout
Backport-of: efeacfee01
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
e6ef24750d 8342541: Exclude List/KeyEventsTest/KeyEventsTest.java from running on macOS
Backport-of: bb7a8403ba
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
0d2a273587 8342811: java/net/httpclient/PlainProxyConnectionTest.java failed: Unexpected connection count: 5
Backport-of: 59ffac84d3
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
70db18b6ff 8277240: java/awt/Graphics2D/ScaledTransform/ScaledTransform.java dialog does not get disposed
Backport-of: 52c0b09b62
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
90dd8cb4e4 8342270: Test sun/security/pkcs11/Provider/RequiredMechCheck.java needs write access to src tree
Backport-of: 342fe42555
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
194c96397b 8343128: PassFailJFrame.java test result: Error. Bad action for script: build}
Use HTML character entity in javadoc to prevent jtreg from recognising
PassFailJFrame.java as a test file.

Backport-of: 7bca0af481
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
83ea8f675f 8340116: test/jdk/sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java can fail due to regex
Backport-of: 7e87c071b0
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
1c381d252f 8338426: Test java/nio/channels/Selector/WakeupNow.java failed
Backport-of: 0853aee3b3
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
e3f1eb357b 8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64
Backport-of: 83e9e482b1
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
be27e98de6 8339943: Frame not disposed in java/awt/dnd/DropActionChangeTest.java
Backport-of: fa502ecd2d
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
ce92c65703 8328005: Convert java/awt/im/JTextFieldTest.java applet test to main
Backport-of: cc5cda5587
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
ce8180ca8b 8328130: Remove applet usage from JColorChooser tests Test4759934
Backport-of: be1dd275a4
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
221120fce5 8316149: Open source several Swing JTree JViewport KeyboardManager tests
8316627: JViewport Test headless failure

Reviewed-by: mbaesken
Backport-of: a021dbcb9e
2025-04-17 09:03:42 +03:00
Antonio Vieiro
d046a4cee8 8341424: GHA: Collect hs_errs from build time failures
8342704: GHA: Report truncation is broken after JDK-8341424

Reviewed-by: shade
Backport-of: bf92c49839
2025-04-17 09:03:42 +03:00
Antonio Vieiro
8545fe61ea 8294316: SA core file support is broken on macosx-x64 starting with macOS 12.x
Backport-of: 269852b906
2025-04-17 09:03:42 +03:00
Taizo Kurashige
f308148f5b 8344275: tools/jpackage/windows/Win8301247Test.java fails on localized Windows platform
Reviewed-by: asemenyuk, phh
Backport-of: 48e3b6511a
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
2246df7cfb 8328827: Convert java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html applet test to main
Backport-of: db01fcd6d8
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
2e7a04b067 8328717: Convert javax/swing/JColorChooser/8065098/bug8065098.java applet test to main
Backport-of: a1fbbffb5e
2025-04-17 09:03:42 +03:00
Goetz Lindenmaier
4a83c7c75d 8328370: Convert java/awt/print/Dialog/PrintApplet.java applet test to main
Backport-of: 476421efe5
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
3257be542d 8328185: Convert java/awt/image/MemoryLeakTest/MemoryLeakTest.java applet test to main
Backport-of: 4e83f4cfc7
2025-04-17 09:03:41 +03:00
Sonia Zaldana Calles
0b8ea86d7a 8316371: Open some swing tests 6
Backport-of: d3a79b5861
2025-04-17 09:03:41 +03:00
Sonia Zaldana Calles
81c990b80a 8316218: Open some swing tests 5
Backport-of: 788e6e1548
2025-04-17 09:03:41 +03:00
Sonia Zaldana Calles
988131cf88 8316146: Open some swing tests 4
Backport-of: 3105538de5
2025-04-17 09:03:41 +03:00
Sonia Zaldana Calles
76341702c7 8315882: Open some swing tests 2
Backport-of: d2d7d9a8b7
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
0ddb619f43 8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file
Reviewed-by: mdoerr
Backport-of: c33a8f52b6
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
44093d7670 8341978: Improve JButton/bug4490179.java
Use latch to synchronize actions in the test.
Verify mouseButton3Released does not trigger actionPerformed
while mouse button 1 is pressed.
Ensure mouse button 1 is released.
Verify releasing mouse button 1 triggers actionPerformed.

Backport-of: 8174cbd5cb
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
77778a072c 8331959: Update PKCS#11 Cryptographic Token Interface to v3.1
Backport-of: b4ab290fd7
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
01f7a964ac 8339902: Open source couple TextField related tests
Backport-of: fde8508379
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
632ccb892f 8339687: Rearrange reachabilityFence()s in jdk.test.lib.util.ForceGC
Backport-of: 51b85a1f69
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
9ac75e9ffb 8336692: Redo fix for JDK-8284620
Backport-of: c5b7af73d0
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
71fbdd34a6 8334777: Test javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java failed with NullPointerException
Backport-of: 2a2964759c
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
75a7556282 8333360: PrintNullString.java doesn't use float arguments
Backport-of: aaaa86b571
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
6aae576abc 8328753: Open source few Undecorated Frame tests
8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference

Reviewed-by: mdoerr
Backport-of: db159149c1
2025-04-17 09:03:41 +03:00
Matthias Baesken
1ac83ac0f5 8317919: pthread_attr_init handle return value and destroy pthread_attr_t object
Backport-of: ec310fe809
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
80ec23df0d 8328403: Remove applet usage from JColorChooser tests Test6977726
Backport-of: 1e76e1fdfa
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
c4655d9467 8328227: Remove applet usage from JColorChooser tests Test4887836
Backport-of: cc5b9c63cb
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
ec73856599 8328719: Convert java/awt/print/PageFormat/SetOrient.html applet test to main
Backport-of: 27ac39a2bc
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
c649bce992 8328380: Remove applet usage from JColorChooser tests Test6348456
Backport-of: 78d1b90468
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
902120df0b 8328121: Remove applet usage from JColorChooser tests Test4759306
Backport-of: fab0edc9e6
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
7e8633dcb5 8327859: Remove applet usage from JColorChooser tests Test4319113
Backport-of: 89fb0f837b
2025-04-17 09:03:41 +03:00
Richard Reingruber
b444aa497a 8328085: C2: Use after free in PhaseChaitin::Register_Allocate()
Backport-of: 93aa7e2fcf
2025-04-17 09:03:41 +03:00
SendaoYan
e3fd25c736 8343129: Disable unstable check of ThreadsListHandle.sanity_vm ThreadList values
Backport-of: 59fcfae630
2025-04-17 09:03:41 +03:00
Goetz Lindenmaier
5d5cc754d2 8336498: [macos] [build]: install-file macro may run into permission denied error
8342858: Make target mac-jdk-bundle fails on chmod command

Reviewed-by: lucy
Backport-of: 715fa8f9fe
2025-04-17 09:03:40 +03:00
Matthias Baesken
0176f5505f 8341820: Check return value of hcreate_r
Backport-of: 7c0dbf8e9c
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
b1456193a0 8314909: tools/jpackage/windows/Win8282351Test.java fails with java.lang.AssertionError: Expected [0]. Actual [1618]:
Backport-of: 1b104b63a9
2025-04-17 09:03:40 +03:00
SendaoYan
6f520157d6 8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded"
Backport-of: 693847452f
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
0d1be42c1f 8346108: [21u][BACKOUT] 8337994: [REDO] Native memory leak when not recording any events
Reviewed-by: mdoerr
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
ffebdca55c 8343100: Consolidate EmptyFolderTest and EmptyFolderPackageTest jpackage tests into single java file
Backport-of: 00fe9f7bdf
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
3e2f1bb259 8343102: Remove --compress from jlink command lines from jpackage tests
Backport-of: 9e451aa365
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
60d5cf1ff6 8333116: test/jdk/tools/jpackage/share/ServiceTest.java test fails
Backport-of: 91ab088d5e
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
f0cc84eb23 8316885: jcmd: Compiler.CodeHeap_Analytics cmd does not inform about missing aggregate
Backport-of: 1230aed61d
2025-04-17 09:03:40 +03:00
Chad Rakoczy
86cb7e7b95 8341194: [REDO] Implement C2 VectorizedHashCode on AArch64
Reviewed-by: phh
Backport-of: 4fc6d4135e
2025-04-17 09:03:40 +03:00
Sonia Zaldana Calles
57d6c91584 8338100: C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop
Backport-of: e203df46fa
2025-04-17 09:03:40 +03:00
Boris Ulasevich
6340fcdb41 8295159: DSO created with -ffast-math breaks Java floating-point arithmetic
Reviewed-by: phh
Backport-of: df599dbb9b
2025-04-17 09:03:40 +03:00
Boris Ulasevich
2ebe44f26e 8337994: [REDO] Native memory leak when not recording any events
Reviewed-by: phh
Backport-of: 6a9a867d64
2025-04-17 09:03:40 +03:00
Martin Doerr
ac92cb538b 8343205: CompileBroker::possibly_add_compiler_threads excessively polls available memory
Reviewed-by: phh
Backport-of: 75801992a7
2025-04-17 09:03:40 +03:00
Martin Doerr
e432871e36 8343343: Misc crash dump improvements on more platforms after JDK-8294160
8343149: Cleanup os::print_tos_pc on AIX

Reviewed-by: mbaesken
Backport-of: e33dc13567
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
725ff3fcc8 8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic
Backport-of: 1b476f52ba
2025-04-17 09:03:40 +03:00
SendaoYan
e6c9647378 8340969: jdk/jfr/startupargs/TestStartDuration.java should be marked as flagless
Backport-of: 470701f0bb
2025-04-17 09:03:40 +03:00
Richard Reingruber
3cf127b7ae 8341715: PPC64: ObjectMonitor::_owner should be reset unconditionally in nmethod unlocking
Reviewed-by: mdoerr
Backport-of: f9208fadde
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
aa997eea44 8324672: Update jdk/java/time/tck/java/time/TCKInstant.java now() to be more robust
Backport-of: e94e3bba39
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
71eeba1277 8339261: Logs truncated in test javax/net/ssl/DTLS/DTLSRehandshakeTest.java
Backport-of: 1447967f53
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
d9a2f3ae91 8337951: Test sun/security/validator/samedn.sh CertificateNotYetValidException: NotBefore validation
Backport-of: a505a1dda3
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
fe529874c7 8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F
Backport-of: b8e8e965e5
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
bf883fc791 8333391: Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep
Reviewed-by: lucy
Backport-of: ed6499446d
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
071ea67a6a 8335789: [TESTBUG] XparColor.java test fails with Error. Parse Exception: Invalid or unrecognized bugid: @
Backport-of: 3733fe3a20
2025-04-17 09:03:40 +03:00
Goetz Lindenmaier
788dfd22d9 8327857: Remove applet usage from JColorChooser tests Test4222508
Backport-of: 7c6fd337d0
2025-04-17 09:03:40 +03:00
Richard Reingruber
79fb369e55 8341862: PPC64: C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR
Backport-of: ed6809666b
2025-04-17 09:03:39 +03:00
Sonia Zaldana Calles
fdb1337845 8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java
Backport-of: f927c1210e
2025-04-17 09:03:39 +03:00
Sonia Zaldana Calles
4bb1a39674 8334490: Normalize string with locale invariant toLowerCase()
Backport-of: 265a0f5547
2025-04-17 09:03:39 +03:00
Sonia Zaldana Calles
762bd8880e 8336012: Fix usages of jtreg-reserved properties
Backport-of: e6c5aa7a6c
2025-04-17 09:03:39 +03:00
Sonia Zaldana Calles
063a01c2da 8331993: Add counting leading/trailing zero tests for Integer
Backport-of: 675fbe699e
2025-04-17 09:03:39 +03:00
Sonia Zaldana Calles
351e1ca1f5 8327390: JitTester: Implement temporary folder functionality
Backport-of: 5aae80304c
2025-04-17 09:03:39 +03:00
Goetz Lindenmaier
779c14c5a4 8345370: Bump update version for OpenJDK: jdk-21.0.7
Reviewed-by: mdoerr, sgehwolf
2025-04-17 09:03:39 +03:00
Maxim Kartashev
1a05b10b21 JBR-8210 Exclude javax/swing/JPopupMenu/7156657/bug7156657.java for WLToolkit 2025-04-15 17:20:34 +04:00
Vladimir Dvorak
c9fdf0eba5 JBR-8609 DCEVM: Fix crash during redefinition of subclass with injected fields 2025-04-14 17:57:07 +02:00
Maxim Kartashev
009e79c25d JBR-8551 Wayland: javax/swing/JSlider/TestJSliderRendering.java: The slider is not rendered properly 2025-04-14 12:20:01 +04:00
Vladimir Dvorak
116cbbbc11 JBR-8575 DCEVM: Fix crash when deleting methods from final classes 2025-04-10 21:36:29 +02:00
Vitaly Provodin
a4190e583c JBR-7797 build fastdebug without jcef
(cherry picked from commit cb322fe90d)
2025-04-09 16:31:22 +04:00
Maxim Kartashev
2f672089a5 JBR-8569 Wayland: two java/awt/Desktop tests throw java.lang.InternalError: Failed to find Wayland toolkit internal classes 2025-04-09 16:05:42 +04:00
Maxim Kartashev
b7ce4c8fb9 JBR-8572 Wayland: java/awt/Desktop/DesktopGtkLoadTest/DesktopGtkLoadTest.java: Wrong GTK library version: null 2025-04-08 17:18:40 +04:00
Vitaly Provodin
fce8863e17 fixup! update exclude list on results of 21.0.6_b946.34 test runs 2025-04-08 06:45:55 +04:00
Vitaly Provodin
5b0e5fee58 update exclude list on results of 21.0.6_b946.34 test runs 2025-04-07 13:53:49 +04:00
Vitaly Provodin
e57d489db3 fixup! JBR-7087 Wayland: GtkFileDialogPeer implementation 2025-04-05 01:34:12 +04:00
Nikita Tsarev
6f47232b48 JBR-8533: Fix wrong keys and modifiers being reported for certain non-function key combinations [WLToolkit] 2025-04-04 15:54:23 +02:00
Maxim Kartashev
7a85ad38eb JBR-7896 Wayland: Deadlock in WLClipboard
Avoid performing blocking I/O while holding a lock
2025-04-04 12:20:20 +04:00
Vitaly Provodin
dd96fe584d update exclude list by adding macosx-15.4 2025-04-02 17:36:07 +04:00
Maxim Kartashev
0c09c93635 JBR-7087 Wayland: GtkFileDialogPeer implementation 2025-04-01 15:49:42 +04:00
Maxim Kartashev
8c769bbc7c JBR-7087 Wayland: Desktop support via GNOME 2025-04-01 15:49:36 +04:00
Maxim Kartashev
2308ce139b JBR-7087 Wayland: GTKLookAndFeel support 2025-04-01 15:48:33 +04:00
Vitaly Provodin
25a97304ae update exclude list on results of 21.0.6_b942.30 test runs 2025-04-01 03:55:01 +04:00
Maxim Kartashev
edfe77a55c JBR-8436 Describe various type of github releases 2025-03-31 17:10:51 +04:00
Vitaly Provodin
aa7902f385 JBR-8315 introduce the option -c that causes builds to fail under CI if XCODE_PATH is invalid 2025-03-29 03:27:15 +04:00
Vitaly Provodin
ca2636829c fixup! update exclude list on results of 21.0.6_b929.24 test runs 2025-03-29 03:21:10 +04:00
Vitaly Provodin
58058b4e5c update exclude list on results of 21.0.6_b929.24 test runs 2025-03-26 07:40:28 +04:00
Nikita Tsarev
1ab48b4b72 JBR-8422: A temporary workaround for crash in SystemHotkey setup on macOS 15.4 beta 2025-03-24 18:57:26 +01:00
Vitaly Provodin
c5d734adcc update exclude list on results of 21.0.6_b924.15 test runs 2025-03-22 11:23:08 +04:00
Nikita Provotorov
16d6b74709 JBR-7659 [macOS] SIGILL at [CoreFoundation+0x1d47c5] CFRunLoopRunSpecific.cold.1+0xe / sun.lwawt.macosx.CAccessibility.getChildrenAndRolesRecursive (2K frames).
Fixes crashes caused by multiple javax.accessibility.AccessibleState.EXPANDED/COLLAPSED changes by making sure AppKit has not more than one event of each type being processed or pending in its queue. The logic can be rolled back via a new system property -Dsun.lwawt.macosx.CAccessible.eventsCoalescingEnabled=false.

(cherry picked from commits 84012b5f39, a2707d4e95, fa8c4705e6, a23ab5a040, fe07d2731a)
2025-03-18 08:58:32 +01:00
vlad20012
7d32ca5b3c JBR-8303 Provide JBR API method to perform GC with more intensive heap shrinking
(cherry picked from commit b9ab56b939b827c84f8c2af43480f4e673271104)
2025-03-14 09:35:16 +04:00
Vitaly Provodin
fb03844dc1 JBR-8315 specify XCODE_PATH for JBR building on macOS 2025-03-14 01:40:14 +04:00
Vitaly Provodin
370f8353a6 update exclude list on results of 21.0.6_b919.9 test runs 2025-03-11 08:00:05 +04:00
Vitaly Provodin
24654f556a update exclude list on results of 21.0.6_b913.7 test runs 2025-03-07 01:32:11 +04:00
Alexey Ushakov
8308c81a9a JBR-8201 Vulkan: crash in VKRenderer_MaskFill
Supported fully opaque mask

(cherry picked from commit 48541714e67868ff66181fce37d9f680fc428a4d)
2025-03-03 21:11:33 +01:00
Nikita Gubarkov
6793c86251 JBR-8350 Vulkan: Refactor pipeline cache & composites
This is needed for the implementation of painters (JBR-7646)
- Request pipelines one-by-one instead of a "pipeline sets"
- Split pipeline key into separate "shader" and "topology" (more items may need to be added later)
- Move management of composites into its own file
2025-03-03 20:31:29 +01:00
Nikita Gubarkov
6214b52d0a JBR-8360 Vulkan: Fix ARRAY_PUSH_BACK usage 2025-03-03 20:23:14 +01:00
Nikita Gubarkov
2e1051cd85 JBR-8359 Vulkan: Put VK_DRAW after VKRenderer_AllocateMaskFillBytes
As VKRenderer_AllocateMaskFillBytes can invalidate draw call state due to overflow, it (and future similar functions) must be called before VK_DRAW.
2025-03-03 20:21:55 +01:00
Nikita Gubarkov
224ccc0fb8 JBR-8358 Vulkan: Framebuffer destruction queue
Can be generalized to destroy arbitrary resources later.
2025-03-03 20:21:54 +01:00
Nikita Gubarkov
e957e7045e JBR-8342 Vulkan: Skip validation setup if extension is unavailable 2025-03-03 18:02:30 +01:00
Nikita Gubarkov
f747edbbdc JBR-8284 Vulkan: fix $VULKAN_SDK autoconf check. 2025-03-03 13:15:02 +01:00
Nikita Gubarkov
534b9afc34 JBR-7565 Vulkan: Implement clip 2025-03-03 13:15:01 +01:00
Nikita Gubarkov
cf90d55b49 JBR-7645 Vulkan: Implement hash table for pipeline sets 2025-03-03 13:15:01 +01:00
Nikita Gubarkov
c673e166b4 JBR-7563 Vulkan: Implement MASK_FILL
Mask bytes are copied to texel buffer to be used in shader.
Up to 256KiB (configurable) of mask can be rendered in a single draw call, with no limit on number of MASK_FILL operations in a single batch.

Also added dirty implementation of greyscale-AA DRAW_GLYPH_LIST and FILL_AAPARALLELOGRAM over MASK_FILL.

(cherry picked from commit 4651c3f096)
2025-03-03 13:12:25 +01:00
Alexey Ushakov
0828954308 JBR-8297 Vulkan: Implement ISO_BLIT
Implemented general logic of the blit, removed extra logging
Corrected clipping logic, updated regression tests
Added some flush and init code for the surfaces
2025-02-28 21:48:57 +01:00
Alexey Ushakov
163d3bf7fa fixup! JBR-8287 Vulkan: enable hw accelerated VolatileImage
Added SuppressWarnings for sun.java2d.vulkan.accelsd property access
2025-02-28 18:52:57 +01:00
Vitaly Provodin
effda670ac fixup! JBR-5989 Wayland: jdk_swing_wayland test group 2025-02-28 18:05:14 +04:00
Alexey Ushakov
d6ebb4f51b JBR-8287 Vulkan: enable hw accelerated VolatileImage
Moved robot pixel grabber into window surface data
Created offscreen surface data
Separated surfaces implementation into two files
Moved offscreen surface to the shared code
2025-02-27 20:18:16 +01:00
Nikita Gubarkov
23b0860f75 JBR-8288 Vulkan: Synchronous render queue flush.
RQ doesn't expose async flush operation. All RQ flushes wait for the queue to be drained, effectively serializing queue flusher and EDT execution while still making it prone to deadlocks.
The periodic flush feature of the queue flusher thread is of no use as well, as every observable effect of RQ operation is already immediately followed by a forced flush.
As Vulkan functions have no restriction on the calling thread, keep it simple - lock the monitor and drain the queue synchronously.

(cherry picked from commit 9e0921c4269568f60156973a804fc12d0f26ab61)
2025-02-27 20:14:35 +01:00
Vitaly Provodin
c5a3e6591e update exclude list on results of 21.0.6_b902.6 test runs 2025-02-27 02:24:01 +04:00
Vitaly Provodin
0c0dd61724 Revert "JBR-7438 tune updateCursorImmediately method"
This reverts commit 07ac32e2ad.
2025-02-25 13:46:02 +04:00
Vitaly Provodin
f5b2a21d22 Revert "JBR-7838 added getTreeLock to updateCursorImpl"
This reverts commit 5a9b8a0488.
2025-02-25 13:46:02 +04:00
Nikita Tsarev
499257dedb JBR-7994: Properly report non-base-level function keys [WLToolkit] 2025-02-24 09:44:23 +01:00
Vladimir Dvorak
5cdc148b68 JBR-8316 use the newest method version in get_line_number() 2025-02-22 13:58:18 +01:00
Vitaly Provodin
6253f4a137 update exclude list on results of 21.0.6_b898.3 test runs 2025-02-21 05:39:14 +04:00
Vitaly Provodin
c6a6803077 update exclude list on results of 21.0.6_b901 test runs 2025-02-20 10:40:53 +04:00
Vitaly Provodin
cce94c9753 fixup! JBR-8255 pass WLToolkit-related settings to subprocesses launched by tests 2025-02-20 10:21:40 +04:00
Vitaly Provodin
0b73c9acf9 update exclude list on results of 21.0.6_b872.80 test runs 2025-02-20 07:43:29 +04:00
Vladimir Kharitonov
5cc0aabee0 JBR-8118 TextureWrapperImage for MTLTexture 2025-02-19 14:48:01 +01:00
Vitaly Provodin
971e6d12ef JBR-7860 revert OpenJDK changes causing the issue with links in Quick Documentation popup
this commit reverts
8335967: "text-decoration: none" does not work with "A" HTML tags
and
8326734: text-decoration applied to <span> lost when mixed with <u> or <s>
8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for <b>, <i>, <u>
2025-02-19 10:58:24 +04:00
Maxim Kartashev
274db75a6a JBR-8264 java/awt/Multiscreen/UpdateGCTest/UpdateGCTest.java throws StackOverflowError at WLComponentPeer.getMinimumSize 2025-02-17 16:13:01 +04:00
Maxim Kartashev
59a19cc74a 8349812: (fs) Files.newByteChannel with empty path name and CREATE_NEW throws unexpected exception
Reviewed-by: bpb
2025-02-17 11:00:12 +04:00
bourgesl
8005dc7135 JBR-5497: change the default value for the system property "awt.mac.flushBuffers.invokeLater" to 'enabled' to avoid any potential freeze (safe) until a better solution 2025-02-14 16:09:52 +01:00
Maxim Kartashev
915256eae4 JBR-8234 IDE cannot start on Wayland with large scale
Make sure the surface used for the cursor is marked as such prior to
being committed in order to receive an exception from enforcing the rule
about the buffer size having to be multiple of its scale.
2025-02-14 14:33:18 +04:00
Vitaly Provodin
cc51a11d59 JBR-8255 pass WLToolkit-related settings to subprocesses launched by tests 2025-02-14 08:46:11 +04:00
Vitaly Provodin
41d655243f JBR-8244 add logging stdout/stderr of subprocesses 2025-02-14 08:46:11 +04:00
Nikita Gubarkov
a9cc330332 JBR-8254 Buffer X11GraphicsEnvironment.rebuildDevices calls. 2025-02-13 16:54:50 +01:00
Roland Westrelin
e5e606e633 8340824: C2: Memory for TypeInterfaces not reclaimed by hashcons()
Reviewed-by: vlivanov, qamai
2025-02-13 17:18:10 +04:00
Maxim Kartashev
8c3351e860 JBR-8173 IntelliJ IDEA with WLToolkit crashes when opening Query Console of a datasource with Umlauts in its name 2025-02-13 16:47:27 +04:00
Dmitry Drobotov
61a501351a JBR-8216 Implement setAccessibilityValue method for NavigableTextAccessibility
* This method allows for third-party tools to modify text component contents through the accessibility API on macOS;
* The setAccessibilityValue method is implemented similarly to NavigableTextAccessibility.setAccessibilitySelectedText. On the Java side, it calls AccessibleEditableText.setTextContents according to the comment in JavaTextAccessibility.accessibilitySetValueAttribute;
* The isAccessibilitySelectorAllowed method is implemented similarly to JavaTextAccessibility.accessibilityIsValueAttributeSettable: it checks if the text component implements AccessibleEditableText, is enabled, and additionally checks if the editable property is true, because some components could be enabled but not editable, and we shouldn't allow setting the value in this case.
2025-02-13 04:59:58 +01:00
bourgesl
06f15d6efd JBR-5497: follow-up fix
- monitors sleep/wake-up notifications to define ThreadUtilities.isWithinPowerTransition()
- fixed CPlatformWindow.flushBuffers() to use this pwm flag to use invokeLater() when the system property '-Dawt.mac.flushBuffers.pwm=true'
- always use invokeLater() when display mirroring is enabled (i.e. '-Dawt.mac.flushBuffers.invokeLater'=[auto|default])
- always use the timeout=0.666s in CPlatformWindow.flushBuffer()
- always use the time limit=13.333s in LWCToolkit.doAWTRunLoop() to ensure avoiding any potential hangs / freezes on macOS
2025-02-12 14:53:18 +01:00
bourgesl
04db764aeb JBR-8183: get low resolution display modes (mac intel) and do not call anymore the DisplayConfiguration transaction on the main thread avoid main thread as it hangs for several seconds on macbook intel + macOS 15 2025-02-12 14:46:57 +01:00
Artem Bochkarev
b065970466 JBR-6478 Add possibility to determine builtin display under OSX 2025-02-12 13:45:08 +04:00
Maxim Kartashev
2cf42c937a JBR-7897 Tool window resizes is not smooth 2025-02-12 12:21:17 +04:00
Vitaly Provodin
6bd86bea5f update exclude list on results of 21.0.6_b872.79 test runs 2025-02-04 02:54:07 +04:00
Maxim Kartashev
f89a6626d5 JBR-8197 Wayland: Robot fails if offset in monitor configuration exists 2025-01-31 13:47:52 +04:00
Artem Bochkarev
d28f657f90 JBR-8138 Enable only 'com.apple.security.cs.allow-jit' entitlement for JCEF binaries 2025-01-31 12:05:51 +04:00
Kerem Kat
dc7af104b1 JBR-8038 8345296: AArch64: VM crashes with SIGILL when prctl is disallowed
Reviewed-by: shade, phh
Backport-of: 3c60f0b2bb
2025-01-31 02:15:14 +04:00
Roman Shevchenko
a6d06afaf2 JBR-8198: substituting empty extension with the "Unix executable" type in the macOS file dialog (#479)
(cherry picked from commit cf45f88d9d0d93bdcd09afda07c4b77857bcc5a5)
2025-01-30 17:49:43 +04:00
Vitaly Provodin
d13f7cfd9f JBR-8189 revert "8296972: [macos13] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java: getExtendedState() != 6 as expected."
This reverts commit 488baa5150.
2025-01-30 17:47:32 +04:00
Artem Bochkarev
a4ffe583a8 JBR-8138 Disable all JCEF resctrictions except 'allow-dyld-environment-variables'
otherwise V8 can't load
(with error "V8 process OOM (Failed to reserve virtual memory for CodeRange).")
2025-01-30 09:02:29 +04:00
Maxim Kartashev
d476d58045 JBR-8066 Wayland: clipboard size is limited to 65000 symbols 2025-01-29 15:17:12 +04:00
Maxim Kartashev
65dce847fe JBR-8116 Wayland: support RounderCornersManager JBR API 2025-01-29 13:29:37 +04:00
Artem Bochkarev
1f39236c02 JBR-8138 Sign jcef binaries with separate entitlements
Revert to true the OSX entitlement "com.apple.security.cs.allow-dyld-environment-variables"
2025-01-29 10:50:28 +04:00
Nikita Gubarkov
d5f2a621eb JBR-8112 Revert swing.bufferPerWindow back to false on Windows 2025-01-29 06:41:29 +01:00
Vitaly Provodin
2c99fe8fe6 update exclude list on results of 21.0.6_b825.69 test runs 2025-01-27 14:39:35 +04:00
Vitaly Provodin
b8a228f20a update exclude list on results of 21.0.6 test runs 2025-01-27 14:38:58 +04:00
Roman Shevchenko
fc3aee933b JBR-8156 restoring WSL visibility in the folder picker mode 2025-01-27 14:08:55 +04:00
bourgesl
7dff65167d JBR-8159: kill CVDisplayLink zombies (sleep / wake-up with multiple monitors in mirroring) + deal with display link thread shutdown (destroy threads at sleep) and restart when needed 2025-01-25 14:35:25 +01:00
Sergey Shelomentsev
9351581c69 JBR-8046 repack java.base.jmod with correct module hashes after signing 2025-01-24 21:29:27 +02:00
Martin Balao
190e06ac55 8339180: Enhanced Building of Processes: Follow-on Issue
Reviewed-by: yan
Backport-of: a71624a69ec5cc8600f2a3a53c23c75b43068830
2025-01-24 18:41:40 +04:00
Jayathirth D V
ec06f84bb4 8336564: Enhance mask blit functionality redux
Backport-of: 6e7f9a23a4daf461acbc4c5a5110e19b34ced22c
2025-01-24 18:41:39 +04:00
Ravi Reddy
d011a5df3c 8335428: Enhanced Building of Processes
Backport-of: 978dfdf9aa95da4196055cc288c5993d4dc6ef85
2025-01-24 18:41:39 +04:00
Christian Hagedorn
238b7c7623 8330045: Enhance array handling
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Co-authored-by: Francisco Ferrari Bihurriet <fferrari@redhat.com>
Co-authored-by: Martin Balao <mbalao@redhat.com>
Reviewed-by: thartmann, adinn, roland
Backport-of: 727c2612766dd1737bf59fb0d9ba1e58a7b8c32b
2025-01-24 18:41:38 +04:00
Alexey Bakhtin
68fd2270d5 8335912: Add an operation mode to the jar command when extracting to not overwriting existing files
Reviewed-by: henryjen, goetz, mbalao
Backport-of: 158b93d19a
2025-01-24 18:41:38 +04:00
Francisco Ferrari Bihurriet
52c2f8f2a4 8342905: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux
Reviewed-by: sgehwolf, mbalao
Backport-of: 872ae13471
2025-01-24 18:41:37 +04:00
Martin Balao
c7d0df931b 8344993: [21u] [REDO] Backport JDK-8327501 and JDK-8328366 to JDK 21
Reviewed-by: sgehwolf
2025-01-24 18:41:37 +04:00
Goetz Lindenmaier
954de9085e 8322809: SystemModulesMap::classNames and moduleNames arrays do not match the order
Reviewed-by: sgehwolf, mbaesken
Backport-of: f3be138eb8
2025-01-24 18:41:37 +04:00
SendaoYan
9b31ee2277 8344628: Test TestEnableJVMCIProduct.java run with virtual thread intermittent fails
Backport-of: 3a625f38aa
2025-01-24 18:41:36 +04:00
Saint Wesonga
43e92bb6cf 8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set
Backport-of: 7f189a59d9ad803aee72565bc46a817d3f46f2e5
2025-01-24 18:41:36 +04:00
Amit Kumar
0facab11d8 8342409: [s390x] C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR
Backport-of: 9201e9fcc2
2025-01-24 18:41:35 +04:00
Matthias Baesken
3adba13435 8345055: [21u] ProblemList failing rtm tests on ppc platforms
Reviewed-by: mdoerr
2025-01-24 18:41:35 +04:00
Matthias Baesken
7624219a92 8325906: Problemlist vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1 until JDK-8320865 is fixed
Backport-of: 2564f0f998
2025-01-24 18:41:35 +04:00
KIRIYAMA Takuya
8cc801a3a7 8333427: langtools/tools/javac/newlines/NewLineTest.java is failing on Japanese Windows
Backport-of: 1b0281dc77
2025-01-24 18:41:34 +04:00
SendaoYan
378b566e70 8343877: Test AsyncClose.java intermittent fails - Socket.getInputStream().read() wasn't preempted
Backport-of: 752e162955
2025-01-24 18:41:34 +04:00
SendaoYan
b1e7e0c507 8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform
Backport-of: e3a5e265a7
2025-01-24 18:41:34 +04:00
SendaoYan
9fa691deb9 8316893: Compile without -fno-delete-null-pointer-checks
Backport-of: 287b243221
2025-01-24 18:41:33 +04:00
Antonio Vieiro
f0175adb85 8340552: Harden TzdbZoneRulesCompiler against missing zone names
Backport-of: 1bc13a1c10
2025-01-24 18:41:32 +04:00
SendaoYan
98af0f3acf 8316907: Fix nonnull-compare warnings
Backport-of: 516cfb135f
2025-01-24 18:41:32 +04:00
Amit Kumar
0d8f6bb0d9 8343884: [s390x] Disallow OptoScheduling
Backport-of: 7540fa2147
2025-01-24 18:41:31 +04:00
Sophia Guo
5c9b3f7316 8333248: VectorGatherMaskFoldingTest.java failed when maximum vector bits is 64
Backport-of: 9b0a5c5cd0
2025-01-24 18:41:31 +04:00
Goetz Lindenmaier
84ea6083d7 8319678: Several tests from corelibs areas ignore VM flags
Backport-of: 2e3682a7f2
2025-01-24 18:41:30 +04:00
Goetz Lindenmaier
5d7b6b8141 8339637: (tz) Update Timezone Data to 2024b
Reviewed-by: andrew
Backport-of: 73b2341c67
2025-01-24 18:41:30 +04:00
Goetz Lindenmaier
da1731bcc2 8328619: sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java failed with BindException: Address already in use
Backport-of: 2af0312c95
2025-01-24 18:41:29 +04:00
Matthias Baesken
c068471704 8341722: Fix some warnings as errors when building on Linux with toolchain clang
Reviewed-by: clanger
Backport-of: e7c5bf45f7
2025-01-24 18:41:29 +04:00
Alexey Bakhtin
e0e39797a6 8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754
Backport-of: 9b11bd7f4a
2025-01-24 18:41:29 +04:00
Matthias Baesken
4f27eae84b 8338550: Do libubsan1 installation in test container only if requested
Backport-of: 7933e45cda
2025-01-24 18:41:28 +04:00
Goetz Lindenmaier
5a367743a9 8325525: Create jtreg test case for JDK-8325203
8336315: tools/jpackage/windows/WinChildProcessTest.java Failed: Check is calculator process is alive

Reviewed-by: lucy
Backport-of: 81a0d1ba03
2025-01-24 18:41:28 +04:00
Matthias Baesken
7e792b947e 8333144: docker tests do not work when ubsan is configured
Backport-of: fbe8a81d19
2025-01-24 18:41:28 +04:00
William Kemper
10fbe2c4fe 8336640: Shenandoah: Parallel worker use in parallel_heap_region_iterate
Reviewed-by: shade
Backport-of: e74edbaea9
2025-01-24 18:41:27 +04:00
Satyen Subramaniam
0661caffe8 8321470: ThreadLocal.nextHashCode can be static final
Backport-of: c42535f111
2025-01-24 18:41:27 +04:00
Martin Doerr
4f2535e27b 8343923: GHA: Switch to Xcode 15 on MacOS AArch64 runners
Backport-of: 4c5bc5f2f0
2025-01-24 18:41:26 +04:00
Sonia Zaldana Calles
bbddd3e71c 8338389: [JFR] Long strings should be added to the string pool
Backport-of: d5c6158ced
2025-01-24 18:41:26 +04:00
Matthias Baesken
72f894b40a 8342823: Ubsan: ciEnv.cpp:1614:65: runtime error: member call on null pointer of type 'struct CompileTask'
Backport-of: beff8bfe2a
2025-01-24 18:41:25 +04:00
Matthias Baesken
51773f0e61 8338449: ubsan: division by zero in sharedRuntimeTrans.cpp
Reviewed-by: mdoerr
Backport-of: 37cfaa8deb
2025-01-24 18:41:25 +04:00
Matthias Baesken
db82e5bd1c 8336911: ZGC: Division by zero in heuristics after JDK-8332717
Backport-of: 1cc32237ae
2025-01-24 18:41:25 +04:00
Amit Kumar
16226222fb 8344164: [s390x] ProblemList hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java
Backport-of: 3245f56e53
2025-01-24 18:41:24 +04:00
Martin Doerr
6205a5a135 8343724: [PPC64] Disallow OptoScheduling
Backport-of: f621f26cd1
2025-01-24 18:41:24 +04:00
Martin Doerr
503b6ebadf 8342607: Enhance register printing on x86_64 platforms
Backport-of: d8b3685d36
2025-01-24 18:41:23 +04:00
Amit Kumar
d8506d916f 8343506: [s390x] multiple test failures with ubsan
Backport-of: f6edfe58d6
2025-01-24 18:41:23 +04:00
Goetz Lindenmaier
d40225528a 8342183: Update tests to use stronger algorithms and keys
Backport-of: c82ad845e1
2025-01-24 18:41:22 +04:00
Goetz Lindenmaier
7b6bb3036d 8342188: Update tests to use stronger key parameters and certificates
Backport-of: ae82cc1ba1
2025-01-24 18:41:22 +04:00
SendaoYan
340209fea6 8336257: Additional tests in jmxremote/startstop to match on PID not app name
Backport-of: 687601ebca
2025-01-24 18:41:22 +04:00
SendaoYan
401706d5ea 8319673: Few security tests ignore VM flags
Reviewed-by: lucy
Backport-of: 430290066c
2025-01-24 18:41:21 +04:00
Matthias Baesken
c04c47e9c6 8318442: java/net/httpclient/ManyRequests2.java fails intermittently on Linux
Backport-of: 06d8216a4e
2025-01-24 18:41:21 +04:00
Matthias Baesken
72e6fcb7a5 8340801: Disable ubsan checks in some awt/2d coding
Backport-of: e7cf25ce0e
2025-01-24 18:41:20 +04:00
SendaoYan
78ff2783a2 8339892: Several security shell tests don't set TESTJAVAOPTS
Backport-of: 8a2a75e56d
2025-01-24 18:41:20 +04:00
SendaoYan
90aaf660b1 8207908: JMXStatusTest.java fails assertion intermittently
Backport-of: b7d0eff5ad
2025-01-24 18:41:20 +04:00
SendaoYan
204ebc1f01 8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags
Backport-of: 5e021cbcc7
2025-01-24 18:41:19 +04:00
Goetz Lindenmaier
1282ad1c08 8342181: Update tests to use stronger Key and Salt size
Backport-of: f340ab2d36
2025-01-24 18:41:19 +04:00
Goetz Lindenmaier
24bb6f6d36 8341927: Replace hardcoded security providers with new test.provider.name system property
8343848: Fix typo of property name in TestOAEPPadding after 8341927

Reviewed-by: lucy
Backport-of: 9a9ac1d005
2025-01-24 18:41:17 +04:00
Goetz Lindenmaier
50fc086cc4 8335142: compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp
Backport-of: 6f4ddc2f6b
2025-01-24 18:41:17 +04:00
Goetz Lindenmaier
7c3dfc3d32 8333235: vmTestbase/nsk/jdb/kill/kill001/kill001.java fails with C1
Backport-of: f73922b27d
2025-01-24 18:41:16 +04:00
Goetz Lindenmaier
bd4060f99d 8332112: Update nsk.share.Log to don't print summary during VM shutdown hook
Backport-of: 61aff6db15
2025-01-24 18:41:15 +04:00
Goetz Lindenmaier
436fe4b8b5 8330278: Have SSLSocketTemplate.doClientSide use loopback address
Backport-of: 0eff492e41
2025-01-24 18:41:15 +04:00
Goetz Lindenmaier
2408ee5585 8240343: JDI stopListening/stoplis001 "FAILED: listening is successfully stopped without starting listening"
Backport-of: 28b2019559
2025-01-24 18:41:15 +04:00
Goetz Lindenmaier
a7ad219fde 8327924: Simplify TrayIconScalingTest.java
Backport-of: 1496b5de90
2025-01-24 18:41:14 +04:00
Goetz Lindenmaier
0580c0dd3e 8325038: runtime/cds/appcds/ProhibitedPackage.java can fail with UseLargePages
Backport-of: b42b8886aa
2025-01-24 18:41:14 +04:00
Goetz Lindenmaier
5520337c11 8308429: jvmti/StopThread/stopthrd007 failed with "NoClassDefFoundError: Could not initialize class jdk.internal.misc.VirtualThreads"
Backport-of: 0e501f66df
2025-01-24 18:41:13 +04:00
Goetz Lindenmaier
528439ab12 8320575: generic type information lost on mandated parameters of record's compact constructors
Reviewed-by: mbaesken
Backport-of: 7bf1989f59
2025-01-24 18:41:13 +04:00
Goetz Lindenmaier
7108e2628f 8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows
Backport-of: f92c60e1a9
2025-01-24 18:41:12 +04:00
SendaoYan
cbd457ee1b 8342681: TestLoadBypassesNullCheck.java fails improperly specified VM option
Backport-of: 8bcd4920f1
2025-01-24 18:41:12 +04:00
Goetz Lindenmaier
1683bdc17b 8341235: Improve default instruction frame title in PassFailJFrame
Backport-of: 4ba170c403
2025-01-24 18:41:11 +04:00
Goetz Lindenmaier
8c6936d02f 8340799: Add border inside instruction frame in PassFailJFrame
Backport-of: 520060f79a
2025-01-24 18:41:11 +04:00
Goetz Lindenmaier
c0d97eafb7 8340812: LambdaForm customization via MethodHandle::updateForm is not thread safe
Backport-of: 47c10694c6
2025-01-24 18:41:11 +04:00
Goetz Lindenmaier
6a7c0fe773 8339803: Acknowledge case insensitive unambiguous keywords in tzdata files
Reviewed-by: mbaesken
Backport-of: 35a94b7697
2025-01-24 18:41:11 +04:00
SendaoYan
fdebf8227b 8306446: java/lang/management/ThreadMXBean/Locks.java transient failures
Backport-of: 4ae5a3e39b
2025-01-24 18:41:10 +04:00
Matthias Baesken
06e47f36e9 8333728: ubsan: shenandoahFreeSet.cpp:1347:24: runtime error: division by zero
Reviewed-by: mdoerr, lucy
Backport-of: b557594202
2025-01-24 18:41:10 +04:00
Roland Westrelin
e3b4ff0048 8342496: C2/Shenandoah: SEGV in compiled code when running jcstress
Backport-of: 680dc5d896
2025-01-24 18:41:09 +04:00
Goetz Lindenmaier
ef03bf861d 8340214: C2 compilation asserts with "no node with a side effect" in PhaseIdealLoop::try_sink_out_of_loop
Backport-of: ff2f39f240
2025-01-24 18:41:09 +04:00
Goetz Lindenmaier
9b5942bb73 8337066: Repeated call of StringBuffer.reverse with double byte string returns wrong result
Backport-of: cd61f97c2d
2025-01-24 18:41:09 +04:00
Goetz Lindenmaier
b6b3b7e03b 8340785: Update description of PassFailJFrame and samples
Backport-of: 5063494f5b
2025-01-24 18:41:08 +04:00
Goetz Lindenmaier
4ee68640a1 8317116: Provide layouts for multiple test UI in PassFailJFrame
Backport-of: 85f0442727
2025-01-24 18:41:08 +04:00
Goetz Lindenmaier
eabe9af638 8334057: JLinkReproducibleTest.java support receive test.tool.vm.opts
Backport-of: 8feabc849b
2025-01-24 18:41:07 +04:00
Goetz Lindenmaier
e90fba3925 8333754: Add a Test against ECDSA and ECDH NIST Test vector
Reviewed-by: mbaesken
Backport-of: fad6644eab
2025-01-24 18:41:07 +04:00
Xiaolong Peng
509b2ef013 8319640: ClassicFormat::parseObject (from DateTimeFormatter) does not conform to the javadoc and may leak DateTimeException
Backport-of: fe0ccdf5f8
2025-01-24 18:41:06 +04:00
Fei Yang
670f6e30de 8342578: GHA: RISC-V: Bootstrap using Debian snapshot is still failing
Backport-of: 239d84a82a
2025-01-24 18:41:06 +04:00
Goetz Lindenmaier
f4d2f3355c 8340466: Add description for PassFailJFrame constructors
Backport-of: 3762ec3978
2025-01-24 18:41:05 +04:00
Goetz Lindenmaier
ee7e0b24f5 8339787: Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java
Backport-of: cecb0b3d11
2025-01-24 18:41:05 +04:00
Goetz Lindenmaier
d0841a1833 8340899: Remove wildcard bound in PositionWindows.positionTestWindows
Backport-of: e2626db2f0
2025-01-24 18:41:04 +04:00
Goetz Lindenmaier
f17469333e 8340684: Reading from an input stream backed by a closed ZipFile has no test coverage
Backport-of: 0e0b0b0d26
2025-01-24 18:41:04 +04:00
Goetz Lindenmaier
af02477067 8340365: Position the first window of a window list
Backport-of: e97f0fe1b4
2025-01-24 18:41:03 +04:00
Goetz Lindenmaier
43c9727bef 8340461: Amend description for logArea
Backport-of: 833ff29983
2025-01-24 18:41:03 +04:00
Goetz Lindenmaier
74e072d633 8340308: PassFailJFrame: Make rows default to number of lines in instructions
Backport-of: d1d824008d
2025-01-24 18:41:02 +04:00
Goetz Lindenmaier
f77ab55e07 8340306: Add border around instructions in PassFailJFrame
Backport-of: 0120d3eed5
2025-01-24 18:41:01 +04:00
Goetz Lindenmaier
b6bc3bf8ad 8338759: Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java
Backport-of: 118c9ade1a
2025-01-24 18:41:00 +04:00
Goetz Lindenmaier
b95a02a731 8340210: Add positionTestUI() to PassFailJFrame.Builder
Backport-of: f0ae90f30c
2025-01-24 18:40:59 +04:00
Goetz Lindenmaier
1f451985dd 8332901: Select{Current,New}ItemTest.java for Choice don't open popup on macOS
Move SelectCurrentItemTest.java to java/awt/Choice/SelectItem/.
Move SelectNewItemTest.java to java/awt/Choice/SelectItem/.
Use latches to control test flow instead of delays.
Encapsulate the common logic in SelectCurrentItemTest.
Provide overridable checkXXX() methods to modify conditions.
Provide an overridable method which defines where to click
in the choice popup to select an item.

Backport-of: ef96a7b014
2025-01-24 18:40:59 +04:00
Goetz Lindenmaier
f8542a9b89 8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature
Reviewed-by: lucy
Backport-of: c6f0a35e9e
2025-01-24 18:40:58 +04:00
Goetz Lindenmaier
ddab2c3553 8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
Backport-of: 0ddf54e222
2025-01-24 18:40:54 +04:00
Goetz Lindenmaier
2cc5d4c7a6 8325851: Hide PassFailJFrame.Builder constructor
Backport-of: 3b9255eb66
2025-01-24 18:40:54 +04:00
Todd V. Jonker
c4230c1142 8342765: [21u] RTM tests assume UnlockExperimentalVMOptions is disabled by default
Reviewed-by: phh
2025-01-24 18:40:53 +04:00
t.ogata
a55a3f1912 8337851: Some tests have name which confuse jtreg
Backport-of: e6698f51a1
2025-01-24 18:40:52 +04:00
Amit Kumar
0e5c732936 8342962: [s390x] TestOSRLotsOfLocals.java crashes
Backport-of: 54327bc4e3
2025-01-24 18:40:52 +04:00
Goetz Lindenmaier
2b34cfc91e 8283214: [macos] Screen magnifier does not show the magnified text for JComboBox
Backport-of: de51aa19d6
2025-01-24 18:40:51 +04:00
SendaoYan
17faf5977d 8313374: --enable-ccache's CCACHE_BASEDIR breaks builds
Backport-of: 571c435e1a
2025-01-24 18:40:51 +04:00
Martin Doerr
f6129c08fe 8342701: [PPC64] TestOSRLotsOfLocals.java crashes
Backport-of: 3bba0f3dc8
2025-01-24 18:40:50 +04:00
Richard Reingruber
7ccf3ca81c 8334560: [PPC64]: postalloc_expand_java_dynamic_call_sched does not copy all fields
Backport-of: 13dce296fc
2025-01-24 18:40:50 +04:00
t.ogata
ebd57b44a7 8328379: Convert URLDragTest.html applet test to main
Backport-of: fbeac98c84
2025-01-24 18:40:50 +04:00
Steven Loomis
60ef6ede11 8195675: Call to insertText with single character from custom Input Method ignored
Backport-of: b8f2ec9091
2025-01-24 18:40:44 +04:00
Goetz Lindenmaier
2ceb6433c4 8325506: Ensure randomness is only read from provided SecureRandom object
Reviewed-by: lucy
Backport-of: b87d9cf2c9
2025-01-24 18:40:44 +04:00
Goetz Lindenmaier
8e8c768f6c 8320673: PageFormat/CustomPaper.java has no Pass/Fail buttons; multiple instructions
Backport-of: 0ff2deab5d
2025-01-24 18:40:43 +04:00
Goetz Lindenmaier
c1dea4f163 8322754: click JComboBox when dialog about to close causes IllegalComponentStateException
Backport-of: e44276989f
2025-01-24 18:40:42 +04:00
Goetz Lindenmaier
fc945c5117 8225220: When the Tab Policy is checked,the scroll button direction displayed incorrectly.
Backport-of: ed5b8c3a7b
2025-01-24 18:40:42 +04:00
Jiangli Zhou
e3c150bd07 8316428: G1: Nmethod count statistics only count last code root set iterated
Backport-of: fab372d3a2
2025-01-24 18:40:42 +04:00
Satyen Subramaniam
83bf000a52 8333824: Unused ClassValue in VarHandles
Reviewed-by: shade
Backport-of: 7b43a8cd7c
2025-01-24 18:40:41 +04:00
t.ogata
206a810f58 8328242: Add a log area to the PassFailJFrame
Backport-of: 9bc1b065db
2025-01-24 18:40:41 +04:00
Satyen Subramaniam
b95d3b4e7d 8323562: SaslInputStream.read() may return wrong value
Backport-of: 5cf7947ccd
2025-01-24 18:40:40 +04:00
Kerem Kat
ba1536e0bf 8311656: Shenandoah: Unused ShenandoahSATBAndRemarkThreadsClosure::_claim_token
Backport-of: 0b0e064e36
2025-01-24 18:40:40 +04:00
Goetz Lindenmaier
bebab92f85 8328402: Implement pausing functionality for the PassFailJFrame
Backport-of: 581b1e29ae
2025-01-24 18:40:39 +04:00
Goetz Lindenmaier
b2db708812 8342669: [21u] Fix TestArrayAllocatorMallocLimit after backport of JDK-8315097
Reviewed-by: lucy
2025-01-24 18:40:38 +04:00
SendaoYan
33e9b5afeb 8341997: Tests create files in src tree instead of scratch dir
Backport-of: caa8f35ed4
2025-01-24 18:40:38 +04:00
Todd V. Jonker
55bcf1b9ca 8340398: [JVMCI] Unintuitive behavior of UseJVMCICompiler option
Backport-of: 4cd8c75a55
2025-01-24 18:40:37 +04:00
Satyen Subramaniam
d3d4186b4f 8325610: CTW: Add StressIncrementalInlining to stress options
Reviewed-by: ysr
Backport-of: 5bf859c8e9
2025-01-24 18:40:37 +04:00
Goetz Lindenmaier
4d4aaff07c 8325762: Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java
Backport-of: 41242cbe5d
2025-01-24 18:38:54 +04:00
SendaoYan
f282627031 8341806: Gcc version detection failure on Alinux3
Backport-of: c49ef0421f
2025-01-24 18:38:53 +04:00
SendaoYan
d689b3e902 8341688: Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code
Backport-of: 0be27bf0c5
2025-01-24 18:38:52 +04:00
Boris Ulasevich
41e62297b3 8320892: AArch64: Restore FPU control state after JNI
Backport-of: 50f3124055
2025-01-24 18:38:52 +04:00
Satyen Subramaniam
297cee6f74 8332866: Crash in ImageIO JPEG decoding when MEM_STATS in enabled
Backport-of: ca30726352
2025-01-24 18:38:52 +04:00
Todd V. Jonker
5f5c927890 8341261: Tests assume UnlockExperimentalVMOptions is disabled by default
Reviewed-by: phh
Backport-of: 1bdd79e7b2
2025-01-24 18:38:51 +04:00
Gui Cao
007b6633b0 8342014: RISC-V: ZStoreBarrierStubC2 clobbers rflags
Reviewed-by: fyang
Backport-of: a601cd2e10
2025-01-24 18:38:51 +04:00
Matthias Baesken
25729b8d2c 8340109: Ubsan: ciEnv.cpp:1660:65: runtime error: member call on null pointer of type 'struct CompileTask'
Backport-of: efe3573b9b
2025-01-24 18:38:50 +04:00
Boris Ulasevich
19b5c852a3 8320682: [AArch64] C1 compilation fails with "Field too big for insn"
Reviewed-by: phh
Backport-of: 69014cd55b
2025-01-24 18:38:50 +04:00
Matthias Baesken
7a532238c1 8341024: [test] build/AbsPathsInImage.java fails with OOM when using ubsan-enabled binaries
Backport-of: 1b46fea59c
2025-01-24 18:38:49 +04:00
Gui Cao
2f27aeccdf 8320397: RISC-V: Avoid passing t0 as temp register to MacroAssembler:: cmpxchg_obj_header/cmpxchgptr
Backport-of: 0be0775a76
2025-01-24 18:38:49 +04:00
Martin Doerr
3877347eb2 8339386: Assertion on AIX - original PC must be in the main code section of the compiled method
Reviewed-by: mbaesken, lucy
Backport-of: 9a25f822fb
2025-01-24 18:38:49 +04:00
Gui Cao
274364e0d5 8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter
Reviewed-by: fjiang, fyang
Backport-of: a4ca6267e1
2025-01-24 18:38:48 +04:00
Goetz Lindenmaier
e63e595d2b 8342063: [21u][aix] Backport introduced redundant line in ProblemList
Reviewed-by: lucy
2025-01-24 18:38:48 +04:00
Boris Ulasevich
a3d31647b0 8319973: AArch64: Save and restore FPCR in the call stub
Reviewed-by: aph
2025-01-24 18:38:47 +04:00
Goetz Lindenmaier
60d450430a 8340632: ProblemList java/nio/channels/DatagramChannel/ for Macos
Reviewed-by: lucy
2025-01-24 18:38:47 +04:00
Goetz Lindenmaier
435467b7fa 8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop()
Backport-of: 1dd60b62e3
2025-01-24 18:38:46 +04:00
Goetz Lindenmaier
34f2381dc0 8340008: KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout
Backport-of: 3c22d83c0f
2025-01-24 18:38:45 +04:00
Goetz Lindenmaier
b17fdaef47 8337067: Test runtime/classFileParserBug/Bad_NCDFE_Msg.java won't compile
Backport-of: 021c2c36ac
2025-01-24 18:38:45 +04:00
Goetz Lindenmaier
cd1fe75bab 8321543: Update NSS to version 3.96
Backport-of: 6cda4c5985
2025-01-24 18:38:44 +04:00
Goetz Lindenmaier
74ab4a0c08 8321299: runtime/logging/ClassLoadUnloadTest.java doesn't reliably trigger class unloading
Backport-of: 5cae7d20ad
2025-01-24 18:38:44 +04:00
Aleksey Shipilev
8e4f3c4694 8337876: [IR Framework] Add support for IR tests with @Stable
8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build

Reviewed-by: eastigeevich, phh
Backport-of: c01f53ac2d
2025-01-24 18:38:43 +04:00
Gui Cao
c22ad16867 8340590: RISC-V: C2: Small improvement to vector gather load and scatter store
Backport-of: 88801caef6
2025-01-24 18:38:42 +04:00
Amit Kumar
11f7306ad4 8332461: ubsan : dependencies.cpp:906:3: runtime error: load of value 4294967295, which is not a valid value for type 'DepType'
Backport-of: 28de44da71
2025-01-24 18:38:42 +04:00
SendaoYan
092f33d4c4 8341562: RISC-V: Generate comments in -XX:+PrintInterpreter to link to source code
Backport-of: 8e9f46a0f1
2025-01-24 18:38:41 +04:00
Goetz Lindenmaier
854a75e2ef 8313878: Exclude two compiler/rtm/locking tests on ppc64le
Backport-of: 6faea22b52
2025-01-24 18:38:40 +04:00
Goetz Lindenmaier
f68339626a 8328021: Convert applet test java/awt/List/SetFontTest/SetFontTest.html to main program
Backport-of: 87bd6caca0
2025-01-24 18:38:40 +04:00
Goetz Lindenmaier
9ccb4b683b 8334719: (se) Deferred close of SelectableChannel may result in a Selector doing the final close before concurrent I/O on channel has completed
Reviewed-by: lucy
Backport-of: 9bb675f89d
2025-01-24 18:38:40 +04:00
Matthias Baesken
55f3efef74 8339487: ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message
Backport-of: 4ff72dc57e
2025-01-24 18:38:39 +04:00
Matthias Baesken
f349f1384a 8339648: ZGC: Division by zero in rule_major_allocation_rate
Backport-of: 80db6e71b0
2025-01-24 18:38:39 +04:00
Matthias Baesken
435f14c2a5 8340923: The class LogSelection copies uninitialized memory
Backport-of: 10da2c21a1
2025-01-24 18:38:38 +04:00
Goetz Lindenmaier
dcf1bac0fa 8340007: Refactor KeyEvent/FunctionKeyTest.java
Backport-of: 2faf8b8d58
2025-01-24 18:38:38 +04:00
Goetz Lindenmaier
d83412bef5 8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections
Backport-of: 0b5c8870e5
2025-01-24 18:38:37 +04:00
Goetz Lindenmaier
f75f6c5cc0 8339560: Unaddressed comments during code review of JDK-8337664
Reviewed-by: mbaesken
Backport-of: 95d3e9d199
2025-01-24 18:38:36 +04:00
George Adams
9847c20426 8340804: doc/building.md update Xcode instructions to note that full install is required
Reviewed-by: phh
Backport-of: b639661e79
2025-01-24 18:38:35 +04:00
Aleksey Shipilev
e6e42f158d 8340418: GHA: MacOS AArch64 bundles can be removed prematurely
Backport-of: 9d76c7c60f
2025-01-24 18:38:35 +04:00
Matthias Baesken
1dbff5ec6d 8340387: Update OS detection code to recognize Windows Server 2025
Backport-of: 34cddfbedd
2025-01-24 18:38:34 +04:00
Martin Doerr
b8d0a421dc 8340657: [PPC64] SA determines wrong unextendedSP
Backport-of: 49d15edd31
2025-01-24 18:38:33 +04:00
Goetz Lindenmaier
faa3b4a2f3 8338924: C1: assert(0 <= i && i < _len) failed: illegal index 5 for length 5
8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds

Backport-of: caf28d4ac5
2025-01-24 18:38:33 +04:00
Goetz Lindenmaier
8797b1dd56 8324841: PKCS11 tests still skip execution
Backport-of: 9d4a4bd2c2
2025-01-24 18:38:32 +04:00
Ben Taylor
31c404d02c 8321940: Improve CDSHeapVerifier in handling of interned strings
Backport-of: 4f3de09672
2025-01-24 18:38:31 +04:00
Liang Mao
93519265e3 8339725: Concurrent GC crashed due to GetMethodDeclaringClass
Reviewed-by: shade
Backport-of: c91fa278fe
2025-01-24 18:38:31 +04:00
George Adams
0b2f629f4b 8340383: VM issues warning failure to find kernel32.dll on Windows nanoserver
Backport-of: 3c97d2437d
2025-01-24 18:38:30 +04:00
George Adams
3ae31e00a9 8340815: Add SECURITY.md file
Backport-of: 0474f020bf
2025-01-24 18:38:29 +04:00
Saint Wesonga
920afb8aa8 6942632: Hotspot should be able to use more than 64 logical processors on Windows
Backport-of: f15d423fb5
2025-01-24 18:38:29 +04:00
Goetz Lindenmaier
ae011c4eb3 8331391: Enhance the keytool code by invoking the buildTrustedCerts method for essential options
Backport-of: c9bee173d6
2025-01-24 18:38:28 +04:00
Goetz Lindenmaier
91c74e2d51 8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect
Backport-of: 21e86d10a7
2025-01-24 18:38:27 +04:00
Andrew Lu
b9d9f0d5dd 8320665: update jdk_core at open/test/jdk/TEST.groups
Backport-of: da7cf258bb
2025-01-24 18:38:26 +04:00
Martin Doerr
f6c22952cb 8340230: Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity
Backport-of: a6754f31cf
2025-01-24 18:38:25 +04:00
Matthias Baesken
11288cc86c 8339731: java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings
Backport-of: ac3f92b411
2025-01-24 18:38:24 +04:00
Robbin Ehn
f32eff36e9 8339741: RISC-V: C ABI breakage for integer on stack
Backport-of: bfe7f9205b
2025-01-24 18:38:24 +04:00
Goetz Lindenmaier
a7930d5322 8309218: java/util/concurrent/locks/Lock/OOMEInAQS.java still times out with ZGC, Generational ZGC, and SerialGC
Backport-of: b86c3b7a68
2025-01-24 18:38:23 +04:00
Goetz Lindenmaier
f967194702 8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs
Backport-of: 2305d18e8d
2025-01-24 18:38:23 +04:00
Goetz Lindenmaier
5f8196d250 8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test
Backport-of: a5c2d7b305
2025-01-24 18:38:22 +04:00
Goetz Lindenmaier
38b9a50088 8336240: Test com/sun/crypto/provider/Cipher/DES/PerformanceTest.java fails with java.lang.ArithmeticException
Backport-of: 034297a6bd
2025-01-24 18:38:22 +04:00
Goetz Lindenmaier
6f10aba4be 8335530: Java file extension missing in AuthenticatorTest
Backport-of: a537e87d2d
2025-01-24 18:38:22 +04:00
Goetz Lindenmaier
29d109d961 8325399: Add tests for virtual threads doing Selector operations
Backport-of: 43089bf006
2025-01-24 18:38:21 +04:00
Goetz Lindenmaier
16b08b1e7c 8326121: vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless.
Backport-of: 2b4a4b7bd8
2025-01-24 18:38:21 +04:00
Amit Kumar
32888a7676 8339416: [s390x] Provide implementation for resolve_global_jobject
Backport-of: ac58b6102a
2025-01-24 18:38:20 +04:00
Goetz Lindenmaier
ff4d0a25f6 8332777: Update JCStress test suite
Backport-of: 11e926cf50
2025-01-24 18:38:19 +04:00
Goetz Lindenmaier
2ea7be11b7 8326100: DeflaterDictionaryTests should use Deflater.getBytesWritten instead of Deflater.getTotalOut
Backport-of: 9451677daa
2025-01-24 18:38:18 +04:00
Goetz Lindenmaier
61510603dd 8318105: [jmh] the test java.security.HSS failed with 2 active threads
Backport-of: 38c01971ff
2025-01-24 18:38:18 +04:00
Goetz Lindenmaier
ae4fd77a78 8324861: Exceptions::wrap_dynamic_exception() doesn't have ResourceMark
Backport-of: 7d1a48807a
2025-01-24 18:38:17 +04:00
Goetz Lindenmaier
f01410276c 8321616: Retire binary test vectors in test/jdk/java/util/zip/ZipFile
8322830: Add test case for ZipFile opening a ZIP with no entries

Backport-of: 26de9e247a
2025-01-24 18:38:16 +04:00
Andrew Lu
e8074d078d 8320586: update manual test/jdk/TEST.groups
Backport-of: 99b9cb0a2e
2025-01-24 18:38:15 +04:00
Todd V. Jonker
4c1d697834 8322166: Files.isReadable/isWritable/isExecutable expensive when file does not exist
Backport-of: 51be857f3c
2025-01-24 18:38:14 +04:00
Matthias Baesken
bb1a635081 8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent
Backport-of: cb5c60b530
2025-01-24 18:38:13 +04:00
Goetz Lindenmaier
41f9e1ce3b 8335267: [XWayland] move screencast tokens from .awt to .java folder
Backport-of: 088871ce36
2025-01-24 18:38:12 +04:00
Goetz Lindenmaier
49aa0130cf 8334562: Automate com/sun/security/auth/callback/TextCallbackHandler/Default.java test
8335344: test/jdk/sun/security/tools/keytool/NssTest.java fails to compile

Backport-of: b2162ba41b
2025-01-24 18:38:11 +04:00
Goetz Lindenmaier
d38c1d6c0d 8330621: Make 5 compiler tests use ProcessTools.executeProcess
Backport-of: 5394f57f00
2025-01-24 18:38:11 +04:00
Goetz Lindenmaier
7dd09c6f10 8321474: TestAutoCreateSharedArchiveUpgrade.java should be updated with JDK 21
Backport-of: 1b621f5527
2025-01-24 18:38:10 +04:00
Goetz Lindenmaier
579ce1b0ce 8339644: Improve parsing of Day/Month in tzdata rules
Backport-of: 86a2f9c7dc
2025-01-24 18:38:09 +04:00
Andrew Lu
72ac6c24c0 8311301: MethodExitTest may fail with stack buffer overrun
Backport-of: 3d813ae39f
2025-01-24 18:38:08 +04:00
Andrew Lu
a6524be3a1 8338109: java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java duplicate in ProblemList
Backport-of: 2b5aec2aad
2025-01-24 18:38:06 +04:00
Matthias Baesken
1ce30fbdc2 8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero
Backport-of: f080b4bb8a
2025-01-24 18:38:06 +04:00
Dmitry Chuyko
e9d223ad04 8320192: SHAKE256 does not work correctly if n >= 137
Reviewed-by: phh
Backport-of: fcb4df26f1
2025-01-24 18:38:05 +04:00
Alexey Bakhtin
53a1f4527d 8337966: (fs) Files.readAttributes fails with Operation not permitted on older docker releases
Reviewed-by: sgehwolf, mbalao
2025-01-24 18:38:05 +04:00
Sonia Zaldana Calles
29d10d37bf 8028127: Regtest java/security/Security/SynchronizedAccess.java is incorrect
Backport-of: 330e520c1d
2025-01-24 18:38:04 +04:00
Andrew Lu
6e975038fe 8337320: Update ProblemList.txt with tests known to fail on XWayland
Reviewed-by: goetz
Backport-of: ddbd7a78f1
2025-01-24 18:38:04 +04:00
Andrew Lu
488baa5150 8296972: [macos13] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java: getExtendedState() != 6 as expected.
Backport-of: f0c2f09815
2025-01-24 18:38:04 +04:00
Goetz Lindenmaier
851eb2d800 8335449: runtime/cds/DeterministicDump.java fails with File content different at byte ...
Backport-of: 284671a1e4
2025-01-24 18:38:03 +04:00
Goetz Lindenmaier
bc9f48a6e6 8333108: Update vmTestbase/nsk/share/DebugeeProcess.java to don't use finalization
Backport-of: b3e29db144
2025-01-24 18:38:03 +04:00
Goetz Lindenmaier
3e23c41656 8332724: x86 MacroAssembler may over-align code
Backport-of: 08d51003d1
2025-01-24 18:38:02 +04:00
Goetz Lindenmaier
b0276d3b16 8332340: Add JavacBench as a test case for CDS
Backport-of: 7fd9d6c760
2025-01-24 18:38:02 +04:00
Goetz Lindenmaier
afbe683118 8321550: Update several runtime/cds tests to use vm flags or mark as flagless
8329533: TestCDSVMCrash fails on libgraal
8329353: ResolvedReferencesNotNullTest.java failed with Incorrect resolved references array, quxString should not be archived

Reviewed-by: mbaesken
Backport-of: d1b51e39c9
2025-01-24 18:38:01 +04:00
Goetz Lindenmaier
17a80c4b86 8326898: NSK tests should listen on loopback addresses only
Backport-of: 2482a505e5
2025-01-24 18:38:01 +04:00
Goetz Lindenmaier
ee24aeb402 8328303: 3 JDI tests timed out with UT enabled
Backport-of: bc73963974
2025-01-24 18:38:00 +04:00
Goetz Lindenmaier
7713fa40b9 8296787: Unify debug printing format of X.509 cert serial numbers
Backport-of: c328f9589d
2025-01-24 18:38:00 +04:00
Goetz Lindenmaier
af3573eeb6 8328665: serviceability/jvmti/vthread/PopFrameTest failed with a timeout
Backport-of: 70c8ff1c9a
2025-01-24 18:37:59 +04:00
Sergey Bylokhov
eb5c8d4350 8312518: [macos13] setFullScreenWindow() shows black screen on macOS 13 & above
Backport-of: 999e556be4
2025-01-24 18:37:59 +04:00
Fei Yang
129240f21c 8339548: GHA: RISC-V: Use Debian snapshot archive for bootstrap
Backport-of: 9e0ccb8bbd
2025-01-24 18:37:58 +04:00
Boris Ulasevich
e462a7d8bb 8331393: AArch64: u32 _partial_subtype_ctr loaded/stored as 64
Backport-of: f215899a08
2025-01-24 18:37:57 +04:00
Zdenek Zambersky
4bddb72100 8338402: GHA: some of bundles may not get removed
Backport-of: d8e4d3f2d6
2025-01-24 18:37:57 +04:00
SendaoYan
0f1effe4d2 8338748: [17u,21u] Test Disconnect.java compile error: cannot find symbol after JDK-8299813
Reviewed-by: sgehwolf
2025-01-24 18:37:57 +04:00
Goetz Lindenmaier
8eb71b87b1 8331864: Update Public Suffix List to 1cbd6e7
Backport-of: b91083341a
2025-01-24 18:37:57 +04:00
Andrew Lu
e113ec5730 8328723: IP Address error when client enables HTTPS endpoint check on server socket
Backport-of: 1b9270ac8a
2025-01-24 18:37:56 +04:00
Andrew Lu
00448e5900 8336413: gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf
Backport-of: 69baa7d285
2025-01-24 18:37:55 +04:00
Andrew Lu
460a6b7fbc 8326611: Clean up vmTestbase/nsk/stress/stack tests
Backport-of: 972e81d1ad
2025-01-24 18:37:54 +04:00
Jiawei Tang
d58215e759 8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option
Backport-of: 55c509708e
2025-01-24 18:37:53 +04:00
Boris Ulasevich
6312b2efae 8317575: AArch64: C2_MacroAssembler::fast_lock uses rscratch1 for cmpxchg result
Backport-of: 387504c9e4
2025-01-24 18:37:53 +04:00
Gui Cao
671778afb0 8339248: RISC-V: Remove li64 macro assembler routine and related code
Reviewed-by: fyang
Backport-of: 392bdd5734
2025-01-24 18:37:53 +04:00
Matthias Baesken
cc8b1066ef 8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058
Backport-of: 692f5cbdb9
2025-01-24 18:37:52 +04:00
Fei Yang
e3740d7986 8337780: RISC-V: C2: Change C calling convention for sp to NS
Backport-of: 53db937dd0
2025-01-24 18:37:52 +04:00
Matthias Baesken
d788632dff 8338058: map_or_reserve_memory_aligned Windows enhance remap assertion
Backport-of: 00aac4097a
2025-01-24 18:37:51 +04:00
Matthias Baesken
10087ffafe 8334567: [test] runtime/os/TestTracePageSizes move ppc handling
Backport-of: 6a5cb0b2c4
2025-01-24 18:37:50 +04:00
Daniel Hu
a2d96ac172 8319970: AArch64: enable tests compiler/intrinsics/Test(Long|Integer)UnsignedDivMod.java on aarch64
8319960: RISC-V: compiler/intrinsics/TestInteger/LongUnsignedDivMod.java failed with "counts: Graph contains wrong number of nodes"

Reviewed-by: phh
Backport-of: c80e691adf
2025-01-24 18:37:50 +04:00
SendaoYan
d364404b63 8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout
Backport-of: 39884205fb
2025-01-24 18:37:49 +04:00
Matthias Baesken
75693fc4ad 8316895: SeenThread::print_action_queue called on a null pointer
Backport-of: fd52be2a3c
2025-01-24 18:37:48 +04:00
Matthias Baesken
60edd5c4b8 8338110: Exclude Fingerprinter::do_type from ubsan checks
Backport-of: 6a39014795
2025-01-24 18:37:48 +04:00
Goetz Lindenmaier
9dd1d43357 8339080: Bump update version for OpenJDK: jdk-21.0.6
Reviewed-by: sgehwolf
2025-01-24 18:37:48 +04:00
Vitaly Provodin
2cb502770c JBR-8161 Move docker files under jbr-tools 2025-01-24 00:32:04 +04:00
Alexey Ushakov
b86ed20f13 JBR-8091 X: jb/java/wayland/RobotGet tests thorw java.awt.AWTException: headless environment
Do not run test logic in the headless environment
2025-01-22 14:37:57 +01:00
Alexey Ushakov
49b19e4dad JBR-7990 Vulkan: Robot pixel grabbing for Vulkan surfaces
Implemented grabbing pixels via partly supported SurfaceToSwBlit, fixed multi-monitor scenario
2025-01-22 13:03:37 +01:00
Nikita Tsarev
a8c11a6f83 JBR-5851: Fix 'DVORAK - QWERTY Cmd' layout 2025-01-21 14:31:27 +01:00
Artem Bochkarev
7b19ee3653 JBR-8138 Change OSX entitlement "com.apple.security.cs.allow-dyld-environment-variables=false" 2025-01-21 15:49:57 +04:00
Maxim Kartashev
495ebfd062 JBR-8133 Runtime crash after jfr drag and drop to IU 2025-01-21 14:04:34 +04:00
Vitaly Provodin
e54e4297d1 update exclude list on results of 21.0.5_b792.48 test runs 2025-01-21 01:39:33 +04:00
Alex Menkov
bbc30b0091 8318563: GetClassFields should not use random access to field
Reviewed-by: sspitsyn, cjplummer, fparain

AKA JBR-8153 Backport 8317692 to jbr21
2025-01-20 13:28:32 +04:00
Maxim Kartashev
b06e625923 JBR-7457 Provide JBR API method to explicitly call gc() 2025-01-17 18:21:35 +04:00
Nikita Tsarev
980b5a354c JBR-8004: Support the context menu key on macOS 2025-01-15 18:46:26 +01:00
Vitaly Provodin
8183c5b042 update exclude list on results of 21.0.5_b762.40 test runs 2025-01-15 08:32:38 +04:00
Maxim Kartashev
4c2ce96b68 JBR-8123 NPE because FileSystems.getDefault() is null with -Djava.util.zip.use.nio.for.zip.file.access=true 2025-01-14 19:59:57 +04:00
Vitaly Provodin
b715412025 update exclude list on results of 21.0.5_b762.36 test runs 2025-01-14 16:04:06 +04:00
Vitaly Provodin
0cab753fb1 update exclude list on results of 21.0.5_b750.29 test runs 2025-01-10 02:30:34 +04:00
Alan Bateman
de64e51188 8346573: Can't use custom default file system provider with custom system class loader
Reviewed-by: mkartashev, bpb
2025-01-07 17:04:36 +04:00
Vitaly Provodin
03ff99a62b Revert "JBR-8038 8345296: AArch64: VM crashes with SIGILL when prctl is disallowed"
This reverts commit 8b0b738416.
2024-12-26 17:59:52 +04:00
Vitaly Provodin
18c3fd40ee update exclude list on results of 21.0.5_b738.27 test runs 2024-12-26 15:53:02 +04:00
Vitaly Provodin
66bd338d23 JBR-8072 move JBR docker images to registry.jetbrains.team 2024-12-26 13:54:29 +04:00
Aleksey Shipilev
8b0b738416 JBR-8038 8345296: AArch64: VM crashes with SIGILL when prctl is disallowed
Reviewed-by: eastigeevich, phh, aph
2024-12-24 04:18:24 +04:00
Maxim Kartashev
f2a562e0c0 JBR-7988 Wayland: WLPopupLocation test: incorrect size detected 2024-12-23 18:10:56 +04:00
Vladimir Lagunov
fd29e06c9c JBR-8043 Fix CSE from Files.probeContentType with overridden DefaultFileSystemProvider
Before this commit, the code `DefaultFileTypeDetector` implied that the
default file system provider is always an instance of
`UnixFileSystemProvider`. It's not true when
`-Djava.nio.file.spi.DefaultFileSystemProvider` is specified.

This commit replaces the strict class cast with a conditional one, and
the new code returns a no-op file type detector in cases when the
default file system provider is overridden.
2024-12-23 15:15:39 +04:00
bourgesl
fe55cc7bd9 JBR-8048: only log system property 'awt.mac.flushBuffers.invokeLater' if manually set 2024-12-20 21:59:00 +01:00
bourgesl
96e0246394 JBR-5497: improved system property (awt.mac.flushBuffers.invokeLater) handling to support false/auto/true modes and log used value at startup 2024-12-19 10:29:45 +01:00
Vitaly Provodin
4f2900a929 update exclude list on results of 21.0.5_b733.25 test runs 2024-12-17 04:45:48 +04:00
bourgesl
cc647987c2 JBR-5497: simple fix to avoid deadlocks on macOS + mirroring displays:
- added more instrumentation on awt threads and AWTThreading.invokeAndWait() to detect and diagnose deadlocks
- enhanced awtLockListener to adopt nanotime for time accuracy + more advanced logging (caller, wait time) with histograms
- major ThreadUtilities performOnMainThread refactoring to observe thread coordination (state, callstacks) in order to avoid deadlocks while the appkit/main thread is waiting (performOnMainThreadWaiting:YES) in conflict with LWCToolkit.invokeLater() blocked in doAWTRunLoop (2nd)
- fixed CPlatformWindow.flushBuffers() to use LWCToolkit.invokeLater() to avoid deadlocks (EDT <-> main) if the the system property '-Dawt.mac.flushBuffers.invokeLater=true'
- use the new CGraphicsDevice.IsMirroring() to enable fix in CPlatformWindow.flushBuffers() too
- removed changes for JBR-5461 + cleanup + simplified awtLock() + keep few more invokeLater() when computer returns from sleep or displayChanged() to avoid deadlocks until solved definitely
- fixed review comments
2024-12-12 10:00:28 +01:00
Maxim Kartashev
b2ba19d673 JBR-7989 Wayland: WLPopupVisibility test is failing if launched with fractional sun.java2d.uiScale
Use ceil when scaling the size, use floor when scaling the location
2024-12-10 19:08:27 +04:00
Michael McMahon
bd107d24bc 8343433: Update net.properties and java.net.http module-info.java after 8326949
Reviewed-by: dfuchs, jpai
2024-12-10 12:16:59 +04:00
Michael McMahon
c971b2d6fc 8326949: Authorization header is removed when a proxy Authenticator is set on HttpClient
Reviewed-by: dfuchs, jpai, djelinski
2024-12-10 12:16:26 +04:00
Maxim Kartashev
6b2a8b03f7 JBR-7993 Menus are not displayed directly underneath main menu if offset in monitor configuration exists 2024-12-06 16:07:50 +04:00
Vitaly Provodin
0665558bcc update exclude list on results of 21.0.5_b714.21 test runs 2024-12-05 07:15:31 +04:00
Sergey Shelomentsev
17cefef4f9 JBR-7919 add tests for Wayland popups 2024-12-03 18:42:18 +02:00
Maxim Kartashev
0d95dbe3eb JBR-7972 Wayland: EXTREME lag when scrolling through any type of list in the settings when using WLToolkit
Avoid requesting the Wayland server to change the cursor when the change
is vacuous
2024-12-03 12:12:33 +04:00
Maxim Kartashev
44fca1c619 JBR-7071 Wayland: cursor does not change when hovering over gutter icons 2024-12-02 19:10:45 +04:00
Maxim Kartashev
4a50c3cc82 JBR-7879 Wayland: Self-moving quick-doc popup in nightly
- Position popups at the exact offset given; this is achieved by
  using the XDG_POSITIONER_ANCHOR_TOP_LEFT anchor
- Update of popups location is done in sync with all other updates
  that affect the size (like the surface size update)
- Maintain a popup's location relative to the popup's parent, not
  its toplevel window
2024-12-02 12:22:54 +04:00
Maxim Kartashev
a139bc7866 JBR-7969 Wayland: some popups misplaced when maximized with fractional scale 2024-12-02 12:19:39 +04:00
Nikita Gubarkov
8e05c17afb JBR-7575 Vulkan: Implement composites (blending and XOR mode)
- Implemented dynamic pipeline compilation.
- Added 64-bit per pixel format usage in debug mode for testing.
- Now passing colors from Java to Vulkan with straight alpha.

(cherry picked from commit 3d7baad687)
2024-11-27 15:25:26 +01:00
Vitaly Provodin
6ef6b1d328 update exclude list on results of 21.0.5_b709.19 test runs 2024-11-26 17:07:45 +04:00
Nikita Gubarkov
7092fb7d71 JBR-7943 Vulkan: Provide utilities for inspecting image formats 2024-11-22 22:03:10 +01:00
Sergey Shelomentsev
2f8123cf84 JBR-7939 set max wait to 1 min for jetsign client 2024-11-22 13:40:45 +02:00
Nikita Gubarkov
f67cced4b7 JBR-7683 Revert "8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185"
This reverts commit 72305df0b5.
2024-11-21 13:05:12 +01:00
Sergey Shelomentsev
b683cca184 JBR-7867 Notarization scripts: fail build if signing of separate files are failed 2024-11-18 17:17:59 +02:00
Vitaly Provodin
362886a25d update exclude list on results of 21.0.5_b699.17 test runs 2024-11-18 12:21:23 +04:00
Dmitrii Morskii
2e06341493 JBR-7040 implemented FPS counter on D3D 2024-11-14 15:31:00 +00:00
Dmitrii Morskii
e18013369e JBR-7900 Improve logic of detecting toolkit inside registerShutdownHook 2024-11-14 14:14:04 +00:00
Dmitrii Morskii
41b0284c53 JBR-7051 Improved D3D Toolkit:
-Increased rendering performance
	-Improved text rendering quality
	-Accelerated repainting during window resizing
	-Removed unnecessary fallback to GDI rendering
	-Eliminated unnecessary hardware limitations
2024-11-13 21:32:28 +00:00
Maxim Kartashev
06402a7ec4 JBR-7859 Wayland: Unexpected focus owner set in a Window 2024-11-12 14:40:13 +04:00
Maxim Kartashev
3a0db4687d JBR-7851 Wayland: IDEA crashes if Esc is pressed to close Diff window 2024-11-12 14:40:10 +04:00
Nikita Provotorov
f287809a5a fixup! JBR-2460: Wrong position of input window and no input preview with fcitx and ubuntu 13.04.
The patch fixes "JBR-7875 src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c:2605:1: error: label ‘finally’ defined but not used [-Werror=unused-label]".

(cherry picked from commit b9e3d11c04)
2024-11-11 15:43:47 +01:00
Nikita Provotorov
d0d0fdbbf3 Revert "fixup! JBR-6456 Sudden keyboard death on Linux using iBus."
This reverts commit 7932169e25.
The issue the reverted fix was for: "JBR-7875 src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c:2605:1: error: label ‘finally’ defined but not used [-Werror=unused-label]".
The reason: the wrong commit was fixed up.
2024-11-11 15:39:12 +01:00
Dmitrii Morskii
5a9b8a0488 JBR-7838 added getTreeLock to updateCursorImpl 2024-11-11 14:18:22 +00:00
Nikita Provotorov
7932169e25 fixup! JBR-6456 Sudden keyboard death on Linux using iBus.
The patch fixes "JBR-7875 src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c:2605:1: error: label ‘finally’ defined but not used [-Werror=unused-label]".

(cherry picked from commit 17b20784fc)
2024-11-11 15:12:20 +01:00
Vitaly Provodin
b930b907eb update exclude list on results of 21.0.5_b688.15 test runs 2024-11-11 12:29:48 +04:00
Vitaly Provodin
1d3105a693 update exclude list on results of 21.0.5_b688 test runs 2024-11-09 02:05:46 +04:00
Sergey Shelomentsev
bcff636994 JBR-7856 use jmod from currently built JDK 2024-11-07 14:13:16 +02:00
Maxim Kartashev
4ec60311e5 JBR-7760 Pure wayland: incorrect popup scale 2024-11-07 13:43:56 +04:00
Alexey Ushakov
75ec0cc832 JBR-7849 Vulkan: update build documentation for jbr21 and main
Added build instruction for vulkan
2024-11-07 00:42:14 +01:00
Nikita Provotorov
54d1e9fe86 fixup! JBR-4170 Implement API for announcing
This patch fixes inconsistencies caused by incorrect forward-porting of the original patch to jbr21 branch (from jbr17 branch).

(cherry picked from commit 9a5594133c)
2024-11-06 17:13:35 +01:00
Egor Ushakov
5d387e0895 JBR-1061 .attach_pid files in the working dir - fixed incorrect cherry-pick 2024-11-05 15:17:58 +01:00
Sergey Shelomentsev
cafd577a8f fixup! JBR-7734 add zip distribution for Windows 2024-11-05 13:44:46 +02:00
Vitaly Provodin
8e89256d3e update exclude list on results of 21.0.5_b675.11 test runs 2024-11-05 13:09:36 +04:00
Nikita Gubarkov
cd328065d6 JBR-7846 Vulkan: Fix compilation in Musl Docker container 2024-11-04 18:03:21 +01:00
sergey.shelomentsev
6c252e1ae7 JBR-7800 Fix notarization of jbrsdk (sign libs and execs inside jmod files) 2024-11-04 09:56:15 +02:00
Maxim Kartashev
c6485560ad JBR-7835 macOS: raised NOFILE ulimit breaks interaction with gdb
(cherry picked from commit 41fbb57244f074a7ad044570a8417683cceae41b)
2024-11-02 08:44:08 +04:00
Vitaly Provodin
7d859509c0 JBR-6144 enable building JBR with Vulkan
(cherry picked from commit 9fe7b136598e2679dd6f4b12f959c6db0ef9bf99)
2024-11-02 01:30:17 +04:00
Nikita Gubarkov
485be93b11 JBR-7840 Vulkan: Fix compilation in Docker container 2024-11-01 21:36:50 +01:00
Dmitrii Morskii
4329a53f4b JBR-6754 setting nopixfmt in case of running on Remote Desktop 2024-11-01 16:23:16 +01:00
Dmitry Batrak
f3cc02e981 JBR-7833 Wayland: typeahead problem in a popup 2024-11-01 12:00:42 +02:00
Alexey Ushakov
96e7d6fb02 JBR-7677 Vulkan: Implement Graphics.drawImage()
Temporary fix of unexpected transparency with blit operations
2024-10-31 21:51:53 +01:00
Maxim Kartashev
e05d52da9d JBR-7811 Wayland: IDE dialogs and popups flash black before opening 2024-10-31 16:17:15 +04:00
Sergey Shelomentsev
50936c9beb JBR-7734 add zip distribution for Windows 2024-10-31 10:06:02 +02:00
Vlad Zahorodnii
5e4bbff746 8338751 JBR-7777: ConfigureNotify behavior has changed in KWin 6.2
Reviewed-by: prr, azvegint, serb
2024-10-30 13:54:53 +04:00
Vitaly Provodin
c74d599e01 update exclude list on results of 21.0.5_b662.7 test runs 2024-10-29 08:19:33 +04:00
Maxim Kartashev
cef5d86bd7 JBR-6691 test/jdk/jdk/internal/misc/VM/RuntimeArguments.java fails on Linux 2024-10-28 15:47:48 +04:00
Vitaly Provodin
fcee96fcc4 update exclude list on results of 21.0.5 test runs 2024-10-25 04:31:34 +04:00
Vitaly Provodin
04ec16eae2 JBR-5989 Wayland: add tests introduced in 21.0.5 and failing with the message "WLRobotPeer: wakefield extension not present in Wayland instance" 2024-10-25 04:31:34 +04:00
Christoph Langer
f8ebb02111 8341989: [21u] Back out JDK-8327501 and JDK-8328366
Reviewed-by: goetz
2024-10-25 04:30:00 +04:00
Francisco Ferrari Bihurriet
6de92fcf24 8332644: Improve graph optimizations
Reviewed-by: mbalao, andrew
Backport-of: 7c16d649a8118d2e7ee77cedba87e620c83294b4
2024-10-25 04:29:59 +04:00
Alexei Voitylov
ada51aad63 8331446: Improve deserialization support
Reviewed-by: yan, mbalao, andrew
Backport-of: 8e4a392832f83e16d521024505b52c96d0a993f2
2024-10-25 04:29:58 +04:00
Alexey Bakhtin
e421130680 8328726: Better Kerberos support
Reviewed-by: mbalao
Backport-of: 7325899a11f17bf4516d39495a12796385e459ed
2024-10-25 04:29:58 +04:00
Martin Balao
b42d878b67 8335713: Enhance vectorization analysis
Reviewed-by: roland
Backport-of: 3c05ad2290936ec9abc3f271cb6bf89e18c3eea7
2024-10-25 04:29:57 +04:00
Martin Balao
72b4a54c1c 8328544: Improve handling of vectorization
Reviewed-by: roland, yan
Backport-of: b5174c9159fbffdf335ee6835267ba0e674cf432
2024-10-25 04:29:57 +04:00
Alexey Bakhtin
9d4075962b 8328286: Enhance HTTP client
Reviewed-by: mbalao
Backport-of: cf8dc79f392c8ec3414d8b36803f026852c4e386
2024-10-25 04:29:56 +04:00
Alexei Voitylov
a4f02c825d 8311208: Improve CDS Support
Reviewed-by: mbalao
Backport-of: 2c60805bc380945a8266112c7b5aee0498cb7d5b
2024-10-25 04:29:56 +04:00
Alexey Bakhtin
2b4de081eb 8307383: Enhance DTLS connections
Reviewed-by: mbaesken, andrew
Backport-of: 362dbbaa952b3d4a5270c6bfae879a12e9bdf4d1
2024-10-25 04:29:55 +04:00
Goetz Lindenmaier
17e41d5f7b 8341059: Change Entrust TLS distrust date to November 12, 2024
Reviewed-by: mbaesken, sgehwolf
Backport-of: f554c3ffce
2024-10-25 04:29:54 +04:00
Goetz Lindenmaier
7dba6bf4c6 8341057: Add 2 SSL.com TLS roots
Backport-of: 824a297aae
2024-10-25 04:29:54 +04:00
Goetz Lindenmaier
58aaa2b6c1 8337622: IllegalArgumentException in java.lang.reflect.Field.get
Backport-of: 41e31d6b0a
2024-10-25 04:29:53 +04:00
Goetz Lindenmaier
6abc3d22f7 8329667: [macos] Issue with JTree related fix for JDK-8317771
Backport-of: 05f13e75ee
2024-10-25 04:29:53 +04:00
Goetz Lindenmaier
b13c974400 8339869: [21u] Test CreationTime.java fails with UnsatisfiedLinkError after 8334339
Reviewed-by: sgehwolf
2024-10-25 04:29:52 +04:00
Severin Gehwolf
fcd11b7d6b 8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux)
Backport-of: c89a1c35bd
2024-10-25 04:29:51 +04:00
Goetz Lindenmaier
a0e718b957 8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs
Backport-of: 7d49c52272
2024-10-25 04:29:51 +04:00
Goetz Lindenmaier
c4dc4c05db 8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods
Reviewed-by: mdoerr
Backport-of: 9775d57168
2024-10-25 04:29:51 +04:00
Daniel Hu
27b977147b 8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture
Backport-of: a8549b6367
2024-10-25 04:29:50 +04:00
Aleksey Shipilev
a6464ba3a6 8335409: Can't allocate and retain memory from resource area in frame::oops_interpreted_do oop closure after 8329665
Reviewed-by: phh, stuefe
Backport-of: 7ab96c74e2
2024-10-25 04:29:50 +04:00
Aleksey Shipilev
73acf6f1c4 8338286: GHA: Demote x86_32 to hotspot build only
Backport-of: da7311bbe3
2024-10-25 04:29:50 +04:00
Matthias Baesken
aa4e2b4fe8 8311306: Test com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java failed: out of expected range
Backport-of: e1fd663f22
2024-10-25 04:29:49 +04:00
SendaoYan
b2125c4108 8322881: java/nio/file/Files/CopyMoveVariations.java fails with AccessDeniedException due to permissions of files in /tmp
Backport-of: bf13a4e281
2024-10-25 04:29:49 +04:00
SendaoYan
15cbee7322 8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment
Backport-of: 403fa3760f
2024-10-25 04:29:49 +04:00
KIRIYAMA Takuya
107dc37b4e 8336284: Test TestClhsdbJstackLock.java/TestJhsdbJstackLock.java fails with -Xcomp after JDK-8335743
Backport-of: 1fe3ada001
2024-10-25 04:29:48 +04:00
Daniel Hu
4c0e3b7ad9 8309894: compiler/vectorapi/VectorLogicalOpIdentityTest.java fails on SVE system with UseSVE=0
Reviewed-by: phh
Backport-of: 60544f9088
2024-10-25 04:29:48 +04:00
Daniel Hu
e785eded1c 8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak
Backport-of: f6be922952
2024-10-25 04:29:48 +04:00
KIRIYAMA Takuya
8d92a40389 8335743: jhsdb jstack cannot print some information on the waiting thread
Backport-of: d6c6847e32
2024-10-25 04:29:48 +04:00
SendaoYan
148721ce6e 8323196: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Events are not ordered! Reuse = false"
Backport-of: fa7521b29e
2024-10-25 04:29:48 +04:00
Matthias Baesken
6474af2519 8333149: ubsan : memset on nullptr target detected in jvmtiEnvBase.cpp get_object_monitor_usage
Backport-of: 43a2f17342
2024-10-25 04:29:47 +04:00
Matthias Baesken
7c639c6aeb 8333088: ubsan: shenandoahAdaptiveHeuristics.cpp:245:44: runtime error: division by zero
Backport-of: 34eea6a5fa
2024-10-25 04:29:47 +04:00
Matthias Baesken
0db245a15a 8333354: ubsan: frame.inline.hpp:91:25: and src/hotspot/share/runtime/frame.inline.hpp:88:29: runtime error: member call on null pointer of type 'const struct SmallRegisterMap'
Backport-of: 8162832832
2024-10-25 04:29:46 +04:00
Aleksey Shipilev
07db9458cc 8330981: ZGC: Should not dedup strings in the finalizer graph
Backport-of: 2f2dc2289b
2024-10-25 04:29:46 +04:00
Aleksey Shipilev
e7f04c161e 8335007: Inline OopMapCache table
Backport-of: 50dd962b0d
2024-10-25 04:29:46 +04:00
Aleksey Shipilev
c3bba9d8ff 8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException
Backport-of: bfb75b9626
2024-10-25 04:29:45 +04:00
Gui Cao
8677bf7de5 8334078: RISC-V: TestIntVect.java fails after JDK-8332153 when running without RVV
Reviewed-by: fyang
Backport-of: ef7923e127
2024-10-25 04:29:45 +04:00
Andrew Lu
e16f519bf7 8299813: java/nio/channels/DatagramChannel/Disconnect.java fails with jtreg test timeout due to lost datagram
Backport-of: 49eb00da8d
2024-10-25 04:29:45 +04:00
Andrew Lu
7ad2bed7bc 8309067: gtest/AsyncLogGtest.java fails again in stderrOutput_vm
Reviewed-by: phh
Backport-of: d1af748ab4
2024-10-25 04:29:44 +04:00
Aleksey Shipilev
ade40fcf20 8331572: Allow using OopMapCache outside of STW GC phases
8334594: Generational ZGC: Deadlock after OopMap rewrites in 8331572

Reviewed-by: phh
Backport-of: d999b81e71
2024-10-25 04:29:44 +04:00
Varada M
9a6e66596c 8330520: linux clang build fails in os_linux.cpp with static_assert with no message is a C++17 extension
Reviewed-by: mdoerr
Backport-of: 4b55fe5777
2024-10-25 04:29:44 +04:00
Amos Shi
dc1a8c0e42 8310683: Refactor StandardCharset/standard.java to use JUnit
Reviewed-by: mdoerr
Backport-of: d82ade3545
2024-10-25 04:29:43 +04:00
Amos Shi
1a3bef4b66 8317738: CodeCacheFullCountTest failed with "VirtualMachineError: Out of space in CodeCache for method handle intrinsic"
Backport-of: 0fd807118c
2024-10-25 04:29:43 +04:00
Amos Shi
38b972e77b 8325022: Incorrect error message on client authentication
Backport-of: fe78c0f191
2024-10-25 04:29:43 +04:00
SendaoYan
5fbae53104 8331153: JFR: Improve logging of jdk/jfr/api/consumer/filestream/TestOrdered.java
Backport-of: f3bb3e2170
2024-10-25 04:29:42 +04:00
Ben Taylor
d02a123e4b 8321206: Make Locale related system properties StaticProperty
Backport-of: 0c178beb69
2024-10-25 04:29:42 +04:00
Daniel Hu
8c8709f7be 8303920: Avoid calling out to python in DataDescriptorSignatureMissing test
Reviewed-by: shade
Backport-of: 07eaea8c25
2024-10-25 04:29:41 +04:00
Todd V. Jonker
0b6de2783b 8319817: Charset constructor should make defensive copy of aliases
Backport-of: d6d7bdc774
2024-10-25 04:29:41 +04:00
Todd V. Jonker
eb65f38652 8073061: (fs) Files.copy(foo, bar, REPLACE_EXISTING) deletes bar even if foo is not readable
8317128: java/nio/file/Files/CopyAndMove.java failed with AccessDeniedException

Reviewed-by: phh
Backport-of: 36ac83904c
2024-10-25 04:29:40 +04:00
Matthias Baesken
42af4b4c92 8334166: Enable binary check
8332008: Enable issuestitle check

Reviewed-by: sgehwolf, shade
Backport-of: a4582a8957
2024-10-25 04:29:40 +04:00
Sergey Bylokhov
f88cd17388 6355567: AdobeMarkerSegment causes failure to read valid JPEG
Backport-of: c7c6d47a07
2024-10-25 04:29:39 +04:00
Andrew Lu
73acdff9d7 8332113: Update nsk.share.Log to be always verbose
Backport-of: 8464ce6db5
2024-10-25 04:29:39 +04:00
Andrew Lu
8f31addb21 8315965: Open source various AWT applet tests
Backport-of: 3b397c8552
2024-10-25 04:29:39 +04:00
Daniel Hu
eee5447893 8312049: runtime/logging/ClassLoadUnloadTest can be improved
Reviewed-by: phh
Backport-of: 4676b40f17
2024-10-25 04:29:38 +04:00
Todd V. Jonker
a92b0f9464 8242564: javadoc crashes:: class cast exception com.sun.tools.javac.code.Symtab$6
Backport-of: 64c3642c57
2024-10-25 04:29:38 +04:00
Aleksey Shipilev
d4ce8ac363 8324641: [IR Framework] Add Setup method to provide custom arguments and set fields
Reviewed-by: phh
Backport-of: 8d9ad97c29
2024-10-25 04:29:37 +04:00
Aleksey Shipilev
17c6c6f8a1 8336343: Add more known sysroot library locations for ALSA
Backport-of: 9e6e0a8f34
2024-10-25 04:29:37 +04:00
Zdenek Zambersky
4ff466e32d 8336928: GHA: Bundle artifacts removal broken
Backport-of: 98562166e4
2024-10-25 04:29:37 +04:00
Aleksey Shipilev
39f73f6ed6 8336342: Fix known X11 library locations in sysroot
Backport-of: ee365d75cc
2024-10-25 04:29:36 +04:00
Aleksey Shipilev
e83847dc0b 8337283: configure.log is truncated when build dir is on different filesystem
Backport-of: 7e925d727f
2024-10-25 04:29:36 +04:00
Aleksey Shipilev
5359361e4f 8327501: Common ForkJoinPool prevents class unloading in some cases
8328366: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501

Backport-of: 53c4714aab
2024-10-25 04:29:35 +04:00
Jiawei Tang
bf605a3c06 8330146: assert(!_thread->is_in_any_VTMS_transition()) failed
Backport-of: c4ff58b9bc
2024-10-25 04:29:35 +04:00
Andrew Lu
d9d01bb828 8328642: Convert applet test MouseDraggedOutCauseScrollingTest.html to main
Backport-of: ab183e437c
2024-10-25 04:29:35 +04:00
Matthias Baesken
70a1b5a7c7 8334618: ubsan: support setting additional ubsan check options
Backport-of: efb905e57a
2024-10-25 04:29:34 +04:00
Matthias Baesken
3cedf81d7c 8333639: ubsan: cppVtables.cpp:81:55: runtime error: index 14 out of bounds for type 'long int [1]'
Backport-of: 0199fee431
2024-10-25 04:29:34 +04:00
Andrew John Hughes
a855484c19 8322971: KEM.getInstance() should check if a 3rd-party security provider is signed
Backport-of: 9fd855ed47
2024-10-25 04:29:34 +04:00
Matthias Baesken
467d88fa15 8335237: ubsan: vtableStubs.hpp is_vtable_stub exclude from ubsan checks
Backport-of: 486aa11e74
2024-10-25 04:29:33 +04:00
Matthias Baesken
4a1cf96d5f 8333622: ubsan: relocInfo_x86.cpp:101:56: runtime error: pointer index expression with base (-1) overflowed
Backport-of: 33fd6ae986
2024-10-25 04:29:33 +04:00
Dan Lutker
54f4b9ba90 8321509: False positive in get_trampoline fast path causes crash
Backport-of: 73e3e0edeb
2024-10-25 04:29:33 +04:00
Matthias Baesken
b2784ebb1e 8331731: ubsan: relocInfo.cpp:155:30: runtime error: applying non-zero offset to null pointer
Reviewed-by: rschmelter
Backport-of: 664c993c41
2024-10-25 04:29:32 +04:00
Liang Mao
4e0590e9c1 8335493: check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs
Backport-of: cff9e246cc
2024-10-25 04:29:32 +04:00
Matthias Baesken
6ecb36096c 8331854: ubsan: copy.hpp:218:10: runtime error: addition of unsigned offset to 0x7fc2b4024518 overflowed to 0x7fc2b4024510
Backport-of: 2c1b311f81
2024-10-25 04:29:32 +04:00
Andrew Lu
a47ae0b1aa 8336301: test/jdk/java/nio/channels/AsyncCloseAndInterrupt.java leaves around a FIFO file upon test completion
Backport-of: ae9f318fc3
2024-10-25 04:29:31 +04:00
Andrew Lu
cc55bbb788 8324808: Manual printer tests have no Pass/Fail buttons, instructions close set 3
Backport-of: af7c6af0cc
2024-10-25 04:29:31 +04:00
Andrew Lu
9ab2afe77d 8317112: Add screenshot for Frame/DefaultSizeTest.java
Backport-of: a36eaf03af
2024-10-25 04:29:31 +04:00
Matthias Baesken
0c31374399 8335967: "text-decoration: none" does not work with "A" HTML tags
Backport-of: 374fca0fcb
2024-10-25 04:29:31 +04:00
luwang1103
a9532dfd5d 8324580: SIGFPE on THP initialization on kernels < 4.10
Reviewed-by: stuefe
Backport-of: a231706a06
2024-10-25 04:29:30 +04:00
Matthias Baesken
f06bb52a78 8332699: ubsan: jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]'
Backport-of: abbf45b57e
2024-10-25 04:29:30 +04:00
Matthias Baesken
760521172e 8333178: ubsan: jvmti_tools.cpp:149:16: runtime error: null pointer passed as argument 2, which is declared to never be null
Backport-of: 880c6b42ba
2024-10-25 04:29:30 +04:00
Aleksey Shipilev
717d705d0c 8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration
Backport-of: 2aeb12ec03
2024-10-25 04:29:29 +04:00
Matthias Baesken
31be1cf6b0 8333277: ubsan: mlib_ImageScanPoly.c:292:43: runtime error: division by zero
Backport-of: 57b6481449
2024-10-25 04:29:29 +04:00
Matthias Baesken
9942e004b6 8333363: ubsan: instanceKlass.cpp: runtime error: member call on null pointer of type 'struct AnnotationArray'
Backport-of: 46b817b749
2024-10-25 04:29:29 +04:00
Andrew Lu
579113aeef 8291809: Convert compiler/c2/cr7200264/TestSSE2IntVect.java to IR verification test
Backport-of: 4da28b40f0
2024-10-25 04:29:28 +04:00
Andrew Lu
6ecacf2ca0 8325037: x86: enable and fix hotspot/jtreg/compiler/vectorization/TestRoundVectFloat.java
Backport-of: ed068469f3
2024-10-25 04:29:28 +04:00
Andrew Lu
85a0663d45 8335134: Test com/sun/jdi/BreakpointOnClassPrepare.java timeout
Backport-of: 4e8cbf884a
2024-10-25 04:29:28 +04:00
Xiaolong Peng
8e7498e315 8335904: Fix invalid comment in ShenandoahLock
Backport-of: bb1f8a1698
2024-10-25 04:29:28 +04:00
Varada M
bee6825d53 8308286: Fix clang warnings in linux code
Backport-of: 98a954eebc
2024-10-25 04:29:27 +04:00
Varada M
e05d85ea65 8317696: Fix compilation with clang-16
Backport-of: e4329a823b
2024-10-25 04:29:27 +04:00
SendaoYan
1cf79e50d7 8337038: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java shoud set as /native
Reviewed-by: mbaesken
2024-10-25 04:29:27 +04:00
luwang1103
3c785c734d 8335283: Build failure due to 'no_sanitize' attribute directive ignored
Reviewed-by: shade
Backport-of: 53242cdf9e
2024-10-25 04:29:26 +04:00
Matthias Baesken
9081f55bb8 8332903: ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool'
Backport-of: 113a2c028d
2024-10-25 04:29:26 +04:00
SendaoYan
142eb9ccff 8269657: Test java/nio/channels/DatagramChannel/Loopback.java failed: Unexpected message
Backport-of: c798316bc4
2024-10-25 04:29:26 +04:00
Matthias Baesken
28be8a4264 8326332: Unclosed inline tags cause misalignment in summary tables
Reviewed-by: rschmelter
Backport-of: a6dc4bc2b8
2024-10-25 04:29:26 +04:00
Matthias Baesken
e58503f505 8333361: ubsan,test : libHeapMonitorTest.cpp:518:9: runtime error: null pointer passed as argument 2, which is declared to never be null
Backport-of: ed149062d0
2024-10-25 04:29:25 +04:00
Aleksey Shipilev
5fa606a337 8334769: Shenandoah: Move CodeCache_lock close to its use in ShenandoahConcurrentNMethodIterator
Backport-of: 4ebb77120a
2024-10-25 04:29:25 +04:00
john spurling
05f26e7084 8310628: GcInfoBuilder.c missing JNI Exception checks
Backport-of: a9c0a0f6b9
2024-10-25 04:29:25 +04:00
Matthias Baesken
b2b1541ab7 8316131: runtime/cds/appcds/TestParallelGCWithCDS.java fails with JNI error
Reviewed-by: lucy
Backport-of: 31f70391e5
2024-10-25 04:29:24 +04:00
SendaoYan
3dd3ae9599 8334339: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java fails on alinux3
Reviewed-by: phh
Backport-of: 7baddc202a
2024-10-25 04:29:24 +04:00
Aleksey Shipilev
ffad939b82 8325542: CTW: Runner can produce negative StressSeed
Backport-of: bb675afae6
2024-10-25 04:29:23 +04:00
luwang1103
3d770d000a 8334239: Introduce macro for ubsan method/function exclusions
Backport-of: ff30240926
2024-10-25 04:29:23 +04:00
Xiaolong Peng
69da9d666c 8331411: Shenandoah: Reconsider spinning duration in ShenandoahLock
Reviewed-by: shade
Backport-of: 817edcb697
2024-10-25 04:29:23 +04:00
Liang Mao
d05b172ec7 8332717: ZGC: Division by zero in heuristics
Backport-of: 2d4185f4f1
2024-10-25 04:29:23 +04:00
Thomas Stuefe
ca6a1bba75 8314163: os::print_hex_dump prints incorrectly for big endian platforms and unit sizes larger than 1
Backport-of: 6a15860b12
2024-10-25 04:29:22 +04:00
Thomas Stuefe
a22123d83d 8299790: os::print_hex_dump is racy
Backport-of: 8f28809aa8
2024-10-25 04:29:22 +04:00
Xiaolong Peng
a705a698cf 8331405: Shenandoah: Optimize ShenandoahLock with TTAS
Reviewed-by: shade
Backport-of: c4fe5bf90c
2024-10-25 04:29:22 +04:00
Neethu Prasad
0488525b43 8312200: Fix Parse::catch_call_exceptions memory leak
Backport-of: d33e8e6f93
2024-10-25 04:29:21 +04:00
Matthias Baesken
c26c0e1537 8315422: getSoTimeout() would be in try block in SSLSocketImpl
Backport-of: 2264667bba
2024-10-25 04:29:21 +04:00
luwang1103
884bfd65d8 8332818: ubsan: archiveHeapLoader.cpp:70:27: runtime error: applying non-zero offset 18446744073707454464 to null pointer
Backport-of: 6861766b63
2024-10-25 04:29:21 +04:00
Matthias Baesken
10e07f11c9 8334418: Update IANA Language Subtag Registry to Version 2024-06-14
Backport-of: 861aefcafa
2024-10-25 04:29:20 +04:00
Matthias Baesken
9a8ce1bad8 8334123: log the opening of Type 1 fonts
Backport-of: f8c657f671
2024-10-25 04:29:20 +04:00
luwang1103
749b5c2518 8333887: ubsan: unsafe.cpp:247:13: runtime error: store to null pointer of type 'volatile int'
Backport-of: 0d3a3771c3
2024-10-25 04:29:20 +04:00
Matthias Baesken
9f7f8136c4 8327424: ProblemList serviceability/sa/TestJmapCore.java on all platforms with ZGC
Backport-of: 0a6e64e2f5
2024-10-25 04:29:20 +04:00
Andrew Lu
e80e27fafb 8328273: sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java failed with java.rmi.server.ExportException: Port already in use
Backport-of: a85c8493ae
2024-10-25 04:29:19 +04:00
SendaoYan
a9065e0253 8322766: Micro bench SSLHandshake should use default algorithms
Backport-of: 06dd735342
2024-10-25 04:29:19 +04:00
Matthias Baesken
bf0a704ba7 8332424: Update IANA Language Subtag Registry to Version 2024-05-16
Backport-of: 6dac8d6452
2024-10-25 04:29:19 +04:00
Neethu Prasad
0c6b751dbf 8315505: CompileTask timestamp printed can overflow
Backport-of: ad7a8e86e0
2024-10-25 04:29:18 +04:00
Matthias Baesken
de25c132f2 8326129: Java Record Pattern Match leads to infinite loop
Backport-of: 93a2e773a5
2024-10-25 04:29:18 +04:00
Matthias Baesken
6c68e52879 8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle
Backport-of: 47624f6fc6
2024-10-25 04:29:18 +04:00
Andrew John Hughes
8d36a8bb6a 8335775: Remove extraneous 's' in comment of rawmonitor.cpp test file
Backport-of: ff49f677ee
2024-10-25 04:29:17 +04:00
Liming Liu
2fecfadfc3 8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly
8324781: runtime/Thread/TestAlwaysPreTouchStacks.java failed with Expected a higher ratio between stack committed and reserved
8325218: gc/parallel/TestAlwaysPreTouchBehavior.java fails

Reviewed-by: shade
Backport-of: a65a89522d
2024-10-25 04:29:17 +04:00
Andrew Lu
f8a0ca413e 8331518: Tests should not use the "Classpath" exception form of the legal header
Reviewed-by: mbaesken
Backport-of: d3bf52628e
2024-10-25 04:29:17 +04:00
Andrew Lu
f5c54c53cf 8328158: Convert java/awt/Choice/NonFocusablePopupMenuTest to automatic main test
8328269: NonFocusablePopupMenuTest.java should be marked as headful

Reviewed-by: mbaesken
Backport-of: b8dfeafdfd
2024-10-25 04:29:16 +04:00
Matthias Baesken
8dbbd2592b 8317446: ProblemList gc/arguments/TestNewSizeFlags.java on macosx-aarch64 in Xcomp
8317449: ProblemList serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java on several platforms
8334592: ProblemList serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java in jdk21 on all platforms

Reviewed-by: lucy
Backport-of: 8ff10a0d35
2024-10-25 04:29:16 +04:00
Qizheng Xing
93e13ab58c 8335536: Fix assertion failure in IdealGraphPrinter when append is true
Backport-of: 6db4c6a772
2024-10-25 04:29:16 +04:00
Andrew Lu
31419951a1 8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected
Backport-of: 7c1fad4fb6
2024-10-25 04:29:15 +04:00
Christoph Langer
59cf78f08e 8211854: [aix] java/net/ServerSocket/AcceptInheritHandle.java fails: read times out
Backport-of: cb3c45a698
2024-10-25 04:29:15 +04:00
Andrew Lu
bf3942633d 8334297: (so) java/nio/channels/SocketChannel/OpenLeak.java should not depend on SecurityManager
Backport-of: 50bed6c67b
2024-10-25 04:29:14 +04:00
Andrew Lu
960771ddee 8327401: Some jtreg tests fail on Wayland without any tracking bug
8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04

Backport-of: 286cc163fd
2024-10-25 04:29:14 +04:00
Matthias Baesken
17c1fd2572 8316361: C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10
Backport-of: eeb63cd0fa
2024-10-25 04:29:14 +04:00
Andrew Lu
f3349500f3 8333804: java/net/httpclient/ForbiddenHeadTest.java threw an exception with 0 failures
Backport-of: ec1664e8c9
2024-10-25 04:29:14 +04:00
Andrew Lu
6c87d32486 8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java
Backport-of: c6f611cfe0
2024-10-25 04:29:13 +04:00
Matthias Baesken
69cbde141a 8334653: ISO 4217 Amendment 177 Update
Backport-of: 86b0cf259f
2024-10-25 04:29:13 +04:00
SendaoYan
06b66833a2 8333353: Delete extra empty line in CodeBlob.java
Backport-of: 91101f0d4f
2024-10-25 04:29:12 +04:00
SendaoYan
75947a84f7 8334600: TEST java/net/MulticastSocket/IPMulticastIF.java fails on linux-aarch64
Backport-of: f23295ec1d
2024-10-25 04:29:12 +04:00
Matthias Baesken
50862b84ec 6967482: TAB-key does not work in JTables after selecting details-view in JFileChooser
8166352: FilePane.createDetailsView() removes JTable TAB, SHIFT-TAB functionality

Backport-of: 711e723819
2024-10-25 04:29:11 +04:00
Matthias Baesken
bc4ef137dc 8332524: Instead of printing "TLSv1.3," it is showing "TLS13"
Backport-of: e681b4e9b3
2024-10-25 04:29:10 +04:00
Andrew Lu
f99b03b7ca 8333270: HandlersOnComplexResetUpdate and HandlersOnComplexUpdate tests fail with "Unexpected reference" if timeoutFactor is less than 1/3
Backport-of: d02cb742f7
2024-10-25 04:29:10 +04:00
Andrew Lu
d1e495702c 8280988: [XWayland] Click on title to request focus test failures
Backport-of: f6cdcc6f65
2024-10-25 04:29:09 +04:00
Andrew Lu
1e93ec60d4 8320675: PrinterJob/SecurityDialogTest.java hangs
Backport-of: 9f5ad43358
2024-10-25 04:29:09 +04:00
Andrew Lu
2b69af22bd 8328238: Convert few closed manual applet tests to main
Backport-of: 68170ae222
2024-10-25 04:29:09 +04:00
Andrew Lu
92381fd372 8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure
Backport-of: 01125fa21b
2024-10-25 04:29:08 +04:00
Gui Cao
fd92df9d51 8333652: RISC-V: compiler/vectorapi/VectorGatherMaskFoldingTest.java fails when using RVV
Backport-of: ce5727df44
2024-10-25 04:29:07 +04:00
Matthias Baesken
ce74e58ca8 8330063: Upgrade jQuery to 3.7.1
Reviewed-by: mdoerr
Backport-of: 46a2ce4eb4
2024-10-25 04:29:07 +04:00
Andrew Lu
a4b6eb6874 8316285: Opensource JButton manual tests
Backport-of: 9f5d2b947f
2024-10-25 04:29:06 +04:00
Andrew Lu
4ab615f5c0 8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
Backport-of: 6f7ddbec7d
2024-10-25 04:29:06 +04:00
Andrew Lu
ef419d15c6 8280990: [XWayland] XTest emulated mouse click does not bring window to front
Backport-of: d2d78ad18e
2024-10-25 04:29:05 +04:00
Sergey Bylokhov
16c3e9a749 8327007: javax/swing/JSpinner/8008657/bug8008657.java fails
Backport-of: b7540df6a4
2024-10-25 04:29:05 +04:00
Aleksey Shipilev
65e880e700 8334421: assert(!oldbox->is_unbalanced()) failed: this should not be called for unbalanced region
Backport-of: 9c89f0861c
2024-10-25 04:29:05 +04:00
Aleksey Shipilev
8814af8cf3 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)
8320212: Disable GCC stringop-overflow warning for affected files
8326717: Disable stringop-overflow in shenandoahLock.cpp

Reviewed-by: mdoerr
Backport-of: c0507af5a4
2024-10-25 04:29:05 +04:00
lingjun.cg
0f15c87995 8333462: Performance regression of new DecimalFormat() when compare to jdk11
Backport-of: d826127970
2024-10-25 04:29:04 +04:00
Christoph Langer
4fd24013c0 8211847: [aix] java/lang/ProcessHandle/InfoTest.java fails: "reported cputime less than expected"
Backport-of: f5213671f7
2024-10-25 04:29:04 +04:00
Xiaolong Peng
09b3eada66 8170817: G1: Returning MinTLABSize from unsafe_max_tlab_alloc causes TLAB flapping
Backport-of: 4c79e7d59c
2024-10-25 04:29:04 +04:00
Xiaolong Peng
9b4b125601 8319406: x86: Shorter movptr(reg, imm) for 32-bit immediates
Backport-of: b120a05b22
2024-10-25 04:29:03 +04:00
Thomas Stuefe
7231ee7a51 8330027: Identity hashes of archived objects must be based on a reproducible random seed
Reviewed-by: mdoerr
Backport-of: 9f43ce5a72
2024-10-25 04:29:03 +04:00
Xiaolong Peng
02a3de904f 8323584: AArch64: Unnecessary ResourceMark in NativeCall::set_destination_mt_safe
Backport-of: 34f85ee94e
2024-10-25 04:29:03 +04:00
Liang Mao
bdf9c6c65e 8325587: Shenandoah: ShenandoahLock should allow blocking in VM
Backport-of: 492e8bf563
2024-10-25 04:29:02 +04:00
Martin Doerr
0c25c36393 8333099: Missing check for is_LoadVector in StoreNode::Identity
Backport-of: 2ea365c945
2024-10-25 04:29:02 +04:00
Martin Doerr
b92a636776 8334867: Add back assertion from JDK-8325494
Reviewed-by: shade, chagedorn
2024-10-25 04:29:02 +04:00
Martin Doerr
25151087a6 8328896: Fontmetrics for large Fonts has zero width
Backport-of: 25871af36b
2024-10-25 04:29:01 +04:00
Martin Doerr
108f9b1d79 8051959: Add thread and timestamp options to java.security.debug system property
Reviewed-by: mbaesken
Backport-of: 3b582dff84
2024-10-25 04:29:01 +04:00
Martin Doerr
1ab07d9ff7 8321176: [Screencast] make a second attempt on screencast failure
Backport-of: 92fd490f22
2024-10-25 04:29:01 +04:00
Amos Shi
149093fe71 8315969: compiler/rangechecks/TestRangeCheckHoistingScaledIV.java: make flagless
Reviewed-by: mdoerr
Backport-of: 9598ff8386
2024-10-25 04:29:00 +04:00
Amos Shi
2ea09316e8 8320608: Many jtreg printing tests are missing the @printer keyword
Backport-of: 76fea80707
2024-10-25 04:28:59 +04:00
Jaroslav Bachorik
9dce18b50f 8329103: assert(!thread->in_asgct()) failed during multi-mode profiling
Reviewed-by: jbechberger
Backport-of: 6b1b0e9d45
2024-10-25 04:28:59 +04:00
Elif Aslan
a0375cfe78 8330849: Add test to verify memory usage with recursive locking
Backport-of: 7b2560b490
2024-10-25 04:28:59 +04:00
SendaoYan
6eb1d34f20 8332248: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java failed with RuntimeException
Backport-of: 0bb5ae6451
2024-10-25 04:28:58 +04:00
Andrew Lu
229df35c9e 8317372: Refactor some NumberFormat tests to use JUnit
Reviewed-by: mdoerr
Backport-of: 9622de2aa8
2024-10-25 04:28:58 +04:00
Andrew Lu
1198f22bda 8222884: ConcurrentClassDescLookup.java times out intermittently
Backport-of: bd046d9b9e
2024-10-25 04:28:58 +04:00
Andrew Lu
cc0e89f614 8328647: TestGarbageCollectorMXBean.java fails with C1-only and -Xcomp
Backport-of: bdd9438b45
2024-10-25 04:28:57 +04:00
Andrew Lu
ccbcd8b97b 8322062: com/sun/jdi/JdwpAllowTest.java does not performs negative testing with prefix length
Backport-of: 459957f30a
2024-10-25 04:28:57 +04:00
Andrew Lu
b36aae659c 8328697: SubMenuShowTest and SwallowKeyEvents tests stabilization
Backport-of: 638708cad8
2024-10-25 04:28:56 +04:00
Aleksey Shipilev
e8789abf44 8310906: Fix -Wconversion warnings in runtime, oops and some code header files.
Backport-of: 9f46fc2842
2024-10-25 04:28:55 +04:00
Martin Doerr
e9ca2a372a 8325520: Vector loads and stores with indices and masks incorrectly compiled
Backport-of: 0c934ff4e2
2024-10-25 04:28:55 +04:00
Martin Doerr
825acb0dc4 8325494: C2: Broken graph after not skipping CastII node anymore for Assertion Predicates after JDK-8309902
Reviewed-by: mbaesken, shade
Backport-of: 9fd78022b1
2024-10-25 04:28:54 +04:00
Martin Doerr
7a795aca67 8332920: C2: Partial Peeling is wrongly applied for CmpU with negative limit
Reviewed-by: chagedorn
Backport-of: ef101f1bf2
2024-10-25 04:28:54 +04:00
Martin Doerr
6a91eba26c 8320655: awt screencast robot spin and sync issues with native libpipewire api
Backport-of: c17b8cfafe
2024-10-25 04:28:53 +04:00
Martin Doerr
e9161d3aea 8331011: [XWayland] TokenStorage fails under Security Manager
Backport-of: 9912abf586
2024-10-25 04:28:53 +04:00
SendaoYan
b5ce63aae8 8334333: MissingResourceCauseTestRun.java fails if run by root
Backport-of: de8ee97718
2024-10-25 04:28:53 +04:00
Aleksey Shipilev
1d061781b3 8319197: Exclude hb-subset and hb-style from compilation
Backport-of: e1cae72036
2024-10-25 04:28:52 +04:00
Andrew Lu
3784b714e7 8307778: com/sun/jdi/cds tests fail with jtreg's Virtual test thread factory
Backport-of: fe8a2aff31
2024-10-25 04:28:52 +04:00
Andrew Lu
5fdfb08963 8299487: Test java/net/httpclient/whitebox/SSLTubeTestDriver.java timed out
Backport-of: 81083a0e10
2024-10-25 04:28:51 +04:00
Andrew Lu
d3795f0b50 8316306: Open source and convert manual Swing test
Backport-of: d3e8218386
2024-10-25 04:28:51 +04:00
Neethu Prasad
a497c58131 8325754: Dead AbstractQueuedSynchronizer$ConditionNodes survive minor garbage collections
Backport-of: 60cbf29250
2024-10-25 04:28:50 +04:00
Neethu Prasad
2659dd99b3 8321220: JFR: RecordedClass reports incorrect modifiers
Backport-of: d5f59cf0a8
2024-10-25 04:28:50 +04:00
Neethu Prasad
d51c15b24c 8317360: Missing null checks in JfrCheckpointManager and JfrStringPool initialization routines
Backport-of: cf4ede0e54
2024-10-25 04:28:49 +04:00
Andrew Lu
5823b6d2c6 8316211: Open source several manual applet tests
Backport-of: 2f311d59dc
2024-10-25 04:28:49 +04:00
Andrew Lu
ffd93e21ca 8283223: gc/stringdedup/TestStringDeduplicationFullGC.java#Parallel failed with "RuntimeException: String verification failed"
Backport-of: 9d441e3e56
2024-10-25 04:28:48 +04:00
Amos Shi
092d479ff4 7022325: TEST_BUG: test/java/util/zip/ZipFile/ReadLongZipFileName.java leaks files if it fails
Backport-of: 4785461f61
2024-10-25 04:28:48 +04:00
Amos Shi
890c1fb4da 8333398: Uncomment the commented test in test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarAPI.java
Backport-of: d230b30353
2024-10-25 04:28:48 +04:00
Amos Shi
f50f7fb922 8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows
Backport-of: 11a3673d42
2024-10-25 04:28:47 +04:00
Amos Shi
0aaefe8c2b 8316389: Open source few AWT applet tests
Backport-of: 65227a3c64
2024-10-25 04:28:47 +04:00
Amos Shi
9545f17b35 8313674: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java should test for more block devices
Backport-of: e91492ab43
2024-10-25 04:28:46 +04:00
Amos Shi
0b3f8c7990 8315576: compiler/codecache/CodeCacheFullCountTest.java fails after JDK-8314837
Reviewed-by: mdoerr
Backport-of: 343cc0ce2b
2024-10-25 04:28:46 +04:00
Amos Shi
b70b1df8c6 8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen"
8312140: jdk/jshell tests failed with JDI socket timeouts

Backport-of: 14193a049e
2024-10-25 04:28:45 +04:00
Amos Shi
2cbe185ba2 8325384: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread
Backport-of: da9c23ace9
2024-10-25 04:28:45 +04:00
Amos Shi
5f54d970ba 8315024: Vector API FP reduction tests should not test for exact equality
Backport-of: e6f23a90d4
2024-10-25 04:28:45 +04:00
Amos Shi
0b64f0f68f 8321933: TestCDSVMCrash.java spawns two processes
Backport-of: 1fde8b868a
2024-10-25 04:28:44 +04:00
Amos Shi
3fee19b152 8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use"
Backport-of: 6a35311468
2024-10-25 04:28:44 +04:00
Elif Aslan
4995f3ae2e 8314515: java/util/concurrent/SynchronousQueue/Fairness.java failed with "Error: fair=false i=8 j=0"
Backport-of: 35e9662767
2024-10-25 04:28:44 +04:00
Thomas Fitzsimmons
9a74b415ac 8332174: Remove 2 (unpaired) RLO Unicode characters in ff_Adlm.xml
Reviewed-by: andrew
2024-10-25 04:28:43 +04:00
Sergey Bylokhov
e915462bf1 8327840: Automate javax/swing/border/Test4129681.java
Backport-of: 177b8a241c
2024-10-25 04:28:43 +04:00
Elif Aslan
d400446405 8318605: Enable parallelism in vmTestbase/nsk/stress/stack tests
Backport-of: d9aa1deac8
2024-10-25 04:28:43 +04:00
Aleksey Shipilev
217f4ea794 8309685: Fix -Wconversion warnings in assembler and register code
Reviewed-by: mdoerr
Backport-of: 230bcb769a
2024-10-25 04:28:42 +04:00
SendaoYan
0af422fe72 8334332: TestIOException.java fails if run by root
Backport-of: 472b935b44
2024-10-25 04:28:42 +04:00
Andrew Lu
c4728b265e 8332936: Test vmTestbase/metaspace/gc/watermark_70_80/TestDescription.java fails with no GC's recorded
Backport-of: 5ed0d52c84
2024-10-25 04:28:41 +04:00
Andrew Lu
f9ce89e9f3 8331063: Some HttpClient tests don't report leaks
Backport-of: e4ed7ced75
2024-10-25 04:28:41 +04:00
Andrew Lu
a518001443 8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI
Introduce tolerance factor: count > loaderCount.size() / 2
Fail the test only if the number of snapshots with more than
2 file loader threads is greater than half of the number
of valid snapshots.

Backport-of: ffbdfffbc7
2024-10-25 04:28:41 +04:00
Martin Doerr
695db97861 8325083: jdk/incubator/vector/Double512VectorTests.java crashes in Assembler::vex_prefix_and_encode
Backport-of: 01060ad4ab
2024-10-25 04:28:40 +04:00
Martin Doerr
398329a4b6 8330133: libj2pkcs11.so crashes on some pkcs#11 v3.0 libraries
Backport-of: d1c6cd104e
2024-10-25 04:28:40 +04:00
Martin Doerr
b2221facb3 8330819: C2 SuperWord: bad dominance after pre-loop limit adjustment with base that has CastLL after pre-loop
Reviewed-by: mbaesken
Backport-of: e681e9b4d7
2024-10-25 04:28:39 +04:00
Martin Doerr
fcc6486961 8309621: [XWayland][Screencast] screen capture failure with sun.java2d.uiScale other than 1
Backport-of: 387896fb34
2024-10-25 04:28:39 +04:00
Andrew Lu
a75ac27a20 8328560: java/awt/event/MouseEvent/ClickDuringKeypress/ClickDuringKeypress.java imports Applet
Backport-of: e81374e050
2024-10-25 04:28:38 +04:00
Andrew Lu
ef1460bdc0 8320079: The ArabicBox.java test has no control buttons
Backport-of: 792fc9d114
2024-10-25 04:28:38 +04:00
Xiaolong Peng
bac030ff21 8321025: Enable Neoverse N1 optimizations for Neoverse V2
Reviewed-by: shade
Backport-of: c9d15f7d5e
2024-10-25 04:28:37 +04:00
Martin Doerr
f49a1bfcf5 8313697: [XWayland][Screencast] consequent getPixelColor calls are slow
8310334: [XWayland][Screencast] screen capture error message in debug

Backport-of: 2f04bc5f93
2024-10-25 04:28:36 +04:00
Martin Doerr
b598d8999a 8301686: TLS 1.3 handshake fails if server_name doesn't match resuming session
Backport-of: 0259da9283
2024-10-25 04:28:36 +04:00
Martin Doerr
5a8146808d 8308660: C2 compilation hits 'node must be dead' assert
Reviewed-by: mbaesken
Backport-of: 053ff76e14
2024-10-25 04:28:35 +04:00
Martin Doerr
f9699b575e 8322743: C2: prevent lock region elimination in OSR compilation
Backport-of: 742c776a92
2024-10-25 04:28:35 +04:00
Aleksey Shipilev
833f53bb34 8329088: Stack chunk thawing races with concurrent GC stack iteration
Backport-of: 8bcd2e61ae
2024-10-25 04:28:34 +04:00
Andrew Lu
3f95bd363b 8331142: Add test for number of loader threads in BasicDirectoryModel
8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only

Reviewed-by: mdoerr
Backport-of: b2fb5ea13b
2024-10-25 04:28:34 +04:00
Andrew Lu
a8185e0e68 8328115: Convert java/awt/font/TextLayout/TestJustification.html applet test to main
Backport-of: 0204aacb03
2024-10-25 04:28:33 +04:00
Andrew Lu
d6aa29223f 8327137: Add test for ConcurrentModificationException in BasicDirectoryModel
Backport-of: 9731b1c8b0
2024-10-25 04:28:33 +04:00
Andrew Lu
f2642d92b5 8328011: Convert java/awt/Frame/GetBoundsResizeTest/GetBoundsResizeTest.java applet test to main
Backport-of: df909e2f9c
2024-10-25 04:28:32 +04:00
Andrew Lu
d998f885e9 8327650: Test java/nio/channels/DatagramChannel/StressNativeSignal.java timed out
Backport-of: 7acfba288f
2024-10-25 04:28:32 +04:00
Andrew Lu
59ea912f39 8317635: Improve GetClassFields test to verify correctness of field order
Backport-of: 599560a832
2024-10-25 04:28:31 +04:00
Andrew Lu
5a3c1351df 8318071: IgnoreUnrecognizedVMOptions flag still causes failure in ArchiveHeapTestClass
Backport-of: d888b26783
2024-10-25 04:28:30 +04:00
Martin Doerr
c69c7a4a23 8323274: C2: array load may float above range check
Backport-of: 4406915ebc
2024-10-25 04:28:29 +04:00
Matthias Baesken
6f13a3bb42 8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null
Backport-of: be1d374bc5
2024-10-25 04:28:29 +04:00
Andrew Lu
1419de81e3 8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string
Reviewed-by: mdoerr
Backport-of: 86b27b784e
2024-10-25 04:28:28 +04:00
Andrew Lu
3524c9c171 8269428: java/util/concurrent/ConcurrentHashMap/ToArray.java timed out
Backport-of: 570ad67204
2024-10-25 04:28:28 +04:00
Sergey Bylokhov
88b08ef6c9 8327787: Convert javax/swing/border/Test4129681.java applet test to main
Backport-of: ad0f329493
2024-10-25 04:28:27 +04:00
Martin Doerr
dad622e07a 8331575: C2: crash when ConvL2I is split thru phi at LongCountedLoop
Backport-of: f398cd2250
2024-10-25 04:28:26 +04:00
Martin Doerr
ff10d2cd11 8322996: BoxLockNode creation fails with assert(reg < CHUNK_SIZE) failed: sanity
Backport-of: 69586e7bdf
2024-10-25 04:28:25 +04:00
Martin Doerr
85bb08b062 8317299: safepoint scalarization doesn't keep track of the depth of the JVM state
Reviewed-by: phh
Backport-of: 6d911f68a3
2024-10-25 04:28:24 +04:00
Martin Doerr
6d9b2e4c39 8323972: C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed
Backport-of: e1b0af29e4
2024-10-25 04:28:23 +04:00
Martin Doerr
cd92270ffa 8321278: C2: Partial peeling fails with assert "last_peel <- first_not_peeled"
Backport-of: af15c68f3c
2024-10-25 04:28:23 +04:00
Martin Doerr
5595e0eb1a 8319793: C2 compilation fails with "Bad graph detected in build_loop_late" after JDK-8279888
Reviewed-by: mbaesken
Backport-of: b922f8d459
2024-10-25 04:28:23 +04:00
Liang Mao
cb9864ee44 8332935: Crash: assert(*lastPtr != 0) failed: Mismatched JNINativeInterface tables, check for new entries
Backport-of: 8338946a6d
2024-10-25 04:28:22 +04:00
Matthias Baesken
45e13bffcc 8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1
Backport-of: 8ffc35d117
2024-10-25 04:28:22 +04:00
Christoph Langer
6ac6971623 8330814: Cleanups for KeepAliveCache tests
Backport-of: 1e173f9d17e4a42e758217ac98aec4356acac0fa
2024-10-25 04:28:21 +04:00
Dmitry Chuyko
0bc3813d60 8323122: AArch64: Increase itable stub size estimate
Reviewed-by: aph
Backport-of: 36f4b34f19
2024-10-25 04:28:21 +04:00
Martin Doerr
e531c549b3 8316756: C2 EA fails with "missing memory path" when encountering unsafe_arraycopy stub call
Backport-of: b89172149d
2024-10-25 04:28:20 +04:00
Martin Doerr
62b2301799 8324174: assert(m->is_entered(current)) failed: invariant
Backport-of: 5b9b176c67
2024-10-25 04:28:19 +04:00
Martin Doerr
548299619f 8332905: C2 SuperWord: bad AD file, with RotateRightV and first operand not a pack
Backport-of: 67d6f3ca9e
2024-10-25 04:28:19 +04:00
Martin Doerr
d862ea71b2 8327423: C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
Backport-of: fadc4b197e
2024-10-25 04:28:18 +04:00
Martin Doerr
6a08c32941 8324969: C2: prevent elimination of unbalanced coarsened locking regions
Backport-of: b938a5c9ed
2024-10-25 04:28:17 +04:00
Martin Doerr
3e789ffe8d 8333366: C2: CmpU3Nodes are not pushed back to worklist in PhaseCCP leading to non-fixpoint assertion failure
Reviewed-by: shade
Backport-of: 7c83d7ab53
2024-10-25 04:28:17 +04:00
Martin Doerr
4584942af6 8332959: C2: ZGC fails with 'Incorrect load shift' when invoking Object.clone() reflectively on an array
Reviewed-by: shade
Backport-of: e0ac8249f5
2024-10-25 04:28:16 +04:00
Martin Doerr
c3d1ebc72b 8323682: C2: guard check is not generated in Arrays.copyOfRange intrinsic when allocation is eliminated by EA
Backport-of: 92f5c0be8e
2024-10-25 04:28:16 +04:00
Martin Doerr
c0196db04d 8331863: DUIterator_Fast used before it is constructed
Backport-of: 466a21d864
2024-10-25 04:28:15 +04:00
Martin Doerr
e9a584ea60 8329258: TailCall should not use frame pointer register for jump target
Backport-of: cccc95358d
2024-10-25 04:28:15 +04:00
Martin Doerr
9f10f32afa 8324983: Race in CompileBroker::possibly_add_compiler_threads
Backport-of: 1993652653
2024-10-25 04:28:15 +04:00
Martin Doerr
e3df281f37 8331421: ubsan: vmreg.cpp checking error member call on misaligned address
Reviewed-by: mbaesken
Backport-of: beebce044d
2024-10-25 04:28:14 +04:00
Martin Balao
85249f35a0 8330611: AES-CTR vector intrinsic may read out of bounds (x86_64, AVX-512)
Backport-of: 8a8d928898
2024-10-25 04:28:14 +04:00
Xiaolong Peng
0936b148da 8320379: C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64
Reviewed-by: aph
Backport-of: 3ccd02f142
2024-10-25 04:28:14 +04:00
Neethu Prasad
429e13f32f 8333716: Shenandoah: Check for disarmed method before taking the nmethod lock
Reviewed-by: shade
Backport-of: 18e7d7b5e7
2024-10-25 04:28:13 +04:00
Dmitry Chuyko
922c817dfa 8307352: AARCH64: Improve itable_stub
Backport-of: c664f1ca66
2024-10-25 04:28:13 +04:00
Aleksey Shipilev
4d7b0d2dd1 8325469: Freeze/Thaw code can crash in the presence of OSR frames
Reviewed-by: phh
Backport-of: fd331ff173
2024-10-25 04:28:12 +04:00
Andrew Lu
a4bc23b572 8280392: java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java failed with "RuntimeException: Test failed."
Backport-of: 3f2e849c54
2024-10-25 04:28:12 +04:00
Andrew Lu
6e47006c59 8316240: Open source several add/remove MenuBar manual tests
Backport-of: 3809d69ac4
2024-10-25 04:28:11 +04:00
Sergey Bylokhov
659bec6921 8329510: Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java
Backport-of: 747582484c
2024-10-25 04:28:11 +04:00
Sergey Bylokhov
a35bf43919 8307193: Several Swing jtreg tests use class.forName on L&F classes
Backport-of: 9d332e6591
2024-10-25 04:28:11 +04:00
Martin Doerr
95c0806f0c 8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer
Backport-of: 23a72a1f2f
2024-10-25 04:28:10 +04:00
Soumadipta Roy
301d30ffd1 8324755: Enable parallelism in vmTestbase/gc/gctests/LargeObjects tests
Backport-of: 003e86fe38
2024-10-25 04:28:10 +04:00
Matthias Baesken
b0f2fa74d9 8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int'
Backport-of: 9b64ece514
2024-10-25 04:28:10 +04:00
Matthias Baesken
747de774c0 8332894: ubsan: vmError.cpp:2090:26: runtime error: division by zero
Backport-of: 1b8dea4a92
2024-10-25 04:28:10 +04:00
SendaoYan
4359b76b18 8333477: Delete extra empty spaces in Makefiles
Backport-of: d130d2f4f4
2024-10-25 04:28:09 +04:00
Matthias Baesken
7bd5b84ec1 8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null
Backport-of: e529101ea3
2024-10-25 04:28:09 +04:00
Matthias Baesken
9d533fc25b 8332675: test/hotspot/jtreg/gc/testlibrary/Helpers.java compileClass javadoc does not match after 8321812
Backport-of: 1ea76d338b
2024-10-25 04:28:09 +04:00
Matthias Baesken
63b77826ae 8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array'
Backport-of: e19a421c30
2024-10-25 04:28:08 +04:00
Matthias Baesken
433c682ec9 8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null
Backport-of: 16dba04e8d
2024-10-25 04:28:08 +04:00
Aleksey Shipilev
a9a27304d4 8287325: AArch64: fix virtual threads with -XX:UseBranchProtection=pac-ret
Backport-of: 481cfc7985
2024-10-25 04:28:08 +04:00
Richard Reingruber
5f7d007374 8327990: [macosx-aarch64] Various tests fail with -XX:+AssertWXAtThreadSync
Reviewed-by: aph
Backport-of: 0c572566963be7f941228deda2691ce2fc456c15
2024-10-25 04:28:07 +04:00
Richard Reingruber
eb89c96051 8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin
Backport-of: 1188d404bc4879fc388209cd32e6c4e46178e200
2024-10-25 04:28:07 +04:00
Sergey Bylokhov
792a9df148 8313983: jmod create --target-platform should replace existing ModuleTarget attribute
Backport-of: c2e01eba5a
2024-10-25 04:28:07 +04:00
Xiaolong Peng
3a1132ac2e 8331931: JFR: Avoid loading regex classes during startup
Backport-of: 242446b07f
2024-10-25 04:28:06 +04:00
Aleksey Shipilev
d34134e1aa 8329665: fatal error: memory leak: allocating without ResourceMark
Backport-of: e073d5b374
2024-10-25 04:28:06 +04:00
Martin Doerr
5693052b54 8331885: C2: meet between unloaded and speculative types is not symmetric
Backport-of: 7652f9811b
2024-10-25 04:28:05 +04:00
Martin Doerr
bb47acf880 8326734: text-decoration applied to <span> lost when mixed with <u> or <s>
8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for <b>, <i>, <u>

Backport-of: cd3e4c0366
2024-10-25 04:28:05 +04:00
SendaoYan
a45813b6be 8332499: Gtest codestrings.validate_vm fail on linux x64 when hsdis is present
Backport-of: 7dbd03388e
2024-10-25 04:28:04 +04:00
Matthias Baesken
786769285f 8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool'
Backport-of: 2baacfc169
2024-10-25 04:28:04 +04:00
Martin Doerr
c0d8adf923 8332885: Clarify failure_handler self-tests
Backport-of: 08891553bb
2024-10-25 04:28:04 +04:00
Andrew Lu
5fb404972d 8294148: Support JSplitPane for instructions and test UI
Backport-of: b419e95173
2024-10-25 04:28:03 +04:00
Andrew Lu
96c9d27b8f 8316104: Open source several Swing SplitPane and RadioButton related tests
Backport-of: f52e500f80
2024-10-25 04:28:03 +04:00
Neethu Prasad
1ee46d2421 8325616: JFR ZGC Allocation Stall events should record stack traces
Backport-of: 71ff2d7177
2024-10-25 04:28:03 +04:00
Neethu Prasad
60050978c7 8320602: Lock contention in SchemaDVFactory.getInstance()
Backport-of: 0678253bff
2024-10-25 04:28:02 +04:00
Neethu Prasad
9a4d59af91 8329995: Restricted access to /proc can cause JFR initialization to crash
Backport-of: a92ad03946
2024-10-25 04:28:02 +04:00
Martin Doerr
8843f0e6cc 8322726: C2: Unloaded signature class kills argument value
Backport-of: fa02667d83
2024-10-25 04:28:01 +04:00
Martin Doerr
d0d55f0845 8332898: failure_handler: log directory of commands
Backport-of: 7f0ad513c3
2024-10-25 04:28:01 +04:00
Martin Doerr
f67ea481b9 8323801: <s> tag doesn't strikethrough the text
Backport-of: 80b63b6729
2024-10-25 04:28:00 +04:00
Andrew Lu
94f7d38926 8328234: Remove unused nativeUtils files
Backport-of: dec68d7e36
2024-10-25 04:28:00 +04:00
Andrew Lu
5146487f61 8328218: Delete test java/awt/Window/FindOwner/FindOwner.html
Backport-of: 09439374ed
2024-10-25 04:28:00 +04:00
Andrew Lu
c3882e555b 8328561: test java/awt/Robot/ManualInstructions/ManualInstructions.java isn't used
Backport-of: bc546c21a5
2024-10-25 04:27:59 +04:00
Aleksey Shipilev
2fa3002c01 8317240: Promptly free OopMapEntry after fail to insert the entry to OopMapCache
Backport-of: a8eacb31ab
2024-10-25 04:27:58 +04:00
Matthias Baesken
bdd17dc97c 8332431: NullPointerException in JTable of SwingSet2
Backport-of: 9a83dfee14
2024-10-25 04:27:58 +04:00
Andrew Lu
f6ea44fe65 8311989: Test java/lang/Thread/virtual/Reflection.java timed out
Backport-of: 6faf05c6dd
2024-10-25 04:27:58 +04:00
Andrew Lu
387a59de9c 8315804: Open source several Swing JTabbedPane JTextArea JTextField tests
Backport-of: 24c3d86f32
2024-10-25 04:27:57 +04:00
Andrew Lu
5c54d3e211 8320945: problemlist tests failing on latest Windows 11 update
Backport-of: ea6e92ed0d
2024-10-25 04:27:57 +04:00
Andrew Lu
9739b74602 8322008: Exclude some CDS tests from running with -Xshare:off
Backport-of: 4d32c607a4
2024-10-25 04:27:57 +04:00
Andrew Lu
fcccd01016 8310201: Reduce verbose locale output in -XshowSettings launcher option
Backport-of: f6e23ae451
2024-10-25 04:27:55 +04:00
Andrew Lu
82760f66f8 8323577: C2 SuperWord: remove AlignVector restrictions on IR tests added in JDK-8305055
Backport-of: 45c65e6b1a
2024-10-25 04:27:55 +04:00
Sergey Bylokhov
a6497f5691 8322330: JavadocHelperTest.java OOMEs with Parallel GC and ZGC
Backport-of: 52c7ff1d81
2024-10-25 04:27:55 +04:00
Liang Mao
60e39b37b2 8315031: YoungPLABSize and OldPLABSize not aligned by ObjectAlignmentInBytes
Backport-of: 060db1b2a2
2024-10-25 04:27:55 +04:00
Martin Doerr
56b028ef15 8328785: IOException: Symbol not found: C_GetInterface for PKCS11 interface prior to V3.0
Backport-of: 6276789fb5
2024-10-25 04:27:54 +04:00
Martin Doerr
5b863be0de 8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit
Backport-of: 7c2c24fc05
2024-10-25 04:27:54 +04:00
Martin Doerr
cceb5408d7 8314225: SIGSEGV in JavaThread::is_lock_owned
Backport-of: ad0b54d429
2024-10-25 04:27:53 +04:00
Martin Doerr
9c349990d0 8331077: nroff man page update for jar tool
Backport-of: c21672d8c9
2024-10-25 04:27:53 +04:00
Martin Doerr
a139fb5bc9 8330748: ByteArrayOutputStream.writeTo(OutputStream) pins carrier
Reviewed-by: bpb
Backport-of: 819f3d6fc7
2024-10-25 04:27:52 +04:00
Martin Doerr
5870d77ae3 8328999: Update GIFlib to 5.2.2
Backport-of: 6969a9e0b2
2024-10-25 04:27:52 +04:00
Martin Doerr
2fe1ba23ca 8324577: [REDO] - [IMPROVE] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
Backport-of: f1d0e715b6
2024-10-25 04:27:51 +04:00
Martin Doerr
9943f38d56 8305072: Win32ShellFolder2.compareTo is inconsistent
Backport-of: 2fcb816858
2024-10-25 04:27:51 +04:00
Martin Doerr
890f05f4e9 8329004: Update Libpng to 1.6.43
Backport-of: 4e4229438a
2024-10-25 04:27:50 +04:00
Martin Doerr
abdd2b1474 8328953: JEditorPane.read throws ChangedCharSetException
Backport-of: 245514da51
2024-10-25 04:27:50 +04:00
Martin Doerr
ea6f8acaa8 8325179: Race in BasicDirectoryModel.validateFileCache
8238169: BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock

Backport-of: e66788c165
2024-10-25 04:27:50 +04:00
Martin Doerr
487dbcdec6 8325382: (fc) FileChannel.transferTo throws IOException when position equals size
Reviewed-by: bpb
Backport-of: 6b7c9718d6
2024-10-25 04:27:50 +04:00
Martin Doerr
29846c0e72 8329126: No native wrappers generated anymore with -XX:-TieredCompilation after JDK-8251462
Backport-of: f2e5808b46
2024-10-25 04:27:49 +04:00
Xiaolong Peng
4b15177d6d 8329134: Reconsider TLAB zapping
Backport-of: 5698f7ad29
2024-10-25 04:27:49 +04:00
Xiaolong Peng
240dd3fa33 8331771: ZGC: Remove OopMapCacheAlloc_lock ordering workaround
Reviewed-by: phh
Backport-of: 5746137e8a
2024-10-25 04:27:49 +04:00
Andrew Lu
e6ecaa55e8 8327040: Problemlist ActionListenerCalledTwiceTest.java test failing in macos14
Backport-of: 0d35450362
2024-10-25 04:27:48 +04:00
Sergey Bylokhov
aa7e0c6b76 8325763: Revert properties: vm.opt.x.*
Backport-of: 0aaec97527
2024-10-25 04:27:48 +04:00
Martin Doerr
cb348aa014 8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04
Reviewed-by: phh
Backport-of: 632a3c56e0
2024-10-25 04:27:47 +04:00
Sergey Bylokhov
c14d29f8a6 8310072: JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+
Backport-of: eb60822a45
2024-10-25 04:27:47 +04:00
Per Minborg
108270033f 8323552: AbstractMemorySegmentImpl#mismatch returns -1 when comparing distinct areas of the same instance of MemorySegment
Reviewed-by: mdoerr
Backport-of: 93579c29e3
2024-10-25 04:27:47 +04:00
Martin Doerr
e34ff5bcd3 8324668: JDWP process management needs more efficient file descriptor handling
Backport-of: a663248786
2024-10-25 04:27:46 +04:00
Martin Doerr
dee9ea3f72 8323670: A few client tests intermittently throw ConcurrentModificationException
Backport-of: 70e7cdcb9e
2024-10-25 04:27:46 +04:00
Martin Doerr
3d53eb3c57 8319773: Avoid inflating monitors when installing hash codes for LM_LIGHTWEIGHT
Backport-of: 65a0672791
2024-10-25 04:27:46 +04:00
Martin Doerr
196bd55c7b 8326106: Write and clear stack trace table outside of safepoint
Backport-of: a776104e21
2024-10-25 04:27:45 +04:00
Martin Doerr
19c381c607 8312229: Crash involving yield, switch and anonymous classes
Backport-of: 1f81e5b19e
2024-10-25 04:27:45 +04:00
Aleksey Shipilev
a4abf00822 8331573: Rename CollectedHeap::is_gc_active to be explicitly about STW GCs
Reviewed-by: phh
Backport-of: 1eec30a6c0
2024-10-25 04:27:45 +04:00
SendaoYan
65411e4d6d 8331164: createJMHBundle.sh download jars fail when url needed to be redirected
Backport-of: eb88343fb7
2024-10-25 04:27:44 +04:00
Xiaolong Peng
b7f7734362 8328075: Shenandoah: Avoid forwarding when objects don't move in full-GC
Backport-of: 80ccc989a8
2024-10-25 04:27:44 +04:00
Andrew Lu
d9c6846a6b 8307788: vmTestbase/gc/gctests/LargeObjects/large003/TestDescription.java timed out
Backport-of: 929af9ed03
2024-10-25 04:27:43 +04:00
Andrew Lu
f1f903715d 8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab
Backport-of: db5613af89
2024-10-25 04:27:43 +04:00
Andrew Lu
49526c15a6 8310108: Skip ReplaceCriticalClassesForSubgraphs when EnableJVMCI is specified
Backport-of: 1b0dd7c254
2024-10-25 04:27:43 +04:00
Sergey Bylokhov
b5e3a5a8bc 8311666: Disabled tests in test/jdk/sun/java2d/marlin
Backport-of: b285ed72ae
2024-10-25 04:27:42 +04:00
Sergey Bylokhov
0a48988eca 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes
Backport-of: 9b1d6d66b8
2024-10-25 04:27:42 +04:00
Sergey Bylokhov
3379512339 8331746: Create a test to verify that the cmm id is not ignored
Backport-of: 7c750fd95b
2024-10-25 04:27:41 +04:00
Ashutosh Mehra
b4115fe6b0 8333093: Incorrect comment in zAddress_aarch64.cpp
Reviewed-by: stefank
Backport-of: 51ae08f72b
2024-10-25 04:27:41 +04:00
Aleksey Shipilev
62e180669d 8331714: Make OopMapCache installation lock-free
Backport-of: a2584a8341
2024-10-25 04:27:40 +04:00
Liang Mao
9b0d4afaa8 8330576: ZYoungCompactionLimit should have range check
Backport-of: c4f5c5140a
2024-10-25 04:27:40 +04:00
SendaoYan
f2db3a138e 8318479: [jmh] the test security.CacheBench failed for multiple threads run
Backport-of: 1535528cb1
2024-10-25 04:27:40 +04:00
SendaoYan
23bbe5789a 8332490: JMH org.openjdk.bench.java.util.zip.InflaterInputStreams.inflaterInputStreamRead OOM
Backport-of: 98f6a80852
2024-10-25 04:27:39 +04:00
Christoph Langer
f4fffcacff 8331266: Bump update version for OpenJDK: jdk-21.0.5
Reviewed-by: mdoerr, sgehwolf
2024-10-25 04:27:39 +04:00
Maxim Kartashev
566de7f8dc JBR-7726 X11 toolkit: Dialog buttons rendering black rectangle after hovering 2024-10-24 12:26:09 +04:00
Nikita Gubarkov
2b6d4ad971 JBR-7564 Vulkan: Fix HIDPI and multi-monitor scenarios 2024-10-23 20:44:19 +02:00
Nikita Gubarkov
f47ba753a5 JBR-7574 Vulkan: Implement memory allocator 2024-10-23 20:44:19 +02:00
Alexey Ushakov
1e8f362c8c JBR-7677 Vulkan: Implement Graphics.drawImage()
Implemented:
 - raster loading and blit primitive
 - transform for VKBlitSwToTextureViaPooledTexture
Used texture pool to get temporary image
2024-10-23 20:44:19 +02:00
Nikita Gubarkov
b4a7cb233d JBR-7572 Bring back VKBuffer functions 2024-10-23 20:44:19 +02:00
Nikita Gubarkov
bfbdba145f JBR-7644 Vulkan: Move barrier state tracking from surface into image 2024-10-23 20:44:19 +02:00
Nikita Gubarkov
61ab05abc5 JBR-7572 Vulkan: Implement vertex buffer pool
Track and reuse vertex buffers, no need to allocate and bind a new buffer on each draw.
2024-10-23 20:44:19 +02:00
Dmitrii Morskii
0794328504 JBR-7302 added additional emptiness check in getGlyphOutlineBounds 2024-10-23 19:42:02 +01:00
Maxim Kartashev
96ae4c9eab JBR-7749 Settings popup invoked from the main toolbar appears misaligned if fractional scaling set 2024-10-18 17:54:36 +04:00
Nikita Tsarev
954749ad19 JBR-7764: Disable window decorations in test/jb/java/awt/Window/RestoreFromFullScreen.java, so that the test doesn't fail spuriously on some WMs 2024-10-18 17:48:38 +04:00
Nikita Gubarkov
f547175bf2 JBR-4725 File dialog modality (#458) 2024-10-18 01:07:05 +03:00
bourgesl
d27909ade0 JBR-5497: revert JRSUIController changes (performOnMainThreadWaiting:YES) to avoid UI freeze but appkit violations must be fixed in follow-up fix 2024-10-17 17:21:55 +04:00
Maxim Kartashev
4e4e5c74c5 JBR-7544 Wayland: Cannot resize window to more that 3500px vertically 2024-10-16 13:58:08 +04:00
Maxim Kartashev
259e6e0ca8 JBR-7748 java/awt/font/JNICheck/FreeTypeScalerJNICheck.java: JNI call made without checking exceptions when required to from CallVoidMethod 2024-10-16 13:58:08 +04:00
Vitaly Provodin
68515653ec update exclude list on results of 21.0.4_b631.2 test runs 2024-10-16 08:52:53 +04:00
Maxim Kartashev
ae9aea784a JBR-7721 Copying from IntelliJ in pure Wayland on ChromeOS confuses UTF-8 and UTF-16
Avoid data flavor without an explicit charset
2024-10-14 16:44:22 +04:00
Nikita Gubarkov
6454bc7592 JBR-7733 Metal: Properly reset the current context when destroying the surface 2024-10-12 11:44:54 +02:00
Nikita Tsarev
ceda379d69 fixup! JBR-6324: JBR API for System Shortcuts (macOS) 2024-10-11 16:11:03 +02:00
Nikita Tsarev
82999dc986 JBR-6324: JBR API for System Shortcuts (macOS) 2024-10-11 16:02:34 +02:00
Nikita Gubarkov
8cf2476301 JBR-7732 JBR API: fix array conversions 2024-10-11 14:32:25 +02:00
Nikita Tsarev
8ca3afcfa3 JBR-5690: Reload next window shortcut when it changes 2024-10-10 13:27:42 +02:00
Nikita Tsarev
f0ae5c7a9b JBR-5726: Report 'Move focus to the previous window in application' system shortcut 2024-10-10 13:27:42 +02:00
Nikita Gubarkov
40b52d479b JBR-7653 Prepare Docker images for Vulkan builds 2024-10-10 13:23:34 +02:00
Nikita Gubarkov
373b9baf43 JBR-7673 Cleanup docker scripts 2024-10-10 13:23:34 +02:00
Nikita Tsarev
f7d67b622d JBR-5448: Return all shortcuts from readSystemHotkeys 2024-10-09 16:44:39 +02:00
Nikita Gubarkov
015ea7ab4c JBR-7579 Fix SurfaceManager.cacheMap retaining strong references. (#453) 2024-10-09 15:00:30 +03:00
Vitaly Provodin
af9368d66c update exclude list on results of 21.0.4_b620.4 test runs 2024-10-07 08:12:48 +04:00
Nikita Tsarev
1e1115a28e JBR-7524: Workaround for showing window tiling actions when hovering over the maximize button on macOS 2024-10-04 11:45:31 +02:00
Maxim Kartashev
3ede03b58a JBR-7504 Use accurate event serial number with the clipboard 2024-10-04 12:59:19 +04:00
Maxim Kartashev
231126c134 JBR-7504 WLToolkit - Middle click paste doesn't work properly when pasting to other applications 2024-10-04 12:58:38 +04:00
Nikita Tsarev
cb2eb9bb7f JBR-7672: Only abort key repeat when the key that is being repeated is released [WLToolkit] 2024-09-30 10:44:59 +02:00
Nikita Tsarev
022221b0bb JBR-7662: Fix key repeat manager sometimes not cancelling properly [WLToolkit] 2024-09-30 10:41:58 +02:00
Vitaly Provodin
746032ad3e JBR-7511 migrate build platforms to OL8 for the release 2024.3 2024-09-28 05:28:12 +07:00
Vitaly Provodin
6826f09811 JBR-7511 migrate build platforms to OL8
- remove Vulcan part that causing builds to fail
- modify scripts for building images from Oracle Linux 8
- update jb/build/VerifyDependencies.java to check libraries have no dependency on symbols from glibc version higher than 2.28
- rename Ubuntu2004 docker files
- upgrade wayland up to wayland-devel-1.21.0-1
2024-09-28 02:26:04 +04:00
bourgesl
5157205ed8 JBR-7616: fixed type (str) 2024-09-27 16:17:22 +02:00
Nikita Tsarev
1ccb174ecb JBR-7675: Respect disabling key repeat [WLToolkit] 2024-09-27 15:02:50 +02:00
bourgesl
226d6f982c JBR-7616: added ThreadUtilities.lwc_plog(env, formatMsg, ...) to use LWCToolkit's PlatformLogger instead of NSlog (only as fallback now) used by MTLRenderQueue, updated MTLUtils to share mtlDstTypeToStr(op)
(cherry picked from commit 6e00460b0009817593d04773516559d1ec5a9292)
2024-09-24 12:35:41 +02:00
Maxim Kartashev
5099233a6d JBR-7651 runtime/cds/appcds/complexURI/ComplexURITest.java throws java.nio.file.AccessDeniedException 2024-09-24 12:43:52 +04:00
Vladimir Dvorak
8d37639b50 JBR-7649 fix DCEVM crashes on assert() in VM_Exit 2024-09-23 19:36:39 +02:00
Vladimir Dvorak
9cfcff32c4 JBR-7523 fix ClassUnloading support in DCEVM 2024-09-23 19:36:16 +02:00
Vladimir Dvorak
ff87567544 JBR-7635 Skip rolled-back classes in search for affected classes 2024-09-23 19:35:56 +02:00
Vitaly Provodin
f912b0e071 update exclude list on results of 21.0.4_b607.1 test runs 2024-09-23 12:42:53 +04:00
Alexey Ushakov
7c057eb7f6 JBR-7588 Metal: Reuse MTLContext for all GCs of the same GPU
Implemented reference counting for shared MTLContext objects. Supported multiple display links per MTLContext. Also, works for macOS version < 10.13
2024-09-20 21:17:08 +02:00
bourgesl
d4a299a2e7 JBR-7616: improved MTLRenderQueue exception handling
(cherry picked from commit 9df0cce15d1b1773634907881d0c515a100cf412)
2024-09-16 21:57:05 +02:00
Maxim Kartashev
b5f427d580 JBR-7576 Cannot make CDS dump due to whitespaces in paths 2024-09-16 14:16:51 +04:00
Vitaly Provodin
e752f9a857 update exclude list on results of 21.0.4_b591.1 test runs 2024-09-13 04:11:28 +04:00
Maxim Kartashev
e37c2450a8 JBR-7600 Provide ability to add messages to fatal error log
Use JNU_LOG_EVENT(env, msg, ...) to save a message in the internal
JVM ring buffer that gets printed out to the Events section
of the fatal error log if JVM crashed.
2024-09-12 14:27:30 +04:00
Nikita Gubarkov
78ef30a322 JBR-7614 JBR API: fix generated proxy name clash. 2024-09-11 18:19:19 +02:00
Nikita Provotorov
6afbc34d4b JBR-5673: Wayland: support touch scrolling.
- Adding information to WLPointerEvent about wl_pointer::axis* events along the X axis;
- Introducing 'WLComponentPeer#convertPointerEventToMWEParameters' - a routine for converting WLPointerEvent parameters to parameters required for MouseWheelEvent s;
- Handling both X and Y axes within the WLPointerEvent dispatching routine.
2024-09-11 15:52:45 +02:00
Nikita Provotorov
874d5698bc JBR-7459: Wayland: touchpad scrolling is too sensitive.
- Remaking the mapping of wl_pointer::axis events values to MouseWheelEvent rotations to eliminate the touchpad scrolling behavior "the more slowly the fingers move, the more pixels are scrolled";
- Accumulating the fraction parts of wl_pointer::axis events values to improve the accuracy of touchpad scrolling;
- Distinguishing between wheel scrolling and touchpad scrolling to fine-tune MouseWheelEvent parameters for each of these cases.
2024-09-11 15:52:44 +02:00
Sergei Tachenov
dd1afa581e JBR-7586 Fix title click ungrab when an active user component is clicked
Swing requires that clicking frame decorations should cause the window
to be ungrabbed. However, if a custom title is used, and that title contains
user-provided components, then clicking such components should not
cause the window to be ungrabbed, otherwise a menu located in a custom
title behaves incorrectly.

Fix by using the same logic as for the native actions, such as moving the window.
If the native actions are allowed, then ungrabbing is allowed as well.
Otherwise, do not ungrab, let the component behave like it's located in the client area.

The fix is supplemented with a new regression test "test/jdk/jb/javax/swing/CustomTitleBar/JMenuClickToCloseTest.java".
2024-09-09 16:00:46 +02:00
Nikita Tsarev
cd5cad7154 JBR-7594 Check for LWCToolkit in JBR TextInput API 2024-09-06 13:39:02 +02:00
Sergei Tachenov
8827281c82 JBR-7484 Update the cursor on mouse entered/exited
AppKit resets the cursor on native mouse entered/exited events. Depending on the order of events, it may end up setting the wrong cursor. So update it forcibly on such events.
2024-09-05 13:49:26 +02:00
Sergei Tachenov
3c8aa5a169 JBR-7481 Work around mouse entered/exited bug
To fix missing mouse entered/exited events when
using rounded corners, we keep track of mouse moved events. When a mouse moved event is detected, and the current peer under the cursor belongs to a different window, we send fake mouse entered/exit events to the old and new windows. We also filter late mouse exited events.

The workaround is enabled by default with the VM option "awt.mac.enableMouseEnteredExitedWorkaround" to disable it in case something breaks.

About the test:
Use the robot to find the points when the mouse
entered event is sent to the popup when the mouse
enters through a rounded corner, and the similar
point for entering the outer window when exiting
through such a corner.

Once the points are found, move the mouse back
and forth to that point, but not beyond.
The correct behavior is that when the mouse
enters the popup, a mouse exited event is sent
to the outer frame and vice versa.
Therefore, every mouse entered/exited event
should be received exactly once.

Use reflection to set the rounded corners,
as JBR API isn't available in tests.
2024-09-05 13:49:26 +02:00
Vitaly Provodin
fe6d252047 update exclude list on results of 21.0.4_b589.3 test runs 2024-09-03 07:59:31 +04:00
Maxim Kartashev
08faf984f0 JBR-7493 Fixed the test 2024-08-30 11:57:42 +03:00
Nikita Gubarkov
1c95b96ff8 JBR-5973 Vulkan: Fix validation errors (#452)
- Added proper synchronization and image layout transitions.
- Refactored VKRenderer to hold per-device rendering context. Isolated surface rendering contexts.
- Implemented reusing of command buffers and semaphores
- Fixed surface resize, made surface initialization more robust.
- Added on-demand pipeline creation for actual surface formats.
- Added missing destruction logic.
- Added macros for easy checking of return codes, logging with source code location.
- Moved implementation details out of headers where possible. Stripped dead code.
- Implemented consistent OOM strategy from dynamic arrays and ring buffers.
2024-08-29 18:52:52 +02:00
Nikita Gubarkov
f1ad521666 JBR-7570 Implemented ring buffer. Added lazy implicit initialization for dynamic arrays. (#451) 2024-08-28 15:11:20 +02:00
Nikita Gubarkov
4a239d2c6e JBR-7568 Vulkan: Refactor VKLogicalDevice into VKDevice (#449)
* Renamed VKLogicalDevice to VKDevice for conformance and convenience.
* Refactored device->device to device->handle for clarity.
2024-08-28 12:35:38 +02:00
Nikita Gubarkov
47f236f3cc JBR-7569 Removed VMA-Hpp (#450) 2024-08-28 12:24:39 +02:00
Vitaly Provodin
7b21605ecb update exclude list on results of 21.0.4_b586.1 test runs 2024-08-27 01:05:12 +04:00
2801 changed files with 161169 additions and 102568 deletions

68
.github/actions/build-jtreg/action.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
#
# Copyright (c) 2023, 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# 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.
#
name: 'Build JTReg'
description: 'Build JTReg'
runs:
using: composite
steps:
- name: 'Get JTReg version configuration'
id: version
uses: ./.github/actions/config
with:
var: JTREG_VERSION
- name: 'Check cache for already built JTReg'
id: get-cached
uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v4
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
path: jtreg/src
if: (steps.get-cached.outputs.cache-hit != 'true')
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_17_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
shell: bash
if: (steps.get-cached.outputs.cache-hit != 'true')
- name: 'Upload JTReg artifact'
uses: actions/upload-artifact@v4
with:
name: bundles-jtreg-${{ steps.version.outputs.value }}
path: jtreg/installed
retention-days: 1

View File

@@ -24,7 +24,7 @@
#
name: 'Get JTReg'
description: 'Download JTReg from cache or source location'
description: 'Get JTReg'
outputs:
path:
description: 'Path to the installed JTReg'
@@ -39,36 +39,12 @@ runs:
with:
var: JTREG_VERSION
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v4
- name: 'Download JTReg artifact'
id: download-jtreg
uses: actions/download-artifact@v4
with:
name: bundles-jtreg-${{ steps.version.outputs.value }}
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v4
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
path: jtreg/src
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Build JTReg'
run: |
# If runner architecture is x64 set JAVA_HOME_17_X64 otherwise set to JAVA_HOME_17_arm64
if [[ '${{ runner.arch }}' == 'X64' ]]; then
JDK="$JAVA_HOME_17_X64"
else
JDK="$JAVA_HOME_17_arm64"
fi
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JDK"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
shell: bash
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Export path to where JTReg is installed'
id: path-name

View File

@@ -24,12 +24,19 @@
# questions.
#
# Import common utils
. .github/scripts/report-utils.sh
GITHUB_STEP_SUMMARY="$1"
BUILD_DIR="$(ls -d build/*)"
# Send signal to the do-build action that we failed
touch "$BUILD_DIR/build-failure"
# Collect hs_errs for build-time crashes, e.g. javac, jmod, jlink, CDS.
# These usually land in make/
hs_err_files=$(ls make/hs_err*.log 2> /dev/null || true)
(
echo '### :boom: Build failure summary'
echo ''
@@ -46,6 +53,20 @@ touch "$BUILD_DIR/build-failure"
echo '</details>'
echo ''
for hs_err in $hs_err_files; do
echo "<details><summary><b>View HotSpot error log: "$hs_err"</b></summary>"
echo ''
echo '```'
echo "$hs_err:"
echo ''
cat "$hs_err"
echo '```'
echo '</details>'
echo ''
done
echo ''
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
) >> $GITHUB_STEP_SUMMARY
truncate_summary

View File

@@ -24,6 +24,9 @@
# questions.
#
# Import common utils
. .github/scripts/report-utils.sh
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
@@ -89,18 +92,6 @@ for test in $failures $errors; do
fi
done >> $GITHUB_STEP_SUMMARY
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
# Trim it down if so.
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
if [[ $summary_size -gt 1000000 ]]; then
# Trim to below 1024 kB, and cut off after the last detail group
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
(
echo ''
echo ':x: **WARNING: Summary is too large and has been truncated.**'
echo ''
) >> $GITHUB_STEP_SUMMARY
fi
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY
truncate_summary

View File

@@ -1,10 +1,13 @@
#!/bin/bash
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -21,4 +24,18 @@
# questions.
#
exclusiveAccess.dirs=.
function truncate_summary() {
# With large hs_errs, the summary can easily exceed 1024 kB, the limit set by Github
# Trim it down if so.
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
if [[ $summary_size -gt 1000000 ]]; then
# Trim to below 1024 kB, and cut off after the last detail group
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
(
echo ''
echo ':x: **WARNING: Summary is too large and has been truncated.**'
echo ''
) >> $GITHUB_STEP_SUMMARY
fi
}

View File

@@ -131,6 +131,7 @@ jobs:
id: create-sysroot
run: >
sudo debootstrap
--no-merged-usr
--arch=${{ matrix.debian-arch }}
--verbose
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype-dev,libpng-dev
@@ -151,6 +152,9 @@ jobs:
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
rm -rf sysroot/usr/libexec/gcc
# /{bin,sbin,lib}/ are not symbolic links to /usr/{bin,sbin,lib}/ when debootstrap with --no-merged-usr
rm -rf sysroot/{sbin,bin}
rm -rf sysroot/lib/{udev,systemd}
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Remove broken sysroot'

View File

@@ -31,7 +31,7 @@ on:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
default: 'linux-x64, linux-x86-hs, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
configure-arguments:
description: 'Additional configure arguments'
required: false
@@ -49,12 +49,12 @@ jobs:
### Determine platforms to include
###
select:
name: 'Select platforms'
prepare:
name: 'Prepare the run'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x86-hs: ${{ steps.include.outputs.linux-x86-hs }}
# additional build options for linux-x64 are disabled
# linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
@@ -65,7 +65,19 @@ jobs:
docs: ${{ steps.include.outputs.docs }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Checkout the scripts'
uses: actions/checkout@v4
with:
sparse-checkout: |
.github
make/conf/github-actions.conf
- name: 'Build JTReg'
id: jtreg
uses: ./.github/actions/build-jtreg
# TODO: Now that we are checking out the repo scripts, we can put the following code
# into a separate file
- name: 'Check what jobs to run'
id: include
run: |
@@ -107,7 +119,7 @@ jobs:
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x86-hs=$(check_platform linux-x86-hs linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
@@ -122,21 +134,22 @@ jobs:
build-linux-x64:
name: linux-x64
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64 == 'true'
if: needs.prepare.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
needs: select
build-linux-x86-hs:
name: linux-x86-hs
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
make-target: 'hotspot'
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-architecture: 'i386'
@@ -146,11 +159,11 @@ jobs:
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
if: needs.prepare.outputs.linux-x86-hs == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
@@ -160,11 +173,11 @@ jobs:
extra-conf-options: '--disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
name: linux-x64-hs-zero
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
@@ -174,11 +187,11 @@ jobs:
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
name: linux-x64-hs-minimal
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
@@ -188,11 +201,11 @@ jobs:
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
name: linux-x64-hs-optimized
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
@@ -203,22 +216,21 @@ jobs:
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
needs: prepare
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
if: needs.prepare.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
needs: prepare
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
@@ -226,23 +238,23 @@ jobs:
xcode-toolset-version: '14.3.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
if: needs.prepare.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
needs: prepare
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
runs-on: 'macos-14'
xcode-toolset-version: '14.3.1'
xcode-toolset-version: '15.4'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
if: needs.prepare.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
needs: prepare
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
@@ -250,11 +262,11 @@ jobs:
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
if: needs.prepare.outputs.windows-x64 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
needs: prepare
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
@@ -264,11 +276,11 @@ jobs:
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
if: needs.prepare.outputs.windows-aarch64 == 'true'
build-docs:
name: docs
needs: select
needs: prepare
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
@@ -280,7 +292,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.docs == 'true'
if: needs.prepare.outputs.docs == 'true'
###
### Test jobs
@@ -296,16 +308,6 @@ jobs:
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
needs:
@@ -315,6 +317,7 @@ jobs:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-13
xcode-toolset-version: '14.3.1'
test-macos-aarch64:
name: macos-aarch64
@@ -325,6 +328,7 @@ jobs:
platform: macos-aarch64
bootjdk-platform: macos-aarch64
runs-on: macos-14
xcode-toolset-version: '15.4'
test-windows-x64:
name: windows-x64
@@ -343,7 +347,7 @@ jobs:
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-x86-hs
- build-linux-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
@@ -354,31 +358,28 @@ jobs:
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-macos-aarch64
- test-windows-x64
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v7
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
# See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
ALL_ARTIFACT_IDS="$(curl -sL \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
'${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts?per_page=100')"
BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
for id in $BUNDLE_ARTIFACT_IDS; do
echo "Removing $id"
curl -sL \
-X DELETE \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
|| echo "Failed to remove bundle"
done

View File

@@ -37,6 +37,9 @@ on:
runs-on:
required: true
type: string
xcode-toolset-version:
required: false
type: string
env:
# These are needed to make the MSYS2 bash work properly
@@ -147,7 +150,7 @@ jobs:
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'

View File

@@ -1,10 +1,11 @@
[general]
project=jdk-updates
jbs=JDK
version=21.0.4
version=21.0.7
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
warning=issuestitle,binary
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)

View File

@@ -39,6 +39,21 @@ can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntim
| 2021.1 | [11.0.11+9-b1341.60](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1248891540)| 15-Jun-2021 |
| 2020.3 | [11_0_10-b1145.115](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1249243977) | 21-Jun-2021 |
## Release Flavours
There are many kinds of JBR bundles available on the [Releases page](https://github.com/JetBrains/JetBrainsRuntime/releases):
| Flavour | Description |
|---------------|---------------------------------------------------------------------------------------------------------------|
| JBR | Contains the Java Runtime Environment (JRE) suitable to _run_ JVM-based programs. |
| JBRSDK | Contains the Software Developmet Kit (SDK) suitable to _develop_ and _run_ JVM-based programs. |
| JBR with JCEF | Contains both JBR and JCEF; this flavour is bundled by default with all IntelliJ IDEs. |
| vanilla | Contains just JBR. |
| fastdebug | The native binaries in this bundle are less optimized and are easier to debug. They also run much slower. |
| FreeType | The bundle includes the freetype library built from sources; normally, the library is provided by the system. |
| Vulkan | The bundle includes experimental Vulkan support. | |
| debug symbols | In addition to the usual contents of the bundle the debug information is also included. |
## Contents
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Why Use JetBrains Runtime?](#why-use-jetbrains-runtime)
@@ -108,36 +123,42 @@ coverage of all the details.
> It would usually have meaningful advice on how to solve the problem.
### Linux (Docker)
Create a container:
Download an image from [Docker Hub](https://hub.docker.com/repository/docker/jetbrains/runtime/general) related to your architecture:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
$ docker pull jetbrains/runtime:oraclelinux8_aarch64
```
Run these commands in the new container:
or
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
$ docker pull jetbrains/runtime:oraclelinux8_x64
```
Create and run a new container from the downloaded image
```
$ docker run -v $JetBrainsRuntime:/JetBrainsRuntime -it jetbrains/runtime:oraclelinux8_[arch]
```
where `$JetBrainsRuntime` is a full path to the directory where the repository was cloned to.
Run these commands in the container:
```
# yum install java-21-openjdk-devel
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
# BOOT_JDK=/usr/lib/jvm/java-21/ ./jb/project/tools/linux/scripts/mkimages_x64.sh 99 nomod
```
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev \
libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libwayland-dev \
libxkbcommon-x11-0
$ sudo wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc
$ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list https://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list
$ sudo apt update
$ sudo apt-get -y install openjdk-21-jdk file zip unzip autoconf make build-essential libx11-dev libxext-dev libxrender-dev \
libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev libwayland-dev \
libxkbcommon-x11-0 vulkan-sdk vulkan-utility-libraries-dev
```
Get Java 19 (for instance, [Azul Zulu Builds of OpenJDK 19](https://www.azul.com/downloads/?version=java-19-sts&os=linux&package=jdk)).
Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
$ cd /JetBrainsRuntime
$ BOOT_JDK=/usr/lib/jvm/java-21-openjdk-amd64 ./jb/project/tools/linux/scripts/mkimages_x64.sh 99 nomod
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.
@@ -169,6 +190,18 @@ $ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.
#### Enable optional NVDA screen reader support
If you want to add support of a11y announcing via [NVDA screen reader](https://www.nvaccess.org/about-nvda/),
you will need to bundle the NVDA Controller Client library.
You can do it with the following steps:
1. Download the NVDA Controller Client library. You can find the link in its official README [here](https://github.com/nvaccess/nvda/blob/master/extras/controllerClient/readme.md)
2. Pass the path to the unpacked package to `configure` via an additional flag `--with-nvdacontrollerclient=<path>`.
The build system will search the required library files under `<path>/<target-arch>`.
#### Disable optional JAWS screen reader support
JBR is built with built-in support of JAWS screen reader.
If you want to disable it, run `configure` with the additional flag `--disable-jaws-client`.
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).

3
SECURITY.md Normal file
View File

@@ -0,0 +1,3 @@
# JDK Vulnerabilities
Please follow the process outlined in the [OpenJDK Vulnerability Policy](https://openjdk.org/groups/vulnerability/report) to disclose vulnerabilities in the JDK.

View File

@@ -569,10 +569,9 @@ be accepted by <code>configure</code>.</p>
<code>--with-toolchain-type=clang</code>.</p>
<h3 id="apple-xcode">Apple Xcode</h3>
<p>The oldest supported version of Xcode is 8.</p>
<p>You will need the Xcode command line developer tools to be able to
build the JDK. (Actually, <em>only</em> the command line tools are
needed, not the IDE.) The simplest way to install these is to run:</p>
<pre><code>xcode-select --install</code></pre>
<p>You will need to download Xcode either from the App Store or specific
versions can be easily located via the <a
href="https://xcodereleases.com">Xcode Releases</a> website.</p>
<p>When updating Xcode, it is advisable to keep an older version for
building the JDK. To use a specific version of Xcode you have multiple
options:</p>

View File

@@ -366,12 +366,9 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
The oldest supported version of Xcode is 8.
You will need the Xcode command line developer tools to be able to build
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
The simplest way to install these is to run:
```
xcode-select --install
```
You will need to download Xcode either from the App Store or specific versions
can be easily located via the [Xcode Releases](https://xcodereleases.com)
website.
When updating Xcode, it is advisable to keep an older version for building the JDK.
To use a specific version of Xcode you have multiple options:

View File

@@ -72,6 +72,9 @@ id="toc-notes-for-specific-tests">Notes for Specific Tests</a>
<li><a href="#non-us-locale" id="toc-non-us-locale">Non-US
locale</a></li>
<li><a href="#pkcs11-tests" id="toc-pkcs11-tests">PKCS11 Tests</a></li>
<li><a href="#testing-with-alternative-security-providers"
id="toc-testing-with-alternative-security-providers">Testing with
alternative security providers</a></li>
<li><a href="#client-ui-tests" id="toc-client-ui-tests">Client UI
Tests</a></li>
</ul></li>
@@ -589,6 +592,18 @@ element of the appropriate <code>@Artifact</code> class. (See
JTREG=&quot;JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs&quot;</code></pre>
<p>For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.</p>
<h3 id="testing-with-alternative-security-providers">Testing with
alternative security providers</h3>
<p>Some security tests use a hardcoded provider for
<code>KeyFactory</code>, <code>Cipher</code>,
<code>KeyPairGenerator</code>, <code>KeyGenerator</code>,
<code>AlgorithmParameterGenerator</code>, <code>KeyAgreement</code>,
<code>Mac</code>, <code>MessageDigest</code>, <code>SecureRandom</code>,
<code>Signature</code>, <code>AlgorithmParameters</code>,
<code>Configuration</code>, <code>Policy</code>, or
<code>SecretKeyFactory</code> objects. Specify the
<code>-Dtest.provider.name=NAME</code> property to use a different
provider for the service(s).</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<h4 id="system-key-shortcuts">System key shortcuts</h4>
<p>Some Client UI tests use key sequences which may be reserved by the

View File

@@ -615,6 +615,15 @@ $ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" \
For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.
### Testing with alternative security providers
Some security tests use a hardcoded provider for `KeyFactory`, `Cipher`,
`KeyPairGenerator`, `KeyGenerator`, `AlgorithmParameterGenerator`,
`KeyAgreement`, `Mac`, `MessageDigest`, `SecureRandom`, `Signature`,
`AlgorithmParameters`, `Configuration`, `Policy`, or `SecretKeyFactory` objects.
Specify the `-Dtest.provider.name=NAME` property to use a different provider for
the service(s).
### Client UI Tests
#### System key shortcuts

View File

@@ -1,46 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
# jetbrains/runtime:jbr17env_aarch64
FROM arm64v8/centos:7
# Install the necessary build tools
RUN yum -y update; \
yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7.aarch64 \
autoconf-2.69-11.el7.noarch \
automake-1.13.4-3.el7.noarch \
bzip2-1.0.6-13.el7.aarch64 \
cups-devel-1.6.3-51.el7.aarch64 \
file-5.11-37.el7.aarch64 \
fontconfig-devel-2.13.0-4.3.el7.aarch64 \
freetype-devel-2.8-14.el7_9.1.aarch64 \
giflib-devel-4.1.6-9.el7.aarch64 \
git-1.8.3.1-24.el7_9.aarch64 \
libtool-2.4.2-22.el7_3.aarch64 \
libXi-devel-1.7.9-1.el7.aarch64 \
libXrandr-devel-1.5.1-2.el7.aarch64 \
libXrender-devel-0.9.10-1.el7.aarch64 \
libXt-devel-1.1.5-3.el7.aarch64 \
libXtst-devel-1.2.3-1.el7.aarch64 \
make-3.82-24.el7.aarch64 \
rsync-3.1.2-12.el7_9.aarch64 \
tar-1.26-35.el7.aarch64 \
unzip-6.0-24.el7_9.aarch64 \
wayland-devel-1.15.0-1.el7 \
zip-3.0-11.el7.aarch64; \
yum -y clean all
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin:${PATH}"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,43 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM arm64v8/alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update \
alsa-lib-dev=1.2.5-r2 \
autoconf=2.71-r0 \
bash=5.1.16-r0 \
build-base=0.5-r3 \
bzip2=1.0.8-r1 \
cups-dev=2.3.3-r3 \
file=5.40-r1 \
fontconfig=2.13.1-r4 \
fontconfig-dev=2.13.1-r4 \
freetype-dev=2.10.4-r3 \
git=2.32.7-r0 \
grep=3.7-r0 \
libx11-dev=1.7.3.1-r0 \
libxext-dev=1.3.4-r0 \
libxrandr-dev=1.5.2-r1 \
libxrender-dev=0.9.10-r3 \
libxt-dev=1.2.1-r0 \
libxtst-dev=1.2.3-r3 \
linux-headers=5.10.41-r0 \
rsync=3.2.5-r0 \
tar=1.34-r1 \
wayland-dev=1.19.0-r0 \
zip=3.0-r9
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk20/
RUN cd /jdk20 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk20/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk20
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser" && \
git config --global --add safe.directory '*'

View File

@@ -1,42 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update \
alsa-lib-dev=1.2.5-r2 \
autoconf=2.71-r0 \
bash=5.1.16-r0 \
build-base=0.5-r3 \
bzip2=1.0.8-r1 \
cups-dev=2.3.3-r3 \
file=5.40-r1 \
fontconfig=2.13.1-r4 \
fontconfig-dev=2.13.1-r4 \
freetype-dev=2.10.4-r3 \
git=2.32.7-r0 \
grep=3.7-r0 \
libx11-dev=1.7.3.1-r0 \
libxext-dev=1.3.4-r0 \
libxrandr-dev=1.5.2-r1 \
libxrender-dev=0.9.10-r3 \
libxt-dev=1.2.1-r0 \
libxtst-dev=1.2.3-r3 \
linux-headers=5.10.41-r0 \
rsync=3.2.5-r0 \
tar=1.34-r1 \
wayland-dev=1.19.0-r0 \
zip=3.0-r9
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk20/
RUN cd /jdk20 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk20/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk20
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,55 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_x86.sh script.
# Pull a concrete version of Linux that does NOT receive updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
#FROM i386/ubuntu:xenial
#FROM i386/ubuntu:bionic
FROM i386/ubuntu:focal
RUN linux32 \
apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN export DEBIAN_FRONTEND=noninteractive \
export DEBCONF_NONINTERACTIVE_SEEN=true && \
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
linux32 \
apt-get -y install \
autoconf \
build-essential \
curl \
file \
git \
libx11-dev \
libxext-dev \
libxrender-dev \
libxrandr-dev \
libxtst-dev \
libxt-dev \
libcups2-dev \
libasound2-data \
# libpng12-0 \
libasound2 \
libfreetype6 \
libfontconfig1-dev \
libasound2-dev \
rsync \
unzip \
zip
RUN linux32 \
apt-get -y install \
g++-10 \
gcc-10 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 && \
apt-get clean -qy && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set up boot JDK for building
COPY boot_jdk_x86.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_x86.tar.gz && rm /jdk17/boot_jdk_x86.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,73 +0,0 @@
# jetbrains/runtime:jbr17env_x86_64
FROM centos:7
RUN yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7 \
autoconf-2.69-11.el7 \
automake-1.13.4-3.el7 \
bzip2-1.0.6-13.el7 \
cups-devel-1.6.3-51.el7 \
file-5.11-37.el7 \
fontconfig-devel-2.13.0-4.3.el7 \
freetype-devel-2.8-14.el7_9.1 \
giflib-devel-4.1.6-9.el7 \
git-1.8.3.1-24.el7_9 \
libtool-2.4.2-22.el7_3 \
libXi-devel-1.7.9-1.el7 \
libXrandr-devel-1.5.1-2.el7 \
libXrender-devel-0.9.10-1.el7 \
libXt-devel-1.1.5-3.el7 \
libXtst-devel-1.2.3-1.el7 \
make-3.82-24.el7 \
tar-1.26-35.el7 \
unzip-6.0-24.el7_9 \
wayland-devel-1.15.0-1.el7 \
wget-1.14-18.el7_6.1 \
which-2.20-7.el7 \
zip-3.0-11.el7 \
python3-3.6.8-17.el7
RUN mkdir .git && \
git config user.email "teamcity@jetbrains.com" && \
git config user.name "builduser"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin::${PATH}"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
# Build GLSLC
RUN curl -OL https://github.com/Kitware/CMake/releases/download/v3.27.5/cmake-3.27.5-linux-x86_64.tar.gz \
&& echo 138c68addae825b16ed78d792dafef5e0960194833f48bd77e7e0429c6bc081c *cmake-3.27.5-linux-x86_64.tar.gz | sha256sum -c - \
&& tar -xzf cmake-3.27.5-linux-x86_64.tar.gz \
&& rm cmake-3.27.5-linux-x86_64.tar.gz \
&& git clone https://github.com/google/shaderc --branch v2023.6 \
&& cd shaderc \
&& ./utils/git-sync-deps \
&& mkdir build \
&& cd build \
&& /cmake-3.27.5-linux-x86_64/bin/cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DSHADERC_SKIP_TESTS=ON \
-DSHADERC_SKIP_EXAMPLES=ON \
-DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
.. \
&& make install
ENV PATH="/cmake-3.27.5-linux-x86_64/bin::${PATH}"
# Checkout Vulkan headers
RUN mkdir /vulkan \
&& cd /vulkan \
&& git init \
&& git remote add -f origin https://github.com/KhronosGroup/Vulkan-Headers.git \
&& git fetch origin \
&& git checkout v1.3.265 -- include \
&& rm -r .git \
&& mkdir /vulkan_hpp \
&& cd /vulkan_hpp \
&& git init \
&& git remote add -f origin https://github.com/KhronosGroup/Vulkan-Hpp.git \
&& git fetch origin \
&& git checkout v1.3.265 -- vulkan \
&& rm -r .git

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building AArch64 variant
# of the JetBrains Runtime "dev" version.
BOOT_JDK_REMOTE_FILE=zulu17.30.15-ca-jdk17.0.1-linux_aarch64.tar.gz
BOOT_JDK_SHA=4d9c9116eb0cdd2d7fb220d6d27059f4bf1b7e95cc93d5512bd8ce3791af86c7
BOOT_JDK_LOCAL_FILE=boot_jdk.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbrdevenv_arm64v8 -f Dockerfile.aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl AArch64 variant
# of the JetBrains Runtime version 21.
BOOT_JDK_REMOTE_FILE=zulu20.32.11-ca-jdk20.0.2-linux_musl_aarch64.tar.gz
BOOT_JDK_SHA=eec57cf744c2438f695221f041d4804de3033ad33b6dba769d3359813ba3f90d
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_aarch64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr21env_musl_aarch64 -f Dockerfile.musl_aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 21.
BOOT_JDK_REMOTE_FILE=zulu20.32.11-ca-jdk20.0.2-linux_musl_x64.tar.gz
BOOT_JDK_SHA=fca5081dd6da847fcd06f5b755e58edae22d6784f21b81bf73da2b538f842c07
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_amd64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr21env_musl_x64 -f Dockerfile.musl_x64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,26 +0,0 @@
#!/bin/bash -x
# This script creates a Docker image suitable for building x86 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.34.19-ca-jdk17.0.3-linux_i686.tar.gz
BOOT_JDK_SHA=1c35c374ba0001e675d6e80819d5be900c4e141636d5e484992a8c550be14481
BOOT_JDK_LOCAL_FILE=boot_jdk_x86.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr17env_x86 -f Dockerfile.x86 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -18,10 +18,12 @@ function getVersionProp() {
}
DISABLE_WARNINGS_AS_ERRORS=""
while getopts ":iw?" o; do
CONTINUOUS_INTEGRATION=""
while getopts ":iwc?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
w) DISABLE_WARNINGS_AS_ERRORS="--disable-warnings-as-errors" ;;
c) CONTINUOUS_INTEGRATION=1 ;;
esac
done
shift $((OPTIND-1))
@@ -38,8 +40,6 @@ architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jbr-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ",")
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
@@ -47,8 +47,15 @@ VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
tag_prefix="jbr-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "${tag_prefix}${JBSDK_VERSION}" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -V -f | tail -n 1 | tr -d ",")
JDK_BUILD_NUMBER=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
re='^[0-9]+$'
if ! [[ $JDK_BUILD_NUMBER =~ $re ]] ; then
echo "error: JDK_BUILD_NUMBER Not a number: $JDK_BUILD_NUMBER"
JDK_BUILD_NUMBER=1
fi
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."

View File

@@ -35,6 +35,7 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
--with-vulkan \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
@@ -140,7 +141,7 @@ JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
@@ -153,7 +154,7 @@ create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" ||
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?

View File

@@ -32,6 +32,13 @@ function do_configure {
--build=x86_64-unknown-linux-gnu \
--openjdk-target=x86_64-unknown-linux-gnu"
fi
if [ -n "${JCEF_BUILD_LEGACY:-}" ]; then
WITH_VULKAN=""
else
WITH_VULKAN="--with-vulkan"
fi
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
@@ -42,6 +49,7 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$WITH_VULKAN \
$LINUX_TARGET \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
@@ -94,7 +102,9 @@ function create_image_bundle {
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
if [ ! -n "${JCEF_BUILD_LEGACY:-}" ]; then
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
fi
echo Creating "$JBR".tar.gz ...
@@ -148,7 +158,7 @@ JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
@@ -161,7 +171,7 @@ create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" ||
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ]|| [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?

View File

@@ -12,6 +12,7 @@ set -x
#
source jb/project/tools/common/scripts/common.sh
ENABLE_CDS="no"
function do_configure {
linux32 bash configure \
@@ -24,7 +25,7 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
--enable-cds=$ENABLE_CDS \
$DISABLE_WARNINGS_AS_ERRORS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
@@ -51,7 +52,7 @@ function create_image_bundle {
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
__cds_opt="--generate-cds-archive"
[ "${ENABLE_CDS}" == "yes" ] && __cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}

View File

@@ -34,7 +34,23 @@ else
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
max_attempts=3
attempt=1
while [ $attempt -le $max_attempts ]; do
if "$JETSIGN_CLIENT" -log-format text -max-wait 1m -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"; then
break
else
if [ $attempt -eq $max_attempts ]; then
echo "Failed to sign after $max_attempts attempts"
exit 1
fi
echo "Attempt $attempt failed, retrying in 5 seconds..."
sleep 5
((attempt++))
fi
done
# SRE-1223 (Codesign removes execute bits in executable files) workaround
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
if isMacOsBinary "$pathSigned"; then

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<false/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<false/>
<key>com.apple.security.cs.disable-library-validation</key>
<false/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<false/>
</dict>
</plist>

View File

@@ -24,6 +24,25 @@ source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 17)}
XCODE_PATH=${XCODE_PATH:-}
if [ -d "$XCODE_PATH" ]; then
WITH_XCODE_PATH="--with-xcode-path=$XCODE_PATH"
else
if [ -z "${CONTINUOUS_INTEGRATION:-}" ]; then
WITH_XCODE_PATH=""
if [ -n "${XCODE_PATH}" ]; then
echo "XCode not found in the directory: ${XCODE_PATH}"
echo "default XCode will be used"
fi
else
if [ -z "${XCODE_PATH}" ]; then
echo "specify XCode via setting XCODE_PATH"
else
echo "XCode not found in the directory: ${XCODE_PATH}"
fi
do_exit 1
fi
fi
function do_configure {
sh configure \
@@ -42,6 +61,7 @@ function do_configure {
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_XCODE_PATH \
|| do_exit $?
}
@@ -136,9 +156,11 @@ JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
fi
jbr_name_postfix="_${bundle_type}"
else
@@ -151,7 +173,7 @@ create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" ||
# create sdk image bundle
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?

View File

@@ -30,11 +30,34 @@ trap "rm -f \"$PWD/tmp_key\"" INT EXIT RETURN
echo -n "${APPLE_PRIVATE_KEY}" > tmp_key
log "Notarizing $APP_PATH..."
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 | tee "notarytool.submit.out"
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 --wait| tee "notarytool.submit.out"
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h ||:
xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json ||:
xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}"
waitOutput=$(xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h)
if [ $? -ne 0 ]; then
log "Notarizing failed (wait command)"
echo "$waitOutput"
exit 1
else
echo "$waitOutput"
fi
logOutout=$(xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json)
if [ $? -ne 0 ]; then
log "Notarizing failed (log command)"
echo "$logOutout"
exit 1
else
echo "$logOutout"
fi
infoOUtput=$(xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}")
if [ $? -ne 0 ]; then
log "Notarizing failed (info command)"
echo "$infoOUtput"
exit 1
else
echo "$infoOUtput"
fi
log "Notarizing finished"

View File

@@ -43,18 +43,104 @@ find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/lib" "Contents/MacOS" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; do
"Contents/Home/lib" "Contents/MacOS"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing JCEF libraries and executables..."
if [ -d "$APPLICATION_PATH/Contents/Frameworks" ]; then
find "$APPLICATION_PATH/Contents/Frameworks" \
-type f \( -name "*.dylib" -o -perm +111 \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements_jcef.xml" {} \;
fi
log "Signing jmod files"
JMODS_DIR="$APPLICATION_PATH/Contents/Home/jmods"
JMOD_EXE="$BOOT_JDK/bin/jmod"
if [ -d "$JMODS_DIR" ]; then
log "processing jmods"
for jmod_file in "$JMODS_DIR"/*.jmod; do
log "Processing $jmod_file"
TMP_DIR="$JMODS_DIR/tmp"
rm -rf "$TMP_DIR"
mkdir "$TMP_DIR"
log "Unzipping $jmod_file"
$JMOD_EXE extract --dir "$TMP_DIR" "$jmod_file" >/dev/null
log "Signing dylibs in $TMP_DIR"
find "$TMP_DIR" \
-type f \( -name "*.dylib" -o -name "*.so" -o -perm +111 -o -name jarsigner -o -name jdeps -o -name jpackageapplauncher -o -name jspawnhelper -o -name jar -o -name javap -o -name jdeprscan -o -name jfr -o -name rmiregistry -o -name java -o -name jhsdb -o -name jstatd -o -name jstatd -o -name jpackage -o -name keytool -o -name jmod -o -name jlink -o -name jimage -o -name jstack -o -name jcmd -o -name jps -o -name jmap -o -name jstat -o -name jinfo -o -name jshell -o -name jwebserver -o -name javac -o -name serialver -o -name jrunscript -o -name jdb -o -name jconsole -o -name javadoc \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
log "Removing $jmod_file"
rm -f "$jmod_file"
cmd="$JMOD_EXE create --class-path $TMP_DIR/classes"
# Check each directory and add to the command if it exists
[ -d "$TMP_DIR/bin" ] && cmd="$cmd --cmds $TMP_DIR/bin"
[ -d "$TMP_DIR/conf" ] && cmd="$cmd --config $TMP_DIR/conf"
[ -d "$TMP_DIR/lib" ] && cmd="$cmd --libs $TMP_DIR/lib"
[ -d "$TMP_DIR/include" ] && cmd="$cmd --header-files $TMP_DIR/include"
[ -d "$TMP_DIR/legal" ] && cmd="$cmd --legal-notices $TMP_DIR/legal"
[ -d "$TMP_DIR/man" ] && cmd="$cmd --man-pages $TMP_DIR/man"
log "Creating jmod file"
log "$cmd"
# Add the output file
cmd="$cmd $jmod_file"
# Execute the command
eval $cmd
log "Removing $TMP_DIR"
rm -rf "$TMP_DIR"
done
log "Repack java.base.jmod with new hashes of modules"
hash_modules=$($JMOD_EXE describe $JMODS_DIR/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
TMP_DIR="$JMODS_DIR/tmp"
rm -rf "$TMP_DIR"
mkdir "$TMP_DIR"
jmod_file="$JMODS_DIR/java.base.jmod"
log "Unzipping $jmod_file"
$JMOD_EXE extract --dir "$TMP_DIR" "$jmod_file" >/dev/null
log "Removing java.base.jmod"
rm -f "$jmod_file"
cmd="$JMOD_EXE create --class-path $TMP_DIR/classes --hash-modules \"$hash_modules\" --module-path $JMODS_DIR"
# Check each directory and add to the command if it exists
[ -d "$TMP_DIR/bin" ] && cmd="$cmd --cmds $TMP_DIR/bin"
[ -d "$TMP_DIR/conf" ] && cmd="$cmd --config $TMP_DIR/conf"
[ -d "$TMP_DIR/lib" ] && cmd="$cmd --libs $TMP_DIR/lib"
[ -d "$TMP_DIR/include" ] && cmd="$cmd --header-files $TMP_DIR/include"
[ -d "$TMP_DIR/legal" ] && cmd="$cmd --legal-notices $TMP_DIR/legal"
[ -d "$TMP_DIR/man" ] && cmd="$cmd --man-pages $TMP_DIR/man"
log "Creating jmod file"
log "$cmd"
# Add the output file
cmd="$cmd $jmod_file"
# Execute the command
eval $cmd
log "Removing $TMP_DIR"
rm -rf "$TMP_DIR"
else
echo "Directory '$JMODS_DIR' does not exist. Skipping signing of jmod files."
fi
log "Signing libraries in jars in $APPLICATION_PATH"
# todo: add set -euo pipefail; into the inner sh -c
@@ -73,10 +159,7 @@ find "$APPLICATION_PATH" -name '*.jar' \
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec "$SIGN_UTILITY" --timestamp \
--force \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
-exec sh -c '"$1" --timestamp --force -v -s "$2" --options=runtime --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
@@ -91,16 +174,14 @@ for f in \
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing whole frameworks..."
# shellcheck disable=SC2043
if [ "$JB_SIGN" = true ]; then for f in \
"Contents/Frameworks/cef_server.app/Contents/Frameworks" "Contents/Home/Frameworks" "Contents/Frameworks"; do
"Contents/Frameworks/cef_server.app/Contents/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
do
@@ -109,7 +190,7 @@ if [ "$JB_SIGN" = true ]; then for f in \
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
--entitlements "$SCRIPT_DIR/entitlements_jcef.xml" tmp-to-sign.tar.gz || exit 1
rm -rf "$line"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
rm -f tmp-to-sign.tar.gz
@@ -118,16 +199,14 @@ if [ "$JB_SIGN" = true ]; then for f in \
done; fi
log "Checking framework signatures..."
for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
done
if [ -d "$APPLICATION_PATH/Contents/Frameworks" ]; then
find "$APPLICATION_PATH/Contents/Frameworks" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
log "Signing whole app..."
if [ "$JB_SIGN" = true ]; then
@@ -135,7 +214,7 @@ if [ "$JB_SIGN" = true ]; then
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz || exit 1
rm -rf "$APPLICATION_PATH"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
rm -f tmp-to-sign.tar.gz
@@ -143,7 +222,7 @@ else
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH"
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH" || exit 1
fi
BUILD_NAME="$(basename "$APPLICATION_PATH")"

View File

@@ -38,9 +38,6 @@ BUILD_NAME="$(ls "$EXPLODED")"
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
log "$INPUT_FILE extracted and removed"
@@ -108,9 +105,37 @@ set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH" ||:
xcrun stapler staple "$PKG_NAME" ||:
appStaplerOutput=$(xcrun stapler staple "$APPLICATION_PATH")
if [ $? -ne 0 ]; then
log "Stapling application failed"
echo "$appStaplerOutput"
exit 1
else
echo "$appStaplerOutput"
fi
log "Stapling package..."
pkgStaplerOutput=$(xcrun stapler staple "$PKG_NAME")
if [ $? -ne 0 ]; then
log "Stapling package failed"
echo "$pkgStaplerOutput"
exit 1
else
echo "$pkgStaplerOutput"
fi
# Verify stapling
log "Verifying stapling..."
if ! stapler validate "$APPLICATION_PATH"; then
log "Stapling verification failed for application"
exit 1
fi
if ! stapler validate "$PKG_NAME"; then
log "Stapling verification failed for package"
exit 1
fi
else
log "Notarization disabled"
log "Stapling disabled"
@@ -118,11 +143,6 @@ fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
fi
if [[ "$APPLICATION_PATH" != "$EXPLODED/$BUILD_NAME" ]]; then
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
else
@@ -133,4 +153,4 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"
log "Done"

View File

@@ -127,12 +127,13 @@ if [ $? -eq 0 ]; then
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not unchanged
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not unchanged
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
@@ -144,7 +145,7 @@ create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" ||
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?

View File

@@ -120,12 +120,13 @@ if [ $? -eq 0 ]; then
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
@@ -137,7 +138,7 @@ create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" ||
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?

View File

@@ -110,9 +110,11 @@ JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
fi
jbr_name_postfix="_${bundle_type}"
else

View File

@@ -29,8 +29,11 @@ function pack_jbr {
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""

View File

@@ -31,6 +31,9 @@ function pack_jbr {
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""

View File

@@ -27,6 +27,9 @@ function pack_jbr {
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""

View File

@@ -68,7 +68,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
-Duser.language=en -Duser.country=US \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
build.tools.classlist.HelloClasslist jdk/src/classes/build/tools/classlist/clear.classlist $(LOG_DEBUG)
$(GREP) -v HelloClasslist $@.raw > $@.interim
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedClassListFile=$@.interim -XX:SharedArchiveFile=$@.jsa \
@@ -79,7 +79,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
-Duser.language=en -Duser.country=US \
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
build.tools.classlist.HelloClasslist jdk/src/classes/build/tools/classlist/clear.classlist \
2> $(LINK_OPT_DIR)/stderr > $(JLI_TRACE_FILE) \
|| ( \
exitcode=$$? ; \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -743,8 +743,6 @@ define SetupRunJtregTestBody
# we may end up with a lot of JVM's
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $(AWK) 'BEGIN { print 25 / $$($1_JTREG_JOBS); }')
JTREG_TIMEOUT_FACTOR ?= 4
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
JTREG_TEST_THREAD_FACTORY ?=
@@ -832,6 +830,24 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$($1_JTREG_PROBLEM_LIST))
endif
JTREG_ALL_OPTIONS := $$(JTREG_JAVA_OPTIONS) $$(JTREG_VM_OPTIONS)
JTREG_AUTO_PROBLEM_LISTS :=
JTREG_AUTO_TIMEOUT_FACTOR := 4
ifneq ($$(findstring -Xcomp, $$(JTREG_ALL_OPTIONS)), )
JTREG_AUTO_PROBLEM_LISTS += ProblemList-Xcomp.txt
JTREG_AUTO_TIMEOUT_FACTOR := 10
endif
ifneq ($$(findstring -XX:+UseZGC, $$(JTREG_ALL_OPTIONS)), )
ifneq ($$(findstring -XX:-ZGenerational, $$(JTREG_ALL_OPTIONS)), )
JTREG_AUTO_PROBLEM_LISTS += ProblemList-zgc.txt
else
JTREG_AUTO_PROBLEM_LISTS += ProblemList-generational-zgc.txt
endif
endif
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
@@ -863,6 +879,18 @@ define SetupRunJtregTestBody
$$(eval $$(call SetupRunJtregTestCustom, $1))
# SetupRunJtregTestCustom might also adjust JTREG_AUTO_ variables
# so set the final results after setting values from custom setup
ifneq ($$(JTREG_AUTO_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
$$(JTREG_AUTO_PROBLEM_LISTS) \
$$(addprefix $$($1_TEST_ROOT)/, $$(JTREG_AUTO_PROBLEM_LISTS)) \
))
endif
JTREG_TIMEOUT_FACTOR ?= $$(JTREG_AUTO_TIMEOUT_FACTOR)
clean-outputdirs-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
$$(RM) -r $$($1_TEST_RESULTS_DIR)

View File

@@ -313,9 +313,11 @@ AC_OUTPUT
# After AC_OUTPUT, we need to do final work
CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK
BASIC_POST_CONFIG_OUTPUT
# Finally output some useful information to the user
HELP_PRINT_SUMMARY_AND_WARNINGS
CUSTOM_SUMMARY_AND_WARNINGS_HOOK
HELP_REPEAT_WARNINGS
# All output is done. Do the post-config output management.
BASIC_POST_CONFIG_OUTPUT

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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
@@ -835,6 +835,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# for all archs except arm and ppc, prevent gcc to omit frame pointer
$1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
fi
if test "x$FLAGS_CPU" = xppc64le; then
# Little endian machine uses ELFv2 ABI.
# Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=power8 -mtune=power8"
fi
fi
if test "x$OPENJDK_TARGET_OS" = xaix; then
$1_CFLAGS_CPU="-mcpu=pwr8"
@@ -862,15 +867,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_TOOLCHAIN_CFLAGS="${$1_GCC6_CFLAGS}"
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG],
PREFIX: $3,
IF_FALSE: [
NO_DELETE_NULL_POINTER_CHECKS_CFLAG=
]
)
$1_TOOLCHAIN_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG}"
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
@@ -1008,17 +1004,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# $2 - Prefix for compiler variables (either BUILD_ or nothing).
AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
[
# These flags are required for GCC 6 builds as undefined behavior in OpenJDK code
# runs afoul of the more aggressive versions of these optimizations.
# Notably, value range propagation now assumes that the this pointer of C++
# member functions is non-null.
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG],
PREFIX: $2, IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
# This flag is required for GCC 6 builds as undefined behavior in OpenJDK code
# runs afoul of the more aggressive versions of this optimization.
NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
$1_GCC6_CFLAGS="${NO_LIFETIME_DSE_CFLAG}"
])
AC_DEFUN_ONCE([FLAGS_SETUP_BRANCH_PROTECTION],

View File

@@ -525,9 +525,15 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
[
UTIL_ARG_WITH(NAME: additional-ubsan-checks, TYPE: string,
DEFAULT: [],
DESC: [Customizes the ubsan checks],
OPTIONAL: true)
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
# Silence them for now.
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment"
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment \
$ADDITIONAL_UBSAN_CHECKS"
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
UBSAN_LDFLAGS="$UBSAN_CHECKS"
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,

View File

@@ -70,6 +70,25 @@ AC_DEFUN_ONCE([LIB_SETUP_ALSA],
PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no])
fi
fi
if test "x$ALSA_FOUND" = xno; then
# If we have sysroot set, and no explicit library location is set,
# look at known locations in sysroot.
if test "x$SYSROOT" != "x" && test "x${with_alsa_lib}" == x; then
if test -f "$SYSROOT/usr/lib64/libasound.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
ALSA_LIBS="-L$SYSROOT/usr/lib64 -lasound"
ALSA_FOUND=yes
elif test -f "$SYSROOT/usr/lib/libasound.so"; then
ALSA_LIBS="-L$SYSROOT/usr/lib -lasound"
ALSA_FOUND=yes
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libasound.so"; then
ALSA_LIBS="-L$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI -lasound"
ALSA_FOUND=yes
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libasound.so"; then
ALSA_LIBS="-L$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI -lasound"
ALSA_FOUND=yes
fi
fi
fi
if test "x$ALSA_FOUND" = xno; then
AC_CHECK_HEADERS([alsa/asoundlib.h],
[

View File

@@ -127,7 +127,7 @@ AC_DEFUN_ONCE([LIB_SETUP_WAYLAND],
VULKAN_FOUND=no
if test "x${with_vulkan_include}" != x; then
AC_MSG_CHECKING([for vulkan.h])
AC_MSG_CHECKING([for ${with_vulkan_include}/vulkan/vulkan.h])
if test -s "${with_vulkan_include}/vulkan/vulkan.h"; then
VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -I${with_vulkan_include} -DVULKAN_ENABLED"
@@ -138,14 +138,15 @@ AC_DEFUN_ONCE([LIB_SETUP_WAYLAND],
fi
fi
if test "x$VULKAN_FOUND" = xno; then
# Check vulkan sdk location
AC_CHECK_HEADERS([$VULKAN_SDK/include/vulkan/vulkan.h],
[ VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -I${VULKAN_SDK}/include -DVULKAN_ENABLED"
],
[ VULKAN_FOUND=no; break ]
)
if test "x$VULKAN_FOUND" = xno && test "x${VULKAN_SDK}" != x; then
AC_MSG_CHECKING([for ${VULKAN_SDK}/include/vulkan/vulkan.h])
if test -s "${VULKAN_SDK}/include/vulkan/vulkan.h"; then
VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -I${VULKAN_SDK}/include -DVULKAN_ENABLED"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
fi
if test "x$VULKAN_FOUND" = xno; then

View File

@@ -71,9 +71,9 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
elif test -f "$SYSROOT/usr/lib/libX11.so"; then
x_libraries="$SYSROOT/usr/lib"
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI"
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI"
fi
fi
fi

View File

@@ -33,7 +33,6 @@ m4_include([lib-freetype.m4])
m4_include([lib-hsdis.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-wayland.m4])
@@ -53,8 +52,9 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
NEEDS_LIB_WAYLAND=false
SUPPORTS_LIB_VULKAN=false
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
# No X11 support needed when building headless only
NEEDS_LIB_X11=false
# All other instances need X11, even if building headless only, libawt still
# needs X11 headers.
NEEDS_LIB_X11=true
NEEDS_LIB_SPEECHD=false
NEEDS_LIB_WAYLAND=false
SUPPORTS_LIB_VULKAN=false
@@ -193,7 +193,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
ws2_32.lib winmm.lib version.lib psapi.lib"
ws2_32.lib winmm.lib version.lib psapi.lib Synchronization.lib"
fi
LIB_SETUP_JVM_LIBS(BUILD)
LIB_SETUP_JVM_LIBS(TARGET)

View File

@@ -449,6 +449,11 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
# Copyright (C) 2013 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# or look like
# gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3.8 2.32)
# Copyright (C) 2020 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
# Check that this is likely to be GCC.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Free Software Foundation" > /dev/null
@@ -462,7 +467,8 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/ *Copyright .*//'`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/^.* \(@<:@1-9@:>@<:@0-9@:>@*\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'`
$AWK -F ')' '{print [$]2}' | \
$AWK '{print [$]1}'`
elif test "x$TOOLCHAIN_TYPE" = xclang; then
# clang --version output typically looks like
# Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)

View File

@@ -289,6 +289,7 @@ ifeq ($(call isTargetOs, macosx), true)
$(CP) -fRP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
fi
if [ -n "`$(XATTR) -ls '$(call DecodeSpace, $@)'`" ]; then \
$(CHMOD) -h u+w '$(call DecodeSpace, $@)'; \
$(XATTR) -cs '$(call DecodeSpace, $@)'; \
fi
endef

View File

@@ -215,7 +215,21 @@ DEPENDENCY_TARGET_SED_PATTERN := \
# The fix-deps-file macro is used to adjust the contents of the generated make
# dependency files to contain paths compatible with make.
#
REWRITE_PATHS_RELATIVE = false
ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
REWRITE_PATHS_RELATIVE = true
endif
# CCACHE_BASEDIR needs fix-deps-file as makefiles use absolute filenames for
# object files while CCACHE_BASEDIR will make ccache relativize all paths for
# its compiler. The compiler then produces relative dependency files.
# make does not know a relative and absolute filename is the same so it will
# ignore such dependencies.
ifneq ($(CCACHE), )
REWRITE_PATHS_RELATIVE = true
endif
ifeq ($(REWRITE_PATHS_RELATIVE), true)
# Need to handle -I flags as both '-Ifoo' and '-I foo'.
MakeCommandRelative = \
$(CD) $(WORKSPACE_ROOT) && \

View File

@@ -56,22 +56,32 @@ define SetupTestFilesCompilationBody
$$(error There are duplicate test file names for $1: $$($1_DUPLICATED_NAMES))
endif
# Always include common test functionality
TEST_CFLAGS := -I$(TOPDIR)/test/lib/native
ifeq ($(TOOLCHAIN_TYPE), gcc)
TEST_CFLAGS += -fvisibility=hidden
TEST_LDFLAGS += -Wl,--exclude-libs,ALL
else ifeq ($(TOOLCHAIN_TYPE), clang)
TEST_CFLAGS += -fvisibility=hidden
endif
# The list to depend on starts out empty
$1 :=
ifeq ($$($1_TYPE), LIBRARY)
$1_PREFIX = lib
$1_OUTPUT_SUBDIR := lib
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN)
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB) $$(TEST_CFLAGS)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB) $$(TEST_CFLAGS)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(TEST_LDFLAGS) $$(call SET_SHARED_LIBRARY_ORIGIN)
$1_COMPILATION_TYPE := LIBRARY
$1_LOG_TYPE := library
else ifeq ($$($1_TYPE), PROGRAM)
$1_PREFIX = exe
$1_OUTPUT_SUBDIR := bin
$1_BASE_CFLAGS := $(CFLAGS_JDKEXE)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE)
$1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE)
$1_BASE_CFLAGS := $(CFLAGS_JDKEXE) $$(TEST_CFLAGS)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE) $$(TEST_CFLAGS)
$1_LDFLAGS := $(LDFLAGS_JDKEXE) $$(TEST_LDFLAGS) $(LDFLAGS_TESTEXE)
$1_COMPILATION_TYPE := EXECUTABLE
$1_LOG_TYPE := executable
else

View File

@@ -29,17 +29,17 @@ GTEST_VERSION=1.13.0
JTREG_VERSION=7.3.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz
LINUX_X64_BOOT_JDK_SHA256=fffa52c22d797b715a962e6c8d11ec7d79b90dd819b5bc51d62137ea4b22a340
MACOS_X64_BOOT_JDK_EXT=tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_mac_hotspot_21.0.3_9.tar.gz
MACOS_X64_BOOT_JDK_SHA256=f777103aab94330d14a29bd99f3a26d60abbab8e2c375cec9602746096721a7c
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_x64_linux_hotspot_21.0.6_7.tar.gz
LINUX_X64_BOOT_JDK_SHA256=a2650fba422283fbed20d936ce5d2a52906a5414ec17b2f7676dddb87201dbae
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
MACOS_AARCH64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.3_9.tar.gz
MACOS_AARCH64_BOOT_JDK_SHA256=b6be6a9568be83695ec6b7cb977f4902f7be47d74494c290bc2a5c3c951e254f
MACOS_AARCH64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.6_7.tar.gz
MACOS_AARCH64_BOOT_JDK_SHA256=4ef4083919126a3d93e603284b405c7493905497485a92b375f5d6c3e8f7e8f2
MACOS_X64_BOOT_JDK_EXT=tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_x64_mac_hotspot_21.0.6_7.tar.gz
MACOS_X64_BOOT_JDK_SHA256=7aacfc400078ad65b7c7de3ec75ff74bf5c2077d6740b350f85ae10be4f71e76
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_windows_hotspot_21.0.3_9.zip
WINDOWS_X64_BOOT_JDK_SHA256=c43a66cff7a403d56c5c5e1ff10d3d5f95961abf80f97f0e35380594909f0e4d
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_x64_windows_hotspot_21.0.6_7.zip
WINDOWS_X64_BOOT_JDK_SHA256=897c8eebb0f85a99ccecbd482ebae9a45d88c19d6077054f6529ebab49b6d259

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=21
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=4
DEFAULT_VERSION_UPDATE=7
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2024-07-16
DEFAULT_VERSION_DATE=2025-04-15
DEFAULT_VERSION_CLASSFILE_MAJOR=65 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11

View File

@@ -708,7 +708,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<territory type="BS">𞤄𞤢𞤸𞤢𞤥𞤢𞥄𞤧</territory>
<territory type="BT">𞤄𞤵𞥅𞤼𞤢𞥄𞤲</territory>
<territory type="BV">𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤄𞤵𞥅𞤾𞤫𞥅</territory>
<territory type="BW">𞤄𞤮𞤼𞤧𞤵𞤱𞤢𞥄𞤲𞤢</territory>
<territory type="BW">𞤄𞤮𞤼𞤧𞤵𞤱𞤢𞥄𞤲𞤢</territory>
<territory type="BY">𞤄𞤫𞤤𞤢𞤪𞤵𞥅𞤧</territory>
<territory type="BZ">𞤄𞤫𞤤𞤭𞥅𞥁</territory>
<territory type="CA">𞤑𞤢𞤲𞤢𞤣𞤢𞥄</territory>
@@ -8278,7 +8278,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<exemplarCity>𞤐𞤵𞥅𞤳</exemplarCity>
</zone>
<zone type="America/Scoresbysund">
<exemplarCity>𞤋𞤼𞥆𞤮𞤳𞤮𞤪𞤼𞤮𞥅𞤪𞤥𞤭𞥅𞤼</exemplarCity>
<exemplarCity>𞤋𞤼𞥆𞤮𞤳𞤮𞤪𞤼𞤮𞥅𞤪𞤥𞤭𞥅𞤼</exemplarCity>
</zone>
<zone type="America/Danmarkshavn">
<exemplarCity>𞤁𞤢𞥄𞤲𞤥𞤢𞤪𞤳𞥃𞤢𞥄𞤾𞤲</exemplarCity>

View File

@@ -44,7 +44,7 @@ rm -f *
fetchJar() {
url="${MAVEN_MIRROR}/$1/$2/$3/$2-$3.jar"
if command -v curl > /dev/null; then
curl -O --fail $url
curl -OL --fail $url
elif command -v wget > /dev/null; then
wget $url
else

View File

@@ -157,8 +157,13 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJVM, \
DISABLED_WARNINGS_gcc_ad_$(HOTSPOT_TARGET_CPU_ARCH).cpp := nonnull, \
DISABLED_WARNINGS_gcc_cgroupV1Subsystem_linux.cpp := address, \
DISABLED_WARNINGS_gcc_cgroupV2Subsystem_linux.cpp := address, \
DISABLED_WARNINGS_gcc_handshake.cpp := stringop-overflow, \
DISABLED_WARNINGS_gcc_interp_masm_x86.cpp := uninitialized, \
DISABLED_WARNINGS_gcc_jvmciCodeInstaller.cpp := stringop-overflow, \
DISABLED_WARNINGS_gcc_jvmtiTagMap.cpp := stringop-overflow, \
DISABLED_WARNINGS_gcc_postaloc.cpp := address, \
DISABLED_WARNINGS_gcc_shenandoahLock.cpp := stringop-overflow, \
DISABLED_WARNINGS_gcc_synchronizer.cpp := stringop-overflow, \
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
DISABLED_WARNINGS_clang_arguments.cpp := missing-field-initializers, \
DISABLED_WARNINGS_clang_codeBuffer.cpp := tautological-undefined-compare, \

View File

@@ -36,6 +36,8 @@ import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.net.InetAddress;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
@@ -153,6 +155,20 @@ public class HelloClasslist {
// an inconsistency in the classlist between builds (see JDK-8295951).
// To avoid the problem, load the class explicitly.
Class<?> striped64Class = Class.forName("java.util.concurrent.atomic.Striped64$Cell");
Files.lines(Path.of(args[0])).forEach(line -> {
if (line.isEmpty() || line.charAt(0) == '#') {
return;
}
try {
int index = line.indexOf(' ');
if (index <= 0) {
return;
}
String className = line.substring(0, index).replace('/', '.');
Class.forName(className);
} catch (Exception e) {
}
});
}
public HelloClasslist() {}

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -273,7 +273,7 @@ public final class TzdbZoneRulesCompiler {
// link version-region-rules
out.writeShort(builtZones.size());
for (Map.Entry<String, ZoneRules> entry : builtZones.entrySet()) {
int regionIndex = Arrays.binarySearch(regionArray, entry.getKey());
int regionIndex = findRegionIndex(regionArray, entry.getKey());
int rulesIndex = rulesList.indexOf(entry.getValue());
out.writeShort(regionIndex);
out.writeShort(rulesIndex);
@@ -281,8 +281,8 @@ public final class TzdbZoneRulesCompiler {
// alias-region
out.writeShort(links.size());
for (Map.Entry<String, String> entry : links.entrySet()) {
int aliasIndex = Arrays.binarySearch(regionArray, entry.getKey());
int regionIndex = Arrays.binarySearch(regionArray, entry.getValue());
int aliasIndex = findRegionIndex(regionArray, entry.getKey());
int regionIndex = findRegionIndex(regionArray, entry.getValue());
out.writeShort(aliasIndex);
out.writeShort(regionIndex);
}
@@ -294,6 +294,14 @@ public final class TzdbZoneRulesCompiler {
}
}
private static int findRegionIndex(String[] regionArray, String region) {
int index = Arrays.binarySearch(regionArray, region);
if (index < 0) {
throw new IllegalArgumentException("Unknown region: " + region);
}
return index;
}
/** Whether to output verbose messages. */
private boolean verbose;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 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
@@ -164,7 +164,8 @@ class TzdbZoneRulesProvider {
}
continue;
}
if (line.startsWith("Zone")) { // parse Zone line
int token0len = tokens.length > 0 ? tokens[0].length() : line.length();
if (line.regionMatches(true, 0, "Zone", 0, token0len)) { // parse Zone line
String name = tokens[1];
if (excludedZones.contains(name)){
continue;
@@ -182,13 +183,13 @@ class TzdbZoneRulesProvider {
if (zLine.parse(tokens, 2)) {
openZone = null;
}
} else if (line.startsWith("Rule")) { // parse Rule line
} else if (line.regionMatches(true, 0, "Rule", 0, token0len)) { // parse Rule line
String name = tokens[1];
if (!rules.containsKey(name)) {
rules.put(name, new ArrayList<RuleLine>(10));
}
rules.get(name).add(new RuleLine().parse(tokens));
} else if (line.startsWith("Link")) { // parse link line
} else if (line.regionMatches(true, 0, "Link", 0, token0len)) { // parse link line
if (tokens.length >= 3) {
String realId = tokens[1];
String aliasId = tokens[2];
@@ -304,7 +305,7 @@ class TzdbZoneRulesProvider {
month = parseMonth(tokens[off++]);
if (off < tokens.length) {
String dayRule = tokens[off++];
if (dayRule.startsWith("last")) {
if (dayRule.regionMatches(true, 0, "last", 0, 4)) {
dayOfMonth = -1;
dayOfWeek = parseDayOfWeek(dayRule.substring(4));
adjustForwards = false;
@@ -355,42 +356,45 @@ class TzdbZoneRulesProvider {
}
int parseYear(String year, int defaultYear) {
switch (year.toLowerCase()) {
case "min": return 1900;
case "max": return Year.MAX_VALUE;
case "only": return defaultYear;
}
int len = year.length();
if (year.regionMatches(true, 0, "minimum", 0, len)) return 1900;
if (year.regionMatches(true, 0, "maximum", 0, len)) return Year.MAX_VALUE;
if (year.regionMatches(true, 0, "only", 0, len)) return defaultYear;
return Integer.parseInt(year);
}
Month parseMonth(String mon) {
switch (mon) {
case "Jan": return Month.JANUARY;
case "Feb": return Month.FEBRUARY;
case "Mar": return Month.MARCH;
case "Apr": return Month.APRIL;
case "May": return Month.MAY;
case "Jun": return Month.JUNE;
case "Jul": return Month.JULY;
case "Aug": return Month.AUGUST;
case "Sep": return Month.SEPTEMBER;
case "Oct": return Month.OCTOBER;
case "Nov": return Month.NOVEMBER;
case "Dec": return Month.DECEMBER;
}
int len = mon.length();
if (mon.regionMatches(true, 0, "January", 0, len)) return Month.JANUARY;
if (mon.regionMatches(true, 0, "February", 0, len)) return Month.FEBRUARY;
if (mon.regionMatches(true, 0, "March", 0, len)) return Month.MARCH;
if (mon.regionMatches(true, 0, "April", 0, len)) return Month.APRIL;
if (mon.regionMatches(true, 0, "May", 0, len)) return Month.MAY;
if (mon.regionMatches(true, 0, "June", 0, len)) return Month.JUNE;
if (mon.regionMatches(true, 0, "July", 0, len)) return Month.JULY;
if (mon.regionMatches(true, 0, "August", 0, len)) return Month.AUGUST;
if (mon.regionMatches(true, 0, "September", 0, len)) return Month.SEPTEMBER;
if (mon.regionMatches(true, 0, "October", 0, len)) return Month.OCTOBER;
if (mon.regionMatches(true, 0, "November", 0, len)) return Month.NOVEMBER;
if (mon.regionMatches(true, 0, "December", 0, len)) return Month.DECEMBER;
throw new IllegalArgumentException("Unknown month: " + mon);
}
DayOfWeek parseDayOfWeek(String dow) {
switch (dow) {
case "Mon": return DayOfWeek.MONDAY;
case "Tue": return DayOfWeek.TUESDAY;
case "Wed": return DayOfWeek.WEDNESDAY;
case "Thu": return DayOfWeek.THURSDAY;
case "Fri": return DayOfWeek.FRIDAY;
case "Sat": return DayOfWeek.SATURDAY;
case "Sun": return DayOfWeek.SUNDAY;
}
int len = dow.length();
if (dow.regionMatches(true, 0, "Monday", 0, len)) return DayOfWeek.MONDAY;
if (dow.regionMatches(true, 0, "Tuesday", 0, len)) return DayOfWeek.TUESDAY;
if (dow.regionMatches(true, 0, "Wednesday", 0, len)) return DayOfWeek.WEDNESDAY;
if (dow.regionMatches(true, 0, "Thursday", 0, len)) return DayOfWeek.THURSDAY;
if (dow.regionMatches(true, 0, "Friday", 0, len)) return DayOfWeek.FRIDAY;
if (dow.regionMatches(true, 0, "Saturday", 0, len)) return DayOfWeek.SATURDAY;
if (dow.regionMatches(true, 0, "Sunday", 0, len)) return DayOfWeek.SUNDAY;
throw new IllegalArgumentException("Unknown day-of-week: " + dow);
}

View File

@@ -62,6 +62,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
ProcessImpl_md.c_CFLAGS := $(VERSION_CFLAGS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc_ProcessImpl_md.c := unused-result, \
DISABLED_WARNINGS_clang_jni_util.c := format-nonliteral, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \

View File

@@ -340,6 +340,13 @@ ifeq ($(call isTargetOs, windows macosx), false)
DISABLED_WARNINGS_gcc_XToolkit.c := unused-result, \
DISABLED_WARNINGS_gcc_XWindow.c := unused-function, \
DISABLED_WARNINGS_gcc_keycode_cache.c := unused-function, \
DISABLED_WARNINGS_clang_awt_Taskbar.c := parentheses, \
DISABLED_WARNINGS_clang_gtk2_interface.c := parentheses, \
DISABLED_WARNINGS_clang_gtk3_interface.c := parentheses, \
DISABLED_WARNINGS_clang_OGLBufImgOps.c := format-nonliteral, \
DISABLED_WARNINGS_clang_OGLPaints.c := format-nonliteral, \
DISABLED_WARNINGS_clang_screencast_pipewire.c := format-nonliteral, \
DISABLED_WARNINGS_clang_sun_awt_X11_GtkFileDialogPeer.c := parentheses, \
DISABLED_WARNINGS_clang_aix := deprecated-non-prototype, \
DISABLED_WARNINGS_clang_aix_awt_Taskbar.c := parentheses, \
DISABLED_WARNINGS_clang_aix_OGLPaints.c := format-nonliteral, \
@@ -660,7 +667,10 @@ else
endif
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
# hb-subset and hb-style APIs are not needed, excluded to cut on compilation time.
LIBFONTMANAGER_EXCLUDE_FILES += hb-ft.cc hb-subset-cff-common.cc \
hb-subset-cff1.cc hb-subset-cff2.cc hb-subset-input.cc hb-subset-plan.cc \
hb-subset.cc hb-subset-instancer-solver.cc gsubgpos-context.cc hb-style.cc
# list of disabled warnings and the compilers for which it was specifically added.
# array-bounds -> GCC 12 on Alpine Linux

View File

@@ -33,6 +33,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2GSS, \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := undef, \
DISABLED_WARNINGS_clang_aix := undef, \
DISABLED_WARNINGS_clang := undef, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBDL), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 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
@@ -61,6 +61,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
OPTIMIZATION := HIGH, \
DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_gcc_ps_core.c := pointer-arith, \
DISABLED_WARNINGS_clang_ps_core.c := pointer-arith, \
DISABLED_WARNINGS_clang := sign-compare, \
DISABLED_WARNINGS_clang_libproc_impl.c := format-nonliteral, \
DISABLED_WARNINGS_clang_sadis.c := format-nonliteral, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 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
@@ -65,6 +65,8 @@ $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \
INCLUDE_FILES := $(JPACKAGE_APPLAUNCHER_INCLUDE_FILES), \
TOOLCHAIN := $(JPACKAGE_APPLAUNCHER_TOOLCHAIN), \
OPTIMIZATION := LOW, \
DISABLED_WARNINGS_clang_LinuxPackage.c := format-nonliteral, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
CXXFLAGS := $(call JpackageWithStaticCrt, $(CXXFLAGS_JDKEXE)) \
$(JPACKAGE_APPLAUNCHER_INCLUDES), \
CFLAGS := $(call JpackageWithStaticCrt, $(CFLAGS_JDKEXE)) \
@@ -103,6 +105,8 @@ ifeq ($(call isTargetOs, linux), true)
EXCLUDE_FILES := LinuxLauncher.c LinuxPackage.c, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_tstrings.cpp := format-nonliteral, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
LDFLAGS := $(LDFLAGS_JDKLIB), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 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
@@ -44,6 +44,7 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
NAME := management_ext, \
OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \
DISABLED_WARNINGS_clang_UnixOperatingSystem.c := format-nonliteral, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 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
@@ -660,7 +660,7 @@ public class GenerateJfrFiles {
out.write("");
out.write("union JfrNativeSettings {");
out.write(" // Array version.");
out.write(" jfrNativeEventSetting bits[NUMBER_OF_EVENTS];");
out.write(" jfrNativeEventSetting bits[NUMBER_OF_EVENTS + NUMBER_OF_RESERVED_EVENTS];");
out.write(" // Then, to make it easy to debug,");
out.write(" // add named struct members also.");
out.write(" struct {");

View File

@@ -80,6 +80,10 @@ IMAGES_TARGETS += $(COPY_FH)
# Use JTREG_TEST_OPTS for test VM options
# Use JTREG_TESTS for jtreg tests parameter
#
# Most likely you want to select a specific test from test/failure_handler/test
# and manually inspect the results. This target does not actually verify
# anything about the failure_handler's output or even if it ran at all.
#
RUN_DIR := $(FH_SUPPORT)/test
test:

View File

@@ -858,6 +858,7 @@ ifeq ($(call isTargetOs, linux), true)
BUILD_TEST_exeinvoke_exeinvoke.c_OPTIMIZATION := NONE
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeFPRegs := -ldl
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libAsyncGetCallTraceTest := -ldl
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libfast-math := -ffast-math
else
BUILD_HOTSPOT_JTREG_EXCLUDE += libtest-rw.c libtest-rwx.c \
exeinvoke.c exestack-gap.c exestack-tls.c libAsyncGetCallTraceTest.cpp
@@ -867,7 +868,7 @@ BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
ifeq ($(call isTargetOs, windows), true)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libMonitorWithDeadObjectTest.c libTestPsig.c libnativeStack.c exeGetCreatedJavaVMs.c
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libMonitorWithDeadObjectTest.c libTestPsig.c libnativeStack.c exeGetCreatedJavaVMs.c libTestUnloadedClass.cpp
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exedaemonDestroy := jvm.lib
else
@@ -1510,9 +1511,10 @@ else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCompleteExit += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMonitorWithDeadObjectTest += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libnativeStack += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libTestUnloadedClass += -lpthread
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeGetCreatedJavaVMs := -ljvm -lpthread
BUILD_HOTSPOT_JTREG_EXCLUDE += libNativeException.c
BUILD_HOTSPOT_JTREG_EXCLUDE += libNativeException.c exeGetProcessorInfo.c
endif
ifeq ($(ASAN_ENABLED), true)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 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
@@ -53,8 +53,6 @@ BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeJliLaunchTest := \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli
TEST_LIB_NATIVE_SRC := $(TOPDIR)/test/lib/native
# Platform specific setup
ifeq ($(call isTargetOs, windows), true)
BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c \
@@ -69,20 +67,14 @@ ifeq ($(call isTargetOs, windows), true)
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerTest := $(LIBCXX) jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exerevokeall := advapi32.lib
BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeNullCallerTest := /EHsc
# java.lang.foreign tests
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncStackWalk := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLinkerInvokerUnnamed := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLinkerInvokerModule := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLoaderLookupInvoker := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncInvokers := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTracePinnedThreads := jvm.lib
BUILD_JDK_JTREG_LIBRARIES_LIBS_libNewDirectByteBuffer := $(WIN_LIB_JAVA)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libGetXSpace := $(WIN_LIB_JAVA)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libFatalErrorTest := $(WIN_LIB_JAVA)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libLogEventTest := $(WIN_LIB_JAVA)
else
BUILD_JDK_JTREG_LIBRARIES_LIBS_libFatalErrorTest := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libLogEventTest := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libNewDirectByteBuffer := -ljava
@@ -90,15 +82,10 @@ else
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libNativeThread := -pthread
# java.lang.foreign tests
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncStackWalk := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libAsyncStackWalk := -pthread
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncInvokers := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libAsyncInvokers := -pthread
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLinkerInvokerUnnamed := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libLinkerInvokerUnnamed := -pthread
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLinkerInvokerModule := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libLinkerInvokerModule := -pthread
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libLoaderLookupInvoker := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libLoaderLookupInvoker := -pthread
BUILD_JDK_JTREG_LIBRARIES_LIBS_libExplicitAttach := -ljvm
@@ -122,11 +109,14 @@ ifeq ($(call isTargetOs, macosx), true)
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJniInvocationTest := -ljli
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestDynamicStore := \
-framework Cocoa -framework SystemConfiguration
BUILD_JDK_JTREG_LIBRARIES_LIBS_libSharedTexturesTest := \
-framework Cocoa -framework Metal
else
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.m
BUILD_JDK_JTREG_EXCLUDE += libTestDynamicStore.m
BUILD_JDK_JTREG_EXCLUDE += exeJniInvocationTest.c
BUILD_JDK_JTREG_EXCLUDE += exeLibraryCache.c
BUILD_JDK_JTREG_EXCLUDE += libSharedTexturesTest.m
endif
ifeq ($(OPENJDK_TARGET_OS), windows)

View File

@@ -694,6 +694,11 @@ reg_class no_special_ptr_reg %{
return _NO_SPECIAL_PTR_REG_mask;
%}
// Class for all non_special pointer registers (excluding rfp)
reg_class no_special_no_rfp_ptr_reg %{
return _NO_SPECIAL_NO_RFP_PTR_REG_mask;
%}
// Class for all float registers
reg_class float_reg(
V0,
@@ -1125,6 +1130,7 @@ extern RegMask _PTR_REG_mask;
extern RegMask _NO_SPECIAL_REG32_mask;
extern RegMask _NO_SPECIAL_REG_mask;
extern RegMask _NO_SPECIAL_PTR_REG_mask;
extern RegMask _NO_SPECIAL_NO_RFP_PTR_REG_mask;
class CallStubImpl {
@@ -1213,6 +1219,7 @@ source %{
RegMask _NO_SPECIAL_REG32_mask;
RegMask _NO_SPECIAL_REG_mask;
RegMask _NO_SPECIAL_PTR_REG_mask;
RegMask _NO_SPECIAL_NO_RFP_PTR_REG_mask;
void reg_mask_init() {
// We derive below RegMask(s) from the ones which are auto-generated from
@@ -1249,6 +1256,9 @@ source %{
_NO_SPECIAL_REG_mask.Remove(OptoReg::as_OptoReg(r29->as_VMReg()));
_NO_SPECIAL_PTR_REG_mask.Remove(OptoReg::as_OptoReg(r29->as_VMReg()));
}
_NO_SPECIAL_NO_RFP_PTR_REG_mask = _NO_SPECIAL_PTR_REG_mask;
_NO_SPECIAL_NO_RFP_PTR_REG_mask.Remove(OptoReg::as_OptoReg(r29->as_VMReg()));
}
// Optimizaton of volatile gets and puts
@@ -1721,8 +1731,8 @@ void MachPrologNode::format(PhaseRegAlloc *ra_, outputStream *st) const {
st->print("# stack bang size=%d\n\t", framesize);
if (VM_Version::use_rop_protection()) {
st->print("ldr zr, [lr]\n\t");
st->print("pacia lr, rfp\n\t");
st->print("ldr zr, [lr]\n\t");
st->print("paciaz\n\t");
}
if (framesize < ((1 << 9) + 2 * wordSize)) {
st->print("sub sp, sp, #%d\n\t", framesize);
@@ -1851,8 +1861,8 @@ void MachEpilogNode::format(PhaseRegAlloc *ra_, outputStream *st) const {
st->print("ldp lr, rfp, [sp],#%d\n\t", (2 * wordSize));
}
if (VM_Version::use_rop_protection()) {
st->print("autia lr, rfp\n\t");
st->print("ldr zr, [lr]\n\t");
st->print("autiaz\n\t");
st->print("ldr zr, [lr]\n\t");
}
if (do_polling() && C->is_method_compilation()) {
@@ -4885,6 +4895,18 @@ operand iRegPNoSp()
interface(REG_INTER);
%}
// This operand is not allowed to use rfp even if
// rfp is not used to hold the frame pointer.
operand iRegPNoSpNoRfp()
%{
constraint(ALLOC_IN_RC(no_special_no_rfp_ptr_reg));
match(RegP);
match(iRegPNoSp);
op_cost(0);
format %{ %}
interface(REG_INTER);
%}
// Pointer 64 bit Register R0 only
operand iRegP_R0()
%{
@@ -16562,7 +16584,9 @@ instruct CallLeafNoFPDirect(method meth)
// Also known as an 'interprocedural jump'.
// Target of jump will eventually return to caller.
// TailJump below removes the return address.
instruct TailCalljmpInd(iRegPNoSp jump_target, inline_cache_RegP method_ptr)
// Don't use rfp for 'jump_target' because a MachEpilogNode has already been
// emitted just above the TailCall which has reset rfp to the caller state.
instruct TailCalljmpInd(iRegPNoSpNoRfp jump_target, inline_cache_RegP method_ptr)
%{
match(TailCall jump_target method_ptr);
@@ -16575,7 +16599,7 @@ instruct TailCalljmpInd(iRegPNoSp jump_target, inline_cache_RegP method_ptr)
ins_pipe(pipe_class_call);
%}
instruct TailjmpInd(iRegPNoSp jump_target, iRegP_R0 ex_oop)
instruct TailjmpInd(iRegPNoSpNoRfp jump_target, iRegP_R0 ex_oop)
%{
match(TailJump jump_target ex_oop);
@@ -17150,6 +17174,32 @@ instruct array_equalsC(iRegP_R1 ary1, iRegP_R2 ary2, iRegI_R0 result,
ins_pipe(pipe_class_memory);
%}
instruct arrays_hashcode(iRegP_R1 ary, iRegI_R2 cnt, iRegI_R0 result, immI basic_type,
vRegD_V0 vtmp0, vRegD_V1 vtmp1, vRegD_V2 vtmp2, vRegD_V3 vtmp3,
vRegD_V4 vtmp4, vRegD_V5 vtmp5, vRegD_V6 vtmp6, vRegD_V7 vtmp7,
vRegD_V12 vtmp8, vRegD_V13 vtmp9, rFlagsReg cr)
%{
match(Set result (VectorizedHashCode (Binary ary cnt) (Binary result basic_type)));
effect(TEMP vtmp0, TEMP vtmp1, TEMP vtmp2, TEMP vtmp3, TEMP vtmp4, TEMP vtmp5, TEMP vtmp6,
TEMP vtmp7, TEMP vtmp8, TEMP vtmp9, USE_KILL ary, USE_KILL cnt, USE basic_type, KILL cr);
format %{ "Array HashCode array[] $ary,$cnt,$result,$basic_type -> $result // KILL all" %}
ins_encode %{
address tpc = __ arrays_hashcode($ary$$Register, $cnt$$Register, $result$$Register,
$vtmp3$$FloatRegister, $vtmp2$$FloatRegister,
$vtmp1$$FloatRegister, $vtmp0$$FloatRegister,
$vtmp4$$FloatRegister, $vtmp5$$FloatRegister,
$vtmp6$$FloatRegister, $vtmp7$$FloatRegister,
$vtmp8$$FloatRegister, $vtmp9$$FloatRegister,
(BasicType)$basic_type$$constant);
if (tpc == nullptr) {
ciEnv::current()->record_failure("CodeCache is full");
return;
}
%}
ins_pipe(pipe_class_memory);
%}
instruct count_positives(iRegP_R1 ary1, iRegI_R2 len, iRegI_R0 result, rFlagsReg cr)
%{
match(Set result (CountPositives ary1 len));

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2024, 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
@@ -286,6 +286,11 @@ public:
f(r->raw_encoding(), lsb + 4, lsb);
}
//<0-15>reg: As `rf(FloatRegister)`, but only the lower 16 FloatRegisters are allowed.
void lrf(FloatRegister r, int lsb) {
f(r->raw_encoding(), lsb + 3, lsb);
}
void prf(PRegister r, int lsb) {
f(r->raw_encoding(), lsb + 3, lsb);
}
@@ -573,7 +578,7 @@ class Address {
if (size == 0) // It's a byte
i->f(ext().shift() >= 0, 12);
else {
assert(ext().shift() <= 0 || ext().shift() == (int)size, "bad shift");
guarantee(ext().shift() <= 0 || ext().shift() == (int)size, "bad shift");
i->f(ext().shift() > 0, 12);
}
i->f(0b10, 11, 10);
@@ -763,6 +768,7 @@ public:
#define f current_insn.f
#define sf current_insn.sf
#define rf current_insn.rf
#define lrf current_insn.lrf
#define srf current_insn.srf
#define zrf current_insn.zrf
#define prf current_insn.prf
@@ -1088,8 +1094,8 @@ public:
#undef INSN
// we only provide mrs and msr for the special purpose system
// registers where op1 (instr[20:19]) == 11 and, (currently) only
// use it for FPSR n.b msr has L (instr[21]) == 0 mrs has L == 1
// registers where op1 (instr[20:19]) == 11
// n.b msr has L (instr[21]) == 0 mrs has L == 1
void msr(int op1, int CRn, int CRm, int op2, Register rt) {
starti;
@@ -1588,6 +1594,16 @@ public:
#undef INSN
// Load/store a register, but with a BasicType parameter. Loaded signed integer values are
// extended to 64 bits.
void load(Register Rt, const Address &adr, BasicType bt) {
int op = (is_signed_subword_type(bt) || bt == T_INT) ? 0b10 : 0b01;
ld_st2(Rt, adr, exact_log2(type2aelembytes(bt)), op);
}
void store(Register Rt, const Address &adr, BasicType bt) {
ld_st2(Rt, adr, exact_log2(type2aelembytes(bt)), 0b00);
}
/* SIMD extensions
*
* We just use FloatRegister in the following. They are exactly the same
@@ -2606,6 +2622,7 @@ template<typename R, typename... Rx>
INSN(addpv, 0, 0b101111, true); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(smullv, 0, 0b110000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(umullv, 1, 0b110000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(smlalv, 0, 0b100000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(umlalv, 1, 0b100000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(maxv, 0, 0b011001, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(minv, 0, 0b011011, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
@@ -2878,6 +2895,28 @@ template<typename R, typename... Rx>
// FMULX - Vector - Scalar
INSN(fmulxvs, 1, 0b1001);
#undef INSN
#define INSN(NAME, op1, op2) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm, int index) { \
starti; \
assert(T == T4H || T == T8H || T == T2S || T == T4S, "invalid arrangement"); \
assert(index >= 0 && \
((T == T2S && index <= 1) || (T != T2S && index <= 3) || (T == T8H && index <= 7)), \
"invalid index"); \
assert((T != T4H && T != T8H) || Vm->encoding() < 16, "invalid source SIMD&FP register"); \
f(0, 31), f((int)T & 1, 30), f(op1, 29), f(0b01111, 28, 24); \
if (T == T4H || T == T8H) { \
f(0b01, 23, 22), f(index & 0b11, 21, 20), lrf(Vm, 16), f(index >> 2 & 1, 11); \
} else { \
f(0b10, 23, 22), f(index & 1, 21), rf(Vm, 16), f(index >> 1, 11); \
} \
f(op2, 15, 12), f(0, 10), rf(Vn, 5), rf(Vd, 0); \
}
// MUL - Vector - Scalar
INSN(mulvs, 0, 0b1000);
#undef INSN
// Floating-point Reciprocal Estimate
@@ -3041,6 +3080,33 @@ public:
umov(Xd, Vn, T, index);
}
protected:
void _xaddwv(bool is_unsigned, FloatRegister Vd, FloatRegister Vn, SIMD_Arrangement Ta,
FloatRegister Vm, SIMD_Arrangement Tb) {
starti;
assert((Tb >> 1) + 1 == (Ta >> 1), "Incompatible arrangement");
f(0, 31), f((int)Tb & 1, 30), f(is_unsigned ? 1 : 0, 29), f(0b01110, 28, 24);
f((int)(Ta >> 1) - 1, 23, 22), f(1, 21), rf(Vm, 16), f(0b000100, 15, 10), rf(Vn, 5), rf(Vd, 0);
}
public:
#define INSN(NAME, assertion, is_unsigned) \
void NAME(FloatRegister Vd, FloatRegister Vn, SIMD_Arrangement Ta, FloatRegister Vm, \
SIMD_Arrangement Tb) { \
assert((assertion), "invalid arrangement"); \
_xaddwv(is_unsigned, Vd, Vn, Ta, Vm, Tb); \
}
public:
INSN(uaddwv, Tb == T8B || Tb == T4H || Tb == T2S, /*is_unsigned*/true)
INSN(uaddwv2, Tb == T16B || Tb == T8H || Tb == T4S, /*is_unsigned*/true)
INSN(saddwv, Tb == T8B || Tb == T4H || Tb == T2S, /*is_unsigned*/false)
INSN(saddwv2, Tb == T16B || Tb == T8H || Tb == T4S, /*is_unsigned*/false)
#undef INSN
private:
void _pmull(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, FloatRegister Vm, SIMD_Arrangement Tb) {
starti;

View File

@@ -385,7 +385,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
// load issuing PC (the return address for this stub) into r3
__ ldr(exception_pc, Address(rfp, 1*BytesPerWord));
__ authenticate_return_address(exception_pc, rscratch1);
__ authenticate_return_address(exception_pc);
// make sure that the vm_results are cleared (may be unnecessary)
__ str(zr, Address(rthread, JavaThread::vm_result_offset()));
@@ -434,7 +434,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
__ str(exception_pc, Address(rthread, JavaThread::exception_pc_offset()));
// patch throwing pc into return address (has bci & oop map)
__ protect_return_address(exception_pc, rscratch1);
__ protect_return_address(exception_pc);
__ str(exception_pc, Address(rfp, 1*BytesPerWord));
// compute the exception handler.
@@ -450,7 +450,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
__ invalidate_registers(false, true, true, true, true, true);
// patch the return address, this stub will directly return to the exception handler
__ protect_return_address(r0, rscratch1);
__ protect_return_address(r0);
__ str(r0, Address(rfp, 1*BytesPerWord));
switch (id) {

View File

@@ -32,6 +32,7 @@
#include "opto/output.hpp"
#include "opto/subnode.hpp"
#include "runtime/stubRoutines.hpp"
#include "utilities/powerOfTwo.hpp"
#ifdef PRODUCT
#define BLOCK_COMMENT(str) /* nothing */
@@ -45,6 +46,101 @@
typedef void (MacroAssembler::* chr_insn)(Register Rt, const Address &adr);
// jdk.internal.util.ArraysSupport.vectorizedHashCode
address C2_MacroAssembler::arrays_hashcode(Register ary, Register cnt, Register result,
FloatRegister vdata0, FloatRegister vdata1,
FloatRegister vdata2, FloatRegister vdata3,
FloatRegister vmul0, FloatRegister vmul1,
FloatRegister vmul2, FloatRegister vmul3,
FloatRegister vpow, FloatRegister vpowm,
BasicType eltype) {
ARRAYS_HASHCODE_REGISTERS;
Register tmp1 = rscratch1, tmp2 = rscratch2;
Label TAIL, STUB_SWITCH, STUB_SWITCH_OUT, LOOP, BR_BASE, LARGE, DONE;
// Vectorization factor. Number of array elements loaded to one SIMD&FP registers by the stubs. We
// use 8H load arrangements for chars and shorts and 8B for booleans and bytes. It's possible to
// use 4H for chars and shorts instead, but using 8H gives better performance.
const size_t vf = eltype == T_BOOLEAN || eltype == T_BYTE ? 8
: eltype == T_CHAR || eltype == T_SHORT ? 8
: eltype == T_INT ? 4
: 0;
guarantee(vf, "unsupported eltype");
// Unroll factor for the scalar loop below. The value is chosen based on performance analysis.
const size_t unroll_factor = 4;
switch (eltype) {
case T_BOOLEAN:
BLOCK_COMMENT("arrays_hashcode(unsigned byte) {");
break;
case T_CHAR:
BLOCK_COMMENT("arrays_hashcode(char) {");
break;
case T_BYTE:
BLOCK_COMMENT("arrays_hashcode(byte) {");
break;
case T_SHORT:
BLOCK_COMMENT("arrays_hashcode(short) {");
break;
case T_INT:
BLOCK_COMMENT("arrays_hashcode(int) {");
break;
default:
ShouldNotReachHere();
}
// large_arrays_hashcode(T_INT) performs worse than the scalar loop below when the Neon loop
// implemented by the stub executes just once. Call the stub only if at least two iterations will
// be executed.
const size_t large_threshold = eltype == T_INT ? vf * 2 : vf;
cmpw(cnt, large_threshold);
br(Assembler::HS, LARGE);
bind(TAIL);
// The andr performs cnt % uf where uf = unroll_factor. The subtract shifted by 3 offsets past
// uf - (cnt % uf) pairs of load + madd insns i.e. it only executes cnt % uf load + madd pairs.
// Iteration eats up the remainder, uf elements at a time.
assert(is_power_of_2(unroll_factor), "can't use this value to calculate the jump target PC");
andr(tmp2, cnt, unroll_factor - 1);
adr(tmp1, BR_BASE);
sub(tmp1, tmp1, tmp2, ext::sxtw, 3);
movw(tmp2, 0x1f);
br(tmp1);
bind(LOOP);
for (size_t i = 0; i < unroll_factor; ++i) {
load(tmp1, Address(post(ary, type2aelembytes(eltype))), eltype);
maddw(result, result, tmp2, tmp1);
}
bind(BR_BASE);
subsw(cnt, cnt, unroll_factor);
br(Assembler::HS, LOOP);
b(DONE);
bind(LARGE);
RuntimeAddress stub = RuntimeAddress(StubRoutines::aarch64::large_arrays_hashcode(eltype));
assert(stub.target() != nullptr, "array_hashcode stub has not been generated");
address tpc = trampoline_call(stub);
if (tpc == nullptr) {
DEBUG_ONLY(reset_labels(TAIL, BR_BASE));
postcond(pc() == badAddress);
return nullptr;
}
bind(DONE);
BLOCK_COMMENT("} // arrays_hashcode");
postcond(pc() != badAddress);
return pc();
}
void C2_MacroAssembler::fast_lock(Register objectReg, Register boxReg, Register tmpReg,
Register tmp2Reg, Register tmp3Reg) {
Register oop = objectReg;
@@ -117,7 +213,7 @@ void C2_MacroAssembler::fast_lock(Register objectReg, Register boxReg, Register
// Try to CAS m->owner from NULL to current thread.
add(tmp, disp_hdr, (in_bytes(ObjectMonitor::owner_offset())-markWord::monitor_value));
cmpxchg(tmp, zr, rthread, Assembler::xword, /*acquire*/ true,
/*release*/ true, /*weak*/ false, rscratch1); // Sets flags for result
/*release*/ true, /*weak*/ false, tmp3Reg); // Sets flags for result
if (LockingMode != LM_LIGHTWEIGHT) {
// Store a non-null value into the box to avoid looking like a re-entrant
@@ -129,7 +225,7 @@ void C2_MacroAssembler::fast_lock(Register objectReg, Register boxReg, Register
}
br(Assembler::EQ, cont); // CAS success means locking succeeded
cmp(rscratch1, rthread);
cmp(tmp3Reg, rthread);
br(Assembler::NE, cont); // Check for recursive locking
// Recursive lock case

View File

@@ -35,6 +35,13 @@
enum shift_kind kind = Assembler::LSL, unsigned shift = 0);
public:
// jdk.internal.util.ArraysSupport.vectorizedHashCode
address arrays_hashcode(Register ary, Register cnt, Register result, FloatRegister vdata0,
FloatRegister vdata1, FloatRegister vdata2, FloatRegister vdata3,
FloatRegister vmul0, FloatRegister vmul1, FloatRegister vmul2,
FloatRegister vmul3, FloatRegister vpow, FloatRegister vpowm,
BasicType eltype);
// Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
// See full description in macroAssembler_aarch64.cpp.
void fast_lock(Register object, Register box, Register tmp, Register tmp2, Register tmp3);

View File

@@ -62,7 +62,7 @@ inline frame FreezeBase::sender(const frame& f) {
intptr_t** link_addr = link_address<FKind>(f);
intptr_t* sender_sp = (intptr_t*)(link_addr + frame::sender_sp_offset); // f.unextended_sp() + (fsize/wordSize); //
address sender_pc = (address) *(sender_sp-1);
address sender_pc = ContinuationHelper::return_address_at(sender_sp - 1);
assert(sender_sp != f.sp(), "must have changed");
int slot = 0;
@@ -217,7 +217,7 @@ template<typename FKind> frame ThawBase::new_stack_frame(const frame& hf, frame&
intptr_t* heap_sp = hf.unextended_sp();
// If caller is interpreted it already made room for the callee arguments
int overlap = caller.is_interpreted_frame() ? ContinuationHelper::InterpretedFrame::stack_argsize(hf) : 0;
const int fsize = ContinuationHelper::InterpretedFrame::frame_bottom(hf) - hf.unextended_sp() - overlap;
const int fsize = (int)(ContinuationHelper::InterpretedFrame::frame_bottom(hf) - hf.unextended_sp() - overlap);
const int locals = hf.interpreter_frame_method()->max_locals();
intptr_t* frame_sp = caller.unextended_sp() - fsize;
intptr_t* fp = frame_sp + (hf.fp() - heap_sp);

View File

@@ -68,6 +68,17 @@ inline void ContinuationHelper::push_pd(const frame& f) {
*(intptr_t**)(f.sp() - frame::sender_sp_offset) = f.fp();
}
#define CPU_OVERRIDES_RETURN_ADDRESS_ACCESSORS
inline address ContinuationHelper::return_address_at(intptr_t* sp) {
return pauth_strip_verifiable(*(address*)sp);
}
inline void ContinuationHelper::patch_return_address_at(intptr_t* sp,
address pc) {
*(address*)sp = pauth_sign_return_address(pc);
}
inline void ContinuationHelper::set_anchor_to_entry_pd(JavaFrameAnchor* anchor, ContinuationEntry* entry) {
anchor->set_last_Java_fp(entry->entry_fp());
}
@@ -80,7 +91,8 @@ inline void ContinuationHelper::set_anchor_pd(JavaFrameAnchor* anchor, intptr_t*
inline bool ContinuationHelper::Frame::assert_frame_laid_out(frame f) {
intptr_t* sp = f.sp();
address pc = *(address*)(sp - frame::sender_sp_ret_address_offset());
address pc = ContinuationHelper::return_address_at(
sp - frame::sender_sp_ret_address_offset());
intptr_t* fp = *(intptr_t**)(sp - frame::sender_sp_offset);
assert(f.raw_pc() == pc, "f.ra_pc: " INTPTR_FORMAT " actual: " INTPTR_FORMAT, p2i(f.raw_pc()), p2i(pc));
assert(f.fp() == fp, "f.fp: " INTPTR_FORMAT " actual: " INTPTR_FORMAT, p2i(f.fp()), p2i(fp));
@@ -108,13 +120,14 @@ inline void ContinuationHelper::InterpretedFrame::patch_sender_sp(frame& f, cons
}
inline address ContinuationHelper::Frame::real_pc(const frame& f) {
// Always used in assertions. Just strip it.
address* pc_addr = &(((address*) f.sp())[-1]);
return *pc_addr;
return pauth_strip_pointer(*pc_addr);
}
inline void ContinuationHelper::Frame::patch_pc(const frame& f, address pc) {
address* pc_addr = &(((address*) f.sp())[-1]);
*pc_addr = pc;
*pc_addr = pauth_sign_return_address(pc);
}
inline intptr_t* ContinuationHelper::InterpretedFrame::frame_top(const frame& f, InterpreterOopMap* mask) { // inclusive; this will be copied with the frame

View File

@@ -269,6 +269,9 @@ void DowncallStubGenerator::generate() {
Label L_reguard;
Label L_after_reguard;
if (_needs_transition) {
// Restore cpu control state after JNI call
__ restore_cpu_control_state_after_jni(rscratch1, tmp1);
__ mov(tmp1, _thread_in_native_trans);
__ strw(tmp1, Address(rthread, JavaThread::thread_state_offset()));

View File

@@ -139,8 +139,7 @@ bool frame::safe_for_sender(JavaThread *thread) {
sender_sp = (intptr_t*) addr_at(sender_sp_offset);
sender_unextended_sp = (intptr_t*) this->fp()[interpreter_frame_sender_sp_offset];
saved_fp = (intptr_t*) this->fp()[link_offset];
sender_pc = pauth_strip_verifiable((address) this->fp()[return_addr_offset], (address)saved_fp);
sender_pc = pauth_strip_verifiable((address) this->fp()[return_addr_offset]);
} else {
// must be some sort of compiled/runtime frame
// fp does not have to be safe (although it could be check for c1?)
@@ -158,7 +157,9 @@ bool frame::safe_for_sender(JavaThread *thread) {
sender_unextended_sp = sender_sp;
// Note: frame::sender_sp_offset is only valid for compiled frame
saved_fp = (intptr_t*) *(sender_sp - frame::sender_sp_offset);
sender_pc = pauth_strip_verifiable((address) *(sender_sp-1), (address)saved_fp);
// Note: PAC authentication may fail in case broken frame is passed in.
// Just strip it for now.
sender_pc = pauth_strip_pointer((address) *(sender_sp - 1));
}
if (Continuation::is_return_barrier_entry(sender_pc)) {
@@ -276,9 +277,8 @@ bool frame::safe_for_sender(JavaThread *thread) {
void frame::patch_pc(Thread* thread, address pc) {
assert(_cb == CodeCache::find_blob(pc), "unexpected pc");
address* pc_addr = &(((address*) sp())[-1]);
address signing_sp = (((address*) sp())[-2]);
address signed_pc = pauth_sign_return_address(pc, (address)signing_sp);
address pc_old = pauth_strip_verifiable(*pc_addr, (address)signing_sp);
address signed_pc = pauth_sign_return_address(pc);
address pc_old = pauth_strip_verifiable(*pc_addr);
if (TracePcPatching) {
tty->print("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
@@ -472,8 +472,9 @@ frame frame::sender_for_interpreter_frame(RegisterMap* map) const {
}
#endif // COMPILER2_OR_JVMCI
// For ROP protection, Interpreter will have signed the sender_pc, but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable(sender_pc_maybe_signed(), (address)link());
// For ROP protection, Interpreter will have signed the sender_pc,
// but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable(sender_pc_maybe_signed());
if (Continuation::is_return_barrier_entry(sender_pc)) {
if (map->walk_cont()) { // about to walk into an h-stack

View File

@@ -93,7 +93,7 @@
// Entry frames
// n.b. these values are determined by the layout defined in
// stubGenerator for the Java call stub
entry_frame_after_call_words = 27,
entry_frame_after_call_words = 29,
entry_frame_call_wrapper_offset = -8,
// we don't need a save area

View File

@@ -152,7 +152,10 @@ inline frame::frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address
setup(pc);
}
inline frame::frame(intptr_t* sp) : frame(sp, sp, *(intptr_t**)(sp - frame::sender_sp_offset), *(address*)(sp - 1)) {}
inline frame::frame(intptr_t* sp)
: frame(sp, sp,
*(intptr_t**)(sp - frame::sender_sp_offset),
pauth_strip_verifiable(*(address*)(sp - 1))) {}
inline frame::frame(intptr_t* sp, intptr_t* fp) {
intptr_t a = intptr_t(sp);
@@ -233,13 +236,13 @@ inline intptr_t* frame::real_fp() const {
inline int frame::frame_size() const {
return is_interpreted_frame()
? sender_sp() - sp()
? pointer_delta_as_int(sender_sp(), sp())
: cb()->frame_size();
}
inline int frame::compiled_frame_stack_argsize() const {
assert(cb()->is_compiled(), "");
return (cb()->as_compiled_method()->method()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord;
return (cb()->as_nmethod()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord;
}
inline void frame::interpreted_frame_oop_map(InterpreterOopMap* mask) const {
@@ -416,9 +419,10 @@ inline frame frame::sender_for_compiled_frame(RegisterMap* map) const {
: sender_sp();
assert(!_sp_is_trusted || l_sender_sp == real_fp(), "");
// the return_address is always the word on the stack
// For ROP protection, C1/C2 will have signed the sender_pc, but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable((address) *(l_sender_sp-1), (address) *(l_sender_sp-2));
// The return_address is always the word on the stack.
// For ROP protection, C1/C2 will have signed the sender_pc,
// but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable((address) *(l_sender_sp - 1));
intptr_t** saved_fp_addr = (intptr_t**) (l_sender_sp - frame::sender_sp_offset);

View File

@@ -38,7 +38,7 @@
// Default value if probing is not implemented for a certain platform
// Max address bit is restricted by implicit assumptions in the code, for instance
// the bit layout of XForwardingEntry or Partial array entry (see XMarkStackEntry) in mark stack
// the bit layout of ZForwardingEntry or Partial array entry (see ZMarkStackEntry) in mark stack
static const size_t DEFAULT_MAX_ADDRESS_BIT = 46;
// Minimum value returned, if probing fail
static const size_t MINIMUM_MAX_ADDRESS_BIT = 36;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -72,4 +72,6 @@ const bool CCallingConventionRequiresIntsAsLongs = false;
#define USE_POINTERS_TO_REGISTER_IMPL_ARRAY
#define USE_TRAMPOLINE_STUB_FIX_OWNER
#endif // CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP

View File

@@ -1197,6 +1197,110 @@ void MacroAssembler::lookup_interface_method(Register recv_klass,
}
}
// Look up the method for a megamorphic invokeinterface call in a single pass over itable:
// - check recv_klass (actual object class) is a subtype of resolved_klass from CompiledICHolder
// - find a holder_klass (class that implements the method) vtable offset and get the method from vtable by index
// The target method is determined by <holder_klass, itable_index>.
// The receiver klass is in recv_klass.
// On success, the result will be in method_result, and execution falls through.
// On failure, execution transfers to the given label.
void MacroAssembler::lookup_interface_method_stub(Register recv_klass,
Register holder_klass,
Register resolved_klass,
Register method_result,
Register temp_itbl_klass,
Register scan_temp,
int itable_index,
Label& L_no_such_interface) {
// 'method_result' is only used as output register at the very end of this method.
// Until then we can reuse it as 'holder_offset'.
Register holder_offset = method_result;
assert_different_registers(resolved_klass, recv_klass, holder_klass, temp_itbl_klass, scan_temp, holder_offset);
int vtable_start_offset = in_bytes(Klass::vtable_start_offset());
int itable_offset_entry_size = itableOffsetEntry::size() * wordSize;
int ioffset = in_bytes(itableOffsetEntry::interface_offset());
int ooffset = in_bytes(itableOffsetEntry::offset_offset());
Label L_loop_search_resolved_entry, L_resolved_found, L_holder_found;
ldrw(scan_temp, Address(recv_klass, Klass::vtable_length_offset()));
add(recv_klass, recv_klass, vtable_start_offset + ioffset);
// itableOffsetEntry[] itable = recv_klass + Klass::vtable_start_offset() + sizeof(vtableEntry) * recv_klass->_vtable_len;
// temp_itbl_klass = itable[0]._interface;
int vtblEntrySize = vtableEntry::size_in_bytes();
assert(vtblEntrySize == wordSize, "ldr lsl shift amount must be 3");
ldr(temp_itbl_klass, Address(recv_klass, scan_temp, Address::lsl(exact_log2(vtblEntrySize))));
mov(holder_offset, zr);
// scan_temp = &(itable[0]._interface)
lea(scan_temp, Address(recv_klass, scan_temp, Address::lsl(exact_log2(vtblEntrySize))));
// Initial checks:
// - if (holder_klass != resolved_klass), go to "scan for resolved"
// - if (itable[0] == holder_klass), shortcut to "holder found"
// - if (itable[0] == 0), no such interface
cmp(resolved_klass, holder_klass);
br(Assembler::NE, L_loop_search_resolved_entry);
cmp(holder_klass, temp_itbl_klass);
br(Assembler::EQ, L_holder_found);
cbz(temp_itbl_klass, L_no_such_interface);
// Loop: Look for holder_klass record in itable
// do {
// temp_itbl_klass = *(scan_temp += itable_offset_entry_size);
// if (temp_itbl_klass == holder_klass) {
// goto L_holder_found; // Found!
// }
// } while (temp_itbl_klass != 0);
// goto L_no_such_interface // Not found.
Label L_search_holder;
bind(L_search_holder);
ldr(temp_itbl_klass, Address(pre(scan_temp, itable_offset_entry_size)));
cmp(holder_klass, temp_itbl_klass);
br(Assembler::EQ, L_holder_found);
cbnz(temp_itbl_klass, L_search_holder);
b(L_no_such_interface);
// Loop: Look for resolved_class record in itable
// while (true) {
// temp_itbl_klass = *(scan_temp += itable_offset_entry_size);
// if (temp_itbl_klass == 0) {
// goto L_no_such_interface;
// }
// if (temp_itbl_klass == resolved_klass) {
// goto L_resolved_found; // Found!
// }
// if (temp_itbl_klass == holder_klass) {
// holder_offset = scan_temp;
// }
// }
//
Label L_loop_search_resolved;
bind(L_loop_search_resolved);
ldr(temp_itbl_klass, Address(pre(scan_temp, itable_offset_entry_size)));
bind(L_loop_search_resolved_entry);
cbz(temp_itbl_klass, L_no_such_interface);
cmp(resolved_klass, temp_itbl_klass);
br(Assembler::EQ, L_resolved_found);
cmp(holder_klass, temp_itbl_klass);
br(Assembler::NE, L_loop_search_resolved);
mov(holder_offset, scan_temp);
b(L_loop_search_resolved);
// See if we already have a holder klass. If not, go and scan for it.
bind(L_resolved_found);
cbz(holder_offset, L_search_holder);
mov(scan_temp, holder_offset);
// Finally, scan_temp contains holder_klass vtable offset
bind(L_holder_found);
ldrw(method_result, Address(scan_temp, ooffset - ioffset));
add(recv_klass, recv_klass, itable_index * wordSize + in_bytes(itableMethodEntry::method_offset())
- vtable_start_offset - ioffset); // substract offsets to restore the original value of recv_klass
ldr(method_result, Address(recv_klass, method_result, Address::uxtw(0)));
}
// virtual method calling
void MacroAssembler::lookup_virtual_method(Register recv_klass,
RegisterOrConstant vtable_index,
@@ -1404,11 +1508,7 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
}
#ifndef PRODUCT
mov(rscratch2, (address)&SharedRuntime::_partial_subtype_ctr);
Address pst_counter_addr(rscratch2);
ldr(rscratch1, pst_counter_addr);
add(rscratch1, rscratch1, 1);
str(rscratch1, pst_counter_addr);
incrementw(ExternalAddress((address)&SharedRuntime::_partial_subtype_ctr));
#endif //PRODUCT
// We will consult the secondary-super array.
@@ -4335,6 +4435,23 @@ void MacroAssembler::load_klass(Register dst, Register src) {
}
}
void MacroAssembler::restore_cpu_control_state_after_jni(Register tmp1, Register tmp2) {
if (RestoreMXCSROnJNICalls) {
Label OK;
get_fpcr(tmp1);
mov(tmp2, tmp1);
// Set FPCR to the state we need. We do want Round to Nearest. We
// don't want non-IEEE rounding modes or floating-point traps.
bfi(tmp1, zr, 22, 4); // Clear DN, FZ, and Rmode
bfi(tmp1, zr, 8, 5); // Clear exception-control bits (8-12)
bfi(tmp1, zr, 0, 2); // Clear AH:FIZ
eor(tmp2, tmp1, tmp2);
cbz(tmp2, OK); // Only reset FPCR if it's wrong
set_fpcr(tmp1);
bind(OK);
}
}
// ((OopHandle)result).resolve();
void MacroAssembler::resolve_oop_handle(Register result, Register tmp1, Register tmp2) {
// OopHandle::resolve is an indirection.
@@ -5978,51 +6095,43 @@ void MacroAssembler::leave() {
// For more details on PAC see pauth_aarch64.hpp.
// Sign the LR. Use during construction of a stack frame, before storing the LR to memory.
// Uses the FP as the modifier.
// Uses value zero as the modifier.
//
void MacroAssembler::protect_return_address() {
if (VM_Version::use_rop_protection()) {
check_return_address();
// The standard convention for C code is to use paciasp, which uses SP as the modifier. This
// works because in C code, FP and SP match on function entry. In the JDK, SP and FP may not
// match, so instead explicitly use the FP.
pacia(lr, rfp);
paciaz();
}
}
// Sign the return value in the given register. Use before updating the LR in the existing stack
// frame for the current function.
// Uses the FP from the start of the function as the modifier - which is stored at the address of
// the current FP.
// Uses value zero as the modifier.
//
void MacroAssembler::protect_return_address(Register return_reg, Register temp_reg) {
void MacroAssembler::protect_return_address(Register return_reg) {
if (VM_Version::use_rop_protection()) {
assert(PreserveFramePointer, "PreserveFramePointer must be set for ROP protection");
check_return_address(return_reg);
ldr(temp_reg, Address(rfp));
pacia(return_reg, temp_reg);
paciza(return_reg);
}
}
// Authenticate the LR. Use before function return, after restoring FP and loading LR from memory.
// Uses value zero as the modifier.
//
void MacroAssembler::authenticate_return_address(Register return_reg) {
void MacroAssembler::authenticate_return_address() {
if (VM_Version::use_rop_protection()) {
autia(return_reg, rfp);
check_return_address(return_reg);
autiaz();
check_return_address();
}
}
// Authenticate the return value in the given register. Use before updating the LR in the existing
// stack frame for the current function.
// Uses the FP from the start of the function as the modifier - which is stored at the address of
// the current FP.
// Uses value zero as the modifier.
//
void MacroAssembler::authenticate_return_address(Register return_reg, Register temp_reg) {
void MacroAssembler::authenticate_return_address(Register return_reg) {
if (VM_Version::use_rop_protection()) {
assert(PreserveFramePointer, "PreserveFramePointer must be set for ROP protection");
ldr(temp_reg, Address(rfp));
autia(return_reg, temp_reg);
autiza(return_reg);
check_return_address(return_reg);
}
}

View File

@@ -570,6 +570,19 @@ public:
msr(0b011, 0b0100, 0b0100, 0b001, zr);
}
// FPCR : op1 == 011
// CRn == 0100
// CRm == 0100
// op2 == 000
inline void get_fpcr(Register reg) {
mrs(0b11, 0b0100, 0b0100, 0b000, reg);
}
inline void set_fpcr(Register reg) {
msr(0b011, 0b0100, 0b0100, 0b000, reg);
}
// DCZID_EL0: op1 == 011
// CRn == 0000
// CRm == 0000
@@ -716,9 +729,9 @@ public:
// ROP Protection
void protect_return_address();
void protect_return_address(Register return_reg, Register temp_reg);
void authenticate_return_address(Register return_reg = lr);
void authenticate_return_address(Register return_reg, Register temp_reg);
void protect_return_address(Register return_reg);
void authenticate_return_address();
void authenticate_return_address(Register return_reg);
void strip_return_address();
void check_return_address(Register return_reg=lr) PRODUCT_RETURN;
@@ -942,6 +955,15 @@ public:
Label& no_such_interface,
bool return_method = true);
void lookup_interface_method_stub(Register recv_klass,
Register holder_klass,
Register resolved_klass,
Register method_result,
Register temp_reg,
Register temp_reg2,
int itable_index,
Label& L_no_such_interface);
// virtual method calling
// n.b. x86 allows RegisterOrConstant for vtable_index
void lookup_virtual_method(Register recv_klass,
@@ -1024,8 +1046,8 @@ public:
#define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
#define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
// only if +VerifyFPU
void verify_FPU(int stack_depth, const char* s = "illegal FPU state");
// Restore cpu control state after JNI call
void restore_cpu_control_state_after_jni(Register tmp1, Register tmp2);
// prints msg, dumps registers and stops execution
void stop(const char* msg);
@@ -1376,6 +1398,24 @@ public:
address arrays_equals(Register a1, Register a2, Register result, Register cnt1,
Register tmp1, Register tmp2, Register tmp3, int elem_size);
// Ensure that the inline code and the stub use the same registers.
#define ARRAYS_HASHCODE_REGISTERS \
do { \
assert(result == r0 && \
ary == r1 && \
cnt == r2 && \
vdata0 == v3 && \
vdata1 == v2 && \
vdata2 == v1 && \
vdata3 == v0 && \
vmul0 == v4 && \
vmul1 == v5 && \
vmul2 == v6 && \
vmul3 == v7 && \
vpow == v12 && \
vpowm == v13, "registers must match aarch64.ad"); \
} while (0)
void string_equals(Register a1, Register a2, Register result, Register cnt1,
int elem_size);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -27,6 +27,7 @@
#include "asm/macroAssembler.hpp"
#include "classfile/javaClasses.inline.hpp"
#include "classfile/vmClasses.hpp"
#include "compiler/disassembler.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp"
#include "memory/allocation.inline.hpp"
@@ -36,7 +37,7 @@
#include "runtime/frame.inline.hpp"
#include "runtime/stubRoutines.hpp"
#define __ _masm->
#define __ Disassembler::hook<MacroAssembler>(__FILE__, __LINE__, _masm)->
#ifdef PRODUCT
#define BLOCK_COMMENT(str) /* nothing */

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2023, 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.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -28,7 +28,6 @@
#include "code/codeCache.hpp"
#include "code/compiledIC.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "memory/resourceArea.hpp"
#include "nativeInst_aarch64.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/handles.hpp"
@@ -159,13 +158,18 @@ void NativeGotJump::verify() const {
}
address NativeCall::destination() const {
address addr = (address)this;
address destination = instruction_address() + displacement();
address addr = instruction_address();
address destination = addr + displacement();
// Performance optimization: no need to call find_blob() if it is a self-call
if (destination == addr) {
return destination;
}
// Do we use a trampoline stub for this call?
CodeBlob* cb = CodeCache::find_blob(addr);
assert(cb && cb->is_nmethod(), "sanity");
nmethod *nm = (nmethod *)cb;
assert(cb != nullptr && cb->is_nmethod(), "nmethod expected");
nmethod *nm = cb->as_nmethod();
if (nm->stub_contains(destination) && is_NativeCallTrampolineStub_at(destination)) {
// Yes we do, so get the destination from the trampoline stub.
const address trampoline_stub_addr = destination;
@@ -180,17 +184,11 @@ address NativeCall::destination() const {
// call instruction at all times.
//
// Used in the runtime linkage of calls; see class CompiledIC.
//
// Add parameter assert_lock to switch off assertion
// during code generation, where no patching lock is needed.
void NativeCall::set_destination_mt_safe(address dest, bool assert_lock) {
assert(!assert_lock ||
(Patching_lock->is_locked() || SafepointSynchronize::is_at_safepoint()) ||
void NativeCall::set_destination_mt_safe(address dest) {
assert((CodeCache_lock->is_locked() || SafepointSynchronize::is_at_safepoint()) ||
CompiledICLocker::is_safe(addr_at(0)),
"concurrent code patching");
ResourceMark rm;
int code_size = NativeInstruction::instruction_size;
address addr_call = addr_at(0);
bool reachable = Assembler::reachable_from_branch_at(addr_call, dest);
assert(NativeCall::is_call_at(addr_call), "unexpected code at call site");
@@ -214,22 +212,18 @@ void NativeCall::set_destination_mt_safe(address dest, bool assert_lock) {
}
address NativeCall::get_trampoline() {
address call_addr = addr_at(0);
address call_addr = instruction_address();
CodeBlob *code = CodeCache::find_blob(call_addr);
assert(code != nullptr, "Could not find the containing code blob");
assert(code != nullptr && code->is_nmethod(), "nmethod expected");
nmethod* nm = code->as_nmethod();
address bl_destination
= MacroAssembler::pd_call_destination(call_addr);
if (code->contains(bl_destination) &&
address bl_destination = call_addr + displacement();
if (nm->stub_contains(bl_destination) &&
is_NativeCallTrampolineStub_at(bl_destination))
return bl_destination;
if (code->is_nmethod()) {
return trampoline_stub_Relocation::get_trampoline_for(call_addr, (nmethod*)code);
}
return nullptr;
return trampoline_stub_Relocation::get_trampoline_for(call_addr, nm);
}
// Inserts a native call instruction at a given pc

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2023, 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.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -212,6 +212,7 @@ public:
int displacement() const { return (int_at(displacement_offset) << 6) >> 4; }
address displacement_address() const { return addr_at(displacement_offset); }
address return_address() const { return addr_at(return_address_offset); }
address raw_destination() const { return instruction_address() + displacement(); }
address destination() const;
void set_destination(address dest) {
@@ -251,9 +252,7 @@ public:
//
// Used in the runtime linkage of calls; see class CompiledIC.
// (Cf. 4506997 and 4479829, where threads witnessed garbage displacements.)
// The parameter assert_lock disables the assertion during code generation.
void set_destination_mt_safe(address dest, bool assert_lock = true);
void set_destination_mt_safe(address dest);
address get_trampoline();
#if INCLUDE_JVMCI

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, 2022, Arm Limited. All rights reserved.
* Copyright (c) 2021, 2023, Arm Limited. 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
@@ -77,9 +77,9 @@ inline bool pauth_ptr_is_raw(address ptr) {
// Strip a return value (same as pauth_strip_pointer). When debug is enabled then authenticate
// instead.
//
inline address pauth_strip_verifiable(address ret_addr, address modifier) {
inline address pauth_strip_verifiable(address ret_addr) {
if (VM_Version::use_rop_protection()) {
DEBUG_ONLY(ret_addr = pauth_authenticate_return_address(ret_addr, modifier);)
DEBUG_ONLY(ret_addr = pauth_authenticate_return_address(ret_addr);)
NOT_DEBUG(ret_addr = pauth_strip_pointer(ret_addr));
}
return ret_addr;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -52,7 +52,7 @@ class Register {
public:
// accessors
constexpr int raw_encoding() const { return this - first(); }
constexpr int raw_encoding() const { return checked_cast<int>(this - first()); }
constexpr int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
constexpr bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
@@ -165,7 +165,13 @@ class FloatRegister {
max_slots_per_register = 4,
save_slots_per_register = 2,
slots_per_neon_register = 4,
extra_save_slots_per_neon_register = slots_per_neon_register - save_slots_per_register
extra_save_slots_per_neon_register = slots_per_neon_register - save_slots_per_register,
neon_vl = 16,
// VLmax: The maximum sve vector length is determined by the hardware
// sve_vl_min <= VLmax <= sve_vl_max.
sve_vl_min = 16,
// Maximum supported vector length across all CPUs
sve_vl_max = 256
};
class FloatRegisterImpl: public AbstractRegisterImpl {
@@ -175,7 +181,7 @@ class FloatRegister {
public:
// accessors
constexpr int raw_encoding() const { return this - first(); }
constexpr int raw_encoding() const { return checked_cast<int>(this - first()); }
constexpr int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
constexpr bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
@@ -308,7 +314,7 @@ public:
public:
// accessors
int raw_encoding() const { return this - first(); }
int raw_encoding() const { return checked_cast<int>(this - first()); }
int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
bool is_governing() const { return 0 <= raw_encoding() && raw_encoding() < number_of_governing_registers; }

View File

@@ -60,13 +60,12 @@ void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
address Relocation::pd_call_destination(address orig_addr) {
assert(is_call(), "should be a call here");
if (NativeCall::is_call_at(addr())) {
address trampoline = nativeCall_at(addr())->get_trampoline();
if (trampoline) {
return nativeCallTrampolineStub_at(trampoline)->destination();
if (orig_addr == nullptr) {
if (NativeCall::is_call_at(addr())) {
NativeCall* call = nativeCall_at(addr());
return call->destination();
}
}
if (orig_addr != nullptr) {
} else {
address new_addr = MacroAssembler::pd_call_destination(orig_addr);
// If call is branch to self, don't try to relocate it, just leave it
// as branch to self. This happens during code generation if the code
@@ -82,16 +81,26 @@ address Relocation::pd_call_destination(address orig_addr) {
void Relocation::pd_set_call_destination(address x) {
assert(is_call(), "should be a call here");
if (NativeCall::is_call_at(addr())) {
address trampoline = nativeCall_at(addr())->get_trampoline();
if (trampoline) {
nativeCall_at(addr())->set_destination_mt_safe(x, /* assert_lock */false);
return;
}
NativeCall* call = nativeCall_at(addr());
call->set_destination(x);
} else {
MacroAssembler::pd_patch_instruction(addr(), x);
}
MacroAssembler::pd_patch_instruction(addr(), x);
assert(pd_call_destination(addr()) == x, "fail in reloc");
}
void trampoline_stub_Relocation::pd_fix_owner_after_move() {
NativeCall* call = nativeCall_at(owner());
assert(call->raw_destination() == owner(), "destination should be empty");
address trampoline = addr();
address dest = nativeCallTrampolineStub_at(trampoline)->destination();
if (!Assembler::reachable_from_branch_at(owner(), dest)) {
dest = trampoline;
}
call->set_destination(dest);
}
address* Relocation::pd_address_in_code() {
return (address*)(addr() + 8);
}

View File

@@ -394,7 +394,7 @@ static void patch_callers_callsite(MacroAssembler *masm) {
__ mov(c_rarg0, rmethod);
__ mov(c_rarg1, lr);
__ authenticate_return_address(c_rarg1, rscratch1);
__ authenticate_return_address(c_rarg1);
__ lea(rscratch1, RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::fixup_callers_callsite)));
__ blr(rscratch1);
@@ -1171,6 +1171,7 @@ static void gen_continuation_enter(MacroAssembler* masm,
continuation_enter_cleanup(masm);
__ ldr(c_rarg1, Address(rfp, wordSize)); // return address
__ authenticate_return_address(c_rarg1);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), rthread, c_rarg1);
// see OptoRuntime::generate_exception_blob: r0 -- exception oop, r3 -- exception pc
@@ -1844,6 +1845,9 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
intptr_t return_pc = (intptr_t) __ pc();
oop_maps->add_gc_map(return_pc - start, map);
// Verify or restore cpu control state after JNI call
__ restore_cpu_control_state_after_jni(rscratch1, rscratch2);
// Unpack native results.
switch (ret_type) {
case T_BOOLEAN: __ c2bool(r0); break;
@@ -2337,7 +2341,7 @@ void SharedRuntime::generate_deopt_blob() {
// load throwing pc from JavaThread and patch it as the return address
// of the current frame. Then clear the field in JavaThread
__ ldr(r3, Address(rthread, JavaThread::exception_pc_offset()));
__ protect_return_address(r3, rscratch1);
__ protect_return_address(r3);
__ str(r3, Address(rfp, wordSize));
__ str(zr, Address(rthread, JavaThread::exception_pc_offset()));
@@ -2443,9 +2447,7 @@ void SharedRuntime::generate_deopt_blob() {
__ ldrw(r2, Address(r5, Deoptimization::UnrollBlock::size_of_deoptimized_frame_offset()));
__ sub(r2, r2, 2 * wordSize);
__ add(sp, sp, r2);
__ ldp(rfp, lr, __ post(sp, 2 * wordSize));
__ authenticate_return_address();
// LR should now be the return address to the caller (3)
__ ldp(rfp, zr, __ post(sp, 2 * wordSize));
#ifdef ASSERT
// Compilers generate code that bang the stack by as much as the
@@ -2660,9 +2662,7 @@ void SharedRuntime::generate_uncommon_trap_blob() {
size_of_deoptimized_frame_offset()));
__ sub(r2, r2, 2 * wordSize);
__ add(sp, sp, r2);
__ ldp(rfp, lr, __ post(sp, 2 * wordSize));
__ authenticate_return_address();
// LR should now be the return address to the caller (3) frame
__ ldp(rfp, zr, __ post(sp, 2 * wordSize));
#ifdef ASSERT
// Compilers generate code that bang the stack by as much as the
@@ -2808,7 +2808,7 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t
// it later to determine if someone changed the return address for
// us!
__ ldr(r20, Address(rthread, JavaThread::saved_exception_pc_offset()));
__ protect_return_address(r20, rscratch1);
__ protect_return_address(r20);
__ str(r20, Address(rfp, wordSize));
}
@@ -2849,7 +2849,7 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t
__ ldr(rscratch1, Address(rfp, wordSize));
__ cmp(r20, rscratch1);
__ br(Assembler::NE, no_adjust);
__ authenticate_return_address(r20, rscratch1);
__ authenticate_return_address(r20);
#ifdef ASSERT
// Verify the correct encoding of the poll we're about to skip.
@@ -2864,7 +2864,7 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t
#endif
// Adjust return pc forward to step over the safepoint poll instruction
__ add(r20, r20, NativeInstruction::instruction_size);
__ protect_return_address(r20, rscratch1);
__ protect_return_address(r20);
__ str(r20, Address(rfp, wordSize));
}

View File

@@ -30,8 +30,15 @@
// Java frames don't have callee saved registers (except for rfp), so we can use a smaller RegisterMap
class SmallRegisterMap {
constexpr SmallRegisterMap() = default;
~SmallRegisterMap() = default;
NONCOPYABLE(SmallRegisterMap);
public:
static constexpr SmallRegisterMap* instance = nullptr;
static const SmallRegisterMap* instance() {
static constexpr SmallRegisterMap the_instance{};
return &the_instance;
}
private:
static void assert_is_rfp(VMReg r) NOT_DEBUG_RETURN
DEBUG_ONLY({ assert (r == rfp->as_VMReg() || r == rfp->as_VMReg()->next(), "Reg: %s", r->name()); })
@@ -48,17 +55,6 @@ public:
return map;
}
SmallRegisterMap() {}
SmallRegisterMap(const RegisterMap* map) {
#ifdef ASSERT
for(int i = 0; i < RegisterMap::reg_count; i++) {
VMReg r = VMRegImpl::as_VMReg(i);
if (map->location(r, (intptr_t*)nullptr) != nullptr) assert_is_rfp(r);
}
#endif
}
inline address location(VMReg reg, intptr_t* sp) const {
assert_is_rfp(reg);
return (address)(sp - frame::sender_sp_offset);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 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
@@ -26,6 +26,7 @@
#define CPU_AARCH64_STACKCHUNKFRAMESTREAM_AARCH64_INLINE_HPP
#include "interpreter/oopMapCache.hpp"
#include "pauth_aarch64.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/registerMap.hpp"
@@ -34,7 +35,7 @@ template <ChunkFrames frame_kind>
inline bool StackChunkFrameStream<frame_kind>::is_in_frame(void* p0) const {
assert(!is_done(), "");
intptr_t* p = (intptr_t*)p0;
int argsize = is_compiled() ? (_cb->as_compiled_method()->method()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord : 0;
int argsize = is_compiled() ? (_cb->as_nmethod()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord : 0;
int frame_size = _cb->frame_size() + argsize;
return p == sp() - frame::sender_sp_offset || ((p - unextended_sp()) >= 0 && (p - unextended_sp()) < frame_size);
}
@@ -52,7 +53,8 @@ inline frame StackChunkFrameStream<frame_kind>::to_frame() const {
template <ChunkFrames frame_kind>
inline address StackChunkFrameStream<frame_kind>::get_pc() const {
assert(!is_done(), "");
return *(address*)(_sp - 1);
// Just strip it for frames on the heap.
return pauth_strip_pointer(*(address*)(_sp - 1));
}
template <ChunkFrames frame_kind>
@@ -114,8 +116,8 @@ inline int StackChunkFrameStream<frame_kind>::interpreter_frame_num_oops() const
f.interpreted_frame_oop_map(&mask);
return mask.num_oops()
+ 1 // for the mirror oop
+ ((intptr_t*)f.interpreter_frame_monitor_begin()
- (intptr_t*)f.interpreter_frame_monitor_end())/BasicObjectLock::size();
+ pointer_delta_as_int((intptr_t*)f.interpreter_frame_monitor_begin(),
(intptr_t*)f.interpreter_frame_monitor_end())/BasicObjectLock::size();
}
template<>

View File

@@ -51,7 +51,9 @@
#include "runtime/stubCodeGenerator.hpp"
#include "runtime/stubRoutines.hpp"
#include "utilities/align.hpp"
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
#include "utilities/intpow.hpp"
#include "utilities/powerOfTwo.hpp"
#ifdef COMPILER2
#include "opto/runtime.hpp"
@@ -84,10 +86,7 @@ class StubGenerator: public StubCodeGenerator {
#define inc_counter_np(counter) ((void)0)
#else
void inc_counter_np_(int& counter) {
__ lea(rscratch2, ExternalAddress((address)&counter));
__ ldrw(rscratch1, Address(rscratch2));
__ addw(rscratch1, rscratch1, 1);
__ strw(rscratch1, Address(rscratch2));
__ incrementw(ExternalAddress((address)&counter));
}
#define inc_counter_np(counter) \
BLOCK_COMMENT("inc_counter " #counter); \
@@ -139,7 +138,8 @@ class StubGenerator: public StubCodeGenerator {
// [ return_from_Java ] <--- sp
// [ argument word n ]
// ...
// -27 [ argument word 1 ]
// -29 [ argument word 1 ]
// -28 [ saved Floating-point Control Register ]
// -26 [ saved v15 ] <--- sp_after_call
// -25 [ saved v14 ]
// -24 [ saved v13 ]
@@ -171,8 +171,9 @@ class StubGenerator: public StubCodeGenerator {
// Call stub stack layout word offsets from fp
enum call_stub_layout {
sp_after_call_off = -26,
sp_after_call_off = -28,
fpcr_off = sp_after_call_off,
d15_off = -26,
d13_off = -24,
d11_off = -22,
@@ -202,8 +203,9 @@ class StubGenerator: public StubCodeGenerator {
StubCodeMark mark(this, "StubRoutines", "call_stub");
address start = __ pc();
const Address sp_after_call(rfp, sp_after_call_off * wordSize);
const Address sp_after_call (rfp, sp_after_call_off * wordSize);
const Address fpcr_save (rfp, fpcr_off * wordSize);
const Address call_wrapper (rfp, call_wrapper_off * wordSize);
const Address result (rfp, result_off * wordSize);
const Address result_type (rfp, result_type_off * wordSize);
@@ -252,6 +254,14 @@ class StubGenerator: public StubCodeGenerator {
__ stpd(v13, v12, d13_save);
__ stpd(v15, v14, d15_save);
__ get_fpcr(rscratch1);
__ str(rscratch1, fpcr_save);
// Set FPCR to the state we need. We do want Round to Nearest. We
// don't want non-IEEE rounding modes or floating-point traps.
__ bfi(rscratch1, zr, 22, 4); // Clear DN, FZ, and Rmode
__ bfi(rscratch1, zr, 8, 5); // Clear exception-control bits (8-12)
__ set_fpcr(rscratch1);
// install Java thread in global register now we have saved
// whatever value it held
__ mov(rthread, c_rarg7);
@@ -365,6 +375,10 @@ class StubGenerator: public StubCodeGenerator {
__ ldp(r22, r21, r22_save);
__ ldp(r20, r19, r20_save);
// restore fpcr
__ ldr(rscratch1, fpcr_save);
__ set_fpcr(rscratch1);
__ ldp(c_rarg0, c_rarg1, call_wrapper);
__ ldrw(c_rarg2, result_type);
__ ldr(c_rarg3, method);
@@ -5298,6 +5312,307 @@ class StubGenerator: public StubCodeGenerator {
return entry;
}
// result = r0 - return value. Contains initial hashcode value on entry.
// ary = r1 - array address
// cnt = r2 - elements count
// Clobbers: v0-v13, rscratch1, rscratch2
address generate_large_arrays_hashcode(BasicType eltype) {
const Register result = r0, ary = r1, cnt = r2;
const FloatRegister vdata0 = v3, vdata1 = v2, vdata2 = v1, vdata3 = v0;
const FloatRegister vmul0 = v4, vmul1 = v5, vmul2 = v6, vmul3 = v7;
const FloatRegister vpow = v12; // powers of 31: <31^3, ..., 31^0>
const FloatRegister vpowm = v13;
ARRAYS_HASHCODE_REGISTERS;
Label SMALL_LOOP, LARGE_LOOP_PREHEADER, LARGE_LOOP, TAIL, TAIL_SHORTCUT, BR_BASE;
unsigned int vf; // vectorization factor
bool multiply_by_halves;
Assembler::SIMD_Arrangement load_arrangement;
switch (eltype) {
case T_BOOLEAN:
case T_BYTE:
load_arrangement = Assembler::T8B;
multiply_by_halves = true;
vf = 8;
break;
case T_CHAR:
case T_SHORT:
load_arrangement = Assembler::T8H;
multiply_by_halves = true;
vf = 8;
break;
case T_INT:
load_arrangement = Assembler::T4S;
multiply_by_halves = false;
vf = 4;
break;
default:
ShouldNotReachHere();
}
// Unroll factor
const unsigned uf = 4;
// Effective vectorization factor
const unsigned evf = vf * uf;
__ align(CodeEntryAlignment);
const char *mark_name = "";
switch (eltype) {
case T_BOOLEAN:
mark_name = "_large_arrays_hashcode_boolean";
break;
case T_BYTE:
mark_name = "_large_arrays_hashcode_byte";
break;
case T_CHAR:
mark_name = "_large_arrays_hashcode_char";
break;
case T_SHORT:
mark_name = "_large_arrays_hashcode_short";
break;
case T_INT:
mark_name = "_large_arrays_hashcode_int";
break;
default:
mark_name = "_large_arrays_hashcode_incorrect_type";
__ should_not_reach_here();
};
StubCodeMark mark(this, "StubRoutines", mark_name);
address entry = __ pc();
__ enter();
// Put 0-3'th powers of 31 into a single SIMD register together. The register will be used in
// the SMALL and LARGE LOOPS' epilogues. The initialization is hoisted here and the register's
// value shouldn't change throughout both loops.
__ movw(rscratch1, intpow(31U, 3));
__ mov(vpow, Assembler::S, 0, rscratch1);
__ movw(rscratch1, intpow(31U, 2));
__ mov(vpow, Assembler::S, 1, rscratch1);
__ movw(rscratch1, intpow(31U, 1));
__ mov(vpow, Assembler::S, 2, rscratch1);
__ movw(rscratch1, intpow(31U, 0));
__ mov(vpow, Assembler::S, 3, rscratch1);
__ mov(vmul0, Assembler::T16B, 0);
__ mov(vmul0, Assembler::S, 3, result);
__ andr(rscratch2, cnt, (uf - 1) * vf);
__ cbz(rscratch2, LARGE_LOOP_PREHEADER);
__ movw(rscratch1, intpow(31U, multiply_by_halves ? vf / 2 : vf));
__ mov(vpowm, Assembler::S, 0, rscratch1);
// SMALL LOOP
__ bind(SMALL_LOOP);
__ ld1(vdata0, load_arrangement, Address(__ post(ary, vf * type2aelembytes(eltype))));
__ mulvs(vmul0, Assembler::T4S, vmul0, vpowm, 0);
__ subsw(rscratch2, rscratch2, vf);
if (load_arrangement == Assembler::T8B) {
// Extend 8B to 8H to be able to use vector multiply
// instructions
assert(load_arrangement == Assembler::T8B, "expected to extend 8B to 8H");
if (is_signed_subword_type(eltype)) {
__ sxtl(vdata0, Assembler::T8H, vdata0, load_arrangement);
} else {
__ uxtl(vdata0, Assembler::T8H, vdata0, load_arrangement);
}
}
switch (load_arrangement) {
case Assembler::T4S:
__ addv(vmul0, load_arrangement, vmul0, vdata0);
break;
case Assembler::T8B:
case Assembler::T8H:
assert(is_subword_type(eltype), "subword type expected");
if (is_signed_subword_type(eltype)) {
__ saddwv(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T4H);
} else {
__ uaddwv(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T4H);
}
break;
default:
__ should_not_reach_here();
}
// Process the upper half of a vector
if (load_arrangement == Assembler::T8B || load_arrangement == Assembler::T8H) {
__ mulvs(vmul0, Assembler::T4S, vmul0, vpowm, 0);
if (is_signed_subword_type(eltype)) {
__ saddwv2(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T8H);
} else {
__ uaddwv2(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T8H);
}
}
__ br(Assembler::HI, SMALL_LOOP);
// SMALL LOOP'S EPILOQUE
__ lsr(rscratch2, cnt, exact_log2(evf));
__ cbnz(rscratch2, LARGE_LOOP_PREHEADER);
__ mulv(vmul0, Assembler::T4S, vmul0, vpow);
__ addv(vmul0, Assembler::T4S, vmul0);
__ umov(result, vmul0, Assembler::S, 0);
// TAIL
__ bind(TAIL);
// The andr performs cnt % vf. The subtract shifted by 3 offsets past vf - 1 - (cnt % vf) pairs
// of load + madd insns i.e. it only executes cnt % vf load + madd pairs.
assert(is_power_of_2(vf), "can't use this value to calculate the jump target PC");
__ andr(rscratch2, cnt, vf - 1);
__ bind(TAIL_SHORTCUT);
__ adr(rscratch1, BR_BASE);
__ sub(rscratch1, rscratch1, rscratch2, ext::uxtw, 3);
__ movw(rscratch2, 0x1f);
__ br(rscratch1);
for (size_t i = 0; i < vf - 1; ++i) {
__ load(rscratch1, Address(__ post(ary, type2aelembytes(eltype))),
eltype);
__ maddw(result, result, rscratch2, rscratch1);
}
__ bind(BR_BASE);
__ leave();
__ ret(lr);
// LARGE LOOP
__ bind(LARGE_LOOP_PREHEADER);
__ lsr(rscratch2, cnt, exact_log2(evf));
if (multiply_by_halves) {
// 31^4 - multiplier between lower and upper parts of a register
__ movw(rscratch1, intpow(31U, vf / 2));
__ mov(vpowm, Assembler::S, 1, rscratch1);
// 31^28 - remainder of the iteraion multiplier, 28 = 32 - 4
__ movw(rscratch1, intpow(31U, evf - vf / 2));
__ mov(vpowm, Assembler::S, 0, rscratch1);
} else {
// 31^16
__ movw(rscratch1, intpow(31U, evf));
__ mov(vpowm, Assembler::S, 0, rscratch1);
}
__ mov(vmul3, Assembler::T16B, 0);
__ mov(vmul2, Assembler::T16B, 0);
__ mov(vmul1, Assembler::T16B, 0);
__ bind(LARGE_LOOP);
__ mulvs(vmul3, Assembler::T4S, vmul3, vpowm, 0);
__ mulvs(vmul2, Assembler::T4S, vmul2, vpowm, 0);
__ mulvs(vmul1, Assembler::T4S, vmul1, vpowm, 0);
__ mulvs(vmul0, Assembler::T4S, vmul0, vpowm, 0);
__ ld1(vdata3, vdata2, vdata1, vdata0, load_arrangement,
Address(__ post(ary, evf * type2aelembytes(eltype))));
if (load_arrangement == Assembler::T8B) {
// Extend 8B to 8H to be able to use vector multiply
// instructions
assert(load_arrangement == Assembler::T8B, "expected to extend 8B to 8H");
if (is_signed_subword_type(eltype)) {
__ sxtl(vdata3, Assembler::T8H, vdata3, load_arrangement);
__ sxtl(vdata2, Assembler::T8H, vdata2, load_arrangement);
__ sxtl(vdata1, Assembler::T8H, vdata1, load_arrangement);
__ sxtl(vdata0, Assembler::T8H, vdata0, load_arrangement);
} else {
__ uxtl(vdata3, Assembler::T8H, vdata3, load_arrangement);
__ uxtl(vdata2, Assembler::T8H, vdata2, load_arrangement);
__ uxtl(vdata1, Assembler::T8H, vdata1, load_arrangement);
__ uxtl(vdata0, Assembler::T8H, vdata0, load_arrangement);
}
}
switch (load_arrangement) {
case Assembler::T4S:
__ addv(vmul3, load_arrangement, vmul3, vdata3);
__ addv(vmul2, load_arrangement, vmul2, vdata2);
__ addv(vmul1, load_arrangement, vmul1, vdata1);
__ addv(vmul0, load_arrangement, vmul0, vdata0);
break;
case Assembler::T8B:
case Assembler::T8H:
assert(is_subword_type(eltype), "subword type expected");
if (is_signed_subword_type(eltype)) {
__ saddwv(vmul3, vmul3, Assembler::T4S, vdata3, Assembler::T4H);
__ saddwv(vmul2, vmul2, Assembler::T4S, vdata2, Assembler::T4H);
__ saddwv(vmul1, vmul1, Assembler::T4S, vdata1, Assembler::T4H);
__ saddwv(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T4H);
} else {
__ uaddwv(vmul3, vmul3, Assembler::T4S, vdata3, Assembler::T4H);
__ uaddwv(vmul2, vmul2, Assembler::T4S, vdata2, Assembler::T4H);
__ uaddwv(vmul1, vmul1, Assembler::T4S, vdata1, Assembler::T4H);
__ uaddwv(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T4H);
}
break;
default:
__ should_not_reach_here();
}
// Process the upper half of a vector
if (load_arrangement == Assembler::T8B || load_arrangement == Assembler::T8H) {
__ mulvs(vmul3, Assembler::T4S, vmul3, vpowm, 1);
__ mulvs(vmul2, Assembler::T4S, vmul2, vpowm, 1);
__ mulvs(vmul1, Assembler::T4S, vmul1, vpowm, 1);
__ mulvs(vmul0, Assembler::T4S, vmul0, vpowm, 1);
if (is_signed_subword_type(eltype)) {
__ saddwv2(vmul3, vmul3, Assembler::T4S, vdata3, Assembler::T8H);
__ saddwv2(vmul2, vmul2, Assembler::T4S, vdata2, Assembler::T8H);
__ saddwv2(vmul1, vmul1, Assembler::T4S, vdata1, Assembler::T8H);
__ saddwv2(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T8H);
} else {
__ uaddwv2(vmul3, vmul3, Assembler::T4S, vdata3, Assembler::T8H);
__ uaddwv2(vmul2, vmul2, Assembler::T4S, vdata2, Assembler::T8H);
__ uaddwv2(vmul1, vmul1, Assembler::T4S, vdata1, Assembler::T8H);
__ uaddwv2(vmul0, vmul0, Assembler::T4S, vdata0, Assembler::T8H);
}
}
__ subsw(rscratch2, rscratch2, 1);
__ br(Assembler::HI, LARGE_LOOP);
__ mulv(vmul3, Assembler::T4S, vmul3, vpow);
__ addv(vmul3, Assembler::T4S, vmul3);
__ umov(result, vmul3, Assembler::S, 0);
__ mov(rscratch2, intpow(31U, vf));
__ mulv(vmul2, Assembler::T4S, vmul2, vpow);
__ addv(vmul2, Assembler::T4S, vmul2);
__ umov(rscratch1, vmul2, Assembler::S, 0);
__ maddw(result, result, rscratch2, rscratch1);
__ mulv(vmul1, Assembler::T4S, vmul1, vpow);
__ addv(vmul1, Assembler::T4S, vmul1);
__ umov(rscratch1, vmul1, Assembler::S, 0);
__ maddw(result, result, rscratch2, rscratch1);
__ mulv(vmul0, Assembler::T4S, vmul0, vpow);
__ addv(vmul0, Assembler::T4S, vmul0);
__ umov(rscratch1, vmul0, Assembler::S, 0);
__ maddw(result, result, rscratch2, rscratch1);
__ andr(rscratch2, cnt, vf - 1);
__ cbnz(rscratch2, TAIL_SHORTCUT);
__ leave();
__ ret(lr);
return entry;
}
address generate_dsin_dcos(bool isCos) {
__ align(CodeEntryAlignment);
StubCodeMark mark(this, "StubRoutines", isCos ? "libmDcos" : "libmDsin");
@@ -7008,8 +7323,10 @@ class StubGenerator: public StubCodeGenerator {
if (return_barrier_exception) {
__ ldr(c_rarg1, Address(rfp, wordSize)); // return address
__ authenticate_return_address(c_rarg1);
__ verify_oop(r0);
__ mov(r19, r0); // save return value contaning the exception oop in callee-saved R19
// save return value containing the exception oop in callee-saved R19
__ mov(r19, r0);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), rthread, c_rarg1);
@@ -7019,7 +7336,7 @@ class StubGenerator: public StubCodeGenerator {
// see OptoRuntime::generate_exception_blob: r0 -- exception oop, r3 -- exception pc
__ mov(r1, r0); // the exception handler
__ mov(r0, r19); // restore return value contaning the exception oop
__ mov(r0, r19); // restore return value containing the exception oop
__ verify_oop(r0);
__ leave();
@@ -8389,6 +8706,13 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::aarch64::_large_array_equals = generate_large_array_equals();
}
// arrays_hascode stub for large arrays.
StubRoutines::aarch64::_large_arrays_hashcode_boolean = generate_large_arrays_hashcode(T_BOOLEAN);
StubRoutines::aarch64::_large_arrays_hashcode_byte = generate_large_arrays_hashcode(T_BYTE);
StubRoutines::aarch64::_large_arrays_hashcode_char = generate_large_arrays_hashcode(T_CHAR);
StubRoutines::aarch64::_large_arrays_hashcode_int = generate_large_arrays_hashcode(T_INT);
StubRoutines::aarch64::_large_arrays_hashcode_short = generate_large_arrays_hashcode(T_SHORT);
// byte_array_inflate stub for large arrays.
StubRoutines::aarch64::_large_byte_array_inflate = generate_large_byte_array_inflate();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -48,6 +48,11 @@ address StubRoutines::aarch64::_zero_blocks = nullptr;
address StubRoutines::aarch64::_count_positives = nullptr;
address StubRoutines::aarch64::_count_positives_long = nullptr;
address StubRoutines::aarch64::_large_array_equals = nullptr;
address StubRoutines::aarch64::_large_arrays_hashcode_boolean = nullptr;
address StubRoutines::aarch64::_large_arrays_hashcode_byte = nullptr;
address StubRoutines::aarch64::_large_arrays_hashcode_char = nullptr;
address StubRoutines::aarch64::_large_arrays_hashcode_int = nullptr;
address StubRoutines::aarch64::_large_arrays_hashcode_short = nullptr;
address StubRoutines::aarch64::_compare_long_string_LL = nullptr;
address StubRoutines::aarch64::_compare_long_string_UU = nullptr;
address StubRoutines::aarch64::_compare_long_string_LU = nullptr;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -62,6 +62,11 @@ class aarch64 {
static address _zero_blocks;
static address _large_array_equals;
static address _large_arrays_hashcode_boolean;
static address _large_arrays_hashcode_byte;
static address _large_arrays_hashcode_char;
static address _large_arrays_hashcode_int;
static address _large_arrays_hashcode_short;
static address _compare_long_string_LL;
static address _compare_long_string_LU;
static address _compare_long_string_UL;
@@ -147,6 +152,25 @@ class aarch64 {
return _large_array_equals;
}
static address large_arrays_hashcode(BasicType eltype) {
switch (eltype) {
case T_BOOLEAN:
return _large_arrays_hashcode_boolean;
case T_BYTE:
return _large_arrays_hashcode_byte;
case T_CHAR:
return _large_arrays_hashcode_char;
case T_SHORT:
return _large_arrays_hashcode_short;
case T_INT:
return _large_arrays_hashcode_int;
default:
ShouldNotReachHere();
}
return nullptr;
}
static address compare_long_string_LL() {
return _compare_long_string_LL;
}

View File

@@ -26,6 +26,7 @@
#include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "classfile/javaClasses.hpp"
#include "compiler/disassembler.hpp"
#include "compiler/compiler_globals.hpp"
#include "gc/shared/barrierSetAssembler.hpp"
#include "interpreter/bytecodeHistogram.hpp"
@@ -63,7 +64,7 @@
// Max size with JVMTI
int TemplateInterpreter::InterpreterCodeSize = 200 * 1024;
#define __ _masm->
#define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)->
//-----------------------------------------------------------------------------
@@ -1366,6 +1367,9 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
__ get_method(rmethod);
// result potentially in r0 or v0
// Restore cpu control state after JNI call
__ restore_cpu_control_state_after_jni(rscratch1, rscratch2);
// make room for the pushes we're about to do
__ sub(rscratch1, esp, 4 * wordSize);
__ andr(sp, rscratch1, -16);
@@ -1823,7 +1827,7 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
Label caller_not_deoptimized;
__ ldr(c_rarg1, Address(rfp, frame::return_addr_offset * wordSize));
// This is a return address, so requires authenticating for PAC.
__ authenticate_return_address(c_rarg1, rscratch1);
__ authenticate_return_address(c_rarg1);
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address,
InterpreterRuntime::interpreter_contains), c_rarg1);
__ cbnz(r0, caller_not_deoptimized);
@@ -1989,13 +1993,21 @@ void TemplateInterpreterGenerator::set_vtos_entry_points(Template* t,
address& vep) {
assert(t->is_valid() && t->tos_in() == vtos, "illegal template");
Label L;
aep = __ pc(); __ push_ptr(); __ b(L);
fep = __ pc(); __ push_f(); __ b(L);
dep = __ pc(); __ push_d(); __ b(L);
lep = __ pc(); __ push_l(); __ b(L);
bep = cep = sep =
iep = __ pc(); __ push_i();
vep = __ pc();
aep = __ pc(); // atos entry point
__ push_ptr();
__ b(L);
fep = __ pc(); // ftos entry point
__ push_f();
__ b(L);
dep = __ pc(); // dtos entry point
__ push_d();
__ b(L);
lep = __ pc(); // ltos entry point
__ push_l();
__ b(L);
bep = cep = sep = iep = __ pc(); // [bcsi]tos entry point
__ push_i();
vep = __ pc(); // vtos entry point
__ bind(L);
generate_and_dispatch(t);
}

Some files were not shown because too many files have changed in this diff Show More