Compare commits

...

822 Commits

Author SHA1 Message Date
Vitaly Provodin
a01137a46f update exclude list on results of 21.0.5_b733.25 test runs 2024-12-17 04:45:27 +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
Dmitrii Morskii
ccba9acd9d JBR-7126 add more possible names for cursor arrow icon 2024-08-23 18:41:06 +01:00
Vitaly Provodin
869f0ca11f JBR-7517 build JBR artefacts with CDS archives 2024-08-22 18:04:56 +04:00
Maxim Kartashёv
133cf30195 JBR-7483 Monitor resolution is incorrect in jbr 21 when scaling with gtk-xft-dpi 2024-08-22 17:22:05 +04:00
Nikita Tsarev
210ed7aaba JBR-7529: Explicitly check for press-and-hold in performKeyEquivalent 2024-08-22 13:17:53 +02:00
Dmitrii Morskii
07ac32e2ad JBR-7438 tune updateCursorImmediately method 2024-08-21 14:36:01 +01:00
Maxim Kartashёv
6fe6b416ce JBR-7016 IDEA 2024.2 Wayland: UI Crash when selecting Code and pressing Alt+Enter 2024-08-21 18:24:09 +04:00
Maxim Kartashёv
0c40b9514d JBR-7493 Wayland: can't start in maximized state on WSL 2024-08-21 12:44:23 +04:00
Vitaly Provodin
70d0e98389 JBR-5989 Wayland: exclude tests failing on virtual agents 2024-08-20 14:18:55 +04:00
Vitaly Provodin
89049a7d65 update exclude list on results of 21.0.4_b575.1 test runs 2024-08-20 14:18:55 +04:00
Maxim Kartashёv
90ec8da421 JBR-7516 Wayland: DamageList_AddList: Assertion `list != add' failed 2024-08-20 11:48:48 +04:00
Vitaly Provodin
2348ef2e99 update exclude list on results of 21.0.4_b575 test runs 2024-08-17 02:08:15 +04:00
Maxim Kartashёv
54960903b1 JBR-7501 Wayland: SurfaceData.flush() method is mis-used 2024-08-15 18:58:19 +04:00
Vitaly Provodin
b95cee8fc2 update exclude list on results of 21.0.4_b569.1 test runs 2024-08-15 08:45:55 +04:00
Nikita Tsarev
4616ff7408 JBR-7478: Fix wrong timestamps on KEY_TYPED events [WLToolkit] 2024-08-13 13:52:56 +02:00
lbourges
777e396408 JBR-7461: Implement VKTexturePool for the linux vulkan pipeline:
- based on common AccelTexturePool
 - new VKTexturePool instance in VKLogicalDevice
 - fixed SIGSEGV in VKImage dispose
 - store device in TPI
 - indentation fixes
 - merged with latest changes for JBR-7460
 - use (ATexturePoolLock_init)(void)
 - fixed logs in lock implementations + fixed indentation
 - fixed MTLTexturePool to pre-processor conditions (not runtime) on USE_ACCEL_TEXTURE_POOL
2024-08-12 19:32:21 +02:00
Maxim Kartashёv
830fd66a48 JBR-7313 Wayland: error: xdg_surface buffer does not match the configured maximized state 2024-08-12 14:55:51 +04:00
Nikita Tsarev
53e7e4501e JBR-7426: Fix cancelling press-and-hold causing some future key events being swallowed 2024-08-09 22:40:16 +02:00
Dmitrii Morskii
42c0b92816 JBR-6772 handled case with adding new timers after VM was suspended 2024-08-08 12:07:18 +01:00
Sergey Shelomentsev
66b090fd94 update exclude list on results of 21.0.4_b558.1 test runs 2024-08-08 00:49:30 +03:00
Maxim Kartashev
2fefe69c1e JBR-7397 Wayland: make certain interfaces optional 2024-08-07 14:06:25 +04:00
Maxim Kartashёv
67995ff0a6 JBR-5956 Provide more details on assertion failure
Use JNU_RUNTIME_ASSERT(env, cond, msg) defined in jni_util.h
to crash JVM when 'cond' is not true with the given message
and source location information in the fatal error log.
2024-08-06 17:34:41 +04:00
Maxim Kartashev
63950e41f9 JBR-7397 CLion 2024.2-EAP/Wayland crashes on startup with Miriway
Check if all non-optional interfaces are supported before actually
starting to run
2024-08-06 15:35:31 +04:00
Konstantin Nisht
045a7e4e51 JBR-7466 Exception on VM startup with -Djava.util.zip.use.nio.for.zip.file.access=true 2024-08-05 14:52:35 +04:00
Vladimir Dvorak
9e54ae6019 JBR-7447 use new method for unregister nmethods in G1
caused by JBR-7219 ("Rebasing JBR21 on top of OpenJDK 21.0.4") and changes in G1 nmethods unregister
2024-08-05 10:59:40 +02:00
Sergey Shelomentsev
873bbbbf0a Update jbr-api to 1.0.2 2024-08-02 18:53:19 +03:00
Alexey Ushakov
1f4d50ec68 JBR-7452 Vulkan: Reuse VkRenderPass for multiple renderers (#428)
Moved shared VkRenderPass to the logical device
2024-08-01 13:34:25 +02:00
Nikita Tsarev
2bb26da3aa fixup! JBR-6588: JBR API for inspecting certain properties of KeyEvents 2024-08-01 12:58:49 +02:00
Nikita Tsarev
c038d78960 JBR-6588: JBR API for inspecting certain properties of KeyEvents 2024-07-31 19:07:49 +02:00
Alexey Ushakov
0d5fd3a262 JBR-7420 Vulkan: Implement DRAW_PARALLELOGRAM primitive for flat color rendering (#426)
Refactored rendering code. Provided common implementation for fill and draw operations.
2024-07-30 01:37:15 +02:00
Nikita Tsarev
0834621763 JBR-7449: Fix press-and-hold cancel keys not being swallowed by JBR 2024-07-29 17:30:04 +02:00
SirYwell
94c7666b0a JBR-7442 move AllowEnhancedClassRedefinition capabilities override to use sites 2024-07-26 23:18:29 +02:00
Nikita Gubarkov
a375bb12df 🤠 2024-07-26 15:34:40 +02:00
Nikita Gubarkov
57b9a8440d JBR-7419 Refactor Vulkan code
- Separate instance and device-specific function tables
- Avoid using device from global context when possible
- Set up debug logger
2024-07-26 15:34:40 +02:00
Vitaly Provodin
744155766c update exclude list on results of 21.0.2_b545 (21.0.4) test runs 2024-07-20 04:41:42 +04:00
Vitaly Provodin
a34e03679d JBR-5989 Wayland: add tests introduced in 21.0.4 and failing with the message "WLRobotPeer: wakefield extension not present in Wayland instance" 2024-07-20 04:41:42 +04:00
Matthias Baesken
b5d182dad5 8333542: Breakpoint in parallel code does not work
Reviewed-by: lucy
Backport-of: b3bf31a0a0
2024-07-19 16:57:06 +04:00
Christoph Langer
b1d74cfd8c 8335960: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.4
Reviewed-by: mbaesken
2024-07-19 02:14:34 +04:00
Martin Balao
da445c6087 8320548: Improved loop handling
Backport-of: 72eed2f709caa48c82f58fe75c7e94d2c45947e1
2024-07-19 02:14:20 +04:00
Martin Balao
5f511645bc 8327413: Enhance compilation efficiency
Backport-of: eb1f33f525846e6020185cbc5d6e48cbc760dbb2
2024-07-19 02:14:20 +04:00
Yuri Nesterenko
0520d877f5 8324559: Improve 2D image handling
Reviewed-by: mbalao
Backport-of: 1a5a44019871c411148ca85d0491cc68d2256e4e
2024-07-19 02:14:20 +04:00
Aleksei Voitylov
434759c5d5 8323390: Enhance mask blit functionality
Reviewed-by: mbalao
Backport-of: 895893f2fbf1c521d4a263d505f0ecbda8d2eeea
2024-07-19 02:14:19 +04:00
Martin Balao
e12dcf3508 8323231: Improve array management
Reviewed-by: mbaesken
Backport-of: cf20364d0cb3f182880ee91c7fb023615e27becf
2024-07-19 02:14:19 +04:00
Yuri Nesterenko
4cbbadb390 8320097: Improve Image transformations
Reviewed-by: mbalao
Backport-of: 1401634b21b76db90291011bcae68c461742e687
2024-07-19 02:14:18 +04:00
Aleksei Voitylov
1f26cf71e0 8325600: Better symbol storage
Reviewed-by: mbalao
Backport-of: da06689bf6fde7b6dd8efc2f0c39fc95adcdb69d
2024-07-19 02:14:18 +04:00
Aleksei Voitylov
a39bae17c1 8319859: Better symbol storage
Reviewed-by: yan, mbalao
Backport-of: f7857e9106841f402ade56bad0338fc53159fb9a
2024-07-19 02:14:12 +04:00
Alexei Voitylov
f517898e25 8314794: Improve UTF8 String supports
Reviewed-by: mbalao, evergizova
Backport-of: ab2532d858de8d855529b6f2491f94c499f94009
2024-07-19 02:14:12 +04:00
SendaoYan
f772c75686 8334441: Mark tests in jdk_security_infra group as manual
Reviewed-by: mdoerr
Backport-of: 8e1d2b091c
2024-07-19 02:14:09 +04:00
Martin Doerr
ec809bd4a3 8320692: Null icon returned for .exe without custom icon
Backport-of: 6212264cc6
2024-07-19 02:14:09 +04:00
Ashutosh Mehra
dd7bf16eed 8330275: Crash in XMark::follow_array
Reviewed-by: stuefe
Backport-of: 42b1d858d1
2024-07-19 02:14:09 +04:00
Matthias Baesken
c33cf48fb2 8329862: libjli GetApplicationHome cleanups and enhance jli tracing
Backport-of: 377f2e538a
2024-07-19 02:14:09 +04:00
Andrew Lu
006df66744 8323635: Test gc/g1/TestHumongousAllocConcurrentStart.java fails with -XX:TieredStopAtLevel=3
Backport-of: 5045839cb2
2024-07-19 02:14:08 +04:00
Vladimir Petko
83c2dee7c1 8295111: dpkg appears to have problems resolving symbolically linked native libraries
Backport-of: 32946e1882
2024-07-19 02:14:08 +04:00
Matthias Baesken
abab9861e3 8331031: unify os::dont_yield and os::naked_yield across Posix platforms
Backport-of: c9442014e5
2024-07-19 02:14:08 +04:00
Ben Taylor
21a4d7d76b 8329223: Parallel: Parallel GC resizes heap even if -Xms = -Xmx
Backport-of: aca1e8365b
2024-07-19 02:14:07 +04:00
Matthias Baesken
5a868021da 8330464: hserr generic events - add entry for the before_exit calls
Backport-of: 45ed97f15b
2024-07-19 02:14:07 +04:00
Matthias Baesken
e151c26d25 8329605: hs errfile generic events - move memory protections and nmethod flushes to separate sections
Backport-of: 397d948310
2024-07-19 02:14:06 +04:00
Martin Doerr
2c60b7a85f 8321812: Update GC tests to use execute[Limited]TestJava
Reviewed-by: mbaesken
Backport-of: 1d1cd32bc3
2024-07-19 02:14:06 +04:00
Andrew Lu
80c0fbb177 8312194: test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ec.java cannot handle empty modules
Backport-of: e7c83ea948
2024-07-19 02:14:05 +04:00
Andrew Lu
d43671d418 8320681: [macos] Test tools/jpackage/macosx/MacAppStoreJlinkOptionsTest.java timed out on macOS
Backport-of: a657aa38a5
2024-07-19 02:14:04 +04:00
Liang Mao
8b00cadfd6 8329109: Threads::print_on() tries to print CPU time for terminated GC threads
Backport-of: c1cfb43d8d
2024-07-19 02:14:04 +04:00
Liang Mao
26a5760faf 8329840: Fix ZPhysicalMemorySegment::_end type
Backport-of: b4ddddeff1
2024-07-19 02:13:59 +04:00
Andrew Lu
c62472e069 8319338: tools/jpackage/share/RuntimeImageTest.java fails with -XX:+UseZGC
Backport-of: e9eb8b98f4
2024-07-19 02:13:59 +04:00
Sergey Bylokhov
ea2a58e624 8332253: Linux arm32 build fails after 8292591
Backport-of: 95f79c6787
2024-07-19 02:13:58 +04:00
SendaoYan
c0330f4183 8331466: Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all
Backport-of: 440782e016
2024-07-19 02:13:57 +04:00
Andrew Lu
764e4346b9 8321107: Add more test cases for JDK-8319372
Backport-of: ecd335d8f4
2024-07-19 02:13:56 +04:00
María Arias de Reyna
e5eb7d9946 8316138: Add GlobalSign 2 TLS root certificates
Backport-of: 4083255440
2024-07-19 02:13:08 +04:00
Andrew Lu
388db19279 8320715: Improve the tests of test/hotspot/jtreg/compiler/intrinsics/float16
Backport-of: 5dcf3a56cb
2024-07-19 02:13:08 +04:00
Matthias Baesken
8b7846203e 8331298: avoid alignment checks in UBSAN enabled build
Backport-of: 60b61e588c
2024-07-19 02:13:08 +04:00
Matthias Baesken
8cc49bad44 8312218: Print additional debug information when hitting assert(in_hash)
Backport-of: 7cbab1f396
2024-07-19 02:13:07 +04:00
Martin Doerr
f03cac9ff2 8308144: Uncontrolled memory consumption in SSLFlowDelegate.Reader
Backport-of: 099a8f5b2f
2024-07-19 02:13:07 +04:00
Andrew Lu
cec6f263c1 8299023: TestPLABResize.java and TestPLABPromotion.java are failing intermittently
Backport-of: f50df10591
2024-07-19 02:13:07 +04:00
Matthias Baesken
dda9d6103f 8329663: hs_err file event log entry for thread adding/removing should print current thread
Backport-of: 3ebf8c9359
2024-07-19 02:13:07 +04:00
Matthias Baesken
2f028fbae7 8330615: avoid signed integer overflows in zip_util.c readCen / hashN
Backport-of: 5af6b45eef
2024-07-19 02:13:06 +04:00
Matthias Baesken
bdcd1e4c39 8331167: UBSan enabled build fails in adlc on macOS
Backport-of: 4edac349a5
2024-07-19 02:13:06 +04:00
Thomas Stuefe
61f48f0b88 8331942: On Linux aarch64, CDS archives should be using 64K alignment by default
Backport-of: d2d37c913e
2024-07-19 02:13:06 +04:00
Aleksey Shipilev
c3549f6239 8325255: jdk.internal.util.ReferencedKeySet::add using wrong test
Backport-of: a7461de231
2024-07-19 02:13:06 +04:00
Andrew Lu
9e99c0fc8e 8309871: jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java timed out
Backport-of: b9df827adc
2024-07-19 02:13:05 +04:00
SendaoYan
92ffe365d4 8311964: Some jtreg tests failing on x86 with error 'unrecognized VM options' (C2 flags)
Backport-of: 024133b089
2024-07-19 02:13:05 +04:00
SendaoYan
c27dc3a873 8321925: sun/security/mscapi/KeytoolChangeAlias.java fails with "Alias <246810> does not exist"
Backport-of: b6233c3de7
2024-07-19 02:13:05 +04:00
Aleksey Shipilev
84cd4fbe2c 8320370: NMT: Change MallocMemorySnapshot to simplify code.
Reviewed-by: stuefe
Backport-of: a7f6016406
2024-07-19 02:13:05 +04:00
Chad Rakoczy
383df1a2dd 8325621: Improve jspawnhelper version checks
Backport-of: a232e8fb4e
2024-07-19 02:13:04 +04:00
Matthias Baesken
b906579a1f 8330524: Linux ppc64le compile warning with clang in os_linux_ppc.cpp
Backport-of: 252c62a66d
2024-07-19 02:13:04 +04:00
Christoph Langer
3f9953eeae 8330523: Reduce runtime and improve efficiency of KeepAliveTest
Backport-of: 8eac95ec3cd4b215556d788b9ade7a6e2f9deaa3
2024-07-19 02:13:04 +04:00
Christoph Langer
8518106781 8330815: Use pattern matching for instanceof in KeepAliveCache
Backport-of: 0ec3c0b1e698f7ad39b4da2edb062721e4670f58
2024-07-19 02:13:04 +04:00
Liang Mao
2cbde99ea7 8314573: G1: Heap resizing at Remark does not take existing eden regions into account
Backport-of: 762b652912
2024-07-19 02:13:03 +04:00
Liang Mao
d3a0e27b1c 8319376: ParallelGC: Forwarded objects found during heap inspection
Backport-of: 59e9981ec2
2024-07-19 02:13:03 +04:00
Aleksey Shipilev
b73293fa7d 8310913: Move ReferencedKeyMap to jdk.internal so it may be shared
Reviewed-by: rrich
Backport-of: 6af0af5934
2024-07-19 02:13:03 +04:00
Goetz Lindenmaier
7adfbd2a3e 8317007: Add bulk removal of dead nmethods during class unloading
Backport-of: f553819502
2024-07-19 02:13:03 +04:00
Goetz Lindenmaier
3a78dc3d6c 8310228: Improve error reporting for uncaught native exceptions on Windows
Reviewed-by: stuefe
Backport-of: 38bf1192b6
2024-07-19 02:13:02 +04:00
Alexandru C. Moraru
93f0cde18c 8309890: TestStringDeduplicationInterned.java waits for the wrong condition
Backport-of: 63fe413d93
2024-07-19 02:13:02 +04:00
Christoph Langer
40a8493648 8331639: [21u]: Bump GHA bootstrap JDK to 21.0.3
Reviewed-by: sgehwolf
2024-07-19 02:13:02 +04:00
Aleksey Shipilev
9bc7cf2b20 8328938: C2 SuperWord: disable vectorization for large stride and scale
Reviewed-by: epeter, simonis
Backport-of: 2931458711
2024-07-19 02:13:02 +04:00
Amit Kumar
844ab591b5 8310513: [s390x] Intrinsify recursive ObjectMonitor locking
Reviewed-by: lucy
Backport-of: 47df14590c
2024-07-19 02:13:01 +04:00
Amit Kumar
2c5b433600 8330011: [s390x] update block-comments to make code consistent
Reviewed-by: lucy
Backport-of: 01bda278d6
2024-07-19 02:13:01 +04:00
Amit Kumar
defae8c96e 8326201: [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space
Backport-of: d5f3d5c8cc
2024-07-19 02:13:00 +04:00
SendaoYan
23fccbe136 8331331: :tier1 target explanation in doc/testing.md is incorrect
Backport-of: 04271dfe7a
2024-07-19 02:13:00 +04:00
Aleksey Shipilev
f474814232 8328703: Illegal accesses in Java_jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl_ioctl0
Backport-of: 87e864bf21
2024-07-19 02:12:59 +04:00
Joachim Kern
59b6dfdde8 8329850: [AIX] Allow loading of different members of same shared library archive
Backport-of: cfd19f0176
2024-07-19 02:12:59 +04:00
Gui Cao
2a1af667e6 8330094: RISC-V: Save and restore FRM in the call stub
Reviewed-by: fyang
Backport-of: b0496096dc
2024-07-19 02:12:59 +04:00
Goetz Lindenmaier
2abe325dbd 8317809: Insertion of free code blobs into code cache can be very slow during class unloading
Reviewed-by: phh, adinn
Backport-of: 30817b7423
2024-07-19 02:12:58 +04:00
Zhengyu Gu
245acdbd66 8328744: Parallel: Parallel GC throws OOM before heap is fully expanded
Backport-of: bf8146eac24ba8e00d1794ef7134ecf2476cf897
2024-07-19 02:12:58 +04:00
Aleksey Shipilev
aa05977182 8328822: C2: "negative trip count?" assert failure in profile predicate code
Backport-of: 2ceeb6c001
2024-07-19 02:12:58 +04:00
Aleksey Shipilev
6896b97ab7 8324121: SIGFPE in PhaseIdealLoop::extract_long_range_checks
8329163: C2: possible overflow in PhaseIdealLoop::extract_long_range_checks()

Backport-of: cb2a671359
2024-07-19 02:12:58 +04:00
Bernhard Urban-Forster
fc35634581 8326974: ODR violation in macroAssembler_aarch64.cpp
Backport-of: b972997af7
2024-07-19 02:12:57 +04:00
Zhengyu Gu
24e28003d8 8319713: Parallel: Remove PSAdaptiveSizePolicy::should_full_GC
Backport-of: 4bcda60266
2024-07-19 02:12:57 +04:00
Amit Kumar
d6ff7e4a23 8312014: [s390x] TestSigInfoInHsErrFile.java Failure
Reviewed-by: lucy
Backport-of: 6f6621303a
2024-07-19 02:12:56 +04:00
Aleksey Shipilev
0678564e9e 8322962: Upcall stub might go undetected when freezing frames
Backport-of: 93feda3d9a
2024-07-19 02:12:56 +04:00
Aleksey Shipilev
0e9d1aaafb 8325095: C2: bailout message broken: ResourceArea allocated string used after free
Reviewed-by: phh
Backport-of: c589555845
2024-07-19 02:12:56 +04:00
Aleksey Shipilev
918e730302 8328168: Epsilon: Premature OOM when allocating object larger than uncommitted heap size
Backport-of: 7baec66222
2024-07-19 02:12:56 +04:00
Robbin Ehn
e60627e900 8330156: RISC-V: Range check auipc + signed 12 imm instruction
Backport-of: 8990864a53
2024-07-19 02:12:55 +04:00
Goetz Lindenmaier
f25d8f7df5 8321713: Harmonize executeTestJvm with create[Limited]TestJavaProcessBuilder
Reviewed-by: lucy
Backport-of: cbe329b90a
2024-07-19 02:12:55 +04:00
SendaoYan
0c7cdb5121 8331113: createJMHBundle.sh support configurable maven repo mirror
Backport-of: ce9eac3819
2024-07-19 02:12:55 +04:00
Aleksey Shipilev
eeb8db2b06 8309142: Refactor test/langtools/tools/javac/versions/Versions.java
8321182: SourceExample.SOURCE_14 comment should refer to 'switch expressions' instead of 'text blocks'

Reviewed-by: phh
Backport-of: 7d82479096
2024-07-19 02:12:54 +04:00
Sergey Bylokhov
5cb988d7d8 8328194: Add a test to check default rendering engine
Backport-of: c013fa1811
2024-07-19 02:12:54 +04:00
Amos Shi
e6a939f040 8324733: [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653
Backport-of: d1e676360d
2024-07-19 02:12:54 +04:00
María Arias de Reyna
fbe021df82 8320061: [nmt] Multiple issues with peak accounting
Reviewed-by: shade, stuefe
Backport-of: dc256fbc64
2024-07-19 02:12:53 +04:00
Jonathan Dowland
e8cedf7581 8315889: Open source several Swing HTMLDocument related tests
Backport-of: 8f46abc938
2024-07-19 02:12:53 +04:00
Aleksey Shipilev
8fccfdc808 8329013: StackOverflowError when starting Apache Tomcat with signed jar
Backport-of: 925d82931c
2024-07-19 02:12:53 +04:00
Aleksey Shipilev
6c495147ac 8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive
Backport-of: 0e2fdc95ae
2024-07-19 02:12:52 +04:00
Aleksey Shipilev
1f07a1ec6b 8327989: java/net/httpclient/ManyRequest.java should not use "localhost" in URIs
Backport-of: da4dd7c008
2024-07-19 02:12:52 +04:00
Aleksey Shipilev
5d8c50a985 8320924: Improve heap dump performance by optimizing archived object checks
Backport-of: f32ab8cc47
2024-07-19 02:12:52 +04:00
Aleksey Shipilev
fe52188a97 8320707: Virtual thread test updates
Reviewed-by: simonis
Backport-of: b67b71cd87
2024-07-19 02:12:51 +04:00
Aleksey Shipilev
08726c2c3b 8310355: Move the stub test from initialize_final_stubs() to test/hotspot/gtest
Backport-of: 4b9ec82451
2024-07-19 02:12:51 +04:00
Sonia Zaldana Calles
7795d493e3 8327096: (fc) java/nio/channels/FileChannel/Size.java fails on partition incapable of creating large files
Backport-of: 94b4ed5766
2024-07-19 02:12:51 +04:00
Sonia Zaldana Calles
f9d7d6ae62 8327971: Multiple ASAN errors reported for metaspace
8327988: When running ASAN, disable dangerous NMT test

Reviewed-by: stuefe, shade
Backport-of: 9e566d76d1
2024-07-19 02:12:50 +04:00
María Arias de Reyna
e350e83d13 8293850: need a largest_committed metric for each category of NMT's output
Reviewed-by: stuefe
Backport-of: 8647f001bb
2024-07-19 02:12:50 +04:00
Sonia Zaldana Calles
ea74152ba4 8316242: Opensource SwingGraphics manual test
Backport-of: a57b9dab6c
2024-07-19 02:12:50 +04:00
Sonia Zaldana Calles
006d94e5f7 8316154: Opensource JTextArea manual tests
Backport-of: 33c62e4fff
2024-07-19 02:12:50 +04:00
Goetz Lindenmaier
d50b30f24e 8328957: Update PKCS11Test.java to not use hardcoded path
Backport-of: 16576b87b7
2024-07-19 02:12:49 +04:00
Goetz Lindenmaier
7be6dc146a 8320525: G1: G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes accesses partially unloaded klass
Backport-of: 21d361e944
2024-07-19 02:12:49 +04:00
Goetz Lindenmaier
e7c634367b 8320331: G1 Full GC Heap verification relies on metadata not reset before verification
Backport-of: 1629a9059b
2024-07-19 02:12:49 +04:00
Amos Shi
d414816fa5 8187759: Background not refreshed when painting over a transparent JFrame
Backport-of: 04d43c435d
2024-07-19 02:12:48 +04:00
Amos Shi
32d8dcedeb 8327136: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java fails on libgraal
Backport-of: 8f0fb27dec
2024-07-19 02:12:48 +04:00
Amos Shi
ed921ac9c3 8315824: Open source several Swing Text/HTML related tests
Backport-of: c11f8352e9
2024-07-19 02:12:48 +04:00
Amos Shi
8d391838a7 8326006: Allow TEST_VM_FLAGLESS to set flagless mode
Backport-of: d10f277bd3
2024-07-19 02:12:47 +04:00
Amos Shi
4a55cc83e4 8315071: Modify TrayIconScalingTest.java, PrintLatinCJKTest.java to use new PassFailJFrame's builder pattern usage
Backport-of: 31e26814db
2024-07-19 02:12:47 +04:00
Goetz Lindenmaier
f13e11bcb2 8327474: Review use of java.io.tmpdir in jdk tests
Backport-of: 375bfac8e7
2024-07-19 02:12:47 +04:00
Goetz Lindenmaier
2e460d1500 8328555: hidpi problems for test java/awt/Dialog/DialogAnotherThread/JaWSTest.java
Backport-of: 23ebd9c3c6
2024-07-19 02:12:47 +04:00
Goetz Lindenmaier
9b1554a5ba 8327180: Failed: java/io/ObjectStreamClass/ObjectStreamClassCaching.java#G1
Backport-of: 85fc47c81a
2024-07-19 02:12:46 +04:00
Goetz Lindenmaier
4ce3da1235 8327486: java/util/Properties/PropertiesStoreTest.java fails "Text 'xxx' could not be parsed at index 20" after 8174269
Backport-of: e21da4caac
2024-07-19 02:12:46 +04:00
Vladimir Petko
fcef03e4c3 8325028: (ch) Pipe channels should lazily set socket to non-blocking mode on first use by virtual thread
Backport-of: d1099033ac
2024-07-19 02:12:46 +04:00
Aleksey Shipilev
3d24c9849d 8328166: Epsilon: 'EpsilonHeap::allocate_work' misuses the parameter 'size' as size in bytes
Backport-of: 90ab52e598
2024-07-19 02:12:45 +04:00
Goetz Lindenmaier
422e5ad03e 8319955: Improve dependencies removal during class unloading
Reviewed-by: stuefe
Backport-of: fbe19378c3
2024-07-19 02:12:45 +04:00
Goetz Lindenmaier
5108814114 8318109: Writing JFR records while a CHT has taken its lock asserts in rank checking
Reviewed-by: mbaesken, sgehwolf
Backport-of: 9f767aa44b
2024-07-19 02:12:45 +04:00
Goetz Lindenmaier
2b9241767d 8317600: VtableStubs::stub_containing() table load not ordered wrt to stores
Reviewed-by: adinn
Backport-of: c566dfccf8
2024-07-19 02:12:45 +04:00
Goetz Lindenmaier
c530c6bb03 8316959: Improve InlineCacheBuffer pending queue management
Reviewed-by: roland
Backport-of: c9985720b9
2024-07-19 02:12:44 +04:00
Goetz Lindenmaier
9c7a6ec32b 8323685: PrintSystemDictionaryAtExit has mutex rank assert
Backport-of: 2865afe759
2024-07-19 02:12:43 +04:00
Goetz Lindenmaier
a0dbcc2c77 8315503: G1: Code root scan causes long GC pauses due to imbalanced iteration
8317440: Lock rank checking fails when code root set is modified with the Servicelock held after JDK-8315503
8318720: G1: Memory leak in G1CodeRootSet after JDK-8315503

Reviewed-by: sgehwolf, shade
Backport-of: 795e5dcc85
2024-07-19 02:12:43 +04:00
Andrew Lu
c323f46b13 8318599: HttpURLConnection cache issues leading to crashes in JGSS w/ native GSS introduced by 8303809
Backport-of: f1a24f6d48
2024-07-19 02:12:43 +04:00
Aleksey Shipilev
e684f81d59 8318986: Improve GenericWaitBarrier performance
Backport-of: 30462f9da4
2024-07-19 02:12:42 +04:00
Gui Cao
dc64782afe 8326936: RISC-V: Shenandoah GC crashes due to incorrect atomic memory operations
8316186: RISC-V: Remove PlatformCmpxchg<4>
8330242: RISC-V: Simplify and remove CORRECT_COMPILER_ATOMIC_SUPPORT in atomic_linux_riscv.hpp

Reviewed-by: fyang
Backport-of: a089ed2b92
2024-07-19 02:12:41 +04:00
Robert Toyonaga
d76f62ad91 8305931: jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java failed with "Expected chains but found none"
Backport-of: 65be5e0c54
2024-07-19 02:12:41 +04:00
Robert Toyonaga
8e68862875 8326521: JFR: CompilerPhase event test fails on windows 32 bit
Backport-of: 96530bcc07
2024-07-19 02:12:41 +04:00
Goetz Lindenmaier
3b0802826f 8328988: [macos14] Problem list LightweightEventTest.java which fails due to macOS bug described in JDK-8322653
Backport-of: 2374d1e334ba0528b39239a01fe52d5843e678df
2024-07-19 02:12:40 +04:00
Goetz Lindenmaier
19f57666be 8327631: Update IANA Language Subtag Registry to Version 2024-03-07
Backport-of: d5b95a0ed3
2024-07-19 02:12:40 +04:00
Goetz Lindenmaier
2ffcb1efcb 8320714: java/util/Locale/LocaleProvidersRun.java and java/util/ResourceBundle/modules/visibility/VisibilityTest.java timeout after passing
Backport-of: 69c0b24386
2024-07-19 02:12:39 +04:00
Andrew Lu
d8de757534 8328540: test javax/swing/JSplitPane/4885629/bug4885629.java fails on windows hidpi
Backport-of: fa823bd21c
2024-07-19 02:12:39 +04:00
Severin Gehwolf
1bc480c1c1 8329961: Buffer overflow in os::Linux::kernel_version
Backport-of: 279ed0ddd5
2024-07-19 02:12:39 +04:00
Matthias Baesken
574c532ebf 8328589: unify os::breakpoint among posix platforms
Backport-of: 93d1700f23
2024-07-19 02:12:38 +04:00
Sidraya Jayagond
85d8121280 8329545: [s390x] Fix garbage value being passed in Argument Register
Backport-of: e0fd6c4c9e
2024-07-19 02:12:38 +04:00
Gui Cao
61892ddc7e 8329823: RISC-V: Need to sync CPU features with related JVM flags
Backport-of: b9331cd25c
2024-07-19 02:12:38 +04:00
Goetz Lindenmaier
a887872dbd 8320349: Simplify FileChooserSymLinkTest.java by using single-window testUI
Backport-of: b1cb37432a
2024-07-19 02:12:38 +04:00
Goetz Lindenmaier
32a25f06a1 8318322: Update IANA Language Subtag Registry to Version 2023-10-16
Backport-of: cc8f8da293
2024-07-19 02:12:37 +04:00
Goetz Lindenmaier
3f9db3eaa8 8303959: tools/jpackage/share/RuntimePackageTest.java fails with java.lang.AssertionError missing files
Backport-of: 5a6aa569aa
2024-07-19 02:12:37 +04:00
Goetz Lindenmaier
9a4e1dcaf4 8313899: JVMCI exception Translation can fail in TranslatedException.<clinit>
Backport-of: 6f5c903d10
2024-07-19 02:12:37 +04:00
Goetz Lindenmaier
952b9b341d 8313702: Update IANA Language Subtag Registry to Version 2023-08-02
Backport-of: 1da82a34b1
2024-07-19 02:12:36 +04:00
Christoph Langer
a45e79c5ec 8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket
Backport-of: 92d6fa4abec1fdf8e57723e4490be0ba4f97e59d
2024-07-19 02:12:36 +04:00
Soumadipta Roy
f317dace68 8316608: Enable parallelism in vmTestbase/gc/vector tests
Backport-of: f61499c73f
2024-07-19 02:12:36 +04:00
Andrew Lu
26cac65d4e 8281658: Add a security category to the java -XshowSettings option
Backport-of: 2e12a123c9
2024-07-19 02:12:36 +04:00
Aleksey Shipilev
5d72dff3c6 8328702: C2: Crash during parsing because sub type check is not folded
Backport-of: e5e21a8a6e
2024-07-19 02:12:35 +04:00
Goetz Lindenmaier
8ece167c80 8328037: Test java/util/Formatter/Padding.java has unnecessary high heap requirement after JDK-8326718
Backport-of: 128e60a29f
2024-07-19 02:12:35 +04:00
Goetz Lindenmaier
e37d44133a 8321718: ProcessTools.executeProcess calls waitFor before logging
Backport-of: 9ab29f8dcd
2024-07-19 02:12:35 +04:00
Goetz Lindenmaier
447ba4c7af 8318585: Rename CodeCache::UnloadingScope to UnlinkingScope
Reviewed-by: sgehwolf
Backport-of: 4eab39d941
2024-07-19 02:12:35 +04:00
Goetz Lindenmaier
3fa9b47987 8311881: jdk/javax/swing/ProgressMonitor/ProgressTest.java does not show the ProgressMonitorInputStream all the time
Backport-of: 197981b431
2024-07-19 02:12:34 +04:00
Aleksey Shipilev
fe544d71ea 8329570: G1: Excessive is_obj_dead_cond calls in verification
Backport-of: 29992e1fca
2024-07-19 02:12:34 +04:00
Amos Shi
20a9bdebb9 8305645: System Tray icons get corrupted when Windows primary monitor changes
Backport-of: 6cd370e04b
2024-07-19 02:12:34 +04:00
Matthias Baesken
185f109e82 8328604: remove on_aix() function
Backport-of: 940d1965f8
2024-07-19 02:12:34 +04:00
Gui Cao
c1714e7623 8315652: RISC-V: Features string uses wrong separator for jtreg
Reviewed-by: rehn
Backport-of: cbbfa0ddfb
2024-07-19 02:12:33 +04:00
Aleksey Shipilev
37ea104c5b 8319650: Improve heap dump performance with class metadata caching
Reviewed-by: phh
Backport-of: 03db82818b
2024-07-19 02:12:33 +04:00
Goetz Lindenmaier
994da4e774 8325203: System.exit(0) kills the launched 3rd party application
Backport-of: 6944537c3e
2024-07-19 02:12:33 +04:00
Elif Aslan
ec47c0e107 8325567: jspawnhelper without args fails with segfault
Backport-of: 2627470946
2024-07-19 02:12:32 +04:00
Goetz Lindenmaier
a2d956d526 8326718: Test java/util/Formatter/Padding.java should timeout on large inputs before fix in JDK-8299677
Backport-of: 4f336085d1
2024-07-19 02:12:32 +04:00
Goetz Lindenmaier
42c74201c7 8316451: 6 java/lang/instrument/PremainClass tests ignore VM flags
Backport-of: 9029bf644e
2024-07-19 02:12:32 +04:00
Goetz Lindenmaier
3dfdfc6671 8319578: Few java/lang/instrument ignore test.java.opts and accept test.vm.opts only
Backport-of: 3ebe6c192a
2024-07-19 02:12:32 +04:00
Goetz Lindenmaier
f40ed464dc 8321163: [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed
Backport-of: 672f37324f
2024-07-19 02:12:31 +04:00
Goetz Lindenmaier
fef56b2194 8314975: JavadocTester should set source path if not specified
Backport-of: 2f4d601a56
2024-07-19 02:12:31 +04:00
Goetz Lindenmaier
56920ab04c 8293069: Make -XX:+Verbose less verbose
Backport-of: 238c51e621
2024-07-19 02:12:31 +04:00
Dan Lutker
c258b1edf1 8294699: Launcher causes lingering busy cursor
Backport-of: d3df3eb5d7
2024-07-19 02:12:31 +04:00
Goetz Lindenmaier
1d9b2ca261 8316460: 4 javax/management tests ignore VM flags
Backport-of: d39b7bab27
2024-07-19 02:12:30 +04:00
Goetz Lindenmaier
79dc605fd4 8318962: Update ProcessTools javadoc with suggestions in 8315097
Backport-of: 7e4cb2f09d
2024-07-19 02:12:30 +04:00
Goetz Lindenmaier
21976f7faa 8308453: Convert JKS test keystores in test/jdk/javax/net/ssl/etc to PKCS12
Backport-of: 1696603ccd
2024-07-19 02:12:30 +04:00
Goetz Lindenmaier
49e1ed04c6 8303773: Replace "main.wrapper" with "test.thread.factory" property in test code
Backport-of: 89987dbf87
2024-07-19 02:12:29 +04:00
Matthias Baesken
9a1b44814b 8327468: Do not restart close if errno is EINTR [macOS/linux]
Backport-of: 481c866df8
2024-07-19 02:12:29 +04:00
Matthias Baesken
1d6bd0aaba 8328709: AIX os::get_summary_cpu_info support Power 10
Backport-of: b235682a18
2024-07-19 02:12:29 +04:00
Matthias Baesken
c62bb40cf5 8328776: [AIX] remove checked_vmgetinfo, use vmgetinfo directly
Backport-of: cf9b5a71bd
2024-07-19 02:12:28 +04:00
Goetz Lindenmaier
3bb65dd8fd 8319153: Fix: Class is a raw type in ProcessTools
Backport-of: 1c2ea1d27b
2024-07-19 02:12:28 +04:00
Goetz Lindenmaier
44458e4210 8304839: Move TestScaffold.main() to the separate class DebugeeWrapper
Backport-of: ee9776fa23
2024-07-19 02:12:28 +04:00
Goetz Lindenmaier
0153a4826f 8288936: Wrong lock ordering writing G1HeapRegionTypeChange JFR event
Backport-of: 0eb0997ae4
2024-07-19 02:12:27 +04:00
Aleksey Shipilev
3e575ebc93 8328638: Fallback option for POST-only OCSP requests
8329213: Better validation for com.sun.security.ocsp.useget option

Reviewed-by: serb
Backport-of: 614db2ea9e
2024-07-19 02:12:27 +04:00
Christoph Langer
72305df0b5 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185
Backport-of: dcca5daaf7f51c6579369c6ba3430a3d7962dbf2
2024-07-19 02:12:26 +04:00
Goetz Lindenmaier
0ecdcdba5f 8317965: TestLoadLibraryDeadlock.java fails with "Unable to load native library.: expected true, was false"
8319265: TestLoadLibraryDeadlock.java fails on windows-x64 "Unable to load b.jar"

Backport-of: 5207443b36
2024-07-19 02:12:26 +04:00
Goetz Lindenmaier
3e44704588 8317350: Move code cache purging out of CodeCache::UnloadingScope
Backport-of: bd3bc2c618
2024-07-19 02:12:26 +04:00
Goetz Lindenmaier
37c99d7a5b 8317677: Specialize Vtablestubs::entry_for() for VtableBlob
Backport-of: 1082c0e767
2024-07-19 02:12:24 +04:00
Goetz Lindenmaier
456c4570fe 8317235: Remove Access API use in nmethod class
Backport-of: c47a0ce3f0
2024-07-19 02:12:24 +04:00
Goetz Lindenmaier
6ce2cff3fd 8316669: ImmutableOopMapSet destructor not called
Backport-of: 3d6e775d71
2024-07-19 02:12:24 +04:00
Goetz Lindenmaier
3edb5cc717 8316670: Remove effectively unused nmethodBucket::_count
Backport-of: 837783c2d3
2024-07-19 02:12:23 +04:00
Goetz Lindenmaier
552b186884 8315485: (fs) Move java/nio/file/Path/Misc.java tests into java/nio/file/Path/PathOps.java
Reviewed-by: lucy
Backport-of: 8dfde28b28
2024-07-19 02:12:23 +04:00
Goetz Lindenmaier
553e5aaa80 8315998: Remove dead ClassLoaderDataGraphKlassIteratorStatic
Backport-of: 347beb21aa
2024-07-19 02:12:22 +04:00
Goetz Lindenmaier
b1946ac4a1 8316002: Remove unnecessary seen_dead_loader in ClassLoaderDataGraph::do_unloading
Backport-of: 50158f393e
2024-07-19 02:12:22 +04:00
Goetz Lindenmaier
bea4d9b77c 8315605: G1: Add number of nmethods in code roots scanning statistics
Backport-of: 7ef059a75c
2024-07-19 02:12:22 +04:00
Goetz Lindenmaier
31dac0f846 8294985: SSLEngine throws IAE during parsing of X500Principal
Backport-of: 80edd5c298
2024-07-19 02:12:21 +04:00
Aleksey Shipilev
bc88d97880 8328592: hprof tests fail with -XX:-CompactStrings
Backport-of: bb3e84bd1f
2024-07-19 02:12:21 +04:00
Long Yang
0f0fe60466 8319876: Reduce memory consumption of VM_ThreadDump::doit
Reviewed-by: phh
Backport-of: 8ec6b8de3b
2024-07-19 02:12:21 +04:00
Taizo Kurashige
a75c4e2c08 8313710: jcmd: typo in the documentation of JFR.start and JFR.dump
Backport-of: 16d917a85f
2024-07-19 02:12:21 +04:00
Elif Aslan
22c50af0b7 8318727: Enable parallelism in vmTestbase/vm/gc/concurrent tests
Backport-of: 29d462a072
2024-07-19 02:12:20 +04:00
Elif Aslan
73a1681d51 8311823: JFR: Uninitialized EventEmitter::_thread_id field
Backport-of: 9688ec2d0d
2024-07-19 02:12:20 +04:00
María Arias de Reyna
32a16c66bb 8319437: NMT should show library names in call stacks
Backport-of: e33b6c10f8
2024-07-19 02:12:20 +04:00
Goetz Lindenmaier
8cc9b255c6 8326643: JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message
Backport-of: d44aaa37f9
2024-07-19 02:12:20 +04:00
Goetz Lindenmaier
7d9978b80f 8309752: com/sun/jdi/SetLocalWhileThreadInNative.java fails with virtual test thread factory due to OpaqueFrameException
Backport-of: 1612b6dc6e
2024-07-19 02:12:20 +04:00
Andrew Lu
d180c49dc5 8328812: Update and move siphash license
Backport-of: ce7ebaa606
2024-07-19 02:12:19 +04:00
Elif Aslan
d19b48144f 8327998: Enable java/lang/ProcessBuilder/JspawnhelperProtocol.java on Mac
Backport-of: cc1800fa4d
2024-07-19 02:12:19 +04:00
Andrew Lu
23b61da1f9 8323994: gtest runner repeats test name for every single gtest assertion
Backport-of: 1aae980c54
2024-07-19 02:12:19 +04:00
Andrew Lu
79135863b1 8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS
Backport-of: 1f43fa0f8b
2024-07-19 02:12:19 +04:00
Goetz Lindenmaier
9ac6777a82 8280056: gtest/LargePageGtests.java#use-large-pages failed "os.release_one_mapping_multi_commits_vm"
Backport-of: 66520be7a7
2024-07-19 02:12:18 +04:00
Aleksey Shipilev
29759cb098 8328825: Google CAInterop test failures
Backport-of: 70a15c7363
2024-07-19 02:12:18 +04:00
Aleksey Shipilev
3b70b6b135 8328948: GHA: Restoring sysroot from cache skips the build after JDK-8326960
Backport-of: 447436e18c
2024-07-19 02:12:18 +04:00
Goetz Lindenmaier
fa0003e132 8327261: Parsing test for Double/Float succeeds w/o testing all bad cases
Backport-of: 9f7094079b
2024-07-19 02:12:18 +04:00
Goetz Lindenmaier
c26fb51ea3 8319648: java/lang/SecurityManager tests ignore vm flags
Backport-of: 437cf354e2
2024-07-19 02:12:18 +04:00
Goetz Lindenmaier
f8e5f2a824 8326948: Force English locale for timeout formatting
Backport-of: e772e78179
2024-07-19 02:12:17 +04:00
Goetz Lindenmaier
c7ba957da0 8326824: Test: remove redundant test in compiler/vectorapi/reshape/utils/TestCastMethods.java
Backport-of: 552411f832
2024-07-19 02:12:17 +04:00
Goetz Lindenmaier
c1626fe3db 8319651: Several network tests ignore vm flags when start java process
Backport-of: 9538f5d317
2024-07-19 02:12:17 +04:00
Goetz Lindenmaier
f7e2ff254a 8324236: compiler/ciReplay/TestInliningProtectionDomain.java failed with RuntimeException: should only dump inline information for ... expected true, was false
Backport-of: 72ba8178a8
2024-07-19 02:12:17 +04:00
Goetz Lindenmaier
9e633f8ae8 8319571: Update jni/nullCaller/NullCallerTest.java to accept flags or mark as flagless
Backport-of: b78896b9aa
2024-07-19 02:12:16 +04:00
Aleksey Shipilev
532fc1a22c 8328705: GHA: Cross-compilation jobs do not require build JDK
Backport-of: 29ba4b7d1e
2024-07-19 02:12:16 +04:00
Goetz Lindenmaier
c6e11dc958 8322858: compiler/c2/aarch64/TestFarJump.java fails on AArch64 due to unexpected PrintAssembly output
Backport-of: 52a6c37558
2024-07-19 02:12:16 +04:00
Goetz Lindenmaier
7607807816 8319647: Few java/lang/System/LoggerFinder/modules tests ignore vm flags
Backport-of: 62b7c5eaed
2024-07-19 02:12:16 +04:00
Goetz Lindenmaier
7b2c47fde8 8319567: Update java/lang/invoke tests to support vm flags
8319568: Update java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java to accept vm flags
8319672: Several classloader tests ignore VM flags
8319676: A couple of jdk/modules/incubator/ tests ignore VM flags
8319677: Test jdk/internal/misc/VM/RuntimeArguments.java should be marked as flagless

Backport-of: 1588dd934c
2024-07-19 02:12:16 +04:00
Goetz Lindenmaier
7233d66a44 8319574: Exec/process tests should be marked as flagless
Backport-of: 68110b7a82
2024-07-19 02:12:15 +04:00
Goetz Lindenmaier
ccad4eae00 8315741: Open source few swing JFormattedTextField and JPopupMenu tests
Backport-of: bfbc41c1f1
2024-07-19 02:12:15 +04:00
Goetz Lindenmaier
23b9c33c02 8316164: Opensource JMenuBar manual test
Backport-of: 8f4dfc443b
2024-07-19 02:12:15 +04:00
Sonia Zaldana Calles
773d281f48 8326591: New test JmodExcludedFiles.java fails on Windows when --with-external-symbols-in-bundles=public is used
Backport-of: 43c6f0b588
2024-07-19 02:12:14 +04:00
Sonia Zaldana Calles
a458ea5775 8159927: Add a test to verify JMOD files created in the images do not have debug symbols
Backport-of: 6c0bebccb0
2024-07-19 02:12:14 +04:00
Sonia Zaldana Calles
b64fecd7a7 8303972: (zipfs) Make test/jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java independent of the zip command line
8301183: (zipfs) jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java failing with ZipException:R0 on OL9

Backport-of: 7004c2724d
2024-07-19 02:12:14 +04:00
Sonia Zaldana Calles
78a9caa4f1 8324998: Add test cases for String.regionMatches comparing Turkic dotted/dotless I with uppercase latin I
Backport-of: c3c1d5bd12
2024-07-19 02:12:14 +04:00
Aleksey Shipilev
1e30e695b5 8326960: GHA: RISC-V sysroot cannot be debootstrapped due to ongoing Debian t64 transition
Backport-of: f207aa94f9
2024-07-19 02:12:13 +04:00
Matthias Baesken
b2c722fec3 8328165: improve assert(idx < _maxlrg) failed: oob
Backport-of: d57bdd85ab
2024-07-19 02:12:13 +04:00
Andrew Lu
a9a64247db 8315663: Open source misc awt tests
Backport-of: a36f5a54ab
2024-07-19 02:12:13 +04:00
Andrew Lu
dfb36adf13 8312383: Log X509ExtendedKeyManager implementation class name in TLS/SSL connection
Backport-of: bdd1aebea3
2024-07-19 02:12:12 +04:00
Goetz Lindenmaier
eb4eb74d0b 8325908: Finish removal of IntlTest and CollatorTest
Backport-of: 4c7b313e0d
2024-07-19 02:12:12 +04:00
Goetz Lindenmaier
5d338d6fa0 8303891: Speed up Zip64SizeTest using a small ZIP64 file
8259866: two java.util tests failed with "IOException: There is not enough space on the disk"

Backport-of: 842b895f09
2024-07-19 02:12:12 +04:00
Aleksey Shipilev
078c542fa6 8319048: Monitor deflation unlink phase prolongs time to safepoint
Backport-of: efc392259c
2024-07-19 02:12:12 +04:00
Goetz Lindenmaier
edc8cb5adc 8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap
Backport-of: eebcc2181f
2024-07-19 02:12:11 +04:00
Goetz Lindenmaier
f914122142 8317631: Refactor ChoiceFormat tests to use JUnit
Backport-of: 5e8d893c48
2024-07-19 02:12:11 +04:00
Alexander Scherbatiy
0543242c2d 7001133: OutOfMemoryError by CustomMediaSizeName implementation
Backport-of: 10335f60f9
2024-07-19 02:12:11 +04:00
Alexander Scherbatiy
78e85192cc 8320365: IPPPrintService.getAttributes() causes blanket re-initialisation
Backport-of: 91ffdfb1fc
2024-07-19 02:12:11 +04:00
Oli Gillespie
41247561b4 8324646: Avoid Class.forName in SecureRandom constructor
Reviewed-by: shade
Backport-of: 8ef918d667
2024-07-19 02:12:10 +04:00
Robert Toyonaga
8f46286152 8326529: JFR: Test for CompilerCompile events fails due to time out
Backport-of: 4dd6c44cbd
2024-07-19 02:12:10 +04:00
Goetz Lindenmaier
b185dfbceb 8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap
Backport-of: dde519dc21
2024-07-19 02:12:10 +04:00
Goetz Lindenmaier
791ae08e47 8223696: java/net/httpclient/MaxStreams.java failed with didn't finish within the time-out
Backport-of: 95310eab6c
2024-07-19 02:12:10 +04:00
Goetz Lindenmaier
dfc01f174c 8322920: Some ProcessTools.execute* functions are declared to throw Throwable
Backport-of: 868f8745fa
2024-07-19 02:12:09 +04:00
Goetz Lindenmaier
7dbd81e2d0 8288989: Make tests not depend on the source code
Backport-of: 2838a916ab
2024-07-19 02:12:09 +04:00
Goetz Lindenmaier
a0c2ae8ba0 8316696: Remove the testing base classes: IntlTest and CollatorTest
Backport-of: b859da9c54
2024-07-19 02:12:09 +04:00
Goetz Lindenmaier
a01ef99baf 8312320: Remove javax/rmi/ssl/SSLSocketParametersTest.sh from ProblemList
Backport-of: 8d29329138
2024-07-19 02:12:08 +04:00
Goetz Lindenmaier
88ad541a7b 8309757: com/sun/jdi/ReferrersTest.java fails with virtual test thread factory
Backport-of: d7251c1755
2024-07-19 02:12:08 +04:00
Oli Gillespie
e5bf38bd2f 8315559: Delay TempSymbol cleanup to avoid symbol table churn
8321276: runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr"

Reviewed-by: coleenp
Backport-of: d23f4f12ad
2024-07-19 02:12:08 +04:00
Aleksey Shipilev
a9ea00a98f 8325613: CTW: Stale method cleanup requires GC after Sweeper removal
Backport-of: 1281e18f14
2024-07-19 02:12:08 +04:00
Long Yang
d8933764f5 8327799: JFR view: the "Park Until" field of jdk.ThreadPark is invalid if the parking method is not absolute
Backport-of: 6f8b0a33fa
2024-07-19 02:12:07 +04:00
Aleksey Shipilev
727fa577b4 8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls
8319896: Remove monitor deflation from final audit
8320515: assert(monitor->object_peek() != nullptr) failed: Owned monitors should not have a dead object
8325437: Safepoint polling in monitor deflation can cause massive logs

Reviewed-by: stefank, adinn
Backport-of: 87be6b69fe
2024-07-19 02:12:07 +04:00
Dan Lutker
05bb294370 8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi
Reviewed-by: shade
Backport-of: 5d414da504
2024-07-19 02:12:07 +04:00
Goetz Lindenmaier
0836c04b3e 8324632: Update Zlib Data Compression Library to Version 1.3.1
8315117: Update Zlib Data Compression Library to Version 1.3
8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1

Backport-of: b5c267fc8a
2024-07-19 02:12:06 +04:00
Goetz Lindenmaier
f12ad3ea2b 8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane
Backport-of: 3b1062d45d
2024-07-19 02:12:06 +04:00
Goetz Lindenmaier
f3a71225e8 8321489: Update LCMS to 2.16
Backport-of: dc7d3b182d
2024-07-19 02:12:06 +04:00
Goetz Lindenmaier
130d9b7902 8316559: Refactor some util/Calendar tests to JUnit
Backport-of: 355811a996
2024-07-19 02:12:06 +04:00
Goetz Lindenmaier
ef15da0d3f 8313612: Use JUnit in lib-test/jdk tests
Backport-of: a35e96a3fa
2024-07-19 02:12:05 +04:00
Goetz Lindenmaier
b8ad9c5303 8314832: Few runtime/os tests ignore vm flags
Backport-of: fc3e826692
2024-07-19 02:12:05 +04:00
Goetz Lindenmaier
615e2eb29c 8310818: Refactor more Locale tests to use JUnit
Backport-of: 12e9430910
2024-07-19 02:12:05 +04:00
Goetz Lindenmaier
3f55ade5c2 8310731: Configure a javax.net.ssl.SNIMatcher for the HTTP/1.1 test servers in java/net/httpclient tests
Backport-of: 05e9c41edd
2024-07-19 02:12:04 +04:00
Goetz Lindenmaier
87a315e943 8310234: Refactor Locale tests to use JUnit
Backport-of: dad7bd9efc
2024-07-19 02:12:04 +04:00
William Kemper
e5e9ce8637 8322503: Shenandoah: Clarify gc state usage
Reviewed-by: shade
Backport-of: 51238c4bdb
2024-07-19 02:12:04 +04:00
Andrew Lu
3e1e3f9e04 8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails with the shape has not been applied msg
Backport-of: 62c9530c05
2024-07-19 02:12:04 +04:00
William Kemper
5d8f6a0ea7 8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint
Reviewed-by: phh
Backport-of: 808a03927c
2024-07-19 02:12:03 +04:00
Matthias Baesken
9270438afa 8326496: [test] checkHsErrFileContent support printing hserr in error case
Backport-of: a065eba56d
2024-07-19 02:12:03 +04:00
Matthias Baesken
bbc0d9fc94 8325743: test/jdk/java/nio/channels/unixdomain/SocketOptions.java enhance user name output in error case
Backport-of: d0039960c4
2024-07-19 02:12:03 +04:00
Andrew Lu
a750c05e34 8320129: "top" command during jtreg failure handler does not display CPU usage on OSX
Backport-of: 8be3e39220
2024-07-19 02:12:02 +04:00
Matthias Baesken
10f7e980de 8325432: enhance assert message "relocation addr must be in this section"
Backport-of: 3d3a8f0ebf
2024-07-19 02:12:02 +04:00
Suchismith Roy
ece03743d6 8320005: Allow loading of shared objects with .a extension on AIX
Backport-of: e85355ada4
2024-07-19 02:12:02 +04:00
Martin Doerr
16856d9ba1 8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space
Backport-of: e3ae81eeeee8e2b0063a576a90624dd927b512f0
2024-07-19 02:12:02 +04:00
Andrew Lu
e940ccb0f0 8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14
Backport-of: f1b73350c2
2024-07-19 02:12:01 +04:00
Andrew Lu
f327c3d862 8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries
Backport-of: 721bfee53a
2024-07-19 02:12:01 +04:00
Andrew Lu
a754e48ef0 8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java
Backport-of: 1f2922ad85
2024-07-19 02:12:00 +04:00
Sonia Zaldana Calles
a2bf1e7a70 8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters
Reviewed-by: phh
Backport-of: 82796bdebb
2024-07-19 02:12:00 +04:00
Ludovic Henry
8d65fddabb 8321075: RISC-V: UseSystemMemoryBarrier lacking proper OS support
Reviewed-by: rehn, fyang
Backport-of: 68eb5a1df5
2024-07-19 02:12:00 +04:00
Andrew Leonard
94958d3d75 8326685: Linux builds not reproducible if two builds configured in different build folders
Backport-of: 3b90ddfefe
2024-07-19 02:12:00 +04:00
Amos Shi
fc7cd01bac 8266242: java/awt/GraphicsDevice/CheckDisplayModes.java failing on macOS 11 ARM
Backport-of: f7d6d7a04f
2024-07-19 02:11:59 +04:00
Aleksey Shipilev
def7862a3e 8318455: Fix the compiler/sharedstubs/SharedTrampolineTest.java and SharedStubToInterpTest.java
Reviewed-by: phh
Backport-of: 4a16d111b1
2024-07-19 02:11:59 +04:00
Matthias Baesken
05d3ae28c0 8326140: src/jdk.accessibility/windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp ReleaseStringChars might be missing in early returns
Backport-of: d9ef16dbb6
2024-07-19 02:11:59 +04:00
Long Yang
8aa3ce1c69 8326446: The User and System of jdk.CPULoad on Apple M1 are inaccurate
Backport-of: 8dbd4b391f
2024-07-19 02:11:59 +04:00
Matthias Baesken
1bbaed468a 8324834: Use _LARGE_FILES on AIX
Backport-of: 8e45182357
2024-07-19 02:11:58 +04:00
Matthias Baesken
a4c6e6deee 8327059: os::Linux::print_proc_sys_info add swappiness information
Backport-of: f3b15abcb7
2024-07-19 02:11:58 +04:00
Amos Shi
f0bb231a1f 8315834: Open source several Swing JSpinner related tests
Backport-of: 4a63eb0522
2024-07-19 02:11:58 +04:00
Amos Shi
1777289f9a 8325137: com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java can fail in Xcomp with out of expected range
Backport-of: 91d8dac9cf
2024-07-19 02:11:58 +04:00
Amos Shi
d82b6e6f07 8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination
Backport-of: cbfddf4e1d
2024-07-19 02:11:57 +04:00
Amos Shi
0d2dbc9bd7 8315677: Open source few swing JFileChooser and other tests
Backport-of: fe5ef5f20d
2024-07-19 02:11:57 +04:00
Martin Doerr
748e06ac12 8325326: [PPC64] Don't relocate in case of allocation failure
Backport-of: 4388095cde
2024-07-19 02:11:57 +04:00
Sonia Zaldana Calles
7a48222ff6 8278527: java/util/concurrent/tck/JSR166TestCase.java fails nanoTime test
Backport-of: 54f09d7345
2024-07-19 02:11:57 +04:00
Goetz Lindenmaier
52beeab3d2 8314828: Mark 3 jcmd command-line options test as vm.flagless
8316228: jcmd tests are broken by 8314828

Backport-of: 23fab1181b
2024-07-19 02:11:56 +04:00
Goetz Lindenmaier
91b7f0e56e 8320712: Rewrite BadFactoryTest in pure Java
Backport-of: 66971600f7
2024-07-19 02:11:56 +04:00
Goetz Lindenmaier
158ae7d50b 8323276: StressDirListings.java fails on AIX
Backport-of: e5aed6be7a
2024-07-19 02:11:56 +04:00
Goetz Lindenmaier
84f5bc83ac 8322477: order of subclasses in the permits clause can differ between compilations
Reviewed-by: mdoerr
Backport-of: 5ba69e1734
2024-07-19 02:11:55 +04:00
Goetz Lindenmaier
8eb930fed9 8319757: java/nio/channels/DatagramChannel/InterruptibleOrNot.java failed: wrong exception thrown
Backport-of: ace010b38a
2024-07-19 02:11:55 +04:00
Goetz Lindenmaier
d012e7aa84 8303525: Refactor/cleanup open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.java
Backport-of: 704c6ea16c
2024-07-19 02:11:55 +04:00
Goetz Lindenmaier
df22b04492 8314824: Fix serviceability/jvmti/8036666/GetObjectLockCount.java to use vm flags
Backport-of: 93e82c0146
2024-07-19 02:11:54 +04:00
Goetz Lindenmaier
8c74c282a7 8311792: java/net/httpclient/ResponsePublisher.java fails intermittently with AssertionError: Found some outstanding operations
Backport-of: 1664e793eb
2024-07-19 02:11:54 +04:00
Goetz Lindenmaier
0900c5b2c9 8310070: Test: javax/net/ssl/DTLS/DTLSWontNegotiateV10.java timed out
Backport-of: af7f95e24a
2024-07-19 02:11:54 +04:00
Goetz Lindenmaier
d500d88ff0 8309763: Move tests in test/jdk/sun/misc/URLClassPath directory to test/jdk/jdk/internal/loader
Backport-of: 57fc9a3e96
2024-07-19 02:11:54 +04:00
SendaoYan
1596076b7c 8325024: java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java incorrect comment information
Backport-of: 432756b6e5
2024-07-19 02:11:53 +04:00
SendaoYan
ec20998712 8316563: test tools/jpackage/linux/LinuxResourceTest.java fails on CentOS Linux release 8.5.2111 and Fedora 27
Backport-of: 52814994ef
2024-07-19 02:11:53 +04:00
Sonia Zaldana Calles
6bda3ebeb7 8315609: Open source few more swing text/html tests
Backport-of: a04c6c1ac6
2024-07-19 02:11:53 +04:00
Sonia Zaldana Calles
5365b13482 8315898: Open source swing JMenu tests
Backport-of: fecd2fd8f2
2024-07-19 02:11:52 +04:00
Andrew Lu
dae4c48c02 8325972: Add -x to bash for building with LOG=debug
Backport-of: 8668198c26
2024-07-19 02:11:52 +04:00
Andrew Lu
d46b3798e5 8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop
Backport-of: 9f0e7da64e
2024-07-19 02:11:52 +04:00
Richard Reingruber
521633e98a 8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0
Reviewed-by: mdoerr
2024-07-19 02:11:51 +04:00
Goetz Lindenmaier
b375610e43 8306040: HttpResponseInputStream.available() returns 1 on empty stream
Backport-of: acaab6fd74
2024-07-19 02:11:51 +04:00
Oli Gillespie
0636be51ff 8324648: Avoid NoSuchMethodError when instantiating NativePRNG
Backport-of: 69b2674c68
2024-07-19 02:11:51 +04:00
Sonia Zaldana Calles
276cef5b35 8320343: Generate GIF images for AbstractButton/5049549/bug5049549.java
Backport-of: 9481d06e62
2024-07-19 02:11:50 +04:00
Matthias Baesken
78f7680180 8325862: set -XX:+ErrorFileToStderr when executing java in containers for some container related jtreg tests
Backport-of: 9f4ec21f47
2024-07-19 02:11:50 +04:00
Aleksey Shipilev
4a3bd22382 8323519: Add applications/ctw/modules to Hotspot tiered testing
Backport-of: ba3c3bbd87
2024-07-19 02:11:50 +04:00
Andrew Lu
5413658b52 8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053
Backport-of: e4803e0cbf
2024-07-19 02:11:50 +04:00
Sergey Bylokhov
b237b46531 8323210: Update the usage of cmsFLAGS_COPY_ALPHA
Backport-of: aba19334ea
2024-07-19 02:11:49 +04:00
KIRIYAMA Takuya
c3a5eca3d7 8313394: Array Elements in OldObjectSample event has the incorrect description
Backport-of: e8c325dea3
2024-07-19 02:11:49 +04:00
Patrick Zhang
d08bb67c84 8324824: AArch64: Detect Ampere-1B core and update default options for Ampere CPUs
Backport-of: 9936aeea32
2024-07-19 02:11:49 +04:00
Liang Mao
96a07f05ee 8324123: aarch64: fix prfm literal encoding in assembler
Backport-of: bde87895c8
2024-07-19 02:11:48 +04:00
Aleksey Shipilev
930b21cbb0 8322846: Running with -Djdk.tracePinnedThreads set can hang
Backport-of: faa9c6909d
2024-07-19 02:11:48 +04:00
Jiří Vaněk
a7eca5c5b0 8323170: j2dbench is using outdated javac source/target to be able to build by itself
Backport-of: b5df2f4314
2024-07-19 02:11:47 +04:00
Aleksey Shipilev
63f9947d78 8315373: Change VirtualThread to unmount after freezing, re-mount before thawing
8312498: Thread::getState and JVM TI GetThreadState should return TIMED_WAITING virtual thread is timed parked
8312777: notifyJvmtiMount before notifyJvmtiUnmount
8321270: Virtual Thread.yield consumes parking permit
8322818: Thread::getStackTrace can fail with InternalError if virtual thread is timed-parked when pinned
8323002: test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java times out on macosx-x64
8323296: java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java#id1 timed out
8316924: java/lang/Thread/virtual/stress/ParkALot.java times out

Backport-of: 9a83d55887
2024-07-19 02:11:47 +04:00
Martin Doerr
9d82180fe6 8325213: Flags introduced by configure script are not passed to ADLC build
Backport-of: 9ee9f28849
2024-07-19 02:11:46 +04:00
Aleksey Shipilev
cf24f9f662 8320275: assert(_chunk->bitmap().at(index)) failed: Bit not set at index
8323595: is_aligned(p, alignof(OopT))) assertion fails in Jetty without compressed OOPs

Reviewed-by: phh
Backport-of: e9e694f4ef
2024-07-19 02:11:46 +04:00
Aleksey Shipilev
f7582e15ec 8324723: GHA: Upgrade some actions to avoid deprecated Node 16
Backport-of: 951b5f8ecb
2024-07-19 02:11:46 +04:00
Andrew Lu
879d4c5d95 8316053: Open some swing tests 3
Backport-of: a2391a92cd
2024-07-19 02:11:45 +04:00
Liang Mao
c558c0a425 8324817: Parallel GC does not pre-touch all heap pages when AlwaysPreTouch enabled and large page disabled
Backport-of: 80642dd7af
2024-07-19 02:11:45 +04:00
Goetz Lindenmaier
83a6d98073 8326773: Bump update version for OpenJDK: jdk-21.0.4
Reviewed-by: sgehwolf
2024-07-19 02:11:45 +04:00
Vitaly Provodin
7836c31c8e update exclude list on results of 21.0.3_b532.3 test runs 2024-07-18 07:10:20 +04:00
Artem Bochkarev
f9368519cd fixup! JBR-5405: supported BufImgSurfaceData 2024-07-15 09:11:11 +04:00
Konstantin Nisht
fe0853cae1 JBR-7392: Use NIO FS in ZipFile 2024-07-12 18:57:35 +04:00
Maxim Kartashёv
e63009e232 JBR-7390 Wayland: need better headless exception message 2024-07-11 11:57:45 +04:00
Vladimir Dvorak
9b7f2bfe05 JBR-7351 DCEVM: Respect explicit -XX:+ClassUnloading option
Ensure that ClassUnloading is not disabled if the -XX:+ClassUnloading flag is explicitly set by the user. Display a warning about potential instability in this configuration.
2024-07-09 21:25:34 +02:00
Artem Bochkarev
63cea5cf2d JBR-5405: supported BufImgSurfaceData 2024-07-09 10:27:34 +07:00
Vitaly Provodin
5c6f4e4fbc update exclude list on results of 21.0.3_b521.1 test runs 2024-07-09 03:17:29 +04:00
Maxim Kartashev
3fe37e1cd1 JBR-6830 Poor performance with KDE Plasma 6 X11
Use -Dwatch.desktop.geometry=false as a workaround until the KWin issue
is fixed
2024-07-08 15:39:10 +04:00
Artem Bochkarev
9a2c8c6cd5 JBR-4430 Fixed execution permissions on Linux 2024-07-08 09:52:54 +04:00
Maxim Kartashev
bd0703945a JBR-7028 Fix FPS counters for Windows 2024-07-03 14:31:02 +04:00
Aleksey Shipilev
70f9bc23f3 update exclude list on results of 21.0.3_b517.1 test runs 2024-07-02 04:13:13 +04:00
bourgesl
d8dab24256 JBR-4530: make opengl & metal handle colorMatching on non-SRGB profile consistently (controlled by the system property 'sun.java2d.osx.colorMatching') + updated MacOSLayerColorTest to test color matching setting on OpenGL & Metal pipelines 2024-06-26 12:09:46 +02:00
Nikita Provotorov
61f62b37ad JBR-7336 Any keyboard shortcut with Alt produces a Windows system sound.
fixup! JBR-7157: Alt+Shift+Enter sends KEY_TYPED Event.

Consume all WM_SYSCHAR messages (except for the Alt+Space keystroke), not allowing them to reach the system default handling routine, so the last won't make system beeps anymore after any [Shift+]Alt+<digit/letter> keystroke.

(cherry picked from commit 5d0e304db7)
(cherry picked from commit d433cc6f73)
2024-06-25 23:42:40 +02:00
Nikita Gubarkov
ad93243be3 JBR-7350 log JBR API warnings only in verbose mode 2024-06-25 17:44:33 +02:00
Vitaly Provodin
f9a72bb45a update exclude list on results of 21.0.3_b509.1 test runs 2024-06-25 02:22:21 +04:00
Maxim Kartashёv
13e217a8ca JBR-7259 Find Usages popup can't be resized under Wayland
Popup's positioner size has to be in sync with popup's buffer size
2024-06-21 13:56:15 +04:00
Nikita Provotorov
cbe5f7ac35 JBR-7157: Alt+Shift+Enter sends KEY_TYPED Event.
* X11 Linux part: disable posting KEY_TYPED events for VK_ENTER if any modifier except { Shift, Control, Lock, Mode Switch (a.k.a. AltGr), NumLock } is being pressed.
* Windows part: begin ignoring WM_SYSCHAR messages as MSDN instructs.
* Add a regression test.

(cherry picked from commit bacfbcd9e9)
(cherry picked from commit 876ad14545)
(cherry picked from commit 038e62308d)
(cherry picked from commit f7dbeb500d)
2024-06-19 21:17:52 +02:00
Vitaly Provodin
59735978d8 JBR-6696: fix drawableId usage + revert PrinterJob changes (non-appkit thread) 2024-06-19 13:54:28 +02:00
Vitaly Provodin
93f2675111 update exclude list on results of 21.0.3_b499.2 test runs 2024-06-18 16:20:35 +04:00
Maxim Kartashёv
e73d5f140e JBR-7254 Impossible to copy/paste files in Project tree 2024-06-18 14:04:24 +04:00
Maxim Kartashev
ffbe1c85d4 JBR-7290 Wayland: window permanently looses focus after invoking Go To Line dialog 2024-06-17 11:10:49 +04:00
Alexey Ushakov
f9ddafe25a JBR-7308 Vulkan: Build failure in vulkan enabled builds
Added missing header (jni_util.h)
2024-06-15 13:55:16 +02:00
Alexey Ushakov
f187ea1a07 JBR-7305 Vulkan: Implement FILL_SPANS primitive for flat color rendering
Implemented flat color shape rendering
2024-06-15 13:51:43 +02:00
Nikita Tsarev
ce21a7aeb3 JBR-6764: Add null check on hostAdapterLocator 2024-06-15 00:50:40 +02:00
Nikita Tsarev
1a58e7f6f0 JBR-6764: Work around IMEs breaking on macOS due to macOS JavaRuntimeSupport not reporting the correct locale in IMEs once after application startup 2024-06-15 00:49:18 +02:00
Xue-Lei Andrew Fan
fbee237cb5 update exclude list on results of 21.0.3_b480.1 test runs 2024-06-15 02:44:41 +04:00
Nikita Gubarkov
779194185a JBR-7307 Add stub for VKInstance.initNative with disabled Vulkan. 2024-06-14 23:29:58 +02:00
2350 changed files with 76632 additions and 58535 deletions

View File

@@ -66,7 +66,7 @@ runs:
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
@@ -74,7 +74,7 @@ runs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

View File

@@ -65,7 +65,7 @@ runs:
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}

View File

@@ -48,14 +48,14 @@ runs:
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -41,7 +41,7 @@ runs:
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}

View File

@@ -30,8 +30,7 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
# use a specific release of msys2/setup-msys2 to prevent jtreg build failures on newer release
uses: msys2/setup-msys2@7efe20baefed56359985e327d329042cde2434ff
uses: msys2/setup-msys2@v2.22.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal

View File

@@ -69,7 +69,7 @@ runs:
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -61,27 +61,32 @@ jobs:
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://httpredir.debian.org/debian/
debian-version: sid
tolerate-sysroot-errors: true
steps:
- name: 'Checkout the JDK source'
@@ -93,13 +98,6 @@ jobs:
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
@@ -120,7 +118,7 @@ jobs:
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
@@ -130,6 +128,7 @@ jobs:
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
id: create-sysroot
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
@@ -140,6 +139,7 @@ jobs:
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
continue-on-error: ${{ matrix.tolerate-sysroot-errors }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
@@ -151,7 +151,12 @@ jobs:
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
rm -rf sysroot/usr/libexec/gcc
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Remove broken sysroot'
run: |
sudo rm -rf sysroot/
if: steps.create-sysroot.outcome != 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
@@ -165,7 +170,6 @@ jobs:
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
--with-jmod-compress=zip-1
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
@@ -173,6 +177,7 @@ jobs:
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'
- name: 'Build'
id: build
@@ -180,3 +185,4 @@ jobs:
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'

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
@@ -54,7 +54,7 @@ jobs:
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 }}
@@ -107,7 +107,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
@@ -129,15 +129,15 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
if: needs.select.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
build-linux-x86-hs:
name: linux-x86-hs
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
make-target: 'hotspot'
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-architecture: 'i386'
@@ -147,7 +147,7 @@ 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.select.outputs.linux-x86-hs == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
@@ -210,7 +210,6 @@ jobs:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
@@ -298,16 +297,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:
@@ -345,7 +334,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
@@ -356,31 +345,27 @@ jobs:
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- 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@v6
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')"
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

@@ -211,7 +211,7 @@ jobs:
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
@@ -219,7 +219,7 @@ jobs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

View File

@@ -1,10 +1,11 @@
[general]
project=jdk-updates
jbs=JDK
version=21.0.3
version=21.0.5
[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

@@ -110,34 +110,32 @@ coverage of all the details.
### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
$ cd ./jb/project/docker/
$ ./mkdocker_x64.sh
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it jetbrains/runtime:oraclelinux8_x64
# 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 +167,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/).

View File

@@ -179,8 +179,9 @@ more tab-completion friendly. For more complex test runs, the
<p>The test specifications given in <code>TEST</code> is parsed into
fully qualified test descriptors, which clearly and unambigously show
which tests will be run. As an example, <code>:tier1</code> will expand
to
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>.
to include all subcomponent test directories that define `tier1`,
for example:
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...</code>.
You can always submit a list of fully qualified test descriptors in the
<code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="common-test-groups">Common Test Groups</h3>

View File

@@ -102,11 +102,11 @@ test runs, the `test TEST="x"` solution needs to be used.
The test specifications given in `TEST` is parsed into fully qualified test
descriptors, which clearly and unambigously show which tests will be run. As an
example, `:tier1` will expand to `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1
jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
always submit a list of fully qualified test descriptors in the `TEST` variable
if you want to shortcut the parser.
example, `:tier1` will expand to include all subcomponent test directories
that define `tier1`, for example: `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...`. You
can always submit a list of fully qualified test descriptors in the `TEST`
variable if you want to shortcut the parser.
### Common Test Groups

View File

@@ -1 +1 @@
1.0.0
1.0.2

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,4 +1,4 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_<arch>.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
@@ -31,12 +31,12 @@ RUN apk --no-cache add --update \
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
zip=3.0-r9 \
vulkan-headers=1.2.170-r0 \
vulkan-loader-dev=1.2.170-r1 \
glslang=8.13.3743-r1
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"
git config --global user.name "builduser" && \
git config --global --add safe.directory '*' && \
git config --global http.postBuffer 524288000

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.12
# Install the necessary build tools
RUN apk --no-cache add --update \
alsa-lib-dev=1.2.2-r0 \
autoconf=2.69-r2 \
bash=5.0.17-r0 \
build-base=0.5-r2 \
bzip2=1.0.8-r1 \
cups-dev=2.3.3-r0 \
file=5.38-r0 \
fontconfig=2.13.1-r2 \
fontconfig-dev=2.13.1-r2 \
freetype-dev=2.10.4-r2 \
git=2.26.3-r1 \
grep=3.4-r0 \
libx11-dev=1.6.12-r1 \
libxext-dev=1.3.4-r0 \
libxrandr-dev=1.5.2-r0 \
libxrender-dev=0.9.10-r3 \
libxt-dev=1.2.0-r0 \
libxtst-dev=1.2.3-r3 \
linux-headers=5.4.5-r1 \
rsync=3.1.3-r3 \
tar=1.32-r2 \
wayland-dev=1.18.0-r4 \
zip=3.0-r8
# 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"

View File

@@ -0,0 +1,63 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_<arch>.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 oraclelinux:8
# Install the necessary build tools
RUN yum -y update; \
yum -y install gcc-toolset-10-10.1-0.el8; \
yum -y install \
alsa-lib-devel-1.1.9-4.el8 \
autoconf-2.69-29.el8_10.1 \
automake-1.16.1-6.el8 \
bzip2-libs-1.0.6-26.el8 \
cups-devel-2.2.6-60.el8_10 \
file-5.33-26.el8 \
fontconfig-devel-2.13.1-4.el8 \
freetype-devel-2.9.1-9.el8 \
gcc-c++-8.5.0-22.0.1.el8_10 \
git-2.43.5-1.el8_10 \
git-core-2.43.5-1.el8_10 \
libtool-2.4.6-25.el8 \
libXi-devel-1.7.10-1.el8 \
libXrandr-devel-1.5.2-1.el8 \
libXrender-devel-0.9.10-7.el8 \
libXt-devel-1.1.5-12.el8 \
libXtst-devel-1.2.3-7.el8 \
make-devel-4.2.1-11.el8 \
rsync-3.1.3-19.el8_7.1 \
unzip-6.0-46.el8 \
wayland-devel-1.21.0-1.el8 \
python36-3.6.8-39.module+el8.10.0+90274+07ba55de \
cmake-3.26.5-2.el8 \
vulkan-headers-1.3.250.1-1.el8 \
vulkan-loader-devel-1.3.250.1-1.el8 \
vulkan-validation-layers-1.3.250.1-1.el8; \
yum -y clean all
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser" && \
git config --global --add safe.directory '*' && \
git config --global http.postBuffer 524288000
# Build GLSLC
RUN git clone https://github.com/google/shaderc --branch v2023.6 \
&& cd shaderc \
&& ./utils/git-sync-deps \
&& mkdir build \
&& cd build \
&& cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DSHADERC_SKIP_TESTS=ON \
-DSHADERC_SKIP_EXAMPLES=ON \
-DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
-DSPIRV_SKIP_EXECUTABLES=ON \
-DENABLE_SPVREMAPPER=OFF \
.. \
&& make install

View File

@@ -46,10 +46,5 @@ RUN linux32 \
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,28 +1,10 @@
#!/bin/bash
set -euo pipefail
set -x
set -euxo pipefail
# 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 .
docker build --platform=linux/aarch64 -t jetbrains/runtime:oraclelinux8_aarch64 -f Dockerfile.oraclelinux .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance

View File

@@ -1,28 +1,10 @@
#!/bin/bash
set -euo pipefail
set -x
set -euxo pipefail
# 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 .
docker build --platform=linux/aarch64 -t jetbrains/runtime:alpine14_aarch64 -f Dockerfile.alpine .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance

View File

@@ -1,28 +1,10 @@
#!/bin/bash
set -euo pipefail
set -x
set -euxo pipefail
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 21.
# This script creates a Docker image suitable for building musl x64 variant
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 .
docker build --platform=linux/amd64 -t jetbrains/runtime:alpine14_x64 -f Dockerfile.alpine .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance

View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -euxo pipefail
# This script creates a Docker image suitable for building x64 variant
docker build --platform=linux/amd64 -t jetbrains/runtime:oraclelinux8_x64 -f Dockerfile.oraclelinux .
# 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,25 +1,10 @@
#!/bin/bash -x
#!/bin/bash
set -euxo pipefail
# 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 .
docker build --platform=linux/i386 -t jetbrains/runtime:ubuntu2004_x86 -f Dockerfile.ubuntu.x86 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance

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 \
@@ -63,7 +64,7 @@ function create_image_bundle {
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__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}aarch64-${fastdebug_infix}b${build_number}
@@ -86,6 +87,7 @@ 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
echo Creating "$JBR".tar.gz ...

View File

@@ -42,6 +42,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 \
@@ -71,7 +72,7 @@ function create_image_bundle {
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__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}x64-${fastdebug_infix}b${build_number}
@@ -94,6 +95,7 @@ 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
echo Creating "$JBR".tar.gz ...

View File

@@ -51,7 +51,7 @@ function create_image_bundle {
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__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

@@ -53,7 +53,7 @@ function create_image_bundle {
fastdebug_infix=''
__cds_opt=''
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__cds_opt="--generate-cds-archive"
tmp=.bundle.$$.tmp
mkdir "$tmp" || 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

@@ -49,12 +49,54 @@ 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 -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 jmod files"
JMODS_DIR="$APPLICATION_PATH/Contents/Home/jmods"
JMOD_EXE="$APPLICATION_PATH/Contents/Home/bin/jmod"
if [ -d "$JMODS_DIR" ]; then
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 "Removing $jmod_file"
rm -f "$jmod_file"
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" {} \;
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"
# Add the output file
cmd="$cmd $jmod_file"
# Execute the command
eval $cmd
log "Removing $TMP_DIR"
rm -rf "$TMP_DIR"
done
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 +115,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,9 +130,7 @@ 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
@@ -109,7 +146,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.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
@@ -135,7 +172,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 +180,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

@@ -54,7 +54,7 @@ function create_image_bundle {
fastdebug_infix=''
__cds_opt=''
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}

View File

@@ -50,7 +50,7 @@ function create_image_bundle {
fastdebug_infix=''
__cds_opt=''
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then __cds_opt="--generate-cds-archive"; fi
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}

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

@@ -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

@@ -28,7 +28,7 @@
# Setup flags for C/C++ compiler
#
###############################################################################
################################################################################
#
# How to compile shared libraries.
#
@@ -37,7 +37,10 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -63,6 +66,9 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
if test "x$OPENJDK_TARGET_OS" = xlinux; then
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
fi
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -122,6 +128,11 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
# Add debug prefix map gcc system include paths, as they cause
# non-deterministic debug paths depending on gcc path location.
DEBUG_PREFIX_MAP_GCC_INCLUDE_PATHS
# Add debug prefix map for OUTPUTDIR to handle the scenario when
# it is not located within WORKSPACE_ROOT
outputdir_slash="${OUTPUTDIR%/}/"
DEBUG_PREFIX_CFLAGS="$DEBUG_PREFIX_CFLAGS -fdebug-prefix-map=${outputdir_slash}="
]
)
fi
@@ -485,7 +496,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
elif test "x$OPENJDK_TARGET_OS" = xaix; then
CFLAGS_OS_DEF_JVM="-DAIX"
CFLAGS_OS_DEF_JVM="-DAIX -D_LARGE_FILES"
elif test "x$OPENJDK_TARGET_OS" = xbsd; then
CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE"
elif test "x$OPENJDK_TARGET_OS" = xwindows; then

View File

@@ -190,6 +190,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(INCLUDE_SA)
# Setup default CDS alignment. On platforms where one build may run on machines with different
# page sizes, the JVM choses a compatible alignment to fit all possible page sizes. This slightly
# increases archive size.
# The only platform having this problem at the moment is Linux on aarch64, which may encounter
# three different page sizes: 4K, 64K, and if run on Mac m1 hardware, 16K.
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=false
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=true
fi
AC_SUBST(COMPATIBLE_CDS_ALIGNMENT_DEFAULT)
# Compress jars
COMPRESS_JARS=false
@@ -514,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"
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,
@@ -698,7 +715,7 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
#
AC_DEFUN([JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT],
[
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: false,
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: $COMPATIBLE_CDS_ALIGNMENT_DEFAULT,
RESULT: ENABLE_COMPATIBLE_CDS_ALIGNMENT,
DESC: [enable use alternative compatible cds core region alignment],
DEFAULT_DESC: [disabled],

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

@@ -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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -152,6 +152,10 @@ define SetupLogging
endif
endif
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
SHELL := $$(SHELL) -x
endif
ifeq ($$(LOG_LEVEL), trace)
SHELL_NO_RECURSE := $$(SHELL)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make

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://download.java.net/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_SHA256=bb863b2d542976d1ae4b7b81af3e78b1e4247a64644350b552d298d8dc5980dc
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://download.java.net/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_macos-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_SHA256=47cf960d9bb89dbe987535a389f7e26c42de7c984ef5108612d77c81aa8cc6a4
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
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_macos-aarch64_bin.tar.gz
MACOS_AARCH64_BOOT_JDK_SHA256=d020f5c512c043cfb7119a591bc7e599a5bfd76d866d939f5562891d9db7c9b3
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
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_SHA256=c92fae5e42b9aecf444a66c8ec563c652f60b1e231dfdd33a4f5a3e3603058fb
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

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=21
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=3
DEFAULT_VERSION_UPDATE=5
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2024-04-16
DEFAULT_VERSION_DATE=2024-10-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

@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (c) 2018, 2023, 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
@@ -29,6 +29,7 @@
JMH_VERSION=1.37
COMMONS_MATH3_VERSION=3.6.1
JOPT_SIMPLE_VERSION=5.0.4
MAVEN_MIRROR=${MAVEN_MIRROR:-https://repo.maven.apache.org/maven2}
BUNDLE_NAME=jmh-$JMH_VERSION.tar.gz
@@ -41,9 +42,9 @@ cd $JAR_DIR
rm -f *
fetchJar() {
url="https://repo.maven.apache.org/maven2/$1/$2/$3/$2-$3.jar"
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

@@ -51,7 +51,7 @@ ifeq ($(call check-jvm-feature, compiler2), true)
endif
# Set the C++ standard
ADLC_CFLAGS += $(ADLC_LANGSTD_CXXFLAG)
ADLC_CFLAGS += $(ADLC_LANGSTD_CXXFLAGS)
# NOTE: The old build didn't set -DASSERT for windows but it doesn't seem to
# hurt.

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

@@ -78,7 +78,8 @@ ifeq ($(call isTargetOs, macosx aix linux), true)
NAME := jspawnhelper, \
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKEXE) -I$(TOPDIR)/src/$(MODULE)/unix/native/libjava, \
CFLAGS := $(CFLAGS_JDKEXE) $(VERSION_CFLAGS) \
-I$(TOPDIR)/src/$(MODULE)/unix/native/libjava, \
EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjava/childproc$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKEXE), \
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \

View File

@@ -59,8 +59,10 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \
jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
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

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -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, \
@@ -391,6 +398,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
common/awt/debug \
common/awt/systemscale \
common/font \
common/java2d \
common/java2d/wl \
common/java2d/vulkan \
common/wayland \
@@ -659,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
@@ -1084,6 +1095,7 @@ ifeq ($(call isTargetOs, macosx), true)
libawt_lwawt/java2d/metal \
include \
common/awt/debug \
common/java2d \
common/java2d/opengl \
libosxapp \
#

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

@@ -867,7 +867,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 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
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exedaemonDestroy := jvm.lib
else
@@ -1508,8 +1508,11 @@ else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit += -ljvm
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCompleteExit += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMonitorWithDeadObjectTest += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libnativeStack += -lpthread
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeGetCreatedJavaVMs := -ljvm -lpthread
BUILD_HOTSPOT_JTREG_EXCLUDE += libNativeException.c
endif
ifeq ($(ASAN_ENABLED), true)

View File

@@ -80,7 +80,11 @@ ifeq ($(call isTargetOs, windows), true)
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

View File

@@ -29,6 +29,23 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
ifndef SOURCE
export SOURCE := 7
endif
ifndef TARGET
export TARGET := 7
endif
ifndef JAVAC
export JAVAC := javac
endif
ifndef JAVA
export JAVA := java
endif
ifndef JAR
export JAR := jar
endif
SOURCEPATH=src
CLASSES=build
DIST=dist
@@ -80,18 +97,18 @@ SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files
all: mkdirs J2DBench.jar J2DAnalyzer.jar
run: mkdirs J2DBench.jar
java -jar $(DIST)/J2DBench.jar
$(JAVA) -jar $(DIST)/J2DBench.jar
analyze: mkdirs J2DAnalyzer.jar
java -jar $(DIST)/J2DAnalyzer.jar
$(JAVA) -jar $(DIST)/J2DAnalyzer.jar
J2DBench.jar: \
$(J2DBENCH_CLASSES) $(J2DBENCH_RESOURCES) \
$(CLASSES)/j2dbench.manifest
jar cvmf $(CLASSES)/j2dbench.manifest $(DIST)/J2DBench.jar -C $(CLASSES) j2dbench
$(JAR) cvmf $(CLASSES)/j2dbench.manifest $(DIST)/J2DBench.jar -C $(CLASSES) j2dbench
J2DAnalyzer.jar: $(J2DANALYZER_CLASSES) $(CLASSES)/j2danalyzer.manifest
jar cvmf $(CLASSES)/j2danalyzer.manifest \
$(JAR) cvmf $(CLASSES)/j2danalyzer.manifest \
$(DIST)/J2DAnalyzer.jar -C $(CLASSES) j2dbench/report
$(CLASSES)/j2dbench/tests/iio/images: $(RESOURCES)/images
@@ -120,7 +137,7 @@ $(CLASSES):
mkdirs: $(DIST) $(CLASSES)
$(CLASSES)/j2dbench/%.class: $(SOURCEPATH)/j2dbench/%.java
javac -g:none -source 1.7 -target 1.7 -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
$(JAVAC) -g:none -source $(SOURCE) -target $(TARGET) -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
clean:
rm -rf $(CLASSES)

View File

@@ -23,6 +23,9 @@ The benchmark requires at least jdk1.4 to compile and run. Note that
source/target is set to 1.7 in the makefile and build.xml, because of
support in jdk 14 compiler. To check compatibility with jdk1.4 you can
use "-source 1.4 -target 1.4" options and jdk1.7.
Yo can use TARGET/SOURCE of makefile and -Dtarget/surce to set them up for your convinience.
Similarly you can set JAVA/JAVAC/JAR and -Djava/javac to select diffferent java/javac then is on yoru PATH
Unluckily in ant, you can not set jar, but ant should honor JAVA_HOME
-----------------------------------------------------------------------
How To Compile

View File

@@ -39,6 +39,27 @@
<property name="dist" location="dist"/>
<property name="resources" location="resources"/>
<condition property="source" value="21">
<not>
<isset property="source"/>
</not>
</condition>
<condition property="target" value="21">
<not>
<isset property="target"/>
</not>
</condition>
<condition property="java" value="java">
<not>
<isset property="java"/>
</not>
</condition>
<condition property="javac" value="javac">
<not>
<isset property="javac"/>
</not>
</condition>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
@@ -49,13 +70,14 @@
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac debug="off" source="21" target="21" srcdir="${src}" destdir="${build}"/>
<javac debug="off" source="${source}" target="${target}" srcdir="${src}" destdir="${build}" fork="true"/>
</target>
<target name="run" depends="dist"
description="run J2DBench" >
<java jar="${dist}/J2DBench.jar"
fork="true"
jvm="${java}"
>
</java>
</target>
@@ -64,6 +86,7 @@
description="run J2DAnalyzer" >
<java jar="${dist}/J2DAnalyzer.jar"
fork="true"
jvm="${java}"
>
</java>
</target>

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);

View File

@@ -187,6 +187,26 @@ void Address::lea(MacroAssembler *as, Register r) const {
zrf(Rd, 0);
}
// This encoding is similar (but not quite identical) to the encoding used
// by literal ld/st. see JDK-8324123.
// PRFM does not support writeback or pre/post index.
void Assembler::prfm(const Address &adr, prfop pfop) {
Address::mode mode = adr.getMode();
// PRFM does not support pre/post index
guarantee((mode != Address::pre) && (mode != Address::post), "prfm does not support pre/post indexing");
if (mode == Address::literal) {
starti;
f(0b11, 31, 30), f(0b011, 29, 27), f(0b000, 26, 24);
f(pfop, 4, 0);
int64_t offset = (adr.target() - pc()) >> 2;
sf(offset, 23, 5);
} else {
assert((mode == Address::base_plus_offset)
|| (mode == Address::base_plus_offset_reg), "must be base_plus_offset/base_plus_offset_reg");
ld_st2(as_Register(pfop), adr, 0b11, 0b10);
}
}
// An "all-purpose" add/subtract immediate, per ARM documentation:
// A "programmer-friendly" assembler may accept a negative immediate
// between -(2^24 -1) and -1 inclusive, causing it to convert a

View File

@@ -573,7 +573,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);
@@ -795,6 +795,8 @@ public:
void adrp(Register Rd, const Address &dest, uint64_t &offset) = delete;
void prfm(const Address &adr, prfop pfop = PLDL1KEEP);
#undef INSN
void add_sub_immediate(Instruction_aarch64 &current_insn, Register Rd, Register Rn,
@@ -1572,17 +1574,6 @@ public:
#undef INSN
#define INSN(NAME, size, op) \
void NAME(const Address &adr, prfop pfop = PLDL1KEEP) { \
ld_st2(as_Register(pfop), adr, size, op); \
}
INSN(prfm, 0b11, 0b10); // FIXME: PRFM should not be used with
// writeback modes, but the assembler
// doesn't enfore that.
#undef INSN
#define INSN(NAME, size, op) \
void NAME(FloatRegister Rt, const Address &adr) { \
ld_st2(as_Register(Rt), adr, size, op, 1); \

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

@@ -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

@@ -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

@@ -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

@@ -142,9 +142,11 @@
// * 63-48 Fixed (16-bits, always zero)
//
// Default value if probing is not implemented for a certain platform: 128TB
static const size_t DEFAULT_MAX_ADDRESS_BIT = 47;
// Minimum value returned, if probing fails: 64GB
// 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
static const size_t DEFAULT_MAX_ADDRESS_BIT = 46;
// Minimum value returned, if probing fails
static const size_t MINIMUM_MAX_ADDRESS_BIT = 36;
static size_t probe_valid_max_address_bit() {

View File

@@ -36,9 +36,11 @@
#include <sys/mman.h>
#endif // LINUX
// Default value if probing is not implemented for a certain platform: 128TB
static const size_t DEFAULT_MAX_ADDRESS_BIT = 47;
// Minimum value returned, if probing fails: 64GB
// 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 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;
static size_t probe_valid_max_address_bit() {

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.
*
@@ -27,6 +27,7 @@
#define CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP
const int StackAlignmentInBytes = 16;
const size_t pd_segfault_address = 1024;
// Indicates whether the C calling conventions require that
// 32-bit integer argument values are extended to 64 bits.
@@ -71,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

@@ -389,13 +389,13 @@ static bool offset_for(uint32_t insn1, uint32_t insn2, ptrdiff_t &byte_offset) {
return false;
}
class Decoder : public RelocActions {
virtual reloc_insn adrpMem() { return &Decoder::adrpMem_impl; }
virtual reloc_insn adrpAdd() { return &Decoder::adrpAdd_impl; }
virtual reloc_insn adrpMovk() { return &Decoder::adrpMovk_impl; }
class AArch64Decoder : public RelocActions {
virtual reloc_insn adrpMem() { return &AArch64Decoder::adrpMem_impl; }
virtual reloc_insn adrpAdd() { return &AArch64Decoder::adrpAdd_impl; }
virtual reloc_insn adrpMovk() { return &AArch64Decoder::adrpMovk_impl; }
public:
Decoder(address insn_addr, uint32_t insn) : RelocActions(insn_addr, insn) {}
AArch64Decoder(address insn_addr, uint32_t insn) : RelocActions(insn_addr, insn) {}
virtual int loadStore(address insn_addr, address &target) {
intptr_t offset = Instruction_aarch64::sextract(_insn, 23, 5);
@@ -491,7 +491,7 @@ public:
};
address MacroAssembler::target_addr_for_insn(address insn_addr, uint32_t insn) {
Decoder decoder(insn_addr, insn);
AArch64Decoder decoder(insn_addr, insn);
address target;
decoder.run(insn_addr, target);
return target;
@@ -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,
@@ -5978,51 +6082,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

@@ -716,9 +716,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 +942,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,

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((Patching_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, 2023, 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; }
@@ -175,7 +175,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 +308,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

@@ -310,7 +310,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
uint int_args = 0;
uint fp_args = 0;
uint stk_args = 0; // inc by 2 each time
uint stk_args = 0;
for (int i = 0; i < total_args_passed; i++) {
switch (sig_bt[i]) {
@@ -322,8 +322,9 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
if (int_args < Argument::n_int_register_parameters_j) {
regs[i].set1(INT_ArgReg[int_args++]->as_VMReg());
} else {
stk_args = align_up(stk_args, 2);
regs[i].set1(VMRegImpl::stack2reg(stk_args));
stk_args += 2;
stk_args += 1;
}
break;
case T_VOID:
@@ -340,6 +341,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
if (int_args < Argument::n_int_register_parameters_j) {
regs[i].set2(INT_ArgReg[int_args++]->as_VMReg());
} else {
stk_args = align_up(stk_args, 2);
regs[i].set2(VMRegImpl::stack2reg(stk_args));
stk_args += 2;
}
@@ -348,8 +350,9 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
if (fp_args < Argument::n_float_register_parameters_j) {
regs[i].set1(FP_ArgReg[fp_args++]->as_VMReg());
} else {
stk_args = align_up(stk_args, 2);
regs[i].set1(VMRegImpl::stack2reg(stk_args));
stk_args += 2;
stk_args += 1;
}
break;
case T_DOUBLE:
@@ -357,6 +360,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
if (fp_args < Argument::n_float_register_parameters_j) {
regs[i].set2(FP_ArgReg[fp_args++]->as_VMReg());
} else {
stk_args = align_up(stk_args, 2);
regs[i].set2(VMRegImpl::stack2reg(stk_args));
stk_args += 2;
}
@@ -367,7 +371,7 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
}
}
return align_up(stk_args, 2);
return stk_args;
}
// Patch the callers callsite with entry to compiled code if it exists.
@@ -390,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);
@@ -1167,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
@@ -2333,7 +2338,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()));
@@ -2439,9 +2444,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
@@ -2656,9 +2659,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
@@ -2804,7 +2805,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));
}
@@ -2845,7 +2846,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.
@@ -2860,7 +2861,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

@@ -7008,8 +7008,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 +7021,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();

View File

@@ -1823,7 +1823,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);

View File

@@ -241,9 +241,13 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry,
__ mov_metadata(rmethod, entry);
__ str(rmethod, Address(rthread, JavaThread::callee_target_offset())); // just in case callee is deoptimized
__ push_cont_fastpath(rthread);
__ ldr(rscratch1, Address(rmethod, Method::from_compiled_offset()));
__ blr(rscratch1);
__ pop_cont_fastpath(rthread);
// return value shuffle
if (!needs_return_buffer) {
#ifdef ASSERT

View File

@@ -144,11 +144,19 @@ void VM_Version::initialize() {
}
}
// Ampere CPUs: Ampere-1 and Ampere-1A
if (_cpu == CPU_AMPERE && ((_model == CPU_MODEL_AMPERE_1) || (_model == CPU_MODEL_AMPERE_1A))) {
// Ampere CPUs
if (_cpu == CPU_AMPERE && ((_model == CPU_MODEL_AMPERE_1) ||
(_model == CPU_MODEL_AMPERE_1A) ||
(_model == CPU_MODEL_AMPERE_1B))) {
if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) {
FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true);
}
if (FLAG_IS_DEFAULT(OnSpinWaitInst)) {
FLAG_SET_DEFAULT(OnSpinWaitInst, "isb");
}
if (FLAG_IS_DEFAULT(OnSpinWaitInstCount)) {
FLAG_SET_DEFAULT(OnSpinWaitInstCount, 2);
}
}
// ThunderX
@@ -205,10 +213,9 @@ void VM_Version::initialize() {
}
}
// Neoverse N1, N2 and V1
if (_cpu == CPU_ARM && ((_model == 0xd0c || _model2 == 0xd0c)
|| (_model == 0xd49 || _model2 == 0xd49)
|| (_model == 0xd40 || _model2 == 0xd40))) {
// Neoverse N1, N2, V1, V2
if (_cpu == CPU_ARM && (model_is(0xd0c) || model_is(0xd49) ||
model_is(0xd40) || model_is(0xd4f))) {
if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) {
FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true);
}
@@ -456,16 +463,12 @@ void VM_Version::initialize() {
strcmp(UseBranchProtection, "pac-ret") == 0) {
_rop_protection = false;
// Enable ROP-protection if
// 1) this code has been built with branch-protection,
// 2) the CPU/OS supports it, and
// 3) incompatible VMContinuations isn't enabled.
// 1) this code has been built with branch-protection and
// 2) the CPU/OS supports it
#ifdef __ARM_FEATURE_PAC_DEFAULT
if (!VM_Version::supports_paca()) {
// Disable PAC to prevent illegal instruction crashes.
warning("ROP-protection specified, but not supported on this CPU. Disabling ROP-protection.");
} else if (VMContinuations) {
// Not currently compatible with continuation freeze/thaw.
warning("ROP-protection is incompatible with VMContinuations. Disabling ROP-protection.");
} else {
_rop_protection = true;
}
@@ -480,12 +483,6 @@ void VM_Version::initialize() {
// Determine the mask of address bits used for PAC. Clear bit 55 of
// the input to make it look like a user address.
_pac_mask = (uintptr_t)pauth_strip_pointer((address)~(UINT64_C(1) << 55));
// The frame pointer must be preserved for ROP protection.
if (FLAG_IS_DEFAULT(PreserveFramePointer) == false && PreserveFramePointer == false ) {
vm_exit_during_initialization(err_msg("PreserveFramePointer cannot be disabled for ROP-protection"));
}
PreserveFramePointer = true;
}
#ifdef COMPILER2

View File

@@ -110,7 +110,8 @@ enum Ampere_CPU_Model {
CPU_MODEL_ALTRA = 0xd0c, /* CPU implementer is CPU_ARM, Neoverse N1 */
CPU_MODEL_ALTRAMAX = 0xd0c, /* CPU implementer is CPU_ARM, Neoverse N1 */
CPU_MODEL_AMPERE_1 = 0xac3, /* CPU implementer is CPU_AMPERE */
CPU_MODEL_AMPERE_1A = 0xac4 /* CPU implementer is CPU_AMPERE */
CPU_MODEL_AMPERE_1A = 0xac4, /* CPU implementer is CPU_AMPERE */
CPU_MODEL_AMPERE_1B = 0xac5 /* AMPERE_1B core Implements ARMv8.7 with CSSC, MTE, SM3/SM4 extensions */
};
#define CPU_FEATURE_FLAGS(decl) \
@@ -151,6 +152,10 @@ enum Ampere_CPU_Model {
static int cpu_variant() { return _variant; }
static int cpu_revision() { return _revision; }
static bool model_is(int cpu_model) {
return _model == cpu_model || _model2 == cpu_model;
}
static bool is_zva_enabled() { return 0 <= _zva_length; }
static int zva_length() {
assert(is_zva_enabled(), "ZVA not available");

View File

@@ -175,7 +175,7 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index) {
// so all registers except arguments are free at this point.
const Register recv_klass_reg = r10;
const Register holder_klass_reg = r16; // declaring interface klass (DECC)
const Register resolved_klass_reg = rmethod; // resolved interface klass (REFC)
const Register resolved_klass_reg = r17; // resolved interface klass (REFC)
const Register temp_reg = r11;
const Register temp_reg2 = r15;
const Register icholder_reg = rscratch2;
@@ -192,28 +192,13 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index) {
__ load_klass(recv_klass_reg, j_rarg0);
// Receiver subtype check against REFC.
__ lookup_interface_method(// inputs: rec. class, interface
recv_klass_reg, resolved_klass_reg, noreg,
// outputs: scan temp. reg1, scan temp. reg2
temp_reg2, temp_reg,
L_no_such_interface,
/*return_method=*/false);
const ptrdiff_t typecheckSize = __ pc() - start_pc;
start_pc = __ pc();
// Get selected method from declaring class and itable index
__ lookup_interface_method(// inputs: rec. class, interface, itable index
recv_klass_reg, holder_klass_reg, itable_index,
// outputs: method, scan temp. reg
rmethod, temp_reg,
L_no_such_interface);
const ptrdiff_t lookupSize = __ pc() - start_pc;
__ lookup_interface_method_stub(recv_klass_reg, holder_klass_reg, resolved_klass_reg, rmethod,
temp_reg, temp_reg2, itable_index, L_no_such_interface);
// Reduce "estimate" such that "padding" does not drop below 8.
const ptrdiff_t estimate = 124;
const ptrdiff_t codesize = typecheckSize + lookupSize;
const ptrdiff_t estimate = 144;
const ptrdiff_t codesize = __ pc() - start_pc;
slop_delta = (int)(estimate - codesize);
slop_bytes += slop_delta;
assert(slop_delta >= 0, "itable #%d: Code size estimate (%d) for lookup_interface_method too small, required: %d", itable_index, (int)estimate, (int)codesize);

View File

@@ -26,6 +26,7 @@
#define CPU_ARM_GLOBALDEFINITIONS_ARM_HPP
const int StackAlignmentInBytes = 8;
const size_t pd_segfault_address = 1024;
// Indicates whether the C calling conventions require that
// 32-bit integer argument values are extended to 64 bits.

View File

@@ -444,7 +444,6 @@ int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
}
}
if (slot & 1) slot++;
return slot;
}

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({ Unimplemented(); })
@@ -46,12 +53,6 @@ public:
return map;
}
SmallRegisterMap() {}
SmallRegisterMap(const RegisterMap* map) {
Unimplemented();
}
inline address location(VMReg reg, intptr_t* sp) const {
Unimplemented();
return nullptr;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2023 SAP SE. All rights reserved.
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2024 SAP SE. 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
@@ -78,9 +78,9 @@ int Assembler::branch_destination(int inst, int pos) {
// Low-level andi-one-instruction-macro.
void Assembler::andi(Register a, Register s, const long ui16) {
if (is_power_of_2(((jlong) ui16)+1)) {
if (is_power_of_2(((unsigned long) ui16)+1)) {
// pow2minus1
clrldi(a, s, 64 - log2i_exact((((jlong) ui16)+1)));
clrldi(a, s, 64 - log2i_exact((((unsigned long) ui16)+1)));
} else if (is_power_of_2((jlong) ui16)) {
// pow2
rlwinm(a, s, 0, 31 - log2i_exact((jlong) ui16), 31 - log2i_exact((jlong) ui16));

View File

@@ -456,6 +456,9 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
__ extsw(R7_ARG5, length()->as_register());
ce->emit_static_call_stub();
if (ce->compilation()->bailed_out()) {
return; // CodeCache is full
}
bool success = ce->emit_trampoline_stub_for_call(SharedRuntime::get_resolve_static_call_stub());
if (!success) { return; }

View File

@@ -578,7 +578,7 @@ inline bool can_handle_logic_op_as_uimm(ValueType *type, Bytecodes::Code bc) {
is_power_of_2(int_or_long_const) ||
is_power_of_2(-int_or_long_const))) return true;
if (bc == Bytecodes::_land &&
(is_power_of_2(int_or_long_const+1) ||
(is_power_of_2((unsigned long)int_or_long_const+1) ||
(Assembler::is_uimm(int_or_long_const, 32) && is_power_of_2(int_or_long_const)) ||
(int_or_long_const != min_jlong && is_power_of_2(-int_or_long_const)))) return true;

View File

@@ -363,7 +363,7 @@ inline const ImmutableOopMap* frame::get_oop_map() const {
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 {

View File

@@ -31,6 +31,12 @@ const int BytesPerInstWord = 4;
const int StackAlignmentInBytes = 16;
#ifdef AIX
const size_t pd_segfault_address = -1;
#else
const size_t pd_segfault_address = 1024;
#endif
// Indicates whether the C calling conventions require that
// 32-bit integer argument values are extended to 64 bits.
const bool CCallingConventionRequiresIntsAsLongs = true;

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