Compare commits

...

715 Commits

Author SHA1 Message Date
Maxim Kartashev
5030760cba JBR-4602 Unexpected NoSuchFileException running Rider test
This reverts commits for JBR-3680, JBR-4118, and JBR-4485.

(cherry picked from commit acb42be927)
2022-06-28 13:45:59 +03:00
Vitaly Provodin
e49895b744 fixup! exclude vmTestbase/vm/jit/LongTransitions due to 8271615 on macOS 2022-06-28 09:48:14 +07:00
Jaroslav Bachorik
747a7d7d79 exclude vmTestbase/vm/jit/LongTransitions due to 8271615 on macOS 2022-06-28 06:50:30 +07:00
Alexander Lobas
47ffba7109 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
91629c8401 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
ecd3bd94eb JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
1a5fba9910 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Vladimir Kempik
a2d3da2434 8256844: Make NMT late-initializable
Cherry pick of PR https://github.com/openjdk/jdk17u-dev/pull/496

Reviewed-by: stuefe
2022-06-23 21:01:10 +03:00
Andrew Leonard
11da1aa07f JBR-4062 8288399: MacOS debug symbol files not always deterministic in reproducible builds
Reviewed-by: erikj
2022-06-23 17:53:38 +03:00
Alexey Pavlyutkin
87d8bda745 JBR-4062 8287894: Use fixed timestamp as an alternative of __DATE__ macro in jdk.jdi to make Windows build reproducible
Reviewed-by: erikj, ihse
2022-06-23 17:50:39 +03:00
Alexey Ushakov
b8d373e711 JBR-4591 macOS: SIGILL at [libsystem_kernel] __kill in -[__NSMallocBlock__ removeFromSuperview]: unrecognized selector sent to instance
Verified if windowDragView is present
2022-06-23 16:23:53 +02:00
Maxim Kartashev
4e8864552d JBR-4562 Generate hs_err file on SIGABRT
Changed the option from a -XX one to -Djbr.catch.SIGABRT=true to make it
more compatible with other JDKs.
2022-06-22 09:36:47 +03:00
Maxim Kartashev
57cd74977e fixup! JBR-4485 Windows: EXCEPTION_ACCESS_VIOLATION at sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry 2022-06-21 09:03:33 +03:00
Vitaly Provodin
845d9cd2a7 exclude javax/swing/JToolBar/4529206/bug4529206.java due to 8288707 on linux 2022-06-19 07:12:07 +07:00
Vitaly Provodin
abd349c4c9 fixup! JBR-4567 fix checking test status 2022-06-18 06:36:16 +07:00
Vitaly Provodin
3c7af3d9ac fixup! JBR-4567 replace comma with point in RenderPerf scores 2022-06-18 06:36:16 +07:00
Maxim Kartashev
62f8abdea8 JBR-4562 Generate hs_err file on SIGABRT
The generation can be switched off with the env var JVM_NO_SIGABRT.
2022-06-16 13:19:48 +03:00
Maxim Kartashev
2fc6a7d38b JBR-3101 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.macosx.CPlatformComponent.setBounds
CWarningWindow doesn't have a peer, so accomodated for that in
CPlatformComponent.setBounds().
2022-06-16 12:25:09 +03:00
Vitaly Provodin
004cba3473 JBR-4570 improve synchronization and increase waiting time 2022-06-16 15:42:45 +07:00
Nikita Provotorov
a89da55450 JBR-2074 Windows AArch64 support: add build and pack scripts. 2022-06-16 03:41:30 +07:00
Maxim Kartashev
04544a5f96 JBR-4485 Windows: EXCEPTION_ACCESS_VIOLATION at sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry
As a precaution, range-check the offset returned by WinAPI before
using it to read raw memory with Unsafe.
2022-06-15 10:48:34 +03:00
Maxim Kartashev
8dda13944a JBR-4481 Avoid workaround for reproducible jrt-fs.jar if boot jar supports reproducibility
BUILD_JAR is used instead of hand-crafted path and timestamp fixup is not
even applied if BOOT_JDK_JAR_SUPPORTS_DATE.
2022-06-15 09:58:01 +03:00
Vitaly Provodin
21865fd478 Update README.md 2022-06-15 06:13:24 +07:00
Vitaly Provodin
a4b4baeafb JBR-4567 replace comma with point in RenderPerf scores 2022-06-13 14:35:26 +07:00
Vitaly Provodin
2f68e2a4b6 JBR-4566 release file does not contain IMPLEMENTOR and other properties 2022-06-13 14:35:23 +07:00
Vitaly Provodin
55a8176c6d JBR-3770 exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java from regular runs on macosx-all 2022-06-10 13:56:24 +07:00
Vitaly Provodin
7f66caa16e JBR-4451 fix the case when asterik cannot be found in string with perf score
After adding the set -e option, which instructs bash to immediately exit if any command has a non-zero exit status, perfcmp.sh unexpectedly exited because grep could not find an asterik. But it is expected case which means that the score is applicable
2022-06-10 06:30:22 +07:00
Rajan Halade
08aeb1b30f 8287109: Distrust.java failed with CertificateExpiredException
Reviewed-by: mullan

(cherry picked from commit 5b7d066ca5)
2022-06-10 06:30:22 +07:00
Vitaly Provodin
b4a19f1154 exclude sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java due to 8252812 on linux-all 2022-06-10 06:30:22 +07:00
Vitaly Provodin
2b2b48c6af exclude java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java due to 8204200 2022-06-10 06:30:22 +07:00
Vitaly Provodin
38cc9f2592 Update README.md 2022-06-10 05:35:57 +07:00
Dmitry Batrak
94d95ad55c JBR-4535 Popup windows disappear on mouse hover when 'Focus strictly under mouse' policy is used in KDE
use override-redirect flag for popup menus on KDE - popup menus aren't affected by JBR-4535,
as they use an active mouse pointer grab, and marking them as override-redirect will allow to display
them over the system task bar, as https://bugs.openjdk.org/browse/JDK-6580930 requires
2022-06-09 20:23:21 +03:00
Alexey Ushakov
5b49bd750a 8287600: AA Ovals not rendered under metal
Commit command buffer after MTL_OP_MASK_OP operation
2022-06-09 13:49:52 +02:00
Dmitry Batrak
6dc194e089 JBR-4552 Windows revert back after initial move/resize in Cygwin/X 2022-06-08 15:01:51 +03:00
Dmitry Batrak
1f9120c283 JBR-4546 Focus is not returned back to IDE after closing "Open" dialog 2022-06-07 19:14:41 +03:00
Manuel Unterhofer
0301983b6a FL-11598 Fix accidental reset of window configuration for custom decoration on macOS
This also aligns the handling of the style mask with how the other settings are applied: It uses a client property now. This property is now also applied directly on peer initialization so that there is no need to re-apply, and the window directly appears in the correct configuration.
2022-06-07 15:17:09 +02:00
Dmitry Batrak
73d3da2f28 JBR-4543 NPE: IdeEventQueue.lambda$getNextEvent$0 2022-06-06 16:49:08 +03:00
Nikita Provotorov
321a4a3f83 fixup! JBR-4394, IDEA-246833: refactoring and blocking the fix of JBR-1573 to recreate IMs and ICs during preediting. 2022-06-06 21:38:10 +10:00
Nikita Provotorov
8490a25a0f JBR-4394, IDEA-246833: refactoring and blocking the fix of JBR-1573 to recreate IMs and ICs during preediting.
(cherry picked from commit 7a36587db8d3d5a63c5691243cd5bf56733c06e6)
2022-06-05 06:55:50 +10:00
Nikita Provotorov
9fbb44cae7 JBR-4394, IDEA-246833: fixup of JBR-2444.
(cherry picked from commit ef262dc8bb)
2022-06-03 19:50:39 +07:00
Dmitry Batrak
d10e161b72 JBR-4537 Popup windows shown for a background window cause app icon to blink in taskbar on KDE 2022-06-03 16:41:01 +03:00
Dmitry Batrak
c9670beb62 JBR-4535 Popup windows disappear on mouse hover when 'Focus strictly under mouse' policy is used in KDE 2022-06-03 16:41:01 +03:00
Vladimir Kempik
a0f8c27bdf 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
Backport-of: f5d6fddc6d
2022-06-03 15:44:26 +03:00
Vitaly Provodin
c39e4a4fcd JBR-4272 fix misprint in linux-aarch64 2022-06-03 04:06:06 +07:00
Nikita Gubarkov
51993ea193 JBR API v0.0.6
JBR-4525 Add DRAGGABLE_AREA hitspot type for custom window decoration
2022-06-01 22:42:28 +03:00
Nikita Gubarkov
30885a997e JBR-4031 add null-check for tagsArray returned from CTFontCopyAvailableTables 2022-06-01 00:41:02 +03:00
Vitaly Provodin
929d5352c4 JBR-4520 set file permissions after signing 2022-05-31 18:48:17 +07:00
Alexey Ushakov
5332227582 JBR-4442 ClipFlatOval test hangs on M1 mac
Improved RenderPerfTest:
  - corrected and simplified test logic
  - added timeout on low performant rendering
  - used several markers to recover from missing frames
  - protected measurements from multiple paint invocations
2022-05-27 16:03:05 +02:00
Jaikiran Pai
4fb8ed7e15 8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 beta2
Reviewed-by: dfuchs, alanb
(cherry picked from commit 269eae6189)
2022-05-27 20:06:11 +07:00
Vitaly Provodin
b477e4bb20 JBR-4512 windows: include pdb-files into jbrsdk 2022-05-27 19:13:39 +07:00
Vitaly Provodin
91d6a17b71 JBR-4087 add version info into the name of root directory in JBR tar.gz-distributions 2022-05-27 19:11:59 +07:00
Alexey Ushakov
99653a7246 JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added exception.toString() to jbr_err_* log

(cherry picked from commit 478bd6cdd7)

Added java stack of the exception to jbr_err_* log

(cherry picked from commit e97f728e93)

Also return the static string "OutOfMemoryError" in case of that
exception has been thrown in order to avoid crashing while reporting an
exception in an out-of-memory situation.
2022-05-25 12:32:25 +03:00
Vitaly Provodin
2d4764e6a5 Update README.md
update the link to JBR for IDEA 2022.2
2022-05-24 11:04:08 +07:00
Vitaly Provodin
1a5d095ffc exclude jb/java/awt/Window/ZOrderOnModalDialogActivation.java from S2 runs on Windows and Linux 2022-05-24 04:58:43 +07:00
Vitaly Provodin
6e54137bec exclude several tests from runs on machines with enabled VoiceOver 2022-05-24 04:58:42 +07:00
Vitaly Provodin
9ae2d19d82 exclude javax/swing/plaf/nimbus/TestNimbusOverride.java on windows due to 8253184 2022-05-24 04:58:42 +07:00
Vitaly Provodin
5ed37e2ade exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on linux-aarch64 only due to 8266283 2022-05-24 04:58:42 +07:00
Vitaly Provodin
7f2f3dd782 JBR-4487 enable Linux 32 builds (fix misprint) 2022-05-24 04:55:38 +07:00
Vladimir Kempik
c0f008e54d JBR-4496: Revert-JBR-4291-JBR-4423-and-JBR-4309 2022-05-23 18:33:46 +03:00
Harshitha Onkar
83521a04b4 8255439: System Tray icons get corrupted when windows scaling changes
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: kcr, prr, aivanov
2022-05-23 14:23:05 +03:00
Naoto Sato
a1c716f556 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
Reviewed-by: rriggs
2022-05-23 13:02:05 +03:00
Vladislav Rassokhin
e5085c2252 JBR-4451 Make bash scripts safer 2022-05-21 06:20:13 +07:00
Vitaly Provodin
bf7b0d3d01 JBR-4487 enable Linux 32 builds 2022-05-20 17:52:53 +07:00
Vitaly Provodin
6dc33960aa JBR-4458 enable JBR17 windows 32 bit builds 2022-05-20 17:52:53 +07:00
VladimirKempik
afe1cbc136 JBR-4452: Update crash report message with JBR youtrack link instead of bugreport.java.com (#151) 2022-05-20 11:18:10 +03:00
Maxim Kartashev
17e5d307b3 JBR-4457 getOperatingSystemMXBean throws an NPE
Instead of picking the memory cgroup specifically for "anyController",
pick any controller that appeared to be the first in the map.
2022-05-20 11:06:23 +03:00
Sergey Bylokhov
a3f12a2a6f 8274939: Incorrect size of the pixel storage is used by the robot on macOS
Reviewed-by: aivanov, prr
2022-05-18 21:19:51 +02:00
Dmitry Batrak
f42feb1eab JBR-1740 Menu remains open when application loses focus
(cherry picked from commit f987d22cd2)
2022-05-17 17:28:58 +03:00
Maxim Kartashev
4f4f3c9e41 JBR-4471 Linux: popup appears on wrong screen after desktop scale change
When screen scale changes, the cached screen bounds must be explicitly
updated. Call resetBoundsCache() whenever X11GraphicsDevice.scale has
changed.
2022-05-17 01:55:52 -07:00
Vitaly Provodin
d37946eef4 add _diz tarballs for linux-aarch64 to the expected set of artifacts 2022-05-17 10:39:37 +07:00
Vitaly Provodin
e3c584a7e3 exclude Frame/RestoreToOppositeScreen/RestoreToOppositeScreen.java from S2 runs due to 8286840 2022-05-17 05:17:48 +07:00
Zhengyu Gu
cd2dbaa88e JBR-4378 8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
Reviewed-by: prr, andrew
2022-05-16 07:28:38 -07:00
Zhengyu Gu
a076696bc6 JBR-4378 8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
Reviewed-by: prr, shade
2022-05-16 07:28:38 -07:00
Artem Bochkarev
8b2a1daac3 JBR-4473: fixed native part of SystemHotkeyReader 2022-05-16 17:16:05 +07:00
Nikita Gubarkov
56420d17c1 JBR-4364 Fixup macOS native file dialog 2022-05-16 12:33:54 +03:00
Nikita Gubarkov
4f69815a42 JBR-4364 Port macOS native file dialog patches
JBR-1752 Floating windows overlap modal dialogs
JBR-2005: don't set appearance of file chooser if OSX version < 10.14
2022-05-16 00:01:24 +03:00
Vitaly Provodin
9de73a31e8 JBR-4437 add sources to JBRSDK distributions for Windows and Linux 2022-05-14 05:04:41 +07:00
Andrey Turbanov
5509467613 8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11
Reviewed-by: jpai, bpb
(cherry picked from commit f9137cb7b7)
2022-05-14 05:04:41 +07:00
Artem Semenov
6321222001 JBR-4432 Context menu not opening for JTextComponent on mac 2022-05-13 12:02:17 +03:00
Nikita Gubarkov
a74ccad7f8 JBR-4364 Port macOS native file dialog patches
IDEA-146669 Enable Mac native file dialogs
IDEA-159507 Mac native dialogs: multiple open dialogs are possible
JBR-1784 File dialogs aren't themed on macOS
2022-05-12 20:43:34 +03:00
Nikita Gubarkov
6eb83f426c JBR-4460 Allow changing custom window decorations on Windows on the fly 2022-05-12 17:55:16 +03:00
Nikita Gubarkov
58f4edd277 Use reflection instead of method handle lookup to find JBR API implementation classes
This is useful for internal services and allows to keep implementation in classes normally not accessible from the point where service is created
2022-05-12 17:52:48 +03:00
Nikita Gubarkov
9bbb5185f4 fixup! Handle cases when unsupported window type is passed to CustomWindowDecoration client-side fallback
Bump JBR API patch version
2022-05-12 13:25:15 +03:00
Nikita Gubarkov
b4cc3ca9b9 Handle cases when unsupported window type is passed to CustomWindowDecoration client-side fallback 2022-05-12 13:16:48 +03:00
Alexander Lobas
fb428d58b1 JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Alexander Lobas
5e3573d422 JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Alexander Lobas
39969abfad JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Dmitry Batrak
39c4654438 JBR-4463 Activating app-modal dialog brings all app windows to front
(cherry picked from commit 2b05925276)
2022-05-11 22:09:30 +03:00
Nikita Gubarkov
10479dccd9 JBR-4460 Fix window drag with custom decorations on macOS 2022-05-11 19:25:39 +03:00
Maxim Kartashev
9a81ca792e JBR-3498 Windows: exception when trying to delete a directory with a trailing space
Allow Windows Path to have a trailing space despite Windows naming conventions
discouraging it. Many programs - including Explorer - successfully work
with such files or directories.
2022-05-11 17:04:14 +03:00
Nikita Provotorov
626ab933a9 JBR-4458: JBR17 Windows x86_32 build is broken.
Build-fix of the JBR-1430 fix.
2022-05-11 03:43:29 +07:00
Nikita Provotorov
6fb9661f26 JBR-4458: JBR17 Windows x86_32 build is broken.
Build-fix of the JBR-3997 fix.
2022-05-11 03:43:28 +07:00
Manuel Unterhofer
8b735d389b Merge fullscreen handlers for transparent title bar into existing ones 2022-05-09 14:39:14 +02:00
Manuel Unterhofer
e4c34ade82 FL-11420 Fix view hierarchy restoration for full-screen mode on macOS 2022-05-09 14:39:14 +02:00
Dmitry Batrak
11db651a21 JBR-1518 JBR 11 does not support chain of popups on Linux
(cherry picked from commit 849356ee01)
2022-05-04 17:10:46 +03:00
Maxim Kartashev
03f0ec3a28 JBR-3862 Implement native WatchService on MacOS
The watch service is based on FSEvents API that notifies about file
system changes at a directory level. It is possible to go back to
using the old polling watch service with -Dwatch.service.polling=true.

Features include:
- support for FILE_TREE option (recursive directory watching),
- minimum necessary I/O (no filesystem access more than once
  unless needed),
- one thread ("run loop") per WatchService instance,
- changes are detected by comparing file modification times with
  millisecond precision,
- a directory tree snapshot is taken at the time of WatchKey creation
  and can take a long time (proportional to the number of files).
2022-05-04 15:11:03 +03:00
Vitaly Provodin
59005e679f JBR-4437 add sources to JBRSDK distributions 2022-05-03 08:45:33 +07:00
Ryan Osial
efd61f2f97 Cache results of font-config pattern search for reuse
(cherry picked from commit 432f637904)
(cherry picked from commit 17bc232f6f)
2022-04-29 19:37:01 +02:00
Maxim Kartashev
3bf2a3f32d JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The crashes begin with the call to getDefaultConfig() in
createStatusWindow() returning garbage. With 8280468 fixed, there aren't
many reasons left for it to do so; it must be that the argument to the
call (the screen number) is out of range.

This change eliminates the possibilities to get an absolutely incorrect
screen number by checking the return values of several Xlib functions,
which, when fail, will leave their outgoing arguments uninitialized.
This, in turn, can lead to reading some random memory resulting in
equally random screen number that is later being fed to
getDefaultConfig().

Although on modern systems with Xinerama there should really be no
screen other than zero, as the last resort, this number is also
range-checked in getDefaultConfig() itself.
2022-04-29 06:36:53 -07:00
Atrem Bochkarev
b193bdbf37 JBR-4093: fixed test hangs at finishing 2022-04-29 13:45:05 +03:00
Anton Kozlov
b9ae79bd62 8284920: Incorrect Token type causes XPath expression to return empty result
Reviewed-by: andrew
2022-04-29 05:43:46 +07:00
Christoph Langer
57c4e5009e 8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
Reviewed-by: andrew
2022-04-29 05:43:45 +07:00
Alexey Bakhtin
078c85a001 8278449: Improve keychain support
Reviewed-by: andrew
Backport-of: 2376bb88eff3ae6922c4cae276e1d703a520853d
2022-04-29 05:43:45 +07:00
Yuri Nesterenko
97dcc801c9 8270504: Better Xpath expression handling
Reviewed-by: andrew
Backport-of: b61a2ca626b1da5e555c50e548b643a2daa396c6
2022-04-29 05:43:44 +07:00
Yuri Nesterenko
e8f43ec415 8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
Backport-of: e6afb6ff81c9004aadaa6f694e643de9703dd32d
2022-04-29 05:43:44 +07:00
Yuri Nesterenko
1a0517f672 8278972: Improve URL supports
Backport-of: 94f1fbfd6d23f18ade3cc1b36f6dd368963c9d02
2022-04-29 05:43:43 +07:00
Martin Balao
57e955258d 8281388: Change wrapping of EncryptedPrivateKeyInfo
Reviewed-by: mbaesken
Backport-of: 405381ce9b44c8b122a06e590e4d8240fd9ba996
2022-04-29 05:43:43 +07:00
Andrew Brygin
1ec310320b 8278805: Enhance BMP image loading
Backport-of: 6319119be51e595be82f253b9f5e9495e72d4ad9
2022-04-29 05:43:42 +07:00
Martin Balao
db07db3824 8278798: Improve supported intrinsic
Reviewed-by: roland, mbaesken
Backport-of: 7ed3d37203da74f3f2cc92d06250f74aa5ceccd1
2022-04-29 05:43:36 +07:00
David Alvarez
dd0ad60a02 8274221: More definite BER encodings
Backport-of: ee39b0fc22a55a051b8a4d5754c34105fe4b734e
2022-04-29 05:43:36 +07:00
Sergey Bylokhov
24ee64a3c3 8272255: Completely handle MIDI files
Reviewed-by: mbaesken
Backport-of: 6efdd1870e7ddb77a04d8c8183ced385039d0913
2022-04-29 05:43:36 +07:00
Martin Balao
4f01131d8b 8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
Reviewed-by: mbaesken
Backport-of: d48181536fa9b99f01fc80f8adb73777ec6ffa58
2022-04-29 05:43:36 +07:00
Martin Balao
eca38c63b7 8278356: Improve file creation
Backport-of: 3c75bf069973c1d05b94cb42edf6eb62820b1ef5
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
a3cab9ff52 8277672: Better invocation handler handling
Reviewed-by: mbaesken
Backport-of: 0691804665559f1935b7361d5f1207ac46f823f0
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
eb6c770ce8 8277233: Improve ECDSA signature support
Reviewed-by: mbaesken
Backport-of: 34714d63f1be267c2bc2ae7a55f936deab8ea6d2
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
6c509ba751 8277227: Better identification of OIDs
Reviewed-by: mbaesken
Backport-of: 3ac5f0175356fad40b59f879322fa7d89dfbcaab
2022-04-29 05:43:34 +07:00
Aleksei Voitylov
8cd33ef9e3 8275151: Improved Object Identification
Reviewed-by: mbaesken
Backport-of: 4cffe1cc913f895f54281de8e91ca39f4bde4b5f
2022-04-29 05:43:34 +07:00
Martin Balao
d2f5d0d55b 8272594: Better record of recordings
Reviewed-by: evergizova
Backport-of: 44d9bf6d4afac7b17273b0de1189f3487c1a22f7
2022-04-29 05:43:34 +07:00
Martin Balao
811607b4df 8272588: Enhanced recording parsing
Reviewed-by: mbaesken
Backport-of: 036e1b836ee6854f9996be2e8f04773227e60901
2022-04-29 05:43:33 +07:00
Oli Gillespie
48789ca2cd 8272261: Improve JFR recording file processing
Reviewed-by: mbaesken
Backport-of: 71dc970b928a6b3ccc4973f56765a4ff7c43860d
2022-04-29 05:43:33 +07:00
Martin Balao
6e62b56d09 8269938: Enhance XML processing passes redux
Reviewed-by: mbaesken
Backport-of: ff4e11b1a83d6910e39f1d46bea154f0876f39da
2022-04-29 05:43:33 +07:00
Goetz Lindenmaier
cf54d8c618 8282761: XPathFactoryImpl remove setProperty and getProperty methods
Reviewed-by: clanger, yan
2022-04-29 05:43:32 +07:00
Goetz Lindenmaier
e1f7c4214f 8277795: ldap connection timeout not honoured under contention
Backport-of: 3d926dd66e
2022-04-29 05:43:32 +07:00
Goetz Lindenmaier
b5054ca0ca 8276141: XPathFactory set/getProperty method
Reviewed-by: mbaesken, phh
Backport-of: b226ab99c8
2022-04-29 05:43:26 +07:00
Alexey Pavlyutkin
53463b2c26 8274471: Add support for RSASSA-PSS in OCSP Response
Reviewed-by: mdoerr, goetz
Backport-of: f63c4a832a
2022-04-29 05:43:26 +07:00
Ichiroh Takiguchi
47e1841109 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
Backport-of: c5c6058fd5
2022-04-29 05:43:25 +07:00
Zdenek Zambersky
c8654d24ba 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Backport-of: 4c52eb3943
2022-04-29 05:43:25 +07:00
Matthias Baesken
766f8a634b 8276841: Add support for Visual Studio 2022
Backport-of: f65db88b74
2022-04-29 05:43:24 +07:00
Goetz Lindenmaier
535f0320ef 8272866: java.util.random package summary contains incorrect mixing function in table
Backport-of: e66c8afb59
2022-04-29 05:43:24 +07:00
Mat Carter
1356468ccd 8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
Backport-of: 4c169495a2
2022-04-29 05:43:23 +07:00
Toshio Nakamura
6b023bd72b 8278185: Custom JRE cannot find non-ASCII named module inside
Backport-of: fcd67a5242
2022-04-29 05:43:16 +07:00
Thomas Stuefe
a0ed8eb08c 8281460: Let ObjectMonitor have its own NMT category
Backport-of: a037b3c358
2022-04-29 05:43:16 +07:00
Andrew Leonard
d5b5130b62 8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
Reviewed-by: sgehwolf
Backport-of: 45da3aea22
2022-04-29 05:43:16 +07:00
Thomas Stuefe
2523e70ff6 8277383: VM.metaspace optionally show chunk freelist details
Backport-of: 35361270cb
2022-04-29 05:43:15 +07:00
Thomas Stuefe
53d6420947 8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
Backport-of: 66c653c561
2022-04-29 05:43:15 +07:00
Matthias Baesken
c268107085 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Backport-of: d3749de478
2022-04-29 05:43:14 +07:00
Jonathan Dowland
a8f138e96d 8270117: Broken jtreg link in "Building the JDK" page
Backport-of: 41a5eb4372
2022-04-29 05:43:14 +07:00
Jonathan Dowland
68dc172fb6 8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
Reviewed-by: mdoerr
Backport-of: 86d0abb66b
2022-04-29 05:43:07 +07:00
Andrew Leonard
a22d6706fa 8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
Backport-of: dc2abc9f05
2022-04-29 05:43:07 +07:00
Alexey Bakhtin
486152a73d 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Backport-of: 58dae60da0
2022-04-29 05:43:06 +07:00
Matthias Baesken
0e640760fa 8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
Backport-of: fd8cb2dae8
2022-04-29 05:43:06 +07:00
Matthias Baesken
014ea3f95a 8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
Backport-of: bb74ae87ab
2022-04-29 05:43:05 +07:00
Goetz Lindenmaier
e613fa1334 8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
Backport-of: 3d7671b65e
2022-04-29 05:43:05 +07:00
Matthias Baesken
de2384fdb9 8273655: content-types.properties files are missing some common types
Backport-of: 65ed0a742e
2022-04-29 05:43:05 +07:00
Matthias Baesken
bc88d6fa82 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Backport-of: 01f93ddf18
2022-04-29 05:43:04 +07:00
Matthias Baesken
51472cf71a 8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
Backport-of: c180070cb5
2022-04-29 05:43:04 +07:00
Andrew John Hughes
8de2f8cd71 8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
Backport-of: d1aeca117c
2022-04-29 05:43:04 +07:00
Goetz Lindenmaier
308e18cbbb 8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
Backport-of: 35172cdaf3
2022-04-29 05:42:58 +07:00
Goetz Lindenmaier
086e158c78 8272600: (test) Use native "sleep" in Basic.java
Backport-of: 0a361638c5
2022-04-29 05:42:57 +07:00
Alexey Bakhtin
c0fcd34c81 8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
Backport-of: f6232982b9
2022-04-29 05:42:57 +07:00
Ana Marsh
52c72750b3 8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
Backport-of: 94127f43a4
2022-04-29 05:42:56 +07:00
Martin Doerr
9753c60d48 8281061: [s390] JFR runs into assertions while validating interpreter frames
Backport-of: 7f19c70070
2022-04-29 05:42:56 +07:00
Goetz Lindenmaier
36b8e66074 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
Backport-of: f1c20e91d8
2022-04-29 05:42:56 +07:00
Goetz Lindenmaier
df46e70a3a 8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
Backport-of: 13265f9901
2022-04-29 05:42:55 +07:00
Matthias Baesken
302f1a32a5 8273387: remove some unreferenced gtk-related functions
Backport-of: 6eba443428
2022-04-29 05:42:55 +07:00
Bernhard Urban-Forster
2f2df3dce8 8279702: [macosx] ignore xcodebuild warnings on M1
Backport-of: 4b520f0001
2022-04-29 05:42:55 +07:00
Dmitry Chuyko
df9e6e5bcc 8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
Backport-of: d93b238f97
2022-04-29 05:42:54 +07:00
Goetz Lindenmaier
afb43747b4 8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
Backport-of: b15e6f076a
2022-04-29 05:42:53 +07:00
Goetz Lindenmaier
001ec50992 8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
Backport-of: 47564caeb0
2022-04-29 05:42:43 +07:00
Goetz Lindenmaier
25c02411ed 8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
Backport-of: 54481394a3
2022-04-29 05:42:36 +07:00
Goetz Lindenmaier
c916005092 8275847: Scheduling fails with "too many D-U pinch points" on small method
Backport-of: 3934fe54b4
2022-04-29 05:42:36 +07:00
Goetz Lindenmaier
228e8c5d3d 8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
Reviewed-by: stuefe
Backport-of: e5cd2692da
2022-04-29 05:42:35 +07:00
Goetz Lindenmaier
989c96f284 8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
Backport-of: 2448b3f5f9
2022-04-29 05:42:35 +07:00
Goetz Lindenmaier
0c879b3d93 8271506: Add ResourceHashtable support for deleting selected entries
Reviewed-by: stuefe
Backport-of: f15d6cbcaf
2022-04-29 05:42:34 +07:00
Paul Hohensee
ad66624c0b 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Backport-of: 4f594e6a28
2022-04-29 05:42:34 +07:00
Xin Liu
cdac6f2bcb 8279124: VM does not handle SIGQUIT during initialization
Backport-of: 9bf6ffa19f
2022-04-29 05:42:34 +07:00
Artem Semenov
c87d359b32 8277497: Last column cell in the JTable row is read as empty cell
Reviewed-by: ant, kizune
Backport-of: 70bad89b01
2022-04-29 05:42:33 +07:00
Artem Semenov
a05696e047 8278604: SwingSet2 table demo does not have accessible description set for images
8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column

Reviewed-by: ant, kizune
Backport-of: 8fbe1724e0
2022-04-29 05:42:33 +07:00
Goetz Lindenmaier
0d5c48f570 8275645: [JVMCI] avoid unaligned volatile reads on AArch64
Backport-of: 4dec8fc4cc
2022-04-29 05:42:33 +07:00
Matthias Baesken
eddefa3c18 8280414: Memory leak in DefaultProxySelector
Backport-of: fe77250fa4
2022-04-29 05:42:32 +07:00
Goetz Lindenmaier
05cf38eb5a 8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
Backport-of: c80a612709
2022-04-29 05:42:26 +07:00
Goetz Lindenmaier
d788f72b30 8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
Backport-of: 8785737ba5
2022-04-29 05:42:26 +07:00
Martin Doerr
7137933ae2 8280155: [PPC64, s390] frame size checks are not yet correct
Backport-of: f37bfeadcf
2022-04-29 05:42:26 +07:00
Martin Doerr
30d10347c8 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Backport-of: c809d34f9e
2022-04-29 05:42:25 +07:00
Aleksey Shipilev
31dd91ce87 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Backport-of: a24f44d17d
2022-04-29 05:42:25 +07:00
Aleksey Shipilev
b44a3f99a4 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Backport-of: 9d5ae2e380
2022-04-29 05:42:24 +07:00
Aleksey Shipilev
258ee0952a 8279445: Update JMH devkit to 1.34
Backport-of: 0f98efbf2f
2022-04-29 05:42:24 +07:00
Thomas Stuefe
c98d88d182 8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
8274935: dumptime_table has stale entry

Reviewed-by: goetz, phh
Backport-of: 110e38ded8
2022-04-29 05:42:24 +07:00
Dmitry Chuyko
834d9b833e 8251216: Implement MD5 intrinsics on AArch64
Reviewed-by: phh, luhenry
Backport-of: 088b244ec6
2022-04-29 05:42:23 +07:00
Evgeny Astigeevich
8ebfbb7820 8278241: Implement JVM SpinPause on linux-aarch64
Backport-of: bcb79fd012
2022-04-29 05:42:23 +07:00
Thomas Stuefe
707d793a6c 8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
Backport-of: d6d82f52d4
2022-04-29 05:42:22 +07:00
Aleksey Shipilev
ac1b1bc923 8276057: Update JMH devkit to 1.33
Backport-of: a2f2d8fcf5
2022-04-29 05:42:22 +07:00
Matthias Baesken
80735e7ebd 8275082: Update XML Security for Java to 2.3.0
Backport-of: 2c31a1735d
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
56514c6b5a 8177814: jdk/editpad is not in jdk TEST.groups
Backport-of: cfe7471f17
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
4de21bcbd0 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
f011ce4ef4 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
2022-04-29 05:42:15 +07:00
Goetz Lindenmaier
f87cf6e410 8272553: several hotspot runtime/CommandLine tests don't check exit code
Backport-of: 709b5910c3
2022-04-29 05:42:15 +07:00
Aleksey Shipilev
2ab6f9613e 8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
Backport-of: f0136ec945
2022-04-29 05:42:15 +07:00
Matthias Baesken
07a6d64186 8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
Backport-of: 8b5ff4bdff
2022-04-29 05:42:14 +07:00
Sergey Bylokhov
bb2c382cdc 8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
Backport-of: e49e5b5a7e
2022-04-29 05:42:14 +07:00
Aleksey Shipilev
bd83a74dea 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
2022-04-29 05:42:14 +07:00
Aleksey Shipilev
4a88de7f21 8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
Backport-of: aec1b039b3
2022-04-29 05:42:13 +07:00
Aleksey Shipilev
2c82c24a0a 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
2022-04-29 05:42:13 +07:00
Evgeny Astigeevich
8924a0f904 8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
Reviewed-by: phh
Backport-of: 7b2d823e84
2022-04-29 05:42:12 +07:00
Evgeny Astigeevich
34c70e32d6 8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
Backport-of: 38345bd28d
2022-04-29 05:42:11 +07:00
Goetz Lindenmaier
4795538fb9 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
2022-04-29 05:42:02 +07:00
Goetz Lindenmaier
776ec05e5e 8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
Backport-of: 3fc761d97d
2022-04-29 05:41:55 +07:00
Evgeny Astigeevich
c148505468 8186670: Implement _onSpinWait() intrinsic for AArch64
Backport-of: 6954b98f8f
2022-04-29 05:41:55 +07:00
Aleksey Shipilev
5502ec8e97 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Backport-of: 4d9b3f4cee
2022-04-29 05:41:54 +07:00
Thomas Stuefe
282cb0aed3 8280002: jmap -histo may leak stream
Backport-of: c359c358c8
2022-04-29 05:41:54 +07:00
Goetz Lindenmaier
f094c9d55d 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Backport-of: c3d0a94040
2022-04-29 05:41:54 +07:00
Goetz Lindenmaier
259fa9e71b 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
2022-04-29 05:41:53 +07:00
Goetz Lindenmaier
19d2bb1980 8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
Backport-of: 1ffdc52cf0
2022-04-29 05:41:53 +07:00
Goetz Lindenmaier
0730ec9972 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
2022-04-29 05:41:52 +07:00
Goetz Lindenmaier
6cd7098d2a 8263567: gtests don't terminate the VM safely
Backport-of: 843943c204
2022-04-29 05:41:52 +07:00
Goetz Lindenmaier
3cd2abf9c6 8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
Backport-of: 2c29d790ca
2022-04-29 05:41:51 +07:00
Thomas Stuefe
360de18e79 8278309: [windows] use of uninitialized OSThread::_state
Backport-of: 54993b1307
2022-04-29 05:41:47 +07:00
Matthias Baesken
5465df52b6 8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
Backport-of: 94e31e5ca5
2022-04-29 05:41:40 +07:00
Johannes Bechberger
71869e54d6 8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
Reviewed-by: goetz
Backport-of: 92d2176362
2022-04-29 05:41:30 +07:00
Johannes Bechberger
bfca0b1a22 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
Backport-of: febcc72a54
2022-04-29 05:41:29 +07:00
Martin Doerr
b5ba120da4 8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
Backport-of: a5f2a58ba4
2022-04-29 05:41:29 +07:00
Matthias Baesken
b02f0c9df3 8273526: Extend the OSContainer API pids controller with pids.current
Backport-of: d4546b6b36
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
c17cfd417e 8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Backport-of: b7245c6164
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
dbf12435bf 8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
Backport-of: 595446bff4
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
52a56ace28 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Backport-of: 6f0e8da6d3
2022-04-29 05:41:27 +07:00
Aleksey Shipilev
f1efa59e9e 8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
Backport-of: bc12381105
2022-04-29 05:41:26 +07:00
Liam Miller-Cushon
d91d113e44 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
2022-04-29 05:41:24 +07:00
Sergey Nazarkin
fa7bbcef4f 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Backport-of: 6613ce64d7
2022-04-29 05:41:14 +07:00
Zhengyu Gu
f65f5ae101 8273682: Upgrade Jline to 3.20.0
Backport-of: b8cb76ad21
2022-04-29 05:41:13 +07:00
Goetz Lindenmaier
fb4a51d3cf 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
2022-04-29 05:41:13 +07:00
Goetz Lindenmaier
39baf821da 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Backport-of: 32139c1a8a
2022-04-29 05:41:12 +07:00
Goetz Lindenmaier
0e480cea7c 8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
Backport-of: 34ba70a71b
2022-04-29 05:41:12 +07:00
Goetz Lindenmaier
400ad87f54 8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
Backport-of: 4f42eb6601
2022-04-29 05:41:11 +07:00
Aleksey Shipilev
b163257c80 8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
Reviewed-by: clanger
Backport-of: b2638e5efd
2022-04-29 05:41:11 +07:00
Matthias Baesken
f07c536579 8272398: Update DockerTestUtils.buildJdkDockerImage()
Backport-of: ec63957f9d
2022-04-29 05:41:11 +07:00
Zhengyu Gu
553cb9b215 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Backport-of: 769f14db84
2022-04-29 05:41:09 +07:00
Aleksey Shipilev
1445c219f0 8278020: ~13% variation in Renaissance-Scrabble
Backport-of: 4ba980ba43
2022-04-29 05:41:09 +07:00
Aleksey Shipilev
53db7729d3 8279225: [arm32] C1 longs comparison operation destroys argument registers
Backport-of: 299022dfac
2022-04-29 05:41:08 +07:00
Matthias Baesken
55cb19a3ba 8266490: Extend the OSContainer API to support the pids controller of cgroups
Backport-of: 089e83bf1b
2022-04-29 05:41:08 +07:00
Aleksey Shipilev
d7d86ca1f2 8279379: GHA: Print tests that are in error
Backport-of: 06f3713271
2022-04-29 05:41:07 +07:00
Jaroslav Bachorik
d011ed5755 8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
Backport-of: 713fbeb050
2022-04-29 05:41:07 +07:00
Zhengyu Gu
66e2207548 8278627: Shenandoah: TestHeapDump test failed
Reviewed-by: shade
Backport-of: 1128674d7f
2022-04-29 05:41:07 +07:00
William Kemper
53622682d6 8278824: Uneven work distribution when scanning heap roots in G1
Reviewed-by: phh
Backport-of: b4b0328d62
2022-04-29 05:41:06 +07:00
Goetz Lindenmaier
df5e1000f6 8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
Backport-of: 2be3e7ef1c
2022-04-29 05:41:06 +07:00
Jaroslav Bachorik
b45abc7e82 8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
Backport-of: 475ec8e6c5
2022-04-29 05:41:06 +07:00
Zhengyu Gu
1b2238e50d 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
Backport-of: 09e8c8c64a
2022-04-29 05:41:05 +07:00
Guoxiong Li
1ecff37be4 8278104: C1 should support the compiler directive 'BreakAtExecute'
Backport-of: 3c10b5db38
2022-04-29 05:41:00 +07:00
Goetz Lindenmaier
0e4879c8d0 8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
Backport-of: bb4500d0d2
2022-04-29 05:41:00 +07:00
Goetz Lindenmaier
c9970aca0a 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
fc3aaf015e 8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
Backport-of: 0d938cedca
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
e51e21080e 8275800: Redefinition leaks MethodData::_extra_data_lock
Backport-of: 40606021ee
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
50cb9ebe93 8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
Backport-of: 67e52a3078
2022-04-29 05:40:58 +07:00
Goetz Lindenmaier
6089b1ede8 8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
Backport-of: b7425b63f6
2022-04-29 05:40:58 +07:00
Goetz Lindenmaier
e7df97037c 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
2f67420af3 8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
Reviewed-by: kvn
Backport-of: 756d22c356
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
8515081977 8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
Backport-of: 467f654916
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
d1778fa02b 8276662: Scalability bottleneck in SymbolTable::lookup_common()
Backport-of: 1d7cef33c5
2022-04-29 05:40:56 +07:00
Goetz Lindenmaier
1d4ed37016 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
Backport-of: 97d3280eb4
2022-04-29 05:40:56 +07:00
Goetz Lindenmaier
66abf9fbbc 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
Backport-of: a561eac912
2022-04-29 05:40:56 +07:00
Sergey Bylokhov
41d675ae86 8272167: AbsPathsInImage.java should skip *.dSYM directories
Backport-of: dd93c6e27b
2022-04-29 05:40:55 +07:00
Sergey Bylokhov
5fb74f4969 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Backport-of: 03473b4c27
2022-04-29 05:39:30 +07:00
Goetz Lindenmaier
a8c3a64c7d 8275610: C2: Object field load floats above its null check resulting in a segfault
Backport-of: 7c6f57fcb1
2022-04-29 05:39:29 +07:00
Goetz Lindenmaier
69630a187f 8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
Backport-of: 669c90e23b
2022-04-29 05:39:28 +07:00
Goetz Lindenmaier
7c7f86c1e5 8276623: JDK-8275650 accidentally pushed "out" file
Backport-of: c62b3476ce
2022-04-29 05:39:24 +07:00
Matthias Baesken
6dc11924e5 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
2022-04-29 05:39:23 +07:00
Goetz Lindenmaier
52b99a8043 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
2022-04-29 05:39:23 +07:00
Goetz Lindenmaier
b79d4a689e 8274714: Incorrect verifier protected access error message
Backport-of: e39bdc9ddb
2022-04-29 05:39:22 +07:00
Goetz Lindenmaier
1861711838 8274658: ISO 4217 Amendment 170 Update
Backport-of: f2404d60de
2022-04-29 05:39:22 +07:00
Bernhard Urban-Forster
4a71ec04a7 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
2022-04-29 05:39:22 +07:00
Jie Fu
565b969238 8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
Backport-of: 349328c929
2022-04-29 05:39:21 +07:00
Vladimir Kozlov
57fb014ec6 8276314: [JVMCI] check alignment of call displacement during code installation
Backport-of: 2f4b5405f0
2022-04-29 05:39:21 +07:00
Zhengyu Gu
7f5240ae26 8265150: AsyncGetCallTrace crashes on ResourceMark
Backport-of: 267c024eb5
2022-04-29 05:39:21 +07:00
Zhengyu Gu
814fc632c3 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
Reviewed-by: goetz
Backport-of: a907b2b144
2022-04-29 05:39:20 +07:00
Goetz Lindenmaier
abf8fc0352 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
Backport-of: 32895ac609
2022-04-29 05:39:20 +07:00
Goetz Lindenmaier
6a6ba4290d 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: acceffcbf7
2022-04-29 05:39:20 +07:00
Aleksey Shipilev
73c208a706 8273162: AbstractSplittableWithBrineGenerator does not create a random salt
Backport-of: 5e1df2c7d7
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
ecee063ff5 8273351: bad tag in jdk.random module-info.java
Backport-of: d4177a98c1
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
9632d98d90 8247980: Exclusive execution of java/util/stream tests slows down tier1
Backport-of: 544193a3bb
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
699a74e849 8272327: Shenandoah: Avoid enqueuing duplicate string candidates
Backport-of: ee8bf10d32
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
7bdb37587e 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
Backport-of: 0fbd2713f1
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
1d33e5cb56 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
Backport-of: bef5c7a286
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
0673b647b0 8277992: Add fast jdk_svc subtests to jdk:tier3
Backport-of: 30f0c64753
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
082345b52f 8278016: Add compiler tests to tier{2,3}
Backport-of: f180a4591f
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
b63207415f 8277385: Zero: Enable CompactStrings support
Backport-of: 3f847fe89a
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
a6afe30ec7 8275586: Zero: Simplify interpreter initialization
Backport-of: 3613ce7c7d
2022-04-29 05:39:16 +07:00
Vladimir Kempik
281b7e0377 8269175: [macosx-aarch64] wrong CPU speed in hs_err file
Backport-of: bcbe3845d9
2022-04-29 05:39:16 +07:00
Goetz Lindenmaier
2476c5b3bf 8278822: Bump update version for OpenJDK: jdk-17.0.3
Reviewed-by: clanger
2022-04-29 05:39:16 +07:00
Vitaly Provodin
e9fa8fde16 JBR-4370 create a test checking all JBR artifacts exist - add exit code 2022-04-27 14:59:49 +07:00
Vladimir Kempik
627b9cfb0c JBR-4423: Remove excessive warnings after JBR-4291 2022-04-26 19:42:24 +03:00
Vitaly Provodin
fd4bc7dfcd JBR-4370 create a test checking all JBR artifacts exist 2022-04-26 11:31:02 +07:00
Anton Tarasov
dc88d4e63f JBR-3906 JBR for Linux aarch64 with JCEF is missing, is there any support plan? 2022-04-23 17:08:26 +07:00
Atrem Bochkarev
67d6fd157a JBR-4094: fixed MouseEventAfterHideAndShowBrowserTest 2022-04-23 04:35:03 +03:00
Vitaly Provodin
56d463d29a Revert "JBR-4325 Implement creating an event to call NSAccessibilityShowMenuAction"
This reverts commit f6cf71ce68.
2022-04-22 18:28:22 +07:00
Phil Race
aa625213b5 8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
Reviewed-by: serb, azvegint, aivanov
2022-04-22 00:07:32 +02:00
Alexey Ushakov
1538f1e6ad Revert "JBR-1380: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java works incorrectly"
This reverts commit b7449a593a.
2022-04-22 00:02:31 +02:00
Alexey Ushakov
47017e1e14 Revert "JBR-1388 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java fails on macOS Mojave"
This reverts commit 603f214e2c.
2022-04-22 00:02:00 +02:00
Roger Riggs
decffd42a5 JBR-3483 8282008: Incorrect handling of quoted arguments in ProcessBuilder
Reviewed-by: bchristi
2022-04-21 16:24:43 +03:00
Anton Tarasov
f189c552a6 JBR-4355 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java: # C [libobjc.A.dylib+0x90ff] objc_release+0x1f
(cherry picked from commit c0b2b59d4a)
2022-04-21 13:42:12 +03:00
Anton Tarasov
c20bd5a658 JBR-4389 [update_1] IDEA UI font becomes too large after disconnecting the external monitor / sleep 2022-04-21 11:53:22 +03:00
Anton Tarasov
e900d17295 JBR-4389 IDEA UI font becomes too large after disconnecting the external monitor / sleep 2022-04-21 11:32:24 +03:00
Dmitry Batrak
35f18de090 remove duplicate bundled JetBrains Mono bold italic font
following JBR-4402

(cherry picked from commit b7e5d3cfcf)
2022-04-20 21:50:44 +03:00
Dmitry Batrak
47d473b1a1 JBR-4402 The wrong text is rendered in editor 2022-04-20 21:07:42 +03:00
Maxim Kartashev
70dde74a8f JBR-4062 Undo parts of JBR-4145 that have become obsolete by upstream changes. 2022-04-20 16:23:43 +03:00
Andrew Leonard
5745455f66 JBR-4062 8284661: Reproducible assembly builds without relative linking
Reviewed-by: ihse
2022-04-20 15:04:01 +03:00
Zhengyu Gu
a9ce9c763b JBR-4378 8284093: Memory leak: X11SD_DisposeXImage should also free obdata
Reviewed-by: prr, andrew
2022-04-20 01:58:38 -07:00
Andrew Leonard
c5507f0d9a JBR-4062 8284539: Configure --with-source-date=version fails on MacOS
Reviewed-by: erikj, ihse
2022-04-20 11:25:49 +03:00
Magnus Ihse Bursie
8670e275a1 JBR-4062 8282769: BSD date cannot handle all ISO 8601 formats
Reviewed-by: erikj
2022-04-20 11:25:22 +03:00
Martin Doerr
2fc34e9f04 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Backport-of: fcce24c5b3

(cherry picked from commit cdf144edba)
2022-04-20 00:35:15 +03:00
Dmitry Batrak
fae9ac43a5 JBR-4398 Gear emoji displayed monochrome in Editor since 2022.1
this reverts JBR-4072 and associated fixes (JBR-4194, JBR-4314)
2022-04-19 22:10:45 +03:00
Konstantin Bulenkov
68db465ae1 Added support for otf into the build scripts. Updated prebuild maps. 2022-04-19 15:54:03 +02:00
Vitaly Provodin
0aa9b4f7de JBR-4297 add a regression test
(cherry picked from commit 8e94fff6aa)
2022-04-18 07:25:55 +07:00
Vitaly Provodin
d40250ddf5 Merge pull request #132
JBR-4392 - use only loaded classes when collecting affected classes
2022-04-17 03:42:41 +07:00
Vladimir Dvorak
63b1c11712 JBR-4386 - disable AllowEnhancedClassRedefinition in jfr 2022-04-17 03:39:37 +07:00
Vladimir Dvorak
1eab1527d5 JBR-4392 - use only loaded classes when collecting affected classes 2022-04-16 12:30:27 +02:00
Vitaly Provodin
9b5ebaaa5a exclude java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java due to 8280392 2022-04-16 05:55:55 +07:00
Konstantin Bulenkov
a37db66560 Update JetBrains Mono font to 2.225 2022-04-15 22:32:25 +02:00
Dmitry Batrak
39dd2f608c JBR-4382 [i3] All dialogs are tiled
(cherry picked from commit 800220af16)
2022-04-15 22:27:51 +03:00
Konstantin Bulenkov
890efa0ea8 bundle Inter font 2022-04-14 19:04:47 +02:00
Anton Tarasov
7efb0075bc JBR-4362 [mac] system menu opens with duplicated items
(cherry picked from commit e32defe49d)
2022-04-12 15:50:50 +03:00
Alexey Ushakov
413ff95d63 Removed comma from tag parsing result 2022-04-11 19:41:28 +02:00
Alexey Ushakov
bfa7a36237 JBR-4363 Changes in fonts rendering between JBR11 and JBR17
Resolved merge artifact after applying IDEA-57233 fix
2022-04-11 19:34:30 +02:00
Andrew Leonard
138596467d JBR-4062 8284437: Building from different users/workspace is not always deterministic
Reviewed-by: erikj
(cherry picked from commit 4451257b14)
2022-04-08 10:41:39 +03:00
Dmitry Batrak
f7a0716ccd JBR-4346 [Xfce] Windows are moved unexpectedly between workspaces when modal dialog is shown
(cherry picked from commit ad299f1e74)
2022-04-06 22:41:56 +03:00
Zhengyu Gu
bdb9d3f12f JBR-4360 284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
Reviewed-by: prr, serb
2022-04-06 16:07:42 +03:00
Maxim Kartashev
1e8d2c0873 JBR-4357 8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
Reviewed-by: serb, prr
2022-04-04 23:03:35 -07:00
Vladimir Dvorak
360f8f332c Remove version-numbers left over from the merge of dcevm17 2022-04-05 04:38:32 +07:00
Vladimir Dvorak
13512decff JBR-4352 - fix AARCH64 compilation issues
- use correct INCLUDE_JFR condition for jfr code
- exclude jvmtiEnhancedRedefineClasses.cpp if INCLUDE_JVMTI=0
2022-04-02 16:33:54 +01:00
Vitaly Provodin
28ebc0c2e0 excludejava/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java on windows
and java/io/File/createTempFile/SpecialTempFile.java on windows11
2022-04-02 06:29:47 +07:00
Anton Tarasov
9a35ca0b25 JBR-4349 jb/java/awt/Toolkit/LWCToolkitInvokeAndWaitTest.java: Test FAILED! (not found in the log: “lost”) 2022-04-01 21:34:03 +03:00
Anton Tarasov
e424a5bf19 JBR-4347 jb/java/awt/Toolkit/AWTThreadingCMenuTest.java fails by ClassNotFoundException 2022-04-01 21:32:14 +03:00
Alexey Ushakov
ca4d838caf 8273355: Flickering on tooltip appearance IntelliJ IDEA 2021.2.1
Reviewed-by: serb, aghaisas
2022-03-30 20:42:06 +02:00
Alexey Ushakov
6ed5106466 Revert "JBR-3727 JBR17-Metal: Flickering on tooltip appearance"
This reverts commit eaa9c1618e.
2022-03-30 20:27:45 +02:00
Dmitry Batrak
098a50d91a JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
re-fix JBR-4306 in a different way

(cherry picked from commit 3b5ded0d02)
2022-03-30 12:16:24 +03:00
Dmitry Batrak
050990303b JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
revert original fix for JBR-4306

(cherry picked from commit 0f33031484)
2022-03-30 12:16:24 +03:00
Anton Tarasov
9f9416a12e JBR-4328 remove LWCToolkit.unsafeNonblockingExecute
(cherry picked from commit 9a3f31a6c4)
2022-03-28 22:00:59 +03:00
Anton Tarasov
b6cb489fee JBR-4134 PyCharm is slow and unusable on MacBook Pro with M1
(cherry picked from commit 36190505f5)
2022-03-28 22:00:52 +03:00
Anton Tarasov
446535b706 JBR-4284 Sub items of main menu options are not displayed
A regression of JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss

(cherry picked from commit c464e4748e)
2022-03-28 21:59:41 +03:00
Anton Tarasov
c18934bb98 JBR-4119 UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles
(cherry picked from commit 6ba79774d8)
2022-03-28 21:59:36 +03:00
Anton Tarasov
e8a6e8bd6e JBR-4106 PyCharm hangs with 100% CPU usage on one core 2022-03-28 21:59:28 +03:00
Mikhail Grishchenko
4a7241931f JBR-3975 print Teamcity messages 2022-03-26 05:32:40 +07:00
Mikhail Grishchenko
b45b8c9913 JBR-3975 add processing of "." java version separator 2022-03-24 08:55:51 +07:00
Artem Semenov
f6cf71ce68 JBR-4325 Implement creating an event to call NSAccessibilityShowMenuAction 2022-03-23 21:29:36 +03:00
Dmitry Batrak
803039d6db JBR-4306 Robot doesn't work as expected in some cases on macOS
(cherry picked from commit 7d69734465)
2022-03-23 12:53:42 +03:00
Vladimir Dvorak
436223316f JBR-4312 - fix crash call ResolvedMethodTable from ServiceThread
adjust_metod_entries_dcevm incorrectly changed the hashes of resolved
method oops stored in ResolvedMethodTable. Now all oops of old methods
are first removed, then updated and then added to table again
2022-03-23 11:08:36 +07:00
Dmitry Batrak
9a0ab296fe better handle multi-monitor configurations in tests related to macOS spaces
Detect the presence of an additional space by looking at number of spaces for the first monitor, not at the total number of spaces.
The latter is larger than one in a multi-monitor configuration, as each monitor corresponds to a separate space.
This approach should be better than the original one, but it relies on the primary (default) monitor to be mentioned first
in the plist file, which isn't known to be always true.

(cherry picked from commit 9040fd56cd)
2022-03-21 21:30:12 +03:00
Artem Semenov
bf4a191246 JBR-4318 On MacOS, some context menu items are not voiced 2022-03-21 15:40:18 +03:00
Andrew Leonard
cdfff8f6ac JBR-4062 8283315: jrt-fs.jar not always deterministically built
Reviewed-by: ihse
2022-03-21 14:03:00 +03:00
Alexey Ushakov
6d6de1034a JBR-3827 SIGILL at [libsystem_kernel] __kill in Java Exception at -[CDragSource convertData:]
Added check for drag source
2022-03-18 18:36:10 +01:00
Vitaly Provodin
2333999906 JBR-4303 add a regression test
(cherry picked from commit bc7cb5711b)
2022-03-18 09:50:29 +07:00
Alexey Ushakov
6ffcd2bf91 JBR-3366 SIGILL at [libsystem_kernel] __kill in NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition
Wrapped the native exception and added logging
2022-03-17 18:09:49 +01:00
Artem Semenov
822b4a8c49 JBR-4235 Context menu not readable after opening on Mac OS 2022-03-17 16:34:39 +03:00
Dmitry Batrak
debc6336c0 JBR-4314 2022.1 EAP version's JBR use incorrect fallback font to render Chinese characters in macOS
(cherry picked from commit 82048d1d73)
2022-03-17 15:15:34 +03:00
Mikhail Grishchenko
1f93154f62 JBR-3975 add PASSED message in check_jbr_size.sh 2022-03-17 03:35:05 +07:00
Mikhail Grishchenko
9f069ca59e JBR-3975 Fix regexp in check_jbr_size.sh
(cherry picked from commit 23131fc435)
2022-03-17 01:45:51 +07:00
Vladimir Kempik
53f1a647fd JBR-4309: jdk/tools/launcher/modules/illegalaccess/IllegalAccessTest.java fails after JBR-4291 2022-03-14 11:27:16 +03:00
Alexander Lobas
7d31563471 JBR-4305 (#119)
* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode
2022-03-10 20:23:11 +01:00
Alexey Ushakov
36ded60698 JBR-3365 SIGILL at [libsystem_kernel] __kill in java.lang.RuntimeException: Failed to convert, no screen / primaryScreen
Wrapped the native exception and added logging
2022-03-10 14:28:18 +01:00
Dmitry Batrak
d53de90f8a JBR-3751 Window content isn't rendered with some window managers on Linux
(cherry picked from commit 8d22e4dcb0)
2022-03-09 13:40:40 +03:00
VladimirKempik
6196076b95 JBR-4291: Ability to ignore all add-opens 2022-03-04 15:05:43 +03:00
Vitaly Provodin
0ee50cbed6 JBR-4272 generate and save debug symbols for JBR on macos/linux 2022-03-03 19:34:10 +07:00
Roland Westrelin
d6e6d315d2 JBR-4256: backport 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Reviewed-by: thartmann, kvn
2022-02-28 18:31:45 +07:00
Roland Westrelin
0a3f7bd9b1 JBR-4256: 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Reviewed-by: thartmann, chagedorn
(cherry picked from commit 3e798dd40c)
2022-02-28 18:31:43 +07:00
Vladimir Kempik
a2636bc8b2 JBR-4283: Provide native JBR builds for alpine Linux-aarch64 2022-02-28 11:11:24 +03:00
Dmitry Batrak
11ad455c7a JBR-4281 Window losing focus isn't detected in some cases on macOS
(cherry picked from commit 363650bbf4)
2022-02-25 00:35:34 +03:00
Vitaly Provodin
4141e567c0 exclude java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java due to 8282232 2022-02-23 06:32:04 +07:00
Ivan Lopatin
8373eeea85 exclude javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java due to 8253184 2022-02-23 06:31:35 +07:00
Nikita Gubarkov
9f10f63459 Fixed threading issues & restoring of default titlebar for custom titlebar on macOS 2022-02-21 22:16:31 +03:00
Nikita Provotorov
0cb7b4565c JBR-4271: JBR17 and dev built without --with-vendor-name parameter have invalid value of the java.vm.vendor property.
Changes the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o.".
2022-02-21 22:35:35 +07:00
Nikita Provotorov
e19109f401 Revert "Changing the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o"."
This reverts commit 409e4932ad. Just for JBR-4271.
2022-02-21 22:24:47 +07:00
Nikita Gubarkov
c450a40e16 JBR-4266 Fix JBR API ProxyInfoResolvingTest, missing JBR-side implementation now doesn't throw an exception 2022-02-21 15:20:26 +03:00
Maxim Kartashev
fe79f047d0 fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-18 13:25:20 +03:00
Vladimir Kempik
484bc6f18f JBR-4242:Provide native JBR builds for alpine Linux 2022-02-18 09:36:56 +03:00
Nikita Gubarkov
1af965d658 Refactored internal services in JBR API
Fixed IllegalAccessException when retrieving lists of known proxies & services
2022-02-17 20:25:15 +03:00
Maxim Kartashev
d330782b50 fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 15:20:49 +03:00
Maxim Kartashev
ff6002ab87 JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 12:31:06 +03:00
Nikita Gubarkov
ee9fe4ee55 Custom macOS window decorations via JBR API 2022-02-16 22:11:59 +03:00
Nikita Gubarkov
b8e1373b53 Added internal services to JBR API 2022-02-16 22:10:30 +03:00
Vitaly.Provodin
1b9f385336 exclude java/awt/Dialog/NonResizableDialogSysMenuResize/NonResizableDialogSysMenuResize.java and java/awt/Dialog/NestedDialogs/Modeless/NestedModelessDialogTest.java on windows-all 2022-02-16 16:37:32 +07:00
Vitaly Provodin
cd9cc5f395 exclude javax/imageio/plugins/external_plugin_tests/TestClassPathPlugin.sh from commit testing 2022-02-16 16:34:53 +07:00
Vitaly Provodin
54199dc06c JBR-4154 extract version info from sources 2022-02-16 16:14:21 +07:00
Anton Tarasov
66ddc58397 JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss 2022-02-16 11:38:31 +03:00
Nikita Gubarkov
c5d124735c JBR API v0.0.4 - Implemented client-side fallbacks for JBR API 2022-02-15 18:30:17 +03:00
Nikita Provotorov
409e4932ad Changing the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o". 2022-02-15 04:27:14 +07:00
Nikita Gubarkov
3bbd930114 JBR API v0.0.3
JBR-4228 report HTMINBUTTON, HTMAXBUTTON, HTCLOSE, HTMENU, HTCAPTION targets via JBR API & handle corresponding non-client mouse events for windows with custom decorations
2022-02-14 19:17:39 +03:00
Alexey Ushakov
0019142eaf JBR-4224 java/awt/image/VolatileImage/GradientPaints.java: Number of mismatches (300000) exceeds limit (54000) with tolerance=5
Updated reg test to handle contentLost event
2022-02-11 16:44:31 +01:00
Artem Semenov
41feaaedf0 8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
Reviewed-by: ant, kizune
2022-02-10 17:58:28 +03:00
Vitaly Provodin
3948c3538c JBR-4099 make test-image on jbrsdk_jcef step, introduce do_maketest flag 2022-02-10 16:30:41 +07:00
Maxim Kartashev
497d00d82e JBR-3950 javax/swing/JFormattedTextField/TestSelectedTextBackgroundColor.java: The expected background color for Selected Text was not found
Made Robot image capture work when sun.java2d.uiScale
doesn't match the desktop scale on Linux.
Improved tests to verify that color picking is precise to the pixel
(only on Linux and Windows; Mac may not always give precise color
of the desired pixel).
2022-02-10 12:24:59 +03:00
Dmitry Batrak
37ceee0ce3 JBR-4194 RenderPerfTest: TextNoAA >10% degradation in OGL
(cherry picked from commit 42fa3e3d34)
2022-02-10 11:48:28 +03:00
Vitaly Provodin
74dfdfbbfe update the link to JBR17 for IDEA 2022.1 EAP 2022-02-10 04:04:26 +07:00
Nikita Provotorov
8f1223d69a JBR-3299: The test /jb/sun/awt/macos/NationalLayoutTest/Layout_ABC.java fails on MacOS.
Fixes the Layout_*.java tests by giving them to know the <Ctrl + key> combinations can generate KEY_TYPED event.

(cherry picked from commit eae5198b20)
2022-02-09 01:52:57 +07:00
Fairoz Matte
6d4c958c9a 8274718: runtime/cds/appcds/LambdaEagerInit.java fails with -XX:-CompactStrings
Reviewed-by: iklam, ccheung
(cherry picked from commit d8f6b6c19a)
2022-02-08 10:48:58 +07:00
Alexey Ushakov
8730341c70 JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Reg test update: replace management api with jfr
2022-02-07 10:49:06 +01:00
Vitaly Provodin
2aff4529b9 exclude java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java on Wayland
sun/security/pkcs11/Signature/TestDSAKeyLength.java                                 8279941 linux-all
2022-02-05 04:04:04 +07:00
Vitaly Provodin
efd58e83eb exclude sun/security/pkcs11/Signature/TestDSAKeyLength.java due to 8279941 2022-02-04 14:53:40 +07:00
Maxim Kartashev
1aa5510721 JBR-4064 Windows: update build scripts to produce more deterministic output
Changed -pathmap option value to use "normal", Unix-style paths. Those will
be changed to Windows style by the fixpath script. But if Windows-style paths
are used, this script will wreck them by removing the backslash characters.
2022-02-04 08:47:17 +03:00
Vitaly Provodin
c14bfc9349 JBR-4099 make test-image on jbrsdk_jcef step 2022-02-02 17:04:57 +07:00
Maxim Kartashev
4d7b0f15c1 JBR-4064 Windows: update build scripts to produce more deterministic output
Passed the configure script options necessary to enable reproducible builds
on Windows. With this options, the resulting jars are reproducible, but
native executables and libraries aren't.
2022-02-02 10:15:26 +03:00
Maxim Kartashev
ac03a7a1e8 JBR-3950 javax/swing/JFormattedTextField/TestSelectedTextBackgroundColor.java: The expected background color for Selected Text was not found
The Gtk API for capturing images works with unscaled coordinates and
sizes, but Robot pre-scales both even before passing the data to the
native code. This commit undoes that for Gtk3 in the native code.

Also fixed two HiDPI tests that should have been failing due to the
above bug, but didn't because they only checked one point in the middle
of a large painted area. Changed those tests to verify 5 pixels instead:
4 at the corners and one in the middle.

Also marked the relevant tests that use Robot as a color picker to
require "pure" X server on Linux so that they don't fail under XWayland.

(cherry picked from commit 93ba9e86f9)
2022-01-31 21:51:59 -08:00
Nikita Provotorov
ba5209ec06 JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
This commit reverts the fix of JDK-8041928 and disables its regression tests.
2022-02-01 01:57:50 +07:00
Nikita Provotorov
ed60a9c2bd JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
Renames the test AltGrMustGenerateAltGrModifierTest3838.java to AltGrMustGenerateAltGrModifierTest4207.java.
2022-02-01 01:57:50 +07:00
Dmitry Batrak
9b4827a596 JBR-4186 Unexpected desktop switch after moving a window to another desktop
(cherry picked from commit 67b6cd871f)
2022-01-31 13:46:46 +03:00
Maxim Kartashev
609406c21b JBR-4173 Tier1 test failures in jdk/javadoc/doclet/testModules
Introduction of JBR API changed the order of modules appearing in Java
Doc. This commit updates the corresponding tests to match the current
output with JBR API.
2022-01-28 17:17:38 +03:00
Mikhail Grishchenko
d9fca0ae84 JBR-3975 added script comparing jbr size 2022-01-28 13:31:17 +07:00
Vitaly Provodin
b5dfaff0b2 JBR-4154 extract version info from tags 2022-01-28 11:41:02 +07:00
Fairoz Matte
0d120c99f8 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: thartmann, chagedorn
Backport-of: 01cb2b9883
2022-01-28 11:25:44 +07:00
Evan Whelan
b60a1fc232 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
Reviewed-by: dfuchs
Backport-of: 5caa77b043
2022-01-28 11:25:43 +07:00
Aleksey Shipilev
cf1b173338 8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
Backport-of: 8d7958e469
2022-01-28 11:25:42 +07:00
Alex Kasko
afee118edf 8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
Backport-of: b6876649a8
2022-01-28 11:25:41 +07:00
Matthias Baesken
b987b3e5a8 8274265: Suspicious string concatenation in logTestUtils.inline.hpp
Backport-of: c57a6c62ba
2022-01-28 11:25:40 +07:00
Richard Reingruber
ec795e498c 8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
Reviewed-by: sspitsyn
Backport-of: 29dcbb72a2
2022-01-28 11:25:39 +07:00
Anton Tarasov
0011d15c7d 8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
Reviewed-by: kizune
Backport-of: 574f8903ee
2022-01-28 11:25:38 +07:00
Claes Redestad
9154812750 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
Backport-of: 6c05cc9d15
2022-01-28 11:25:36 +07:00
Claes Redestad
0b25395903 8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
Backport-of: aaa36cc006
2022-01-28 11:25:35 +07:00
Evan Whelan
b364b35049 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
Reviewed-by: dfuchs
Backport-of: 03debf2775
2022-01-28 11:25:33 +07:00
Alexander Zuev
90a8c9e0b5 8275071: [macos] A11y cursor gets stuck when combobox is closed
Backport-of: 5d249c46ab
2022-01-28 11:24:15 +07:00
Alexander Zuev
b6b87d5005 8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
Backport-of: 851a362479
2022-01-28 11:22:01 +07:00
Sean Coffey
41c809d3f3 8272859: Javadoc external links should only have feature version number in URL
Backport-of: b94fd32f08
2022-01-28 11:22:00 +07:00
Ramkumar Sunderbabu
5921059497 8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
Backport-of: 9bc52afa48
2022-01-28 11:21:58 +07:00
Artem Semenov
bf86fcb0be 8273678: TableAccessibility and TableRowAccessibility miss autorelease
Reviewed-by: kizune, pbansal, ant
Backport-of: 3221a14f9e
2022-01-28 11:21:57 +07:00
Alex Kasko
6d31c536cf 8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
Backport-of: b53828b7c2
2022-01-28 11:21:56 +07:00
Anton Tarasov
d9b0e176b0 8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
Reviewed-by: kizune, pbansal
Backport-of: 7c88a59b7b
2022-01-28 11:21:55 +07:00
Anton Tarasov
ad639db7d7 8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
Reviewed-by: kizune, pbansal
Backport-of: b98ed55060
2022-01-28 11:21:54 +07:00
Alexander Zuev
b5047905a4 8264293: Create implementation for NSAccessibilityMenu protocol peer
8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
8264295: Create implementation for NSAccessibilityMenuItem protocol peer
8264294: Create implementation for NSAccessibilityMenuBar protocol peer

Backport-of: 8f5a8f740b
2022-01-28 11:21:53 +07:00
Roger Riggs
e727549fc7 8277093: Vector should throw ClassNotFoundException for a missing class of an element
Reviewed-by: smarks
2022-01-28 11:21:51 +07:00
Stefan Karlsson
e1532defb9 8277212: GC accidentally cleans valid megamorphic vtable inline caches
Backport-of: 976c2bb056
2022-01-28 11:21:50 +07:00
Alex Kasko
6530fc05bb 8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
Backport-of: 428d51694f
2022-01-28 11:21:49 +07:00
Alex Kasko
94afbb913f 8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
Backport-of: f4cf2f7cef
2022-01-28 11:21:48 +07:00
Martin Doerr
10fdd46bb6 8276927: [ppc64] Port shenandoahgc to linux on ppc64le
Reviewed-by: shade
Backport-of: 57eb864765
2022-01-28 11:21:47 +07:00
Sean Coffey
035c5b2cb9 8275811: Incorrect instance to dispose
Backport-of: cddc6ce446
2022-01-28 11:21:46 +07:00
Prajwal Kumaraswamy
a9775f3bc0 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
Backport-of: 8822d41fdc
2022-01-28 11:21:44 +07:00
Jie Fu
a0c5dcc044 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
Backport-of: 2af9e5976f
2022-01-28 11:21:43 +07:00
Artem Semenov
c5f50b0ac3 8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
Reviewed-by: ant, kizune, pbansal
2022-01-28 11:21:42 +07:00
Adam Farley
0e9cb59458 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
Backport-of: fc0fe25679
2022-01-28 11:21:41 +07:00
Guoxiong Li
a72afdcce2 8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
Backport-of: 2b02b6f513
2022-01-28 11:21:39 +07:00
Aleksey Shipilev
060e6dc535 8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
Backport-of: 3b0b6adc3d
2022-01-28 11:21:38 +07:00
Aleksey Shipilev
10177f87da 8276864: Update boot JDKs to 17.0.1 in GHA
Reviewed-by: clanger
Backport-of: f561d3c194
2022-01-28 11:21:38 +07:00
Aleksey Shipilev
f5518c018b 8275426: PretouchTask num_chunks calculation can overflow
Reviewed-by: kbarrett
Backport-of: 60cb27dcda
2022-01-28 11:21:37 +07:00
Sean Coffey
12e14bb4b7 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
Backport-of: 6bb04626af
2022-01-28 11:21:36 +07:00
Mandy Chung
906eef2412 8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
Reviewed-by: phh
Backport-of: 309acbf0e8
2022-01-28 11:21:35 +07:00
Thomas Schatzl
2c24d922b5 8272170: Missing memory barrier when checking active state for regions
Backport-of: 35a831d5a7
2022-01-28 11:21:34 +07:00
Zhengyu Gu
c4219bef06 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
Backport-of: 73e6d7d74d
2022-01-28 11:21:26 +07:00
Alex Kasko
1999623480 8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
Backport-of: e2c5bfe083
2022-01-28 11:21:16 +07:00
Alex Kasko
2cd05cb7f1 8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
Backport-of: fd4de1ed40
2022-01-28 11:21:15 +07:00
Thomas Stuefe
4854fde98c 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
Backport-of: b8d33a2a4e
2022-01-28 11:21:14 +07:00
Aleksey Shipilev
74cfa29cfe 8272854: split runtime/CommandLine/PrintTouchedMethods.java test
Backport-of: c94dc2ab60
2022-01-28 11:21:05 +07:00
Aleksey Shipilev
db17e0a923 8275604: Zero: Reformat opclabels_data
Backport-of: 724bf3be14
2022-01-28 11:20:55 +07:00
Aleksey Shipilev
f36ad85954 8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
Backport-of: 0f463a7bf7
2022-01-28 11:20:55 +07:00
Aleksey Shipilev
8fe827966f 8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
Backport-of: fd0a25e62b
2022-01-28 11:20:54 +07:00
Aleksey Shipilev
9089e97233 8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
Backport-of: 75adf54bdc
2022-01-28 11:20:45 +07:00
Andrew Haley
69fbf4816d 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Reviewed-by: adinn
Backport-of: 4f3b626a36
2022-01-28 11:20:36 +07:00
Zhengyu Gu
3b7eefd5f9 8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
Reviewed-by: shade
Backport-of: 99b7b95e01
2022-01-28 11:20:36 +07:00
Martin Doerr
328029e1de 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Backport-of: 0699220830
2022-01-28 11:20:26 +07:00
Yoshiki Sato
e71c8161b0 8275766: (tz) Update Timezone Data to 2021e
8275849: TestZoneInfo310.java fails with tzdata2021e
8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766

Reviewed-by: coffeys
2022-01-28 11:20:17 +07:00
Aleksey Shipilev
eabc3d4960 8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
Backport-of: 4bc9b04984
2022-01-28 11:20:16 +07:00
Aleksey Shipilev
4412ce93ec 8276854: Windows GHA builds fail due to broken Cygwin
Backport-of: 403f3185f0
2022-01-28 11:20:08 +07:00
Ao Qi
0cce368b34 8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
Backport-of: f189dff5cb
2022-01-28 11:19:59 +07:00
Alex Kasko
3128b837d3 8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
Backport-of: e43a907f20
2022-01-28 11:19:57 +07:00
Alex Kasko
8afb6b199c 8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
Backport-of: a68b5b9c1d
2022-01-28 11:19:50 +07:00
Aleksey Shipilev
b00dd0df6d 8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
Reviewed-by: phh
2022-01-28 11:19:48 +07:00
Aleksey Shipilev
9be936a8a2 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
Reviewed-by: aph
Backport-of: 0488ebdf14
2022-01-28 11:19:39 +07:00
Aleksey Shipilev
0c81cfcdfc 8276846: JDK-8273416 is incomplete for UseSSE=1
Reviewed-by: aph
Backport-of: a0b84453b0
2022-01-28 11:19:30 +07:00
Aleksey Shipilev
09171c000d 8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
Backport-of: 0828273b89
2022-01-28 11:19:29 +07:00
Aleksey Shipilev
f1a9026d78 8268860: Windows-Aarch64 build is failing in GitHub actions
Backport-of: acc3d99535
2022-01-28 11:19:29 +07:00
Aleksey Shipilev
7939c32bd3 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
Backport-of: 465d350d0b
2022-01-28 11:19:20 +07:00
Tobias Hartmann
c5e0ec78a6 8276112: Inconsistent scalar replacement debug info at safepoints
Backport-of: c29cab8ab4
2022-01-28 11:19:12 +07:00
Alex Kasko
2367542a3a 8268294: Reusing HttpClient in a WebSocket.Listener hangs.
Backport-of: 2d088fa91d
2022-01-28 11:19:10 +07:00
Alex Kasko
332af97374 8269481: SctpMultiChannel never releases own file descriptor
Backport-of: d1cecaaa22
2022-01-28 11:18:56 +07:00
Aleksey Shipilev
ae8696f031 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
Backport-of: 89ade1d7e8
2022-01-28 11:18:46 +07:00
Aleksey Shipilev
dd39d8a55c 8274560: JFR: Add test for OldObjectSample event when using Shenandoah
Backport-of: ef0922e885
2022-01-28 11:18:45 +07:00
Alex Kasko
542e5dc8c5 8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
Backport-of: e84461072a
2022-01-28 11:18:45 +07:00
Alex Kasko
2798a15be6 8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
Backport-of: 7eb0372e55
2022-01-28 11:18:37 +07:00
Sergey Nazarkin
0dbd4008eb 8274501: c2i entry barriers read int as long on AArch64
Backport-of: f08180f35f
2022-01-28 11:18:29 +07:00
Sandhya Viswanathan
e774738ae8 8276025: Hotspot's libsvml.so may conflict with user dependency
Reviewed-by: kvn
Backport-of: 9ad4d3d06b
2022-01-28 11:18:20 +07:00
Andrew John Hughes
60fd9c18cd 8275872: Sync J2DBench run and analyze Makefile targets with build.xml
Backport-of: f1f5e2690c
2022-01-28 11:18:17 +07:00
Alex Kasko
90c64dc20b 8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
Backport-of: 9f3c7e74ff
2022-01-28 11:18:17 +07:00
Aleksey Shipilev
410c59ebc2 8261579: AArch64: Support for weaker memory ordering in Atomic
Reviewed-by: aph
Backport-of: a97715755d
2022-01-28 11:18:15 +07:00
Sandhya Viswanathan
eafe1b197f 8273450: Fix the copyright header of SVML files
Backport-of: d7efd0e8cf
2022-01-28 11:18:13 +07:00
Andrew John Hughes
cd0adc909b 8276572: Fake libsyslookup.so library causes tooling issues
Backport-of: a472433209
2022-01-28 11:18:12 +07:00
Aleksey Shipilev
edfccd5922 8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
Backport-of: cea3f01046
2022-01-28 11:18:12 +07:00
Aleksey Shipilev
becb0a0468 8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
Backport-of: f8415a9b2f
2022-01-28 11:18:11 +07:00
Aleksey Shipilev
15c92b8166 8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
Backport-of: c0533ef2d8
2022-01-28 11:18:11 +07:00
Aleksey Shipilev
182bb41f86 8276550: Use SHA256 hash in build.tools.depend.Depend
Backport-of: afb502e28a
2022-01-28 11:18:10 +07:00
Ilarion Nakonechnyy
1edd1e825a 8273026: Slow LoginContext.login() on multi threading application
Backport-of: c0cda1db4f
2022-01-28 11:18:10 +07:00
Alex Kasko
48622c0349 8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
Backport-of: 7728423f8a
2022-01-28 11:17:30 +07:00
Alexey Pavlyutkin
ac3d2d08d2 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
Backport-of: 6750c34c92
2022-01-28 11:16:10 +07:00
Zhengyu Gu
6b4b97338c 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
Backport-of: dbf5100dd7
2022-01-28 11:15:57 +07:00
Yi Yang
45d8c9c970 8273021: C2: Improve Add and Xor ideal optimizations
Backport-of: a73c06de2a
2022-01-28 11:15:49 +07:00
Yi Yang
86ba0fa9ef 8270901: Typo PHASE_CPP in CompilerPhaseType
Backport-of: 072fe486c9
2022-01-28 11:15:47 +07:00
Zhengyu Gu
a7c13c2ecd 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Backport-of: 172aed1a2d
2022-01-28 11:15:47 +07:00
Alex Kasko
b6303f542c 8272345: macos doesn't check os::set_boot_path() result
Backport-of: bd27bb9cbe
2022-01-28 11:15:46 +07:00
Alex Kasko
4aa3dc209c 8272114: Unused _last_state in osThread_windows
Backport-of: 11cddd3261
2022-01-28 11:15:45 +07:00
Alex Kasko
ed5de3e56e 8268626: Remove native pre-jdk9 support for jtreg failure handler
Backport-of: 2e70bc35df
2022-01-28 11:15:44 +07:00
Alex Kasko
c668f0d0b4 4819544: SwingSet2 JTable Demo throws NullPointerException
Backport-of: 64d18d45ef
2022-01-28 11:15:42 +07:00
Alex Kasko
c6a764930d 8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
Backport-of: 83bce94cc8
2022-01-28 11:15:41 +07:00
Alex Kasko
c75dbd734b 8266510: Nimbus JTree default tree cell renderer does not use selected text color
Backport-of: ecd445562f
2022-01-28 11:15:40 +07:00
Alex Kasko
8f69f5e367 8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
Backport-of: a033866d78
2022-01-28 11:15:39 +07:00
Alex Kasko
78d98bd187 8268361: Fix the infinite loop in next_line
Backport-of: 72672277e4
2022-01-28 11:15:38 +07:00
Alex Kasko
06d5800d30 8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
Backport-of: 7621fa37ef
2022-01-28 11:15:37 +07:00
Alex Kasko
55b6d27961 8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
Backport-of: e515873f88
2022-01-28 11:15:36 +07:00
Alex Kasko
5cb3b2e787 8270290: NTLM authentication fails if HEAD request is used
Backport-of: 3e0d7c33d4
2022-01-28 11:15:35 +07:00
Jie Fu
7c90e1ed97 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Backport-of: 0ab910d626
2022-01-28 11:15:34 +07:00
Saravana Kumar Vijayasekaran
ec431706ee 8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
Reviewed-by: kcr, erikj
2022-01-28 11:15:06 +07:00
Mandy Chung
fa8d0fe822 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
Backport-of: 21da218387
2022-01-28 11:11:39 +07:00
Ekaterina Vergizova
3207a7b73a 8275302: unexpected compiler error: cast, intersection types and sealed
Backport-of: fd10f1996e
2022-01-28 11:11:38 +07:00
Erik Joelsson
f0988f43f6 8276122: Change openjdk project in jcheck to jdk-updates
Reviewed-by: iris, kcr
2022-01-28 11:11:30 +07:00
Christoph Langer
e3fcafcf77 8276130: Fix Github Actions of JDK17u to account for update version scheme
Reviewed-by: stuefe
2022-01-28 11:11:17 +07:00
Olga Mikhaltsova
60f34376ed 8273575: memory leak in appendBootClassPath(), paths must be deallocated
Backport-of: 74ffe12267
2022-01-28 11:11:09 +07:00
Ao Qi
bcad02cbf5 8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
Backport-of: 517405e462
2022-01-28 11:11:08 +07:00
Thejasvi Voniadka
6bbc645a21 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
Backport-of: 633eab23f0
2022-01-28 11:11:07 +07:00
Ao Qi
3c4355dc90 8275104: IR framework does not handle client VM builds correctly
Backport-of: 1da5e6b0e2
2022-01-28 11:10:54 +07:00
Alexey Pavlyutkin
dcbe0b7bd8 8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
Backport-of: c3d8e9228d
2022-01-28 11:10:49 +07:00
Evan Whelan
7a0b62b20c 8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
Backport-of: 45ce06c9f3
2022-01-28 11:10:48 +07:00
Ilarion Nakonechnyy
0254a010c8 8272305: several hotspot runtime/modules don't check exit codes
Backport-of: b2c272d4e2
2022-01-28 11:10:47 +07:00
Ilarion Nakonechnyy
608f519563 8272391: Undeleted debug information
Backport-of: e4766ee0aa
2022-01-28 11:10:40 +07:00
Ilarion Nakonechnyy
5c69760cf1 8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
Backport-of: 75a06421e5
2022-01-28 11:10:32 +07:00
Ilarion Nakonechnyy
9f263c851c 8271215: Fix data races in G1PeriodicGCTask
Backport-of: f2c359a882
2022-01-28 11:10:31 +07:00
Naoto Sato
54924e53d0 8275145: file.encoding system property has an incorrect value on Windows
Reviewed-by: iris
2022-01-28 11:10:29 +07:00
Ravi Reddy
1b97719353 8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
Reviewed-by: lancea
Backport-of: 3e3051e2ee
2022-01-28 11:10:28 +07:00
Alexey Bakhtin
bbbe3586d5 8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
Backport-of: 5ba0d09fe4
2022-01-28 11:10:27 +07:00
Alexey Bakhtin
51faccae87 8270946: X509CertImpl.getFingerprint should not return the empty String
Backport-of: fc80a6b493
2022-01-28 11:10:26 +07:00
Matthias Baesken
0c03472df7 8273808: Cleanup AddFontsToX11FontPath
Backport-of: 35f6f1d69f
2022-01-28 11:10:25 +07:00
Martin Doerr
09457346ad 8274851: [ppc64] Port zgc to linux on ppc64le
Backport-of: 337b73a459
2022-01-28 11:10:24 +07:00
Saravana Kumar Vijayasekaran
9c343f9e3f 8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
Reviewed-by: rsunderbabu, tvoniadka, coffeys
2022-01-28 11:10:23 +07:00
Ekaterina Vergizova
b8682d18d8 8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
Backport-of: b870468bdc
2022-01-28 11:10:22 +07:00
Ekaterina Vergizova
ee4cfb4957 8273234: extended 'for' with expression of type tvar causes the compiler to crash
Backport-of: 8c37909274
2022-01-28 11:10:21 +07:00
Martin Doerr
7aa7e87613 8275049: [ZGC] missing null check in ZNMethod::log_register
Backport-of: cf828673a9
2022-01-28 11:10:20 +07:00
Martin Doerr
c02e44f5fe 8274401: C2: GraphKit::load_array_element bypasses Access API
Backport-of: a8210c53e7
2022-01-28 11:10:19 +07:00
Martin Doerr
a502988ede 8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
Backport-of: e16b93ad52
2022-01-28 11:10:18 +07:00
Martin Doerr
0ccc4c2723 8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
Backport-of: c4d115701d
2022-01-28 11:10:17 +07:00
Martin Doerr
cfc18dc57c 8274550: c2i entry barriers read int as long on PPC
Backport-of: 5e4b514e6e
2022-01-28 11:10:16 +07:00
Martin Doerr
32b236925a 8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
Backport-of: 49f8ce6e9c
2022-01-28 11:10:16 +07:00
Ilarion Nakonechnyy
c395f39b8f 8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
Backport-of: 1ea437a4b8
2022-01-28 11:10:15 +07:00
Phil Race
2bea35ea99 8275131: Exceptions after a touchpad gesture on macOS
Backport-of: 89999f70e0
2022-01-28 11:09:16 +07:00
Zhengyu Gu
ac6240d62a 8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
Backport-of: 1ab64143c0
2022-01-28 11:05:26 +07:00
Zhengyu Gu
137b9de6d0 8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests
Backport-of: 3f07337722
2022-01-28 11:05:25 +07:00
Harold Seigel
57a175d0c3 8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
Reviewed-by: ccheung
Backport-of: a67f0f9dc0
2022-01-28 11:05:23 +07:00
Yoshiki Sato
fdce96a5a1 8274407: (tz) Update Timezone Data to 2021c
8274467: TestZoneInfo310.java fails with tzdata2021b
8274468: TimeZoneTest.java fails with tzdata2021b

Reviewed-by: coffeys
2022-01-28 11:05:22 +07:00
Goetz Lindenmaier
f88d4379ed 8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
Backport-of: 04b73bc4e0
2022-01-28 11:05:21 +07:00
Goetz Lindenmaier
d983325000 8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
Reviewed-by: mdoerr
Backport-of: dcdb1b6aaa
2022-01-28 11:05:20 +07:00
Ao Qi
4b97ca1957 8270517: Add Zero support for LoongArch
Backport-of: e92e2fd4e0
2022-01-28 11:05:19 +07:00
Matthias Baesken
a63676451a 8273176: handle latest VS2019 in abstract_vm_version
Backport-of: 0e14bf70cf
2022-01-28 11:05:18 +07:00
Tobias Hartmann
58734e492a 8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
Backport-of: 2aacd4220a
2022-01-28 11:05:16 +07:00
Tobias Hartmann
9c62d0f352 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: chagedorn
Backport-of: 3953e0774c
2022-01-28 11:05:14 +07:00
Tobias Hartmann
bfcbf80361 8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 980c50dc60
2022-01-28 11:05:13 +07:00
Mat Carter
b058c95245 8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
Reviewed-by: clanger
2022-01-28 11:05:12 +07:00
Jie Fu
daa1f215cc 8275008: gtest build failure due to stringop-overflow warning with gcc11
Backport-of: c55dd365e3
2022-01-28 11:05:10 +07:00
Tobias Hartmann
800986663b 8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
Backport-of: dfc557cbea
2022-01-28 11:05:08 +07:00
Yi Yang
f79d9612cd 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
Backport-of: ddc262746a
2022-01-28 11:05:07 +07:00
Tobias Hartmann
ef4aedd8b9 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
Backport-of: b0983df5a4
2022-01-28 11:05:05 +07:00
Matthias Baesken
32fb92b38d 8271142: package help is not displayed for missing X11/extensions/Xrandr.h
Backport-of: b7f75c0a73
2022-01-28 11:05:04 +07:00
Jie Fu
5c5aabb7c0 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Backport-of: c833b4d130
2022-01-28 11:05:03 +07:00
Jie Fu
85a9e58a82 8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
Backport-of: 7426fd4c9c
2022-01-28 11:05:02 +07:00
Martin Doerr
8bff101e64 8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
Backport-of: 47262670f3
2022-01-28 11:05:01 +07:00
Sean Coffey
32ce4d242e 8273826: Correct Manifest file name and NPE checks
Backport-of: 03a8d342b8
2022-01-28 11:05:00 +07:00
Ekaterina Vergizova
13ccb0a20c 8269113: Javac throws when compiling switch (null)
Backport-of: 1887028408
2022-01-28 11:04:59 +07:00
Ekaterina Vergizova
f566f843fe 8268885: duplicate checkcast when destination type is not first type of intersection type
Backport-of: dd1209e4ae
2022-01-28 11:04:58 +07:00
Ekaterina Vergizova
f173a9119d 8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
Backport-of: 75d987a0dd
2022-01-28 11:04:56 +07:00
Robbin Ehn
5271d821c5 8273695: Safepoint deadlock on VMOperation_lock
Reviewed-by: dholmes
Backport-of: 7957994273
2022-01-28 10:55:59 +07:00
Aleksey Shipilev
9dde8877f2 8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
Backport-of: 6ace805f8c
2022-01-28 10:55:08 +07:00
Aleksey Shipilev
074f0229c7 8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
Backport-of: e3bda63ce2
2022-01-28 10:55:07 +07:00
Thomas Stuefe
ea6c11f15b 8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
Backport-of: bb9d142759
2022-01-28 10:54:09 +07:00
Harold Seigel
8def8c6031 8273342: Null pointer dereference in classFileParser.cpp:2817
Backport-of: 8609ea55ac
2022-01-28 10:54:06 +07:00
Pavel Kharskii
81a8f78479 8275141: recover corrupted line endings for the version-numbers.conf
Reviewed-by: jwilhelm
2022-01-28 10:54:04 +07:00
pavel_kharskii
6f87be33e9 8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, jwilhelm
2022-01-28 10:53:54 +07:00
Jayathirth D V
93c8d0e234 8274096: Improve decoding of image files
Backport-of: 62ce0cd73a2dc0c7e3e65783a2707a0984ba4acf
2022-01-28 10:52:56 +07:00
Joakim Nordström
6e11fae58e 8273229: Update OS detection code to recognize Windows Server 2022
Reviewed-by: kevinw
Backport-of: c2e015c3c1
2022-01-28 10:52:37 +07:00
Sean Coffey
b6053c6af5 8270392: Improve String constructions
Backport-of: bfa21d073b1e301919bbe1f46fa4182958f458f0
2022-01-28 10:52:36 +07:00
Evan Whelan
8d5cbeb3ab 8264934: Enhance cross VM serialization
Reviewed-by: rriggs
Backport-of: 4369957f6699993d94481c766348fb554d53cd6d
2022-01-28 10:52:34 +07:00
Aleksey Shipilev
4d04db4747 8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
Backport-of: ebd62bc043
2022-01-28 10:52:19 +07:00
Aleksey Shipilev
a9a4cea691 8272703: StressSeed should be set via FLAG_SET_ERGO
Backport-of: 66ce09f51e
2022-01-28 10:52:01 +07:00
Aleksey Shipilev
24aa4222a5 8273376: Zero: Disable vtable/itableStub gtests
Backport-of: a522d6b53c
2022-01-28 10:52:00 +07:00
Aleksey Shipilev
9c674d73f1 8273487: Zero: Handle "zero" variant in runtime tests
Backport-of: 8c16f485b3
2022-01-28 10:51:48 +07:00
David Holmes
cb38a6dd02 8274349: ForkJoinPool.commonPool() does not work with 1 CPU
Backport-of: 2e542e33b8
2022-01-28 10:51:25 +07:00
Aleksey Shipilev
e9d4459d0b 8274083: Update testing docs to mention tiered testing
Backport-of: 971aa353aa
2022-01-28 10:51:12 +07:00
Aleksey Shipilev
5c2755613b 8273314: Add tier4 test groups
Backport-of: 1f8af524ff
2022-01-28 10:50:59 +07:00
Aleksey Shipilev
9746207332 8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
Backport-of: 7d24a33421
2022-01-28 10:50:48 +07:00
Aleksey Shipilev
573bdee5e8 8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
Backport-of: dc33bd8b6c
2022-01-28 10:50:46 +07:00
Aleksey Shipilev
64a660bbda 8272836: Limit run time for java/lang/invoke/LFCaching tests
Backport-of: a3308af060
2022-01-28 10:50:45 +07:00
Aleksey Shipilev
2a749e6aea 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
Backport-of: 2166ed1369
2022-01-28 10:50:38 +07:00
Aleksey Shipilev
190654c009 8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
Backport-of: 09ecb11927
2022-01-28 10:50:24 +07:00
Aleksey Shipilev
9d0dcee631 8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
Backport-of: 1c5de8b86b
2022-01-28 10:50:23 +07:00
Aleksey Shipilev
53acae7cd4 8273335: compiler/blackhole tests should not run with interpreter-only VMs
Backport-of: 4d25e6f6c7
2022-01-28 10:50:22 +07:00
Aleksey Shipilev
f893db9b7d 8273483: Zero: Clear pending JNI exception check in native method handler
Backport-of: aa9311182a
2022-01-28 10:50:13 +07:00
Aleksey Shipilev
04fae2df0d 8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
Backport-of: 286a1f6b7c
2022-01-28 10:49:59 +07:00
Aleksey Shipilev
076fd5afbe 8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
Backport-of: 81c719be39
2022-01-28 10:49:58 +07:00
Aleksey Shipilev
82a2107baf 8273606: Zero: SPARC64 build fails with si_band type mismatch
Backport-of: 241ac89f12
2022-01-28 10:49:44 +07:00
Aleksey Shipilev
1e839eb0dc 8273373: Zero: Cannot invoke JVM in primordial threads on Zero
Backport-of: 0f31d0fb2c
2022-01-28 10:49:40 +07:00
Ekaterina Vergizova
a9f8ee61fd 8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
Backport-of: c05dc268ac
2022-01-28 10:49:36 +07:00
Aleksey Shipilev
6b7264d970 8272914: Create hotspot:tier2 and hotspot:tier3 test groups
Backport-of: 5ee5dd9b18
2022-01-28 10:49:32 +07:00
Aleksey Shipilev
cad31d2d2a 8273361: InfoOptsTest is failing in tier1
Backport-of: 267c61a16a
2022-01-28 10:49:31 +07:00
Thejasvi Voniadka
046720f12d 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
Backport-of: 71788c69db
2022-01-28 10:49:29 +07:00
Aleksey Shipilev
f027ad82e5 8273378: Shenandoah: Remove the remaining uses of os::is_MP
Backport-of: fc546d6de9
2022-01-28 10:49:28 +07:00
Sergey Bylokhov
c26e0c4c74 8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
Backport-of: 1bd11a7f2c
2022-01-28 10:49:27 +07:00
Guoxiong Li
d142680a31 8266239: Some duplicated javac command-line options have repeated effect
Backport-of: d05494f98b
2022-01-28 10:49:26 +07:00
Phil Race
ab939a202a 8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
Backport-of: 2cffe4c8e0
2022-01-28 10:49:25 +07:00
jovanstevanovic
9380dd5f34 8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
Backport-of: f690a01f1e
2022-01-28 10:49:24 +07:00
Sergey Bylokhov
684b2220aa 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
Backport-of: 1017a2c2d7
2022-01-28 10:49:23 +07:00
Andy Herrick
59976901c5 8274087: Windows DLL path not set correctly.
Backport-of: f36a2bbd15
2022-01-28 10:49:21 +07:00
Andy Herrick
f05ca5157d 8271170: Add unit test for what jpackage app launcher puts in the environment
Backport-of: 44f137ff9c
2022-01-28 10:49:20 +07:00
Rajat Mahajan
94bea6b973 8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
Backport-of: cb36880281
2022-01-28 10:49:17 +07:00
Tobias Hartmann
35c3aa4f2b 8273498: compiler/c2/Test7179138_1.java timed out
Reviewed-by: chagedorn
Backport-of: c81690d716
2022-01-28 10:49:17 +07:00
Yoshiki Sato
6c705ab4df 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
Backport-of: d39aad9230
2022-01-28 10:49:08 +07:00
Tobias Hartmann
9409c282d4 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Backport-of: 99fb12c798
2022-01-28 10:48:53 +07:00
Tobias Hartmann
eaa524b0ed 8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
Backport-of: f7e9f56e23
2022-01-28 10:48:41 +07:00
Tobias Hartmann
8358fd1998 8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
Backport-of: 28ba78e647
2022-01-28 10:48:27 +07:00
Tobias Hartmann
58468217c9 8223923: C2: Missing interference with mismatched unsafe accesses
Backport-of: 86add21a85
2022-01-28 10:48:14 +07:00
Tobias Hartmann
f86a961542 8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
Backport-of: 2ff4c01d42
2022-01-28 10:48:01 +07:00
Tobias Hartmann
a19915def8 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Backport-of: 6afcf5f5a2
2022-01-28 10:47:47 +07:00
Tobias Hartmann
f1d46557a0 8271340: Crash PhaseIdealLoop::clone_outer_loop
Backport-of: 2abf3b3b27
2022-01-28 10:47:35 +07:00
Tobias Hartmann
10c85f32ab 8272413: Incorrect num of element count calculation for vector cast
Backport-of: 7e662e7b9d
2022-01-28 10:47:22 +07:00
Tobias Hartmann
2abf160ebb 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 16c3ad1ff4
2022-01-28 10:47:10 +07:00
Tobias Hartmann
a80f48d7f2 8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: c86e24d4be
2022-01-28 10:46:52 +07:00
Tobias Hartmann
1ad825b7ce 8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Backport-of: 632a7e0885
2022-01-28 10:46:50 +07:00
Tobias Hartmann
7d9e851885 8272570: C2: crash in PhaseCFG::global_code_motion
Backport-of: 0f428ca533
2022-01-28 10:46:39 +07:00
Guoxiong Li
d7742281a3 8271254: javac generates unreachable code when using empty semicolon statement
Backport-of: fe89dd3b0d
2022-01-28 10:46:29 +07:00
Guoxiong Li
da76620f74 8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
Backport-of: e07ab82ee5
2022-01-28 10:46:09 +07:00
Thejasvi Voniadka
51854a7e8e 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
Backport-of: 7f78803b09
2022-01-28 10:46:07 +07:00
Andy Herrick
694478fd20 8272328: java.library.path is not set properly by Windows jpackage app launcher
Backport-of: cd2dbe5f00
2022-01-28 10:45:55 +07:00
Sergey Bylokhov
24732deaae 8271718: Crash when during color transformation the color profile is replaced
Backport-of: 148935279d
2022-01-28 10:45:52 +07:00
Guoxiong Li
104e336b24 8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
Backport-of: a9188f237e
2022-01-28 10:45:43 +07:00
Thomas Stuefe
627c47b942 8268893: jcmd to trim the glibc heap
Backport-of: 6096dd9765
2022-01-28 10:45:27 +07:00
Volker Simonis
eff04ea10b 8273902: Memory leak in OopStorage due to bug in OopHandle::release()
Backport-of: bc48a0ac29
2022-01-28 10:45:25 +07:00
Christian Hagedorn
b67c326fac 8272014: Better array indexing
Reviewed-by: thartmann
Backport-of: 937c31d896d05aa24543b74e98a2ea9f05b5d86f
2022-01-28 10:45:14 +07:00
Ravi Reddy
b2437bcbb7 8270492: Better resolution of URIs
Backport-of: ceda336a2ddea62e2ff8df653f54e08d45fc197a
2022-01-28 10:45:12 +07:00
Alexander Zuev
2e8685fe9e 8272462: Enhance image handling
Backport-of: 3d1745d54b93a62a7f404e33c70211db0e31d536
2022-01-28 10:45:04 +07:00
Jayathirth D V
6529030bff 8273838: Enhanced BMP processing
Backport-of: f5cc6f23a46bee06731fdd2b257c8ea8007eebad
2022-01-28 10:44:45 +07:00
Ravi Reddy
44e539dd8d 8273968: JCK javax_xml tests fail in CI
Backport-of: d1910329352e878badf8fdc6634a177dd4745d4a
2022-01-28 10:44:43 +07:00
Evan Whelan
56065030b1 8272236: Improve serial forms for transport
Reviewed-by: rriggs
Backport-of: ed0621893e7c365673ed87fbd4aca2bca27b9b73
2022-01-28 10:44:31 +07:00
Olga Mikhaltsova
4462f2a8b1 8273451: Remove unreachable return in mutexLocker::wait
Backport-of: 9b5991e811
2022-01-28 10:44:16 +07:00
Olga Mikhaltsova
19fa9e9117 8273375: Remove redundant 'new String' calls after concatenation in java.desktop
Backport-of: 59c9f75041
2022-01-28 10:44:03 +07:00
Sergey Nazarkin
b641b7e12f 8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
Backport-of: 752b6df34c
2022-01-28 10:43:59 +07:00
Rajan Halade
51e0d85f26 8274215: Remove globalsignr2ca root from 17.0.2
Reviewed-by: mullan
2022-01-28 10:43:48 +07:00
Thejasvi Voniadka
0c45e3541e 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
Backport-of: a5108a605e
2022-01-28 10:43:38 +07:00
Jonathan Dowland
fd05a48ade 8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
Backport-of: a5ad7720d2
2022-01-28 10:43:24 +07:00
Joe Darcy
02cf460d11 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
Backport-of: f531b5c796
2022-01-28 10:43:21 +07:00
Joe Darcy
d5c387fb3a 8214761: Bug in parallel Kahan summation implementation
Backport-of: dd871819a0
2022-01-28 10:43:12 +07:00
Aleksey Shipilev
2cfedb0b0d 8272318: Improve performance of HeapDumpAllTest
Backport-of: 73da66ffb7
2022-01-28 10:42:57 +07:00
Aleksey Shipilev
54df3a0d3e 8271605: Update JMH devkit to 1.32
Backport-of: e74537f924
2022-01-28 10:42:55 +07:00
Aleksey Shipilev
6f52d9b43f 8271862: C2 intrinsic for Reference.refersTo() is often not used
Backport-of: 3f723ca457
2022-01-28 10:42:44 +07:00
Aleksey Shipilev
b9360450d0 8272970: Parallelize runtime/InvocationTests/
Backport-of: 6cfe314262
2022-01-28 10:42:35 +07:00
Aleksey Shipilev
76d8ef4ed7 8272850: Drop zapping values in the Zap* option descriptions
Backport-of: c5a271259d
2022-01-28 10:42:23 +07:00
Aleksey Shipilev
b65787d352 8263375: Support stack watermarks in Zero VM
Backport-of: 857a930bde
2022-01-28 10:42:22 +07:00
Aleksey Shipilev
2da239bbb3 8272838: Move CriticalJNI tests out of tier1
Backport-of: f55d5ab517
2022-01-28 10:42:20 +07:00
Andy Herrick
b39f04092e 8272639: jpackaged applications using microphone on mac
Reviewed-by: asemenyuk
2022-01-28 10:42:11 +07:00
Sean Coffey
2509264ac4 8272026: Verify Jar Verification
Backport-of: 0e2b2951adc965d6b71ffbc63b4293fd9fb68eaa
2022-01-28 10:41:59 +07:00
Rob McKenna
da4618a8c3 8273308: PatternMatchTest.java fails on CI
Backport-of: 1a5bacfcf8e0c22e49b29c0f484f0e879227dc05
2022-01-28 10:41:58 +07:00
Rob McKenna
d01b4b29a6 8268813: Better String matching
Reviewed-by: igraves
Backport-of: c1b73a786d5881315cb7119d89f719b79c6a0c67
2022-01-28 10:41:56 +07:00
Jayathirth D V
e4685adfac 8273756: Enhance BMP image support
Backport-of: 2ee2053a0dde445237924f136c859c8b18ab882e
2022-01-28 10:41:48 +07:00
Alexander Zuev
7fd062b897 8273290: Enhance sound handling
Backport-of: 5d4a8f3c9ca82ed501944c670823b5de5e1ba344
2022-01-28 10:41:33 +07:00
Rob McKenna
a61c01b8b5 8270646: Improved scanning of XML entities
Backport-of: 2b6dad98a6739df983a01b96cffea971268d1523
2022-01-28 10:41:31 +07:00
Fairoz Matte
1a7cea34cf 8270320: JDK-8270110 committed invalid copyright headers
Backport-of: 353e9c8607
2022-01-28 10:41:20 +07:00
Richard Reingruber
92ed17db7d 8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
Backport-of: 4abe531140
2022-01-28 10:41:18 +07:00
Christoph Langer
d35ad94f84 8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
Backport-of: 481c1f0549
2022-01-28 10:41:09 +07:00
Andy Herrick
51e8b167f0 8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
Reviewed-by: kcr, asemenyuk
2022-01-28 10:40:54 +07:00
Aleksey Shipilev
a245a7eb8d 8269687: pauth_aarch64.hpp include name is incorrect
Backport-of: b690f29699
2022-01-28 10:40:53 +07:00
Lutz Schmidt
26168a7e27 8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
Backport-of: 276b07b36a
2022-01-28 10:40:40 +07:00
Andy Herrick
0edeeaebaa 8273592: Backout JDK-8271868
Reviewed-by: kcr, asemenyuk
2022-01-28 10:40:27 +07:00
Andy Herrick
df735d8692 8271868: Warn user when using mac-sign option with unsigned app-image.
Reviewed-by: asemenyuk
2022-01-28 10:40:22 +07:00
Clive Verghese
92a1c953a8 8270317: Large Allocation in CipherSuite
Backport-of: e627caec84
2022-01-28 10:40:11 +07:00
Saravana Kumar Vijayasekaran
a3b4dcbaa3 8263773: Reenable German localization for builds at Oracle
Reviewed-by: erikj
2022-01-28 10:39:59 +07:00
Aleksey Shipilev
401aed5bed 8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
Backport-of: 9166ba37b6
2022-01-28 10:39:43 +07:00
Per Liden
f081e8f08c 8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
Reviewed-by: eosterlund, ayang
Backport-of: 18dd4d469d
2022-01-28 10:39:34 +07:00
Aleksey Shipilev
68659132ab 8270110: Shenandoah: Add test for JDK-8269661
Backport-of: 548bb3119c
2022-01-28 10:39:32 +07:00
Aleksey Shipilev
c674f24951 8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
Backport-of: e4c24f01ef
2022-01-28 10:39:32 +07:00
Aleksey Shipilev
77708e018b 8272783: Epsilon: Refactor tests to improve performance
Backport-of: 7f80683cfe
2022-01-28 10:39:24 +07:00
Chris Hegarty
53d9f23052 8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
Backport-of: fe7d70886c
2022-01-28 10:39:11 +07:00
Thejasvi Voniadka
ab0aecb85e 8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
Backport-of: f18c0fac11
2022-01-28 10:39:09 +07:00
Matthias Baesken
3daa6999c3 8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
Backport-of: 18a1dd261c
2022-01-28 10:39:02 +07:00
Aleksey Shipilev
5ee0d59226 8269280: (bf) Replace StringBuffer in *Buffer.toString()
Backport-of: 3a8f3d6cac
2022-01-28 10:38:51 +07:00
Aleksey Shipilev
dbae3e0af5 8269924: Shenandoah: Introduce weak/strong marking asserts
Backport-of: 515113d858
2022-01-28 10:38:50 +07:00
Evan Whelan
32f0981825 8270416: Enhance construction of Identity maps
Reviewed-by: jboes
Backport-of: d445bf3f60c654bee77dcabe86f6fa28eaf5abfa
2022-01-28 10:38:48 +07:00
Rob McKenna
57e86a0638 8270498: Improve SAX Parser configuration management
Reviewed-by: joehw
2022-01-28 10:38:40 +07:00
Harold Seigel
e7f946ff88 8271987: Manifest improved manifest entries
Backport-of: 885f3699edf517d11d17607aad41e32d059f547a
2022-01-28 10:38:23 +07:00
Prasadrao Koppula
0f56c4c151 8268488: More valuable DerValues
Backport-of: 99f72cf1c44c58682d93a81ee76ef9c3707152a9
2022-01-28 10:38:20 +07:00
Rajan Halade
645554a10e 8273150: Revert "8225083: Remove Google certificate that is expiring in December 2021"
Reviewed-by: mullan
2022-01-28 10:38:11 +07:00
Kevin Walls
97fd5cc5cb 8272272: Enhance jcmd communication
Backport-of: 1a67dd1ba853d535c718840dcdada12e1b312eb8
2022-01-28 10:38:09 +07:00
Prajwal Kumaraswamy
0bcd0c63df 8269151: Better construction of EncryptedPrivateKeyInfo
Backport-of: 9fd7b2d4f333834f03a0e4fbc1e2a7d867331961
2022-01-28 10:38:09 +07:00
Ramkumar Sunderbabu
1a5041e6e5 8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
Backport-of: 7468bbcd64
2022-01-28 10:38:08 +07:00
Phil Race
ad6c9653f2 8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
Backport-of: ddcd851c43
2022-01-28 10:37:16 +07:00
Ioi Lam
62e8f8a6d5 8270386: Better verification of scan methods
Reviewed-by: coleenp
Backport-of: ac329cef45979bd0159ecd1347e36f7129bb2ce4
2022-01-28 10:31:03 +07:00
Vladimir Ivanov
2105783eb7 8268494: Better inlining of inlined interfaces
Backport-of: 3c7fbbd703a50a9762e7f7dbafa8d44191346f52
2022-01-28 10:31:03 +07:00
Prajwal Kumaraswamy
fe29cd4e68 8268512: More content for ContentInfo
Backport-of: 4a1ea63840ec90e52c036c408baef4a1cf0abdff
2022-01-28 10:30:51 +07:00
Rajan Halade
ef99d5e53e 8225083: Remove Google certificate that is expiring in December 2021
Backport-of: 1cbf41a87b
2022-01-28 10:30:50 +07:00
Phil Race
5f6b600cc9 8271962: Better TrueType font loading
Backport-of: 27827c186c43a7a2d983788f6d5e8b7f31e5e079
2022-01-28 10:30:48 +07:00
Prajwal Kumaraswamy
8b1bb75939 8269944: Better HTTP transport redux
Backport-of: 0e123d6e0e50cdac714a001b9f67dfc7c1c2b293
2022-01-28 10:30:47 +07:00
Phil Race
a828a9c55f 8270952: Improve TIFF file handling
Backport-of: 4db9acd53f549cac1603c6c41566b16ee939c04b
2022-01-28 10:30:46 +07:00
Harold Seigel
ff3cdec42e 8271968: Better canonical naming
Backport-of: a716aacb662bb49aa5b1e805175196c29d8cb77a
2022-01-28 10:30:45 +07:00
Jayathirth D V
f798e5f09f 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
2022-01-28 10:30:44 +07:00
Saravana Kumar Vijayasekaran
53e54740ab 8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, ssahoo, coffeys
2022-01-28 10:30:41 +07:00
Christoph Langer
6eaed94afc 8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
Backport-of: c0b4407d09
2022-01-28 10:30:40 +07:00
Nikita Gubarkov
0de1110110 JBR-2567 Fix max file path buffer size for fontpath.c 2022-01-28 03:46:38 +03:00
Vitaly Provodin
ced125f975 fixup! JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser" 2022-01-27 04:47:55 +07:00
Vitaly Provodin
b04a317b1f exclude sun/security/pkcs11/Signature/TestDSAKeyLength.java on Ubuntu 21.04 due to 8279941 2022-01-27 04:47:48 +07:00
Vitaly Provodin
71a196ca83 exclude compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java on macosx-aarch64 due to 8262901 2022-01-27 04:34:26 +07:00
Chris Plummer
acd143779c 8270341: Test serviceability/dcmd/gc/HeapDumpAllTest.java timed-out
Reviewed-by: dcubed
(cherry picked from commit 77fbd99f79)
2022-01-27 04:34:26 +07:00
greg
2f82cb6a13 macOS: add methods to setup transparent titlebar with custom height (#100)
* macOS: add methods to setup transparent titlebar with custom height

* make windowTransparentTitleBarHeight CPlatfromWindow property

* add windowTransparentTitleBarHeight test

* Prevent mouseUp events on the transparent header on macOS when the window is being dragged

Co-authored-by: Manuel Unterhofer <manuel.unterhofer@jetbrains.com>
2022-01-26 20:23:22 +01:00
Anton Tarasov
f169b363b5 JBR-4204 provide an option to disable a11y support on macOS
(cherry picked from commit ee3c56abdc)
2022-01-26 18:16:02 +03:00
Maxim Kartashev
3d9a846821 JBR-4203 test/hotspot/jtreg/compiler/arguments: Option should be unknown (non-X86CPU)
Added the -XX:-IgnoreUnrecognizedVMOptions option to the test driver for
command line options, since it is often used to check that a certain
option is not supported.
2022-01-26 13:33:45 +03:00
Alexey Ushakov
9f65e4290a JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Removed double allocation of surface data
2022-01-25 15:11:43 +01:00
Maxim Kartashev
7fc4f93143 fixup! JBR-4118 NIO methods fail on Google Drive's virtual volume 2022-01-25 13:05:40 +03:00
Vitaly Provodin
f5ecf32aa9 exclude two swing tests on Windows due to JBR-4197 2022-01-23 12:29:41 +07:00
Alexey Ushakov
726d626d01 JBR-4177 libc++abi: terminating with uncaught exception of type NSException
Added check for AppContext
2022-01-20 18:13:47 +01:00
Vitaly Provodin
02e39d6554 JBR-4188 add exec permissions && fix misprint in checking if headers exist 2022-01-20 04:57:40 +07:00
Alexey Ushakov
c76198e9de JBR-4187 java/awt/GraphicsDevice/DisplayModes/UnknownRefrshRateTest.java.UnknownRefrshRateTest fails on mac
Constrained display modes count used by the test
2022-01-19 15:49:57 +01:00
Alexey Ushakov
f7091b322f JBR-4174 java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java fails on mac aarch64
Hide cursor to fix OGL&Metal Robot issue (it reads cursor image). Added tolerance to fix Metal Robot inaccuracy.
2022-01-19 15:49:49 +01:00
Maxim Kartashev
6f4a268bb7 JBR-4118 NIO methods fail on Google Drive's virtual volume
If NtQueryDirectoryFile() failed with STATUS_INVALID_PARAMETER,
try again asking for less information with the FileDirectoryInformation
option as "information class". This option works on a mounted
Google Drive, but it doesn't provide file ids, which speed
up file listing. So it is used only as a fall-back solution.

(cherry picked from commit 82693aa985)
2022-01-19 16:26:04 +03:00
Vitaly Provodin
156f23a065 exclude tests failing in 289 test cycle 2022-01-18 16:02:50 +07:00
Dmitry Batrak
e6a7cc1e4f JBR-4181 JB focus tests failed on macos-12
(cherry picked from commit c040e05703)
2022-01-17 20:43:44 +03:00
Vitaly Provodin
56a3b07c99 exclude two tests carshing test runs on macosx-aarch64 2022-01-16 08:33:56 +07:00
Alexey Ushakov
a8afa8da75 JBR-4164 IDEs cannot be launched via launch configuration
Moved execution of displayChanged() to EDT
2022-01-14 22:33:35 +01:00
Artem Semenov
0a4ee1132a JBR-4167 [JCK] AccassibleJTree tests fail on Ubuntu 2022-01-14 19:30:30 +03:00
Maxim Kartashev
2bc2ee6614 JBR-4043 Make jar and module files in JBR build reproducible
Added a separate build step that invokes the freshly-built jar that supports
the --date option on jrt-fs.jar before the latter is added to java.base.jmod.
This way both jrt-fs.jar and java.base.jmod have files timestamped with
a pre-determined date in the "reproducible build" mode.
2022-01-14 10:12:28 +03:00
Vitaly Provodin
797b2893fe JBR-4169 add jdk.javadoc into JBR 2022-01-14 04:00:15 +07:00
Andrew Leonard
4483339cac JBR-4062 8279834: Alpine Linux fails to build when --with-source-date enabled
Reviewed-by: erikj
2022-01-12 10:38:02 +03:00
Maxim Kartashev
c32af223f5 JBR-4145 Make builds independent from build directory
Supplied the --disable-absolute-path-in-output option to the configure script
when building JBR. This option, however, didn't affect the generated
debug info, so added -fdebug-prefix-map to the list of C and
assembler options, which normalized debug info fully on MacOS and partly
on Linux.
On Linux, libjvm.debuginfo contained an ELF symbol of type FILE with an absolute
path name of linux_x86_64.o. This was solved by explicitly specifying
the .file assembler directive in that file and all the other asm files
without one for uniformity.
2022-01-11 16:42:42 +03:00
Nikita Gubarkov
306bc0e3f8 JBR API v0.0.2
Fixed NPE in JBRFileDialog
2022-01-11 01:43:28 +03:00
Alexey Ushakov
dc8888f2e0 JBR-3044 Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.sh fails on macOS BigSur (11.1 aarch64 and 11.2 x64)
Disable the test on mac (there is no way to enable LCD)
2022-01-02 15:07:34 +01:00
Vitaly Provodin
df843f11b5 exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java due to 8266283
& java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.java on linux due to JBR-881 linux-all
2021-12-31 03:49:10 +07:00
Vitaly Provodin
b1564db09a add exclude exclude list for the IDEA VMoptions test run cofnigs 2021-12-31 03:49:10 +07:00
Vladimir Dvorak
bc69f1d27b JBR-4148 - removed meaningless copying of data to itself 2021-12-29 17:40:27 +01:00
Alexey Ushakov
2aeb7aeab4 JBR-4150 IDE regularly locks up at sun.lwawt.macosx.LWCToolkit.getScreenInsets
Restored caching screen insets. Added handling of dock resize.
2021-12-29 14:05:10 +01:00
Vladimir Dvorak
9da926bdf0 JBR-4110 - disable UseEmptySlotsInSupers
dcevm instance transformation expects increasing field's offset when
fields of class are iterated. This ordering is no more valid if
UseEmptySlotsInSupers=true.
2021-12-27 12:36:28 +01:00
Vladimir Dvorak
b916bf4ef7 JBR-4125 - fix wrong addition of java.lang.Object as superclass 2021-12-27 12:36:18 +01:00
Dmitry Batrak
495e3f013c JBR-2907 [JCK] Font.equals(Font) returns false after serialization/deserialization
(cherry picked from commit 9cc82c39d9)
2021-12-27 12:16:15 +03:00
1450 changed files with 62754 additions and 31129 deletions

View File

@@ -10,7 +10,7 @@ on:
platforms:
description: "Platform(s) to execute on"
required: true
default: "Linux additional (hotspot only), Linux x64, Linux x86, Windows x64, macOS x64"
default: "Linux additional (hotspot only), Linux x64, Linux x86, Windows aarch64, Windows x64, macOS x64"
jobs:
prerequisites:
@@ -22,6 +22,7 @@ jobs:
platform_linux_additional: ${{ steps.check_platforms.outputs.platform_linux_additional }}
platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
platform_linux_x86: ${{ steps.check_platforms.outputs.platform_linux_x86 }}
platform_windows_aarch64: ${{ steps.check_platforms.outputs.platform_windows_aarch64 }}
platform_windows_x64: ${{ steps.check_platforms.outputs.platform_windows_x64 }}
platform_macos_x64: ${{ steps.check_platforms.outputs.platform_macos_x64 }}
platform_macos_aarch64: ${{ steps.check_platforms.outputs.platform_macos_aarch64 }}
@@ -38,6 +39,7 @@ jobs:
echo "::set-output name=platform_linux_additional::${{ contains(github.event.inputs.platforms, 'linux additional (hotspot only)') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux additional (hotspot only)'))) }}"
echo "::set-output name=platform_linux_x64::${{ contains(github.event.inputs.platforms, 'linux x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux x64'))) }}"
echo "::set-output name=platform_linux_x86::${{ contains(github.event.inputs.platforms, 'linux x86') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux x86'))) }}"
echo "::set-output name=platform_windows_aarch64::${{ contains(github.event.inputs.platforms, 'windows aarch64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows aarch64'))) }}"
echo "::set-output name=platform_windows_x64::${{ contains(github.event.inputs.platforms, 'windows x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows x64'))) }}"
echo "::set-output name=platform_macos_x64::${{ contains(github.event.inputs.platforms, 'macos x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos x64'))) }}"
echo "::set-output name=platform_macos_aarch64::${{ contains(github.event.inputs.platforms, 'macos aarch64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos aarch64'))) }}"
@@ -119,7 +121,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -248,7 +250,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -339,6 +341,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi
@@ -429,7 +432,7 @@ jobs:
gnu-arch: powerpc64le
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -577,7 +580,7 @@ jobs:
# Reduced 32-bit build uses the same boot JDK as 64-bit build
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -714,7 +717,7 @@ jobs:
# Reduced 32-bit build uses the same boot JDK as 64-bit build
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -805,6 +808,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi
@@ -847,17 +851,16 @@ jobs:
path: ~/linux-x86${{ matrix.artifact }}_testsupport_${{ env.logsuffix }}.zip
continue-on-error: true
windows_x64_build:
name: Windows x64
windows_aarch64_build:
name: Windows aarch64
runs-on: "windows-2019"
needs: prerequisites
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_windows_x64 != 'false'
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_windows_aarch64 != 'false'
strategy:
fail-fast: false
matrix:
flavor:
- build release
- build debug
include:
- flavor: build debug
@@ -883,7 +886,96 @@ jobs:
run: |
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
- name: Checkout the source
uses: actions/checkout@v2
with:
path: jdk
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
& curl -L "$env:BOOT_JDK_URL" -o "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash = Get-FileHash -Algorithm SHA256 "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash.Hash -eq $env:BOOT_JDK_SHA256
& tar -xf "$HOME/bootjdk/$env:BOOT_JDK_FILENAME" -C "$HOME/bootjdk/$env:BOOT_JDK_VERSION"
Get-ChildItem "$HOME\bootjdk\$env:BOOT_JDK_VERSION\*\*" | Move-Item -Destination "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Ensure a specific version of MSVC is installed
run: >
Start-Process -FilePath 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe' -Wait -NoNewWindow -ArgumentList
'modify --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" --quiet
--add Microsoft.VisualStudio.Component.VC.14.29.arm64'
- name: Configure
run: >
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
$env:BOOT_JDK = cygpath "$HOME/bootjdk/$env:BOOT_JDK_VERSION" ;
& bash configure
--with-conf-name=windows-aarch64
--with-msvc-toolset-version=14.29
--openjdk-target=aarch64-unknown-cygwin
${{ matrix.flags }}
--with-version-opt="$env:GITHUB_ACTOR-$env:GITHUB_SHA"
--with-version-build=0
--with-boot-jdk="$env:BOOT_JDK"
--with-default-make-target="hotspot"
working-directory: jdk
- name: Build
run: |
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
& make CONF_NAME=windows-aarch64
working-directory: jdk
windows_x64_build:
name: Windows x64
runs-on: "windows-2019"
needs: prerequisites
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_windows_x64 != 'false'
strategy:
fail-fast: false
matrix:
flavor:
- build release
- build debug
include:
- flavor: build debug
flags: --enable-debug
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Restore cygwin packages from cache
id: cygwin
uses: actions/cache@v2
with:
path: ~/cygwin/packages
key: cygwin-packages-${{ runner.os }}-v1
- name: Install cygwin
run: |
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
- name: Checkout the source
uses: actions/checkout@v2
@@ -1017,7 +1109,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
@@ -1055,7 +1147,7 @@ jobs:
run: |
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages cygwin=3.2.0-1,autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
- name: Restore jtreg artifact
id: jtreg_restore
@@ -1128,6 +1220,7 @@ jobs:
run: >
if ((Get-ChildItem -Path build\*\test-results\test-summary.txt -Recurse | Select-String -Pattern "TEST SUCCESS" ).Count -eq 0) {
Get-Content -Path build\*\test-results\*\*\newfailures.txt ;
Get-Content -Path build\*\test-results\*\*\other_errors.txt ;
exit 1
}
@@ -1191,7 +1284,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1293,7 +1386,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1424,7 +1517,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_INTERIM }}.${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_UPDATE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1521,6 +1614,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi
@@ -1571,6 +1665,7 @@ jobs:
needs:
- prerequisites
- linux_additional_build
- windows_aarch64_build
- linux_x64_test
- linux_x86_test
- windows_x64_test

View File

@@ -1,6 +1,7 @@
[general]
project=jdk
project=jdk-updates
jbs=JDK
version=17.0.3
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists

View File

@@ -11,7 +11,7 @@ can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntim
| IDE Version | Latest JBR | Date Released |
| --- | --- | --- |
| 2021.3 | [17_0_1-b164.8](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr17_0_1b164.8) | 15-Nov-2021 |
| 2022.2 | [17.0.3-b469.12](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr17.0.3b469.12) | 14-Jun-2022 |
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)

View File

@@ -507,7 +507,7 @@
</ul>
<h2 id="running-tests">Running Tests</h2>
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
<ul>
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>

View File

@@ -848,7 +848,7 @@ containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
recent builds of jtreg [here](
https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact).
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
`jtreg` directory that you just unpacked.

View File

@@ -27,6 +27,7 @@
<li><a href="#configuration">Configuration</a></li>
</ul></li>
<li><a href="#test-selection">Test selection</a><ul>
<li><a href="#common-test-groups">Common Test Groups</a></li>
<li><a href="#jtreg">JTReg</a></li>
<li><a href="#gtest">Gtest</a></li>
<li><a href="#microbenchmarks">Microbenchmarks</a></li>
@@ -67,6 +68,19 @@ $ make exploded-test TEST=tier2</code></pre>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<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>. 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>
<p>Ideally, all tests are run for every change but this may not be practical due to the limited testing resources, the scope of the change, etc.</p>
<p>The source tree currently defines a few common test groups in the relevant <code>TEST.groups</code> files. There are test groups that cover a specific component, for example <code>hotspot_gc</code>. It is a good idea to look into <code>TEST.groups</code> files to get a sense what tests are relevant to a particular JDK component.</p>
<p>Component-specific tests may miss some unintended consequences of a change, so other tests should also be run. Again, it might be impractical to run all tests, and therefore <em>tiered</em> test groups exist. Tiered test groups are not component-specific, but rather cover the significant parts of the entire JDK.</p>
<p>Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain progressively more thorough, slower, and sometimes less stable tests, or the tests that require special configuration.</p>
<p>Contributors are expected to run the tests for the areas that are changed, and the first N tiers they can afford to run, but at least tier1.</p>
<p>A brief description of the tiered test groups:</p>
<ul>
<li><p><code>tier1</code>: This is the lowest test tier. Multiple developers run these tests every day. Because of the widespread use, the tests in <code>tier1</code> are carefully selected and optimized to run fast, and to run in the most stable manner. The test failures in <code>tier1</code> are usually followed up on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows, if enabled, run <code>tier1</code> tests.</p></li>
<li><p><code>tier2</code>: This test group covers even more ground. These contain, among other things, tests that either run for too long to be at <code>tier1</code>, or may require special configuration, or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components (for example, XML).</p></li>
<li><p><code>tier3</code>: This test group includes more stressful tests, the tests for corner cases not covered by previous tiers, plus the tests that require GUIs. As such, this suite should either be run with low concurrency (<code>TEST_JOBS=1</code>), or without headful tests (<code>JTREG_KEYWORDS=\!headful</code>), or both.</p></li>
<li><p><code>tier4</code>: This test group includes every other test not covered by previous tiers. It includes, for example, <code>vmTestbase</code> suites for Hotspot, which run for many hours even on large machines. It also runs GUI tests, so the same <code>TEST_JOBS</code> and <code>JTREG_KEYWORDS</code> caveats apply.</p></li>
</ul>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot:tier1</code>, <code>test/jdk:jdk_util</code> or <code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can be specified either as an absolute path, or a path relative to the JDK top directory, or the <code>test</code> directory. For simplicity, the hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can be abbreviated as just <code>hotspot</code>.</p>
@@ -179,7 +193,9 @@ TEST FAILURE</code></pre>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h4 id="retry_count">RETRY_COUNT</h4>
<p>Retry failed tests up to a set number of times. Defaults to 0.</p>
<p>Retry failed tests up to a set number of times, until they pass. This allows to pass the tests with intermittent failures. Defaults to 0.</p>
<h4 id="repeat_count">REPEAT_COUNT</h4>
<p>Repeat the tests up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. Defaults to 0.</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>

View File

@@ -64,6 +64,52 @@ 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.
### Common Test Groups
Ideally, all tests are run for every change but this may not be practical due to the limited
testing resources, the scope of the change, etc.
The source tree currently defines a few common test groups in the relevant `TEST.groups`
files. There are test groups that cover a specific component, for example `hotspot_gc`.
It is a good idea to look into `TEST.groups` files to get a sense what tests are relevant
to a particular JDK component.
Component-specific tests may miss some unintended consequences of a change, so other
tests should also be run. Again, it might be impractical to run all tests, and therefore
_tiered_ test groups exist. Tiered test groups are not component-specific, but rather cover
the significant parts of the entire JDK.
Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to
contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain
progressively more thorough, slower, and sometimes less stable tests, or the tests that require
special configuration.
Contributors are expected to run the tests for the areas that are changed, and the first N tiers
they can afford to run, but at least tier1.
A brief description of the tiered test groups:
- `tier1`: This is the lowest test tier. Multiple developers run these tests every day.
Because of the widespread use, the tests in `tier1` are carefully selected and optimized to run
fast, and to run in the most stable manner. The test failures in `tier1` are usually followed up
on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows,
if enabled, run `tier1` tests.
- `tier2`: This test group covers even more ground. These contain, among other things,
tests that either run for too long to be at `tier1`, or may require special configuration,
or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components
(for example, XML).
- `tier3`: This test group includes more stressful tests, the tests for corner cases
not covered by previous tiers, plus the tests that require GUIs. As such, this suite
should either be run with low concurrency (`TEST_JOBS=1`), or without headful tests
(`JTREG_KEYWORDS=\!headful`), or both.
- `tier4`: This test group includes every other test not covered by previous tiers. It includes,
for example, `vmTestbase` suites for Hotspot, which run for many hours even on large
machines. It also runs GUI tests, so the same `TEST_JOBS` and `JTREG_KEYWORDS` caveats
apply.
### JTReg
JTReg tests can be selected either by picking a JTReg test group, or a selection
@@ -373,7 +419,15 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
### Gtest keywords

View File

@@ -31,6 +31,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \
libxt-dev \
libxtst-dev \
make \
rsync \
tar \
unzip \
zip && \

View File

@@ -0,0 +1,22 @@
# 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 bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk17/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -0,0 +1,22 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM alpine:3.5
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk17/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

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

View File

@@ -1,4 +1,7 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building AArch64 variant
# of the JetBrains Runtime version 17.

View File

@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl AArch64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_aarch64.tar.gz
BOOT_JDK_SHA=6b920559abafbe9bdef386a20ecf3a2f318bc1f0d8359eb1f95aee26606bbc70
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 jbr17buildenv -f Dockerfile.musl_aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_x64.tar.gz
BOOT_JDK_SHA=bcc5342011bd9f3643372aadbdfa68d47463ff0d8621668a0bdf2910614d95c6
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 jbr17buildenv -f Dockerfile.musl_x64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

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

View File

@@ -31,6 +31,7 @@ jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.javadoc,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,

View File

@@ -1,4 +1,6 @@
#!/bin/sh
#!/bin/bash
set -euo pipefail
# $1 - Boot JDK
# $2 - JBR part of API version

View File

@@ -1,11 +1,65 @@
#!/bin/bash
set -euo pipefail
set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
do_maketest=0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
esac
done
shift $((OPTIND-1))
if [[ $# -lt 2 ]]; then
echo "Required at least two arguments: build_number bundle_type"
exit 1
fi
build_number=$1
bundle_type=$2
# shellcheck disable=SC2034
architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jbr-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ",")
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
STATIC_CONF_ARGS=""
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
if [[ -f "$common_conf_props_file" ]]; then
STATIC_CONF_ARGS=$(<$common_conf_props_file)
fi
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
@@ -21,26 +75,40 @@ case "$OS_NAME" in
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
CYGWIN*)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
*)
# TODO: Windows
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--with-native-debug-symbols=none"
--disable-absolute-paths-in-output"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jbr_diz_name=$2
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} ../../../../dizfiles \; )
(cd dizfiles && find . -print0 | COPYFILE_DISABLE=1 \
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
}
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD modules.list src/java.desktop/share/classes/module-info.java
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
@@ -69,7 +137,7 @@ function update_jsdk_mods() {
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$JSDK"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \

View File

@@ -0,0 +1 @@
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR

View File

@@ -1,87 +1,163 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
sh configure \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="${JDK_BUILD_NUMBER}" \
--with-version-opt=b${build_number} \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
|| exit $?
make clean CONF=linux-aarch64-server-release || exit $?
make images CONF=linux-aarch64-server-release test-image || exit $?
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-server-release/images
JSDK=${BASE_DIR}/jdk
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$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}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# 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
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# NB: --sort=name requires tar1.28
tar $REPRODUCIBLE_TAR_OPTS --sort=name -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
touch -c -d @$SOURCE_DATE_EPOCH $JBRSDK.tar
gzip $JBSDK.tar || exit $?
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/',$'//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar $REPRODUCIBLE_TAR_OPTS --sort=name -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
touch -c -d @$SOURCE_DATE_EPOCH $JBR.tar
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
do_exit 0

View File

@@ -1,45 +1,29 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
@@ -51,46 +35,65 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-x64-${fastdebug_infix}b${build_number}
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__arch_name" ] && rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__arch_name"
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__arch_name"/release
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__arch_name"/release > release
mv release "$IMAGES_DIR"/"$__arch_name"/release
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__arch_name"/jmods
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__arch_name" -print0 | LC_ALL=C sort -z | \
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
@@ -99,6 +102,7 @@ RELEASE_NAME=linux-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
@@ -110,7 +114,7 @@ case "$bundle_type" in
;;
esac
if [ -z "$INC_BUILD" ]; then
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
@@ -130,10 +134,12 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
@@ -143,9 +149,10 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ -z "$bundle_type" ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-test-x64-b${build_number}
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"

View File

@@ -1,80 +1,143 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
function do_configure {
linux32 bash configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
linux32 bash configure \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-server-release || exit $?
make images CONF=linux-x86-server-release test-image || exit $?
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-server-release/images
JSDK=${BASE_DIR}/jdk
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$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}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# 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
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
do_exit 0

View File

@@ -1,52 +1,32 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
# MACOSX_VERSION_MAX - specifies value for the --with-macosx-version-max parameter. By default it is 10.12.00 for x64
# and 11.00.00 for aarch64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
architecture=$5 # aarch64 or x64
enable_aot=$6 # temporary param for building test jre with aot under aarch64
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
architecture=${architecture:=x64}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
sh configure \
@@ -66,7 +46,9 @@ function do_configure {
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
else
sh configure \
@@ -82,7 +64,9 @@ function do_configure {
--with-boot-jdk="$BOOT_JDK" \
--with-macosx-version-max="${MACOSX_VERSION_MAX:="10.12.00"}" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
fi
}
@@ -93,13 +77,16 @@ function create_image_bundle {
__modules_path=$3
__modules=$4
fastdebug_infix=''
tmp=.bundle.$$.tmp
mkdir "$tmp" || do_exit $?
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix}b${build_number}
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-${architecture}-${fastdebug_infix:-}b${build_number%%.*}
JRE_CONTENTS=$tmp/$__arch_name/Contents
JRE_CONTENTS=$tmp/$__root_dir/Contents
mkdir -p "$JRE_CONTENTS" || do_exit $?
echo Running jlink...
@@ -111,7 +98,9 @@ function create_image_bundle {
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
mv release $JRE_CONTENTS/Home/release
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
@@ -121,10 +110,10 @@ function create_image_bundle {
echo Creating "$JBR".tar.gz ...
# Normalize timestamp
find "$tmp"/"$__arch_name" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__arch_name" -print0 | LC_ALL=C sort -z | \
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
@@ -141,6 +130,7 @@ RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
@@ -153,7 +143,7 @@ case "$bundle_type" in
;;
esac
if [ -z "$INC_BUILD" ]; then
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
@@ -161,10 +151,7 @@ make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
major_version=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $1}')
minor_version=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $3}')
[ -z "$minor_version" -o "$minor_version" = "0" ] && version_dir=$major_version || version_dir=$JBSDK_VERSION_WITH_DOTS
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$version_dir.jdk/Contents/Home
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
@@ -174,10 +161,12 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
@@ -187,9 +176,10 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
if [ -z "$bundle_type" ]; then
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?

View File

@@ -1,4 +1,7 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
APP_DIRECTORY=$1
APPL_USER=$2

View File

@@ -1,4 +1,7 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
APPLICATION_PATH=$1
APP_NAME=$2
@@ -97,8 +100,11 @@ BUILD_NAME=$(echo $APPLICATION_PATH | awk -F"/" '{ print $2 }')
log "Creating $APP_NAME.pkg..."
rm -rf "$APP_NAME.pkg"
pkgbuild --identifier $BUNDLE_ID --sign "$JB_INSTALLER_CERT" --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} ${APP_NAME}.pkg
mkdir -p unsigned
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${APP_NAME}.pkg
productsign --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${APP_NAME}.pkg ${APP_NAME}.pkg
#log "Signing whole app..."
#codesign --timestamp \

View File

@@ -1,7 +1,8 @@
#!/bin/bash -x
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
set -x
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
@@ -44,8 +45,7 @@ fi
log "$INPUT_FILE extracted and removed"
APP_NAME=$(echo ${INPUT_FILE} | awk -F".tar" '{ print $1 }')
APPLICATION_PATH=$(sed "s/osx-//" <<< "$EXPLODED/$APP_NAME")
mv $EXPLODED/$BUILD_NAME $APPLICATION_PATH
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |

View File

@@ -1,8 +1,8 @@
diff --git modules.list modules.list
index 054f21d1ee0..d9a121f0273 100644
--- modules.list
+++ modules.list
@@ -49,4 +49,7 @@ jdk.unsupported,
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7cb43..c40e689d5de 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,

View File

@@ -0,0 +1,30 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7..c40e689 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647e..781d180 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -0,0 +1,153 @@
#!/bin/bash
set -euo pipefail
while getopts ":t" o; do
case "${o}" in
t)
t="With Teamcity tests info"
TC_PRINT=1
;;
esac
done
shift $((OPTIND-1))
NEWFILEPATH=$1
CONFIGID=$2
BUILDID=$3
TOKEN=$4
#
# Get the size of new artifact
#
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
Darwin*)
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
;;
CYGWIN*)
NEWFILESIZE=$(stat -c%s$4
#
# Get the size of new artifact
#
"$NEWFILEPATH")
;;
MINGW*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
*)
echo "Unknown machine: ${unameOut}"
exit 1
esac
FILENAME=$(basename ${NEWFILEPATH})
#
# Get pattern of artifact name
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, windows-x64 etc.
BUNDLE_TYPE=jbrsdk
OS_ARCH_PATTERN=""
FILE_EXTENSION=tar.gz
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
if [[ $FILENAME =~ $re ]]; then
BUNDLE_TYPE=${BASH_REMATCH[1]}
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
FILE_EXTENSION=${BASH_REMATCH[3]}
fi
if [ $TC_PRINT -eq 1 ]; then
testname_file_ext=`echo $FILE_EXTENSION | sed 's/\./_/g'`
testname=$BUNDLE_TYPE"_"$OS_ARCH_PATTERN$testname_file_ext
echo \#\#teamcity[testStarted name=\'$testname\']
fi
echo "BUNDLE_TYPE: " $BUNDLE_TYPE
echo "OS_ARCH_PATTERN: " $OS_ARCH_PATTERN
echo "FILE_EXTENSION: " $FILE_EXTENSION
echo "New size of $FILENAME = $NEWFILESIZE bytes."
function test_failed_msg() {
if [ $3 -eq 1 ]; then
echo \#\#teamcity[testFailed name=\'$1\' message=\'$2\']
fi
}
function test_finished_msg() {
if [ $2 -eq 1 ]; then
echo \#\#teamcity[testFinished name=\'$1\']
fi
}
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
# ID: Previous successful build id
ID=0
if [[ $CURL_RESPONSE =~ $re ]]; then
ID=${BASH_REMATCH[1]}
echo "BUILD Number: ${BASH_REMATCH[2]}"
else
msg="ERROR: can't find previous build"
echo $msg
echo $CURL_RESPONSE
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Atrifacts of previous build of $CONFIGID :"
echo $CURL_RESPONSE
# Find binary size (in response) with reg exp
re='name=\"('$BUNDLE_TYPE'[^\"]+'${OS_ARCH_PATTERN}'[^\"]+'${FILE_EXTENSION}')\" size=\"([0-9]+)\"'
if [[ $CURL_RESPONSE =~ $re ]]; then
OLDFILENAME=${BASH_REMATCH[1]}
echo "Prev artifact name: $OLDFILENAME"
OLDFILESIZE=${BASH_REMATCH[2]}
echo "Prev artifact size = $OLDFILESIZE"
let allowedSize=OLDFILESIZE+OLDFILESIZE/20 # use 5% threshold
echo "Allowed size = $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significally greater than prev size (need to investigate)"
echo $msg
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
else
echo "PASSED"
test_finished_msg $testname $TC_PRINT
fi
else
msg="ERROR: can't find string with size in xml response:"
echo $msg
echo $CURL_RESPONSE
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
fi

20
jb/project/tools/test/perfcmp.sh Normal file → Executable file
View File

@@ -1,4 +1,7 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
usage ()
{
@@ -49,7 +52,7 @@ echo $refFile
echo $resFile
curValues=`cat "$curFile" | cut -f 2 | tr -d '\t'`
if [ -z noHeaders ]; then
if [ -z $noHeaders ]; then
curValuesHeader=`echo "$curValues" | head -n +1`_cur
header=`cat "$refFile" | head -n +1 | awk -F'\t' -v x=$curValuesHeader '{print " "$1"\t"$2"_ref\t"x"\tratio"}'`
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +2`
@@ -57,8 +60,14 @@ else
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +1`
fi
testContent=`echo "$testContent" | awk -F'\t' '{ if ($3>$2+$2*0.1) {print "* "$1"\t"$2"\t"$3"\t"(($2==0)?"-":$3/$2)} else {print " "$1"\t"$2"\t"$3"\t"(($2==0)?"-":$3/$2)} }'`
if [ -z noHeaders ]; then
testContent=`echo "$testContent" | tr "," "." | awk -F'\t' '{
if ($3>$2+$2*0.1) {
print "* "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
} else {
print " "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
}
}'`
if [ -z $noHeaders ]; then
echo "$header" > $resFile
fi
echo "$testContent" >> $resFile
@@ -68,11 +77,12 @@ if [ -z $tc ]; then
exit 0
fi
failed=0
echo "$testContent" 2>&1 | (
while read -r s; do
testname=`echo "$s" | cut -f 1 | tr -d "[:space:]" | tr -d "*"`
duration=`echo "$s" | cut -f 3`
failed=`echo "$s" | cut -c1 | grep -c "*"`
echo "$s" | cut -c1 | grep -c "*" && failed=1
echo \#\#teamcity[testStarted name=\'$testNamePrefix$testname\']
echo "===>$s"
echo \#\#teamcity[buildStatisticValue key=\'$testNamePrefix$testname\' value=\'$duration\']

View File

@@ -0,0 +1,142 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64
if [ -z "$BUILD_JDK" ]; then
echo "BUILD_JDK environment variable must be specified and point to a JDK built from the current sources" \
" and is able to run on the build system. See OpenJDK documentation for --with-build-jdk for more info."
exit 1
fi
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
function do_configure {
sh ./configure \
--enable-option-checking=fatal \
--openjdk-target=aarch64-unknown-cygwin \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-aarch64-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink ...
${BUILD_JDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -a --exclude demo --exclude sample $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,46 +1,30 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
source jb/project/tools/common/scripts/common.sh
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
source jb/project/tools/common/scripts/common.sh
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
@@ -53,7 +37,10 @@ function do_configure {
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--disable-ccache \
--enable-cds=yes || do_exit $?
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
@@ -62,18 +49,24 @@ function create_image_bundle {
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-x64-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__arch_name || do_exit $?
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__arch_name/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__arch_name/release > release
mv release $__arch_name/release
copy_jmods "$__modules" "$__modules_path" "$__arch_name"/jmods
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -a --exclude demo --exclude sample $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
@@ -83,6 +76,7 @@ RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
@@ -94,15 +88,15 @@ case "$bundle_type" in
;;
esac
if [ -z "$INC_BUILD" ]; then
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ -z "$bundle_type" ]; then
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ -z "$bundle_type" ]; then
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
@@ -120,10 +114,13 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
@@ -133,4 +130,4 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0
do_exit 0

View File

@@ -1,12 +1,14 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
@@ -14,49 +16,112 @@
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--with-target-bits=32 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86-server-release || exit 1
make LOG=info images CONF=windows-x86-server-release test-image || exit 1
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
JBSDK=${JBRSDK_BASE_NAME}-windows-x86-b${build_number}
BASE_DIR=build/windows-x86-server-release/images
JSDK=${BASE_DIR}/jdk
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-x86-${fastdebug_infix:-}b${build_number%%.*}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -a --exclude demo --exclude sample $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
echo Modifying release info ...
#grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -0,0 +1,56 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-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 $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-aarch64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,40 +1,36 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies udate release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# <empty> or nomod - the bundles without any additional modules (jcef)
# jcef - the bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-x64-${fastdebug_infix:-}b${build_number%%.*}
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__arch_name || do_exit $?
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
@@ -46,12 +42,14 @@ BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ -z "$bundle_type" ]; then
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?

View File

@@ -1,42 +1,50 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
[ "$bundle_type" == "jcef" ] && echo "not implemented" && do_exit 1
IMAGES_DIR=build/windows-x86-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x86-b$build_number
BASE_DIR=.
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-x86-${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 $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
BASE_DIR=.
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
JBR=$JBR_BASE_NAME-windows-x86-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR ${JBR_BUNDLE} || exit 1
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -228,6 +228,23 @@ else
JMOD_SOURCE_DATE :=
endif
ifeq ($(ENABLE_REPRODUCIBLE_BUILD), true)
# If boot JDK's jar supported --date, jrt-fs.jar would've been built with
# that option already.
ifneq ($(BOOT_JDK_JAR_SUPPORTS_DATE), true)
ifeq ($(MODULE), java.base)
JAR_FILE_TO_FIX := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jrt-fs.jar
$(eval $(call SetupExecute, fixup_jrtfs_jar, \
WARN := Fixing timestamps in modules_libs/java.base/jrt-fs.jar, \
DEPS := $(JAR_FILE_TO_FIX) $(JDK_OUTPUTDIR)/bin/jar, \
OUTPUT_DIR := $(JMODS_SUPPORT_DIR), \
COMMAND := $(BUILD_JAR) --date $(SOURCE_DATE_ISO_8601) --update --file $(JAR_FILE_TO_FIX) @$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/_the.jrt-fs.jar_contents, \
))
DEPS += $(fixup_jrtfs_jar_TARGET)
endif
endif
endif
# Create jmods in the support dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
$(eval $(call SetupExecute, create_$(JMOD_FILE), \

View File

@@ -200,7 +200,7 @@ $(eval $(call SetTestOpt,FAILURE_HANDLER_TIMEOUT,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM RUN_PROBLEM_LISTS \
RETRY_COUNT MAX_OUTPUT, \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS, \
))
@@ -744,6 +744,15 @@ define SetupRunJtregTestBody
JTREG_RETAIN ?= fail,error
JTREG_RUN_PROBLEM_LISTS ?= false
JTREG_RETRY_COUNT ?= 0
JTREG_REPEAT_COUNT ?= 0
ifneq ($$(JTREG_RETRY_COUNT), 0)
ifneq ($$(JTREG_REPEAT_COUNT), 0)
$$(info Error: Cannot use both JTREG_RETRY_COUNT and JTREG_REPEAT_COUNT together.)
$$(info Please choose one or the other.)
$$(error Cannot continue)
endif
endif
ifneq ($$(JTREG_LAUNCHER_OPTIONS), )
$1_JTREG_LAUNCHER_OPTIONS += $$(JTREG_LAUNCHER_OPTIONS)
@@ -875,6 +884,18 @@ define SetupRunJtregTestBody
done
endif
ifneq ($$(JTREG_REPEAT_COUNT), 0)
$1_COMMAND_LINE := \
for i in {1..$$(JTREG_REPEAT_COUNT)}; do \
$$(PRINTF) "\nRepeating Jtreg run: $$$$i out of $$(JTREG_REPEAT_COUNT)\n"; \
$$($1_COMMAND_LINE); \
if [ "`$$(CAT) $$($1_EXITCODE)`" != "0" ]; then \
$$(PRINTF) "\nFailures detected, no more repeats.\n"; \
break; \
fi; \
done
endif
run-test-$1: pre-run-test clean-workdir-$1
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -356,9 +356,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
fi
AC_SUBST(IS_GNU_TIME)
# Check if it's GNU date
AC_MSG_CHECKING([if date is the GNU version])
check_date=`$DATE --version 2>&1 | $GREP GNU`
# Check if it's a GNU date compatible version
AC_MSG_CHECKING([if date is a GNU compatible version])
check_date=`$DATE --version 2>&1 | $GREP "GNU\|BusyBox"`
if test "x$check_date" != x; then
AC_MSG_RESULT([yes])
IS_GNU_DATE=yes

View File

@@ -102,6 +102,15 @@ if [ "x$OUT" = x ]; then
fi
fi
# Test and fix LoongArch64.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
if test $? != 0; then

View File

@@ -95,11 +95,39 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
# info flags for toolchains unless we know they work.
# See JDK-8207057.
ASFLAGS_DEBUG_SYMBOLS=""
# Debug prefix mapping if supported by compiler
DEBUG_PREFIX_CFLAGS=
# Debug symbols
if test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
# the debug symbol paths resolve to paths relative to the workspace root.
workspace_root_trailing_slash="${WORKSPACE_ROOT%/}/"
DEBUG_PREFIX_CFLAGS="-fdebug-prefix-map=${workspace_root_trailing_slash}="
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${DEBUG_PREFIX_CFLAGS}],
IF_FALSE: [
DEBUG_PREFIX_CFLAGS=
]
)
fi
CFLAGS_DEBUG_SYMBOLS="-g"
ASFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
# the debug symbol paths resolve to paths relative to the workspace root.
workspace_root_trailing_slash="${WORKSPACE_ROOT%/}/"
DEBUG_PREFIX_CFLAGS="-fdebug-prefix-map=${workspace_root_trailing_slash}="
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${DEBUG_PREFIX_CFLAGS}],
IF_FALSE: [
DEBUG_PREFIX_CFLAGS=
]
)
fi
CFLAGS_DEBUG_SYMBOLS="-g"
ASFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
@@ -108,6 +136,11 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
CFLAGS_DEBUG_SYMBOLS="-Z7"
fi
if test "x$DEBUG_PREFIX_CFLAGS" != x; then
CFLAGS_DEBUG_SYMBOLS="$CFLAGS_DEBUG_SYMBOLS $DEBUG_PREFIX_CFLAGS"
ASFLAGS_DEBUG_SYMBOLS="$ASFLAGS_DEBUG_SYMBOLS $DEBUG_PREFIX_CFLAGS"
fi
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
AC_SUBST(ASFLAGS_DEBUG_SYMBOLS)
])
@@ -782,10 +815,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
# There is a known issue with the pathmap if the mapping is made to the
# empty string. Add a minimal string "s" as prefix to work around this.
workspace_root_win=`$FIXPATH_BASE print "${WORKSPACE_ROOT%/}"`
# PATHMAP_FLAGS is also added to LDFLAGS in flags-ldflags.m4.
PATHMAP_FLAGS="-pathmap:${workspace_root_win//\//\\\\}=s \
-pathmap:${workspace_root_win}=s"
PATHMAP_FLAGS="-pathmap:${WORKSPACE_ROOT}=s"
FILE_MACRO_CFLAGS="$PATHMAP_FLAGS"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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
@@ -42,21 +42,21 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
PKGHANDLER_COMMAND=
case $PKGHANDLER in
apt-get)
*apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
*yum)
yum_help $MISSING_DEPENDENCY ;;
brew)
*brew)
brew_help $MISSING_DEPENDENCY ;;
port)
*port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
*pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
*pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
zypper)
*zypper)
zypper_help $MISSING_DEPENDENCY ;;
pacman)
*pacman)
pacman_help $MISSING_DEPENDENCY ;;
esac

View File

@@ -169,6 +169,23 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(CACERTS_FILE)
# Choose cacerts source folder for user provided PEM files
AC_ARG_WITH(cacerts-src, [AS_HELP_STRING([--with-cacerts-src],
[specify alternative cacerts source folder containing certificates])])
CACERTS_SRC=""
AC_MSG_CHECKING([for cacerts source])
if test "x$with_cacerts_src" == x; then
AC_MSG_RESULT([default])
else
CACERTS_SRC=$with_cacerts_src
if test ! -d "$CACERTS_SRC"; then
AC_MSG_RESULT([fail])
AC_MSG_ERROR([Specified cacerts source folder "$CACERTS_SRC" does not exist])
fi
AC_MSG_RESULT([$CACERTS_SRC])
fi
AC_SUBST(CACERTS_SRC)
# Enable or disable unlimited crypto
UTIL_ARG_ENABLE(NAME: unlimited-crypto, DEFAULT: true, RESULT: UNLIMITED_CRYPTO,
DESC: [enable unlimited crypto policy])

View File

@@ -307,7 +307,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
JVM_FEATURES_CHECK_AVAILABILITY(shenandoahgc, [
AC_MSG_CHECKING([if platform is supported by Shenandoah])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
@@ -357,6 +358,13 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
elif test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false

View File

@@ -72,6 +72,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
loongarch64)
VAR_CPU=loongarch64
VAR_CPU_ARCH=loongarch
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
m68k)
VAR_CPU=m68k
VAR_CPU_ARCH=m68k

View File

@@ -412,6 +412,8 @@ GTEST_FRAMEWORK_SRC := @GTEST_FRAMEWORK_SRC@
# Source file for cacerts
CACERTS_FILE=@CACERTS_FILE@
# Source folder for user provided cacerts PEM files
CACERTS_SRC=@CACERTS_SRC@
# Enable unlimited crypto policy
UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -221,6 +221,12 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
AC_ARG_WITH(toolchain-type, [AS_HELP_STRING([--with-toolchain-type],
[the toolchain type (or family) to use, use '--help' to show possible values @<:@platform dependent@:>@])])
# Linux x86_64 needs higher binutils after 8265783
# (this really is a dependency on as version, but we take ld as a check for a general binutils version)
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.25"
fi
# Use indirect variable referencing
toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS
VALID_TOOLCHAINS=${!toolchain_var_name}
@@ -228,7 +234,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test -n "$XCODEBUILD"; then
# On Mac OS X, default toolchain to clang after Xcode 5
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
$ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
if test $? -ne 0; then
AC_MSG_NOTICE([xcodebuild output: $XCODE_VERSION_OUTPUT])
@@ -677,9 +683,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS
if test "x$TOOLCHAIN_MINIMUM_LD_VERSION" != x; then
AC_MSG_NOTICE([comparing linker version to minimum version $TOOLCHAIN_MINIMUM_LD_VERSION])
TOOLCHAIN_CHECK_LINKER_VERSION(VERSION: $TOOLCHAIN_MINIMUM_LD_VERSION,
IF_OLDER_THAN: [
AC_MSG_WARN([You are using a linker older than $TOOLCHAIN_MINIMUM_LD_VERSION. This is not a supported configuration.])
AC_MSG_ERROR([You are using a linker older than $TOOLCHAIN_MINIMUM_LD_VERSION. This is not a supported configuration.])
]
)
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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
@@ -25,7 +25,7 @@
################################################################################
# The order of these defines the priority by which we try to find them.
VALID_VS_VERSIONS="2019 2017"
VALID_VS_VERSIONS="2019 2017 2022"
VS_DESCRIPTION_2017="Microsoft Visual Studio 2017"
VS_VERSION_INTERNAL_2017=141
@@ -56,6 +56,21 @@ VS_SDK_PLATFORM_NAME_2019=
VS_SUPPORTED_2019=true
VS_TOOLSET_SUPPORTED_2019=true
VS_DESCRIPTION_2022="Microsoft Visual Studio 2022"
VS_VERSION_INTERNAL_2022=143
VS_MSVCR_2022=vcruntime140.dll
VS_VCRUNTIME_1_2022=vcruntime140_1.dll
VS_MSVCP_2022=msvcp140.dll
VS_ENVVAR_2022="VS170COMNTOOLS"
VS_USE_UCRT_2022="true"
VS_VS_INSTALLDIR_2022="Microsoft Visual Studio/2022"
VS_EDITIONS_2022="BuildTools Community Professional Enterprise"
VS_SDK_INSTALLDIR_2022=
VS_VS_PLATFORM_NAME_2022="v143"
VS_SDK_PLATFORM_NAME_2022=
VS_SUPPORTED_2022=true
VS_TOOLSET_SUPPORTED_2022=true
################################################################################
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -230,8 +230,6 @@ AC_DEFUN([UTIL_GET_MATCHING_VALUES],
# Converts an ISO-8601 date/time string to a unix epoch timestamp. If no
# suitable conversion method was found, an empty string is returned.
#
# Sets the specified variable to the resulting list.
#
# $1: result variable name
# $2: input date/time string
AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
@@ -241,11 +239,16 @@ AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
else
# BSD date
timestamp=$($DATE -u -j -f "%F %T" "$2" "+%s" 2> /dev/null)
# ISO-8601 date&time in Zulu 'date'T'time'Z
timestamp=$($DATE -u -j -f "%FT%TZ" "$2" "+%s" 2> /dev/null)
if test "x$timestamp" = x; then
# Perhaps the time was missing
timestamp=$($DATE -u -j -f "%F %T" "$2 00:00:00" "+%s" 2> /dev/null)
# If this did not work, we give up and return the empty string
# BSD date cannot handle trailing milliseconds.
# Try again ignoring characters at end
timestamp=$($DATE -u -j -f "%Y-%m-%dT%H:%M:%S" "$2" "+%s" 2> /dev/null)
fi
if test "x$timestamp" = x; then
# Perhaps the time was missing.
timestamp=$($DATE -u -j -f "%FT%TZ" "$2""T00:00:00Z" "+%s" 2> /dev/null)
fi
fi
$1=$timestamp

View File

@@ -1,55 +0,0 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Default version, product, and vendor information to use,
# unless overridden by configure
DEFAULT_VERSION_FEATURE=15
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=0
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-09-15
DEFAULT_VERSION_CLASSFILE_MAJOR=59 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="14 15"
DEFAULT_JDK_SOURCE_TARGET_VERSION=15
DEFAULT_PROMOTED_VERSION_PRE=
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK
PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A
HOTSPOT_VM_DISTRO="Dynamic Code Evolution"
VENDOR_URL=https://openjdk.java.net/
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
# Might need better names for these
MACOSX_BUNDLE_NAME_BASE="OpenJDK"
MACOSX_BUNDLE_ID_BASE="net.java.openjdk"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -193,7 +193,8 @@ define SetupJarArchiveBody
$1_UPDATE_CONTENTS=\
if [ "`$(WC) -l $$($1_BIN)/_the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'`" -gt "0" ]; then \
$(ECHO) " updating" `$(WC) -l $$($1_BIN)/_the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents; \
$(SORT) $$($1_BIN)/_the.$$($1_JARNAME)_contents > $$($1_BIN)/_the.$$($1_JARNAME)_contents_sorted && \
$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents_sorted; \
fi $$(NEWLINE)
# The s-variants of the above macros are used when the jar is created from scratch.
# NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
@@ -212,7 +213,9 @@ define SetupJarArchiveBody
| $(SED) 's|$$(src)/|-C $$(src) |g' >> \
$$($1_BIN)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
endif
$1_SUPDATE_CONTENTS=$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE)
$1_SUPDATE_CONTENTS=\
$(SORT) $$($1_BIN)/_the.$$($1_JARNAME)_contents > $$($1_BIN)/_the.$$($1_JARNAME)_contents_sorted && \
$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents_sorted $$(NEWLINE)
# Use a slightly shorter name for logging, but with enough path to identify this jar.
$1_NAME:=$$(subst $$(OUTPUTDIR)/,,$$($1_JAR))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -358,6 +358,20 @@ define SetupCompileNativeFileBody
# Compile as preprocessed assembler file
$1_FLAGS := $(BASIC_ASFLAGS) $$($1_BASE_ASFLAGS)
$1_COMPILER := $(AS)
# gcc or clang assembly files must contain an appropriate relative .file
# path for reproducible builds.
ifneq ($(findstring $(TOOLCHAIN_TYPE), gcc clang), )
# If no absolute paths allowed, work out relative source file path
# for assembly .file substitution, otherwise use full file path
ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), false)
$1_REL_ASM_SRC := $$(call RelativePath, $$($1_FILE), $(WORKSPACE_ROOT))
else
$1_REL_ASM_SRC := $$($1_FILE)
endif
$1_FLAGS := $$($1_FLAGS) -DASSEMBLY_SRC_FILE='"$$($1_REL_ASM_SRC)"' \
-include $(TOPDIR)/make/data/autoheaders/assemblyprefix.h
endif
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
# Compile as a C++ or Objective-C++ file
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
@@ -389,6 +403,13 @@ define SetupCompileNativeFileBody
$1_OBJ_DEPS := $$($1_SRC_FILE) $$($$($1_BASE)_COMPILE_VARDEPS_FILE) \
$$($$($1_BASE)_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$1_COMPILE_OPTIONS := $$($1_FLAGS) $(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE)
# For reproducible builds with gcc and clang ensure random symbol generation is
# seeded deterministically
ifneq ($(findstring $(TOOLCHAIN_TYPE), gcc clang), )
ifeq ($$(ENABLE_REPRODUCIBLE_BUILD), true)
$1_COMPILE_OPTIONS += -frandom-seed="$$($1_FILENAME)"
endif
endif
$$($1_OBJ_JSON): $$($1_OBJ_DEPS)
$$(call WriteCompileCommandsFragment, $$@, $$(PWD), $$($1_SRC_FILE), \

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2021, 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
@@ -23,9 +23,9 @@
#
# URLs
JAVADOC_BASE_URL=https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage
JAVADOC_BASE_URL=https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_FEATURE)&amp;id=homepage
BUG_SUBMIT_URL=https://bugreport.java.com/bugreport/
COPYRIGHT_URL=legal/copyright.html
LICENSE_URL=https://www.oracle.com/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
LICENSE_URL=https://www.oracle.com/java/javase/terms/license/java$(VERSION_FEATURE)speclicense.html
REDISTRIBUTION_URL=https://www.oracle.com/technetwork/java/redist-137594.html
OTHER_JDK_VERSIONS_URL=https://docs.oracle.com/en/java/javase/index.html

View File

@@ -249,7 +249,7 @@ var getJibProfilesCommon = function (input, data) {
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"],
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
configure_args: concat("--enable-jtreg-failure-handler",
"--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--disable-manpages",
"--disable-jvm-feature-shenandoahgc",
versionArgs(input, common))

View File

@@ -30,14 +30,14 @@ JTREG_VERSION=6
JTREG_BUILD=1
GTEST_VERSION=1.8.1
LINUX_X64_BOOT_JDK_FILENAME=openjdk-16_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_SHA256=e952958f16797ad7dc7cd8b724edd69ec7e0e0434537d80d6b5165193e33b931
LINUX_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_SHA256=1c0a73cbb863aad579b967316bf17673b8f98a9bb938602a140ba2e5c38f880a
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-16_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_SHA256=a78bdeaad186297601edac6772d931224d7af6f682a43372e693c37020bd37d6
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_SHA256=329900a6673b237b502bdcf77bc334da34bc91355c5fd2d457fc00f53fd71ef1
MACOS_X64_BOOT_JDK_FILENAME=openjdk-16_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_SHA256=16f3e39a31e86f3f51b0b4035a37494a47ed3c4ead760eafc6afd7afdf2ad9f2
MACOS_X64_BOOT_JDK_FILENAME=openjdk-17.0.1_macos-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_macos-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_SHA256=6ccb35800e723cabe15af60e67099d1a07c111d2d3208aa75523614dde68bee1

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=17
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=1
DEFAULT_VERSION_UPDATE=3
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2021-10-19
DEFAULT_VERSION_DATE=2022-04-19
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11

View File

@@ -0,0 +1,29 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
// ASSEMBLY_SRC_FILE gets replaced by relative or absolute file path
// in NativeCompilation.gmk for gcc tooling on Linux. This ensures a
// reproducible object file through a predictable value of the STT_FILE
// symbol, and subsequently a reproducible .debuginfo.
.file ASSEMBLY_SRC_FILE

View File

@@ -1,29 +0,0 @@
Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
Serial number: 400000000010f8626e60d
Valid from: Fri Dec 15 08:00:00 GMT 2006 until: Wed Dec 15 08:00:00 GMT 2021
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----

View File

@@ -32,7 +32,7 @@ formatVersion=3
# Version of the currency code information in this class.
# It is a serial number that accompanies with each amendment.
dataVersion=169
dataVersion=170
# List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes.
@@ -54,7 +54,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
UYU858-UZS860-VEB862-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
ZWN942-ZWR935

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2021, 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
@@ -134,9 +134,9 @@ JDWP "Java(tm) Debug Wire Protocol"
"<ul>"
"<li>All event requests are cancelled. "
"<li>All threads suspended by the thread-level "
"<a href=\"#JDWP_ThreadReference_Resume\">resume</a> command "
"<a href=\"#JDWP_ThreadReference_Suspend\">suspend</a> command "
"or the VM-level "
"<a href=\"#JDWP_VirtualMachine_Resume\">resume</a> command "
"<a href=\"#JDWP_VirtualMachine_Suspend\">suspend</a> command "
"are resumed as many times as necessary for them to run. "
"<li>Garbage collection is re-enabled in all cases where it was "
"<a href=\"#JDWP_ObjectReference_DisableCollection\">disabled</a> "

View File

@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
tzdata2021a
tzdata2021e

View File

@@ -53,9 +53,6 @@
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
# https://www.jstor.org/stable/1774359
#
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
#
# European-style abbreviations are commonly used along the Mediterranean.
# For sub-Saharan Africa abbreviations were less standardized.
# Previous editions of this database used WAT, CAT, SAT, and EAT
@@ -176,8 +173,9 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
Link Africa/Abidjan Africa/Accra # Ghana
Link Africa/Abidjan Africa/Bamako # Mali
Link Africa/Abidjan Africa/Banjul # Gambia
Link Africa/Abidjan Africa/Banjul # The Gambia
Link Africa/Abidjan Africa/Conakry # Guinea
Link Africa/Abidjan Africa/Dakar # Senegal
Link Africa/Abidjan Africa/Freetown # Sierra Leone
@@ -404,93 +402,8 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Gabon
# See Africa/Lagos.
# Gambia
# See Africa/Abidjan.
# The Gambia
# Ghana
# From P Chan (2020-11-20):
# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
# Interpretation Ordinance, 1876.
#
# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
# This Ordinance removed the previous definition of time and introduced DST.
#
# Time Determination Ordinance (Cap. 214)
# The Laws of the Gold Coast (including Togoland Under British Mandate)
# Vol. II (1937), p 2328
# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
# Revised edition of the 1919 Ordinance.
#
# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1940, p 22
# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
# This Ordinance changed the forward transition from September to May.
#
# Defence (Time Determination Ordinance Amendment) Regulations, 1942
# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1942, p 48
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
# These regulations advanced the [standard] time by thirty minutes.
#
# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
# 1942 (Regulations No. 28 of 1942) [1942-04-25]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1942, p 87
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
# These regulations abolished DST and changed the time to GMT+0:30.
#
# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
# 1945) [1945-10-24, commenced on 1946-01-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1945, p 256
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
# These regulations revoked the previous two sets of Regulations.
#
# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1945, p 69
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
# This Ordinance abolished DST.
#
# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1950, p 35
# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
# This Ordinance restored DST but with thirty minutes offset.
#
# Time Determination Ordinance (Cap. 264)
# The Laws of the Gold Coast, Vol. V (1954), p 380
# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
# Revised edition of the Time Determination Ordinance.
#
# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
# Annual Volume of the Ordinances of the Gold Coast Enacted During the
# Year 1956, p 83
# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
# This Ordinance abolished DST.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
0:00 Ghana %s 1942 Feb 8
0:30 - +0030 1946 Jan 6
0:00 Ghana %s
# Guinea
# See Africa/Abidjan.
@@ -755,7 +668,7 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# See Africa/Nairobi.
# Morocco
# See the 'europe' file for Spanish Morocco (Africa/Ceuta).
# See Africa/Ceuta for Spanish Morocco.
# From Alex Krivenyshev (2008-05-09):
# Here is an article that Morocco plan to introduce Daylight Saving Time between
@@ -1405,23 +1318,21 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
0:13:35 - LMT 1914 Jan 1
0:30 - +0030 1919 Sep 1
1:00 - WAT
Link Africa/Lagos Africa/Bangui # Central African Republic
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
Link Africa/Lagos Africa/Douala # Cameroon
Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
Link Africa/Lagos Africa/Libreville # Gabon
Link Africa/Lagos Africa/Luanda # Angola
Link Africa/Lagos Africa/Malabo # Equatorial Guinea
Link Africa/Lagos Africa/Niamey # Niger
Link Africa/Lagos Africa/Porto-Novo # Benin
Link Africa/Lagos Africa/Bangui # Central African Republic
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
Link Africa/Lagos Africa/Douala # Cameroon
Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
Link Africa/Lagos Africa/Libreville # Gabon
Link Africa/Lagos Africa/Luanda # Angola
Link Africa/Lagos Africa/Malabo # Equatorial Guinea
Link Africa/Lagos Africa/Niamey # Niger
Link Africa/Lagos Africa/Porto-Novo # Benin
# Réunion
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - +04
#
# Crozet Islands also observes Réunion time; see the 'antarctica' file.
#
# Scattered Islands (Îles Éparses) administered from Réunion are as follows.
# The following information about them is taken from
# Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
@@ -1513,8 +1424,8 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
Link Africa/Johannesburg Africa/Maseru # Lesotho
Link Africa/Johannesburg Africa/Mbabane # Eswatini
Link Africa/Johannesburg Africa/Maseru # Lesotho
Link Africa/Johannesburg Africa/Mbabane # Eswatini
#
# Marion and Prince Edward Is
# scientific station since 1947
@@ -1550,12 +1461,13 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
3:00 - EAT 2017 Nov 1
2:00 - CAT
# South Sudan
# From Steffen Thorsen (2021-01-18):
# "South Sudan will change its time zone by setting the clock back 1
# hour on February 1, 2021...."
# from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
# South Sudan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
@@ -1660,7 +1572,7 @@ Rule Tunisia 2005 only - Sep 30 1:00s 0 -
Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# See Europe/Paris for PMT-related transitions.
# See Europe/Paris commentary for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time

View File

@@ -171,7 +171,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
#
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
# sealing & whaling stations operated variously 1802/1911+;
# see Indian/Reunion.
# see Asia/Dubai.
#
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
@@ -185,17 +185,7 @@ Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
#
# year-round base in the main continent
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
#
# Another base at Port-Martin, 50km east, began operation in 1947.
# It was destroyed by fire on 1952-01-14.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - -00 1947
10:00 - +10 1952 Jan 14
0 - -00 1956 Nov
10:00 - +10
# Dumont d'Urville - see Pacific/Port_Moresby.
# France & Italy - year-round base
# Concordia, -750600+1232000, since 2005
@@ -211,20 +201,7 @@ Zone Antarctica/DumontDUrville 0 - -00 1947
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
# Japan - year-round bases
# Syowa (also known as Showa), -690022+0393524, since 1957
#
# From Hideyuki Suzuki (1999-02-06):
# In all Japanese stations, +0300 is used as the standard time.
#
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
# station of Japan, it's appropriate for the principal location.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
3:00 - +03
# See:
# NIPR Antarctic Research Activities (1999-08-17)
# http://www.nipr.ac.jp/english/ara01.html
# See Asia/Riyadh.
# S Korea - year-round base
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014

View File

@@ -57,9 +57,6 @@
# Byalokoz EL. New Counting of Time in Russia since July 1, 1919.
# (See the 'europe' file for a fuller citation.)
#
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
#
# The following alphabetic abbreviations appear in these tables
# (corrections are welcome):
# std dst
@@ -2257,6 +2254,14 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
# From Paul Eggert (2013-12-11):
# As Steffen suggested, consider the past 21-month experiment to be DST.
# From Steffen Thorsen (2021-09-24):
# The Jordanian Government announced yesterday that they will start DST
# in February instead of March:
# https://petra.gov.jo/Include/InnerPage.jsp?ID=37683&lang=en&name=en_news (English)
# https://petra.gov.jo/Include/InnerPage.jsp?ID=189969&lang=ar&name=news (Arabic)
# From the Arabic version, it seems to say it would be at midnight
# (assume 24:00) on the last Thursday in February, starting from 2022.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Jordan 1973 only - Jun 6 0:00 1:00 S
Rule Jordan 1973 1975 - Oct 1 0:00 0 -
@@ -2287,8 +2292,9 @@ Rule Jordan 2004 only - Oct 15 0:00s 0 -
Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
Rule Jordan 2013 only - Dec 20 0:00 0 -
Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 2021 - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
@@ -2763,7 +2769,8 @@ Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
#
# peninsular Malaysia
# taken from Mok Ly Yng (2003-10-30)
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
# This agrees with Singapore since 1905-06-01.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
@@ -3402,11 +3409,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# shall [end] on Oct 24th 2020 at 01:00AM by delaying the clock by 60 minutes.
# http://www.palestinecabinet.gov.ps/portal/Meeting/Details/51584
# From Tim Parenti (2020-10-20):
# Predict future fall transitions at 01:00 on the Saturday preceding October's
# last Sunday (i.e., Sat>=24). This is consistent with our predictions since
# 2016, although the time of the change differed slightly in 2019.
# From Pierre Cashon (2020-10-20):
# The summer time this year started on March 28 at 00:00.
# https://wafa.ps/ar_page.aspx?id=GveQNZa872839351758aGveQNZ
@@ -3419,6 +3421,17 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# For now, guess spring-ahead transitions are at 00:00 on the Saturday
# preceding March's last Sunday (i.e., Sat>=24).
# From P Chan (2021-10-18):
# http://wafa.ps/Pages/Details/34701
# Palestine winter time will start from midnight 2021-10-29 (Thursday-Friday).
#
# From Heba Hemad, Palestine Ministry of Telecom & IT (2021-10-20):
# ... winter time will begin in Palestine from Friday 10-29, 01:00 AM
# by 60 minutes backwards.
#
# From Paul Eggert (2021-10-20):
# Guess future fall transitions on October's last Friday at 01:00.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 -
@@ -3454,7 +3467,8 @@ Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
Rule Palestine 2019 only - Mar 29 0:00 1:00 S
Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
Rule Palestine 2020 max - Oct Sat>=24 1:00 0 -
Rule Palestine 2020 only - Oct 24 1:00 0 -
Rule Palestine 2021 max - Oct lastFri 1:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
@@ -3523,6 +3537,12 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# influence of the sources. There is no current abbreviation for DST,
# so use "PDT", the usual American style.
# From P Chan (2021-05-10):
# Here's a fairly comprehensive article in Japanese:
# https://wiki.suikawiki.org/n/Philippine%20Time
# From Paul Eggert (2021-05-10):
# The info in the Japanese table has not been absorbed (yet) below.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Phil 1936 only - Nov 1 0:00 1:00 D
Rule Phil 1937 only - Feb 1 0:00 0 S
@@ -3589,12 +3609,13 @@ Link Asia/Qatar Asia/Bahrain
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
3:00 - +03
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Riyadh Asia/Aden # Yemen
Link Asia/Riyadh Asia/Kuwait
# Singapore
# taken from Mok Ly Yng (2003-10-30)
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.

View File

@@ -408,9 +408,22 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
# "Minister for Employment, Parveen Bala says they had never thought of
# stopping daylight saving. He says it was just to decide on when it should
# start and end. Bala says it is a short period..."
# Since the end date is still in line with our ongoing predictions, assume for
# now that the later-than-usual start date is a one-time departure from the
# recent second Sunday in November pattern.
#
# From Tim Parenti (2021-10-11), per Jashneel Kumar (2021-10-11) and P Chan
# (2021-10-12):
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/PM-BAINIMARAMA-S-COVID-19-ANNOUNCEMENT-10-10-21
# https://www.fbcnews.com.fj/news/covid-19/curfew-moved-back-to-11pm/
# In a 2021-10-10 speech concerning updated Covid-19 mitigation measures in
# Fiji, prime minister Josaia Voreqe "Frank" Bainimarama announced the
# suspension of DST for the 2021/2022 season: "Given that we are in the process
# of readjusting in the midst of so many changes, we will also put Daylight
# Savings Time on hold for this year. It will also make the reopening of
# scheduled commercial air service much smoother if we don't have to be
# concerned shifting arrival and departure times, which may look like a simple
# thing but requires some significant logistical adjustments domestically and
# internationally."
# Assume for now that DST will resume with the recent pre-2020 rules for the
# 2022/2023 season.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
@@ -422,10 +435,11 @@ Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 -
Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2020 only - Dec 20 2:00 1:00 -
Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2023 max - Jan Sun>=12 3:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
@@ -487,7 +501,7 @@ Link Pacific/Guam Pacific/Saipan # N Mariana Is
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - +12
Zone Pacific/Enderbury -11:24:20 - LMT 1901
Zone Pacific/Kanton 0 - -00 1937 Aug 31
-12:00 - -12 1979 Oct
-11:00 - -11 1994 Dec 31
13:00 - +13
@@ -620,13 +634,46 @@ Link Pacific/Auckland Antarctica/McMurdo
# was probably like Pacific/Auckland
# Cook Is
# From Shanks & Pottenger:
#
# From Alexander Krivenyshev (2021-03-24):
# In 1899 the Cook Islands celebrated Christmas twice to correct the calendar.
# According to the old books, missionaries were unaware of
# the International Date line, when they came from Sydney.
# Thus the Cook Islands were one day ahead....
# http://nzetc.victoria.ac.nz/tm/scholarly/tei-KloDisc-t1-body-d18.html
# ... Appendix to the Journals of the House of Representatives, 1900
# https://atojs.natlib.govt.nz/cgi-bin/atojs?a=d&d=AJHR1900-I.2.1.2.3
# (page 20)
#
# From Michael Deckers (2021-03-24):
# ... in the Cook Island Act of 1915-10-11, online at
# http://www.paclii.org/ck/legis/ck-nz_act/cia1915132/
# "651. The hour of the day shall in each of the islands included in the
# Cook Islands be determined in accordance with the meridian of that island."
# so that local (mean?) time was still used in Rarotonga (and Niue) in 1915.
# This was changed in the Cook Island Amendment Act of 1952-10-16 ...
# http://www.paclii.org/ck/legis/ck-nz_act/ciaa1952212/
# "651 (1) The hour of the day in each of the islands included in the Cook
# Islands, other than Niue, shall be determined as if each island were
# situated on the meridian one hundred and fifty-seven degrees thirty minutes
# West of Greenwich. (2) The hour of the day in the Island of Niue shall be
# determined as if that island were situated on the meridian one hundred and
# seventy degrees West of Greenwich."
# This act does not state when it takes effect, so one has to assume it
# applies since 1952-10-16. But there is the possibility that the act just
# legalized prior existing practice, as we had seen with the Guernsey law of
# 1913-06-18 for the switch in 1909-04-19.
#
# From Paul Eggert (2021-03-24):
# Transitions after 1952 are from Shanks & Pottenger.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Cook 1978 only - Nov 12 0:00 0:30 -
Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
-10:39:04 - LMT 1952 Oct 16
-10:30 - -1030 1978 Nov 12
-10:00 Cook -10/-0930
@@ -634,10 +681,18 @@ Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
# Niue
# See Pacific/Raratonga comments for 1952 transition.
#
# From Tim Parenti (2021-09-13):
# Consecutive contemporaneous editions of The Air Almanac listed -11:20 for
# Niue as of Apr 1964 but -11 as of Aug 1964:
# Apr 1964: https://books.google.com/books?id=_1So677Y5vUC&pg=SL1-PA23
# Aug 1964: https://books.google.com/books?id=MbJloqd-zyUC&pg=SL1-PA23
# Without greater specificity, guess 1964-07-01 for this transition.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
-11:20 - -1120 1951
-11:30 - -1130 1978 Oct 1
Zone Pacific/Niue -11:19:40 - LMT 1952 Oct 16 # Alofi
-11:20 - -1120 1964 Jul
-11:00 - -11
# Norfolk
@@ -661,6 +716,7 @@ Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:48:32 - PMMT 1895 # Port Moresby Mean Time
10:00 - +10
Link Pacific/Port_Moresby Antarctica/DumontDUrville
#
# From Paul Eggert (2014-10-13):
# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
@@ -765,13 +821,17 @@ Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
# From Paul Eggert (2014-07-08):
# That web page currently lists transitions for 2012/3 and 2013/4.
# Assume the pattern instituted in 2012 will continue indefinitely.
#
# From Geoffrey D. Bennett (2021-09-20):
# https://www.mcil.gov.ws/storage/2021/09/MCIL-Scan_20210920_120553.pdf
# DST has been cancelled for this year.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule WS 2010 only - Sep lastSun 0:00 1 -
Rule WS 2011 only - Apr Sat>=1 4:00 0 -
Rule WS 2011 only - Sep lastSat 3:00 1 -
Rule WS 2012 max - Apr Sun>=1 4:00 0 -
Rule WS 2012 max - Sep lastSun 3:00 1 -
Rule WS 2012 2021 - Apr Sun>=1 4:00 0 -
Rule WS 2012 2020 - Sep lastSun 3:00 1 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
-11:26:56 - LMT 1911
@@ -818,8 +878,8 @@ Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - +1220 1941
Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
12:20 - +1220 1961
13:00 - +13 1999
13:00 Tonga +13/+14
@@ -1761,6 +1821,23 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# One source for this is page 202 of: Bartky IR. One Time Fits All:
# The Campaigns for Global Uniformity (2007).
# Kanton
# From Paul Eggert (2021-05-27):
# Kiribati's +13 timezone is represented by Kanton, its only populated
# island. (It was formerly spelled "Canton", but Gilbertese lacks "C".)
# Kanton was settled on 1937-08-31 by two British radio operators
# <https://history.state.gov/historicaldocuments/frus1937v02/d94>;
# Americans came the next year and built an airfield, partly to
# establish airline service and perhaps partly anticipating the
# next war. Aside from the war, the airfield was used by commercial
# airlines until long-range jets became standard; although currently
# for emergency use only, China says it is considering rebuilding the
# airfield for high-end niche tourism. Kanton has about two dozen
# people, caretakers who rotate in from the rest of Kiribati in 2-5
# year shifts, and who use some of the leftover structures
# <http://pipa.neaq.org/2012/06/images-of-kanton-island.html>.
# Kwajalein
# From an AP article (1993-08-22):
@@ -2044,6 +2121,17 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Tonga
# From Paul Eggert (2021-03-04):
# In 1943 "The standard time kept is 12 hrs. 19 min. 12 sec. fast
# on Greenwich mean time." according to the Admiralty's Hydrographic
# Dept., Pacific Islands Pilot, Vol. II, 7th ed., 1943, p 360.
# From Michael Deckers (2021-03-03):
# [Ian R Bartky: "One Time Fits All: The Campaigns for Global Uniformity".
# Stanford University Press. 2007. p. 255]:
# On 10 September 1945 Tonga adopted a standard time 12 hours,
# 20 minutes in advance of Greenwich.
# From Paul Eggert (1996-01-22):
# Today's _Wall Street Journal_ (p 1) reports that "Tonga has been plotting
# to sneak ahead of [New Zealanders] by introducing daylight-saving time."
@@ -2072,9 +2160,26 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# The Crown Prince, presented an unanswerable argument: "Remember that
# on the World Day of Prayer, you would be the first people on Earth
# to say your prayers in the morning."
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
#
# From Tim Parenti (2021-09-13), per Paul Eggert (2006-03-22) and Michael
# Deckers (2021-03-03):
# Mundell places the transition from +12:20 to +13 in 1941, while Shanks &
# Pottenger say the transition was on 1968-10-01.
#
# The Air Almanac published contemporaneous tables of standard times,
# which listed +12:20 as of Nov 1960 and +13 as of Mar 1961:
# Nov 1960: https://books.google.com/books?id=bVgtWM6kPZUC&pg=SL1-PA19
# Mar 1961: https://books.google.com/books?id=W2nItAul4g0C&pg=SL1-PA19
# (Thanks to P Chan for pointing us toward these sources.)
# This agrees with Bartky, who writes that "since 1961 [Tonga's] official time
# has been thirteen hours in advance of Greenwich time" (p. 202) and further
# writes in an endnote that this was because "the legislation was amended" on
# 1960-10-19. (p. 255)
#
# Without greater specificity, presume that Bartky and the Air Almanac point to
# a 1961-01-01 transition, as Tāufaʻāhau Tupou IV was still Crown Prince in
# 1961 and this still jives with the gist of Mundell's telling, and go with
# this over Shanks & Pottenger.
# From Eric Ulevik (1999-05-03):
# Tonga's director of tourism, who is also secretary of the National Millennium

View File

@@ -26,8 +26,10 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file provides links between current names for timezones
# and their old names. Many names changed in late 1993.
# This file provides links from old or merged timezone names to current ones.
# Many names changed in late 1993. Several of these names are
# also present in the file 'backzone', which has data important only
# for pre-1970 timestamps and so is out of scope for tzdb proper.
# Link TARGET LINK-NAME
Link Africa/Nairobi Africa/Asmera
@@ -36,7 +38,7 @@ Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Atikokan America/Coral_Harbour
Link America/Panama America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
@@ -51,7 +53,7 @@ Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Port_of_Spain America/Virgin
Link America/Puerto_Rico America/Virgin
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
@@ -126,6 +128,7 @@ Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link Asia/Shanghai PRC
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Pohnpei Pacific/Ponape
Link Pacific/Pago_Pago Pacific/Samoa

View File

@@ -91,7 +91,6 @@
# 0:00 GMT BST BDST Greenwich, British Summer
# 0:00 GMT IST Greenwich, Irish Summer
# 0:00 WET WEST WEMT Western Europe
# 0:19:32.13 AMT* NST* Amsterdam, Netherlands Summer (1835-1937)
# 1:00 BST British Standard (1968-1971)
# 1:00 IST GMT Irish Standard (1968-) with winter DST
# 1:00 CET CEST CEMT Central Europe
@@ -845,7 +844,7 @@ Zone Europe/Andorra 0:06:04 - LMT 1901
# Shanks & Pottenger give 02:00, the BEV 00:00. Go with the BEV,
# and guess 02:00 for 1945-04-12.
# From Alois Triendl (2019-07-22):
# From Alois Treindl (2019-07-22):
# In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am.
# Shanks had this right. Source: Die Weltpresse, 5. Oktober 1946, page 5.
@@ -1759,19 +1758,22 @@ Zone Atlantic/Reykjavik -1:28 - LMT 1908
# advanced to sixty minutes later starting at hour two on 1944-04-02; ...
# Starting at hour three on the date 1944-09-17 standard time will be resumed.
#
# From Alois Triendl (2019-07-02):
# From Alois Treindl (2019-07-02):
# I spent 6 Euros to buy two archive copies of Il Messaggero, a Roman paper,
# for 1 and 2 April 1944. The edition of 2 April has this note: "Tonight at 2
# am, put forward the clock by one hour. Remember that in the night between
# today and Monday the 'ora legale' will come in force again." That makes it
# clear that in Rome the change was on Monday, 3 April 1944 at 2 am.
#
# From Paul Eggert (2016-10-27):
# From Paul Eggert (2021-10-05):
# Go with INRiM for DST rules, except as corrected by Inglis for 1944
# for the Kingdom of Italy. This is consistent with Renzo Baldini.
# Model Rome's occupation by using C-Eur rules from 1943-09-10
# to 1944-06-04; although Rome was an open city during this period, it
# was effectively controlled by Germany.
# was effectively controlled by Germany. Using C-Eur is consistent
# with Treindl's comment about Rome in April 1944, as the "Rule Italy"
# lines during German occupation do not affect Europe/Rome
# (though they do affect Europe/Malta).
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Italy 1916 only - Jun 3 24:00 1:00 S
@@ -1823,6 +1825,10 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12
1:00 Italy CE%sT 1980
1:00 EU CE%sT
# Kosovo
# See Europe/Belgrade.
Link Europe/Rome Europe/Vatican
Link Europe/Rome Europe/San_Marino
@@ -2173,6 +2179,10 @@ Zone Europe/Monaco 0:29:32 - LMT 1892 Jun 1
# The data entries before 1945 are taken from
# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
# From Paul Eggert (2021-05-09):
# I invented the abbreviations AMT for Amsterdam Mean Time and NST for
# Netherlands Summer Time, used in the Netherlands from 1835 to 1937.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time
Rule Neth 1916 only - Oct 1 0:00 0 AMT # Amsterdam Mean Time
@@ -2399,12 +2409,10 @@ Rule Port 1943 1945 - Aug Sat>=25 22:00s 1:00 S
Rule Port 1944 1945 - Apr Sat>=21 22:00s 2:00 M
Rule Port 1946 only - Apr Sat>=1 23:00s 1:00 S
Rule Port 1946 only - Oct Sat>=1 23:00s 0 -
Rule Port 1947 1949 - Apr Sun>=1 2:00s 1:00 S
Rule Port 1947 1949 - Oct Sun>=1 2:00s 0 -
# Shanks & Pottenger say DST was observed in 1950; go with Whitman.
# Whitman says DST was not observed in 1950; go with Shanks & Pottenger.
# Whitman gives Oct lastSun for 1952 on; go with Shanks & Pottenger.
Rule Port 1951 1965 - Apr Sun>=1 2:00s 1:00 S
Rule Port 1951 1965 - Oct Sun>=1 2:00s 0 -
Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S
Rule Port 1947 1965 - Oct Sun>=1 2:00s 0 -
Rule Port 1977 only - Mar 27 0:00s 1:00 S
Rule Port 1977 only - Sep 25 0:00s 0 -
Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S
@@ -2641,7 +2649,7 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
# Although Shanks lists 1945-01-01 as the date for transition from
# +01/+02 to +02/+03, more likely this is a placeholder. Guess that
# the transition occurred at 1945-04-10 00:00, which is about when
# Königsberg surrendered to Soviet troops. (Thanks to Alois Triendl.)
# Königsberg surrendered to Soviet troops. (Thanks to Alois Treindl.)
# From Paul Eggert (2016-03-18):
# The 1989 transition is from USSR act No. 227 (1989-03-14).
@@ -3706,6 +3714,9 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
#
# Source: The newspaper "Dagens Nyheter", 1916-10-01, page 7 upper left.
# An extra-special abbreviation style is SET for Swedish Time (svensk
# normaltid) 1879-1899, 3° west of the Stockholm Observatory.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
1:00:14 - SET 1900 Jan 1 # Swedish Time

View File

@@ -95,11 +95,11 @@ Leap 2016 Dec 31 23:59:60 + S
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
#Expires 2021 Dec 28 00:00:00
#Expires 2022 Jun 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
#expires 1640649600 (2021-12-28 00:00:00 UTC)
#expires 1656374400 (2022-06-28 00:00:00 UTC)
# Updated through IERS Bulletin C61
# File expires on: 28 December 2021
# Updated through IERS Bulletin C62
# File expires on: 28 June 2022

View File

@@ -752,7 +752,11 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
-11:00 US B%sT 1983 Oct 30 2:00
-10:00 US AH%sT 1983 Nov 30
-10:00 US H%sT
# The following switches don't quite make our 1970 cutoff.
# The following switches don't make our 1970 cutoff.
#
# Kiska observed Tokyo date and time during Japanese occupation from
# 1942-06-06 to 1943-07-29, and similarly for Attu from 1942-06-07 to
# 1943-05-29 (all dates American). Both islands are now uninhabited.
#
# Shanks writes that part of southwest Alaska (e.g. Aniak)
# switched from -11:00 to -10:00 on 1968-09-22 at 02:00,
@@ -848,6 +852,8 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
-7:00 - MST 1967
-7:00 US M%sT 1968 Mar 21
-7:00 - MST
Link America/Phoenix America/Creston
# From Arthur David Olson (1988-02-13):
# A writer from the Inter Tribal Council of Arizona, Inc.,
# notes in private correspondence dated 1987-12-28 that "Presently, only the
@@ -993,7 +999,7 @@ Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
-5:00 US E%sT
#
# Perry County, Indiana, switched from eastern to central time in April 2006.
# From Alois Triendl (2019-07-09):
# From Alois Treindl (2019-07-09):
# The Indianapolis News, Friday 27 October 1967 states that Perry County
# returned to CST. It went again to EST on 27 April 1969, as documented by the
# Indianapolis star of Saturday 26 April.
@@ -1616,24 +1622,7 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# From Paul Eggert (2020-01-10):
# See America/Toronto for most of Quebec, including Montreal.
# See America/Halifax for the Îles de la Madeleine and the Listuguj reserve.
#
# Matthews and Vincent (1998) also write that Quebec east of the -63
# meridian is supposed to observe AST, but residents as far east as
# Natashquan use EST/EDT, and residents east of Natashquan use AST.
# The Quebec department of justice writes in
# "The situation in Minganie and Basse-Côte-Nord"
# https://www.justice.gouv.qc.ca/en/department/ministre/functions-and-responsabilities/legal-time-in-quebec/the-situation-in-minganie-and-basse-cote-nord/
# that the coastal strip from just east of Natashquan to Blanc-Sablon
# observes Atlantic standard time all year round.
# This common practice was codified into law as of 2007; see Legal Time Act,
# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/T-5.1>.
# For lack of better info, guess this practice began around 1970, contra to
# Shanks & Pottenger who have this region observing AST/ADT.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Blanc-Sablon -3:48:28 - LMT 1884
-4:00 Canada A%sT 1970
-4:00 - AST
# See America/Puerto_Rico for east of Natashquan.
# Ontario
@@ -1672,54 +1661,6 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
# time became a comic failure in Orillia. Toronto Star 2017-07-08.
# https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html
# From Paul Eggert (1997-10-17):
# Mark Brader writes that an article in the 1997-10-14 Toronto Star
# says that Atikokan, Ontario currently does not observe DST,
# but will vote on 11-10 whether to use EST/EDT.
# He also writes that the Ontario Time Act (1990, Chapter T.9)
# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
# Officially Atikokan is therefore on CST/CDT, and most likely this report
# concerns a non-official time observed as a matter of local practice.
#
# From Paul Eggert (2000-10-02):
# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
# New Osnaburgh observe CST all year, that Big Trout Lake observes
# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
# violation of the official Ontario rules.
#
# From Paul Eggert (2006-07-09):
# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
# 2005-07-21 Chronicle-Journal, which said:
#
# The clocks in Atikokan stay set on standard time year-round.
# This means they spend about half the time on central time and
# the other half on eastern time.
#
# For the most part, the system works, Mayor Dennis Brown said.
#
# "The majority of businesses in Atikokan deal more with Eastern
# Canada, but there are some that deal with Western Canada," he
# said. "I don't see any changes happening here."
#
# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
# [New Osnaburgh] follow the same practice."
# From Garry McKinnon (2006-07-14) via Chris Walton:
# I chatted with a member of my board who has an outstanding memory
# and a long history in Atikokan (and in the telecom industry) and he
# can say for certain that Atikokan has been practicing the current
# time keeping since 1952, at least.
# From Paul Eggert (2006-07-17):
# Shanks & Pottenger say that Atikokan has agreed with Rainy River
# ever since standard time was introduced, but the information from
# McKinnon sounds more authoritative. For now, assume that Atikokan
# switched to EST immediately after WWII era daylight saving time
# ended. This matches the old (less-populous) America/Coral_Harbour
# entry since our cutoff date of 1970, so we can move
# America/Coral_Harbour to the 'backward' file.
# From Mark Brader (2010-03-06):
#
# Currently the database has:
@@ -1850,6 +1791,7 @@ Zone America/Toronto -5:17:32 - LMT 1895
-5:00 Canada E%sT 1946
-5:00 Toronto E%sT 1974
-5:00 Canada E%sT
Link America/Toronto America/Nassau
Zone America/Thunder_Bay -5:57:00 - LMT 1895
-6:00 - CST 1910
-5:00 - EST 1942
@@ -1865,11 +1807,7 @@ Zone America/Rainy_River -6:18:16 - LMT 1895
-6:00 Canada C%sT 1940 Sep 29
-6:00 1:00 CDT 1942 Feb 9 2:00s
-6:00 Canada C%sT
Zone America/Atikokan -6:06:28 - LMT 1895
-6:00 Canada C%sT 1940 Sep 29
-6:00 1:00 CDT 1942 Feb 9 2:00s
-6:00 Canada C%sT 1945 Sep 30 2:00
-5:00 - EST
# For Atikokan see America/Panama.
# Manitoba
@@ -2021,7 +1959,7 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
# Alberta
# From Alois Triendl (2019-07-19):
# From Alois Treindl (2019-07-19):
# There was no DST in Alberta in 1967... Calgary Herald, 29 April 1967.
# 1969, no DST, from Edmonton Journal 18 April 1969
#
@@ -2060,60 +1998,6 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# Shanks & Pottenger write that since 1970 most of this region has
# been like Vancouver.
# Dawson Creek uses MST. Much of east BC is like Edmonton.
# Matthews and Vincent (1998) write that Creston is like Dawson Creek.
# It seems though that (re: Creston) is not entirely correct:
# From Chris Walton (2011-12-01):
# There are two areas within the Canadian province of British Columbia
# that do not currently observe daylight saving:
# a) The Creston Valley (includes the town of Creston and surrounding area)
# b) The eastern half of the Peace River Regional District
# (includes the cities of Dawson Creek and Fort St. John)
# Earlier this year I stumbled across a detailed article about the time
# keeping history of Creston; it was written by Tammy Hardwick who is the
# manager of the Creston & District Museum. The article was written in May 2009.
# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
# According to the article, Creston has not changed its clocks since June 1918.
# i.e. Creston has been stuck on UT-7 for 93 years.
# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
# Unfortunately the exact date for the time change in June 1918 remains
# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
# as plausible as any other date (in June). She also said that after writing
# the article she had discovered another time change in 1916; this is the
# subject of another article which she wrote in October 2010.
# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
# Here is a summary of the three clock change events in Creston's history:
# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
# Exact date unknown
# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
# Exact date in October unknown; Sunday October 1 is a reasonable guess.
# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
# Exact date in June unknown; Sunday June 2 is a reasonable guess.
# note 1:
# On Oct 27/1918 when daylight saving ended in the rest of Canada,
# Creston did not change its clocks.
# note 2:
# During WWII when the Federal Government legislated a mandatory clock change,
# Creston did not oblige.
# note 3:
# There is no guarantee that Creston will remain on Mountain Standard Time
# (UTC-7) forever.
# The subject was debated at least once this year by the town Council.
# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
# In Creston, that was handled by shifting the area to PST (-8:00) then applying
# summer time to cause the offset to be -7:00, the same as it had been before
# the change. It can be argued that the timezone abbreviation during this
# period should be PDT rather than MST, but that doesn't seem important enough
# (to anyone) to further complicate the rules.
# The transition dates (and times) are guesses.
# From Matt Johnson (2015-09-21):
# Fort Nelson, BC, Canada will cancel DST this year. So while previously they
@@ -2130,7 +2014,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
#
# From Paul Eggert (2019-07-25):
# Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver.
# Alois Triendl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily
# Alois Treindl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily
# Province. He also cited the 1946-09-28 Victoria Daily Times, which said
# that Vancouver, Victoria, etc. "change at midnight Saturday"; for now,
# guess they meant 02:00 Sunday since 02:00 was common practice in Vancouver.
@@ -2167,10 +2051,7 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT 2015 Mar 8 2:00
-7:00 - MST
Zone America/Creston -7:46:04 - LMT 1884
-7:00 - MST 1916 Oct 1
-8:00 - PST 1918 Jun 2
-7:00 - MST
# For Creston see America/Phoenix.
# Northwest Territories, Nunavut, Yukon
@@ -2952,64 +2833,61 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# Anguilla
# Antigua and Barbuda
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# Bahamas
#
# For 1899 Milne gives -5:09:29.5; round that.
#
# From P Chan (2020-11-27, corrected on 2020-12-02):
# There were two periods of DST observed in 1942-1945: 1942-05-01
# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
# "midnight" should mean 24:00 from the context.
#
# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
#
# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
#
# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
# 1945. p 160, 247-248
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
#
# From Sue Williams (2006-12-07):
# The Bahamas announced about a month ago that they plan to change their DST
# rules to sync with the U.S. starting in 2007....
# http://www.jonesbahamas.com/?c=45&a=10412
# The Bahamas
# See America/Toronto.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Bahamas 1942 only - May 1 24:00 1:00 W
Rule Bahamas 1944 only - Dec 31 24:00 0 S
Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule Bahamas 1945 only - Oct 17 24:00 0 S
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
-5:00 Bahamas E%sT 1976
-5:00 US E%sT
# Barbados
# For 1899 Milne gives -3:58:29.2; round that.
# From P Chan (2020-12-09 and 2020-12-11):
# Standard time of GMT-4 was adopted in 1911.
# Definition of Time Act, 1911 (1911-7) [1911-08-28]
# 1912, Laws of Barbados (5 v.), OCLC Number: 919801291, Vol. 4, Image No. 522
# 1944, Laws of Barbados (5 v.), OCLC Number: 84548697, Vol. 4, Image No. 122
# http://llmc.com/browse.aspx?type=2&coll=85&div=297
#
# DST was observed in 1942-44.
# Defence (Daylight Saving) Regulations, 1942, 1942-04-13
# Defence (Daylight Saving) (Repeal) Regulations, 1942, 1942-08-22
# Defence (Daylight Saving) Regulations, 1943, 1943-04-16
# Defence (Daylight Saving) (Repeal) Regulations, 1943, 1943-09-01
# Defence (Daylight Saving) Regulations, 1944, 1944-03-21
# [Defence (Daylight Saving) (Amendment) Regulations 1944, 1944-03-28]
# Defence (Daylight Saving) (Repeal) Regulations, 1944, 1944-08-30
#
# 1914-, Subsidiary Legis., Annual Vols. OCLC Number: 226290591
# 1942: Image Nos. 527-528, 555-556
# 1943: Image Nos. 178-179, 198
# 1944: Image Nos. 113-115, 129
# http://llmc.com/titledescfull.aspx?type=2&coll=85&div=297&set=98437
#
# From Tim Parenti (2021-02-20):
# The transitions below are derived from P Chan's sources, except that the 1977
# through 1980 transitions are from Shanks & Pottenger since we have no better
# data there. Of particular note, the 1944 DST regulation only advanced the
# time to "exactly three and a half hours later than Greenwich mean time", as
# opposed to "three hours" in the 1942 and 1943 regulations.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Barb 1942 only - Apr 19 5:00u 1:00 D
Rule Barb 1942 only - Aug 31 6:00u 0 S
Rule Barb 1943 only - May 2 5:00u 1:00 D
Rule Barb 1943 only - Sep 5 6:00u 0 S
Rule Barb 1944 only - Apr 10 5:00u 0:30 -
Rule Barb 1944 only - Sep 10 6:00u 0 S
Rule Barb 1977 only - Jun 12 2:00 1:00 D
Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S
Rule Barb 1978 1980 - Apr Sun>=15 2:00 1:00 D
Rule Barb 1979 only - Sep 30 2:00 0 S
Rule Barb 1980 only - Sep 25 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
-3:58:29 - BMT 1932 # Bridgetown Mean Time
Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
-4:00 Barb A%sT 1944
-4:00 Barb AST/-0330 1945
-4:00 Barb A%sT
# Belize
@@ -3171,6 +3049,9 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
-4:00 Canada A%sT 1976
-4:00 US A%sT
# Caribbean Netherlands
# See America/Puerto_Rico.
# Cayman Is
# See America/Panama.
@@ -3399,7 +3280,7 @@ Zone America/Havana -5:29:28 - LMT 1890
-5:00 Cuba C%sT
# Dominica
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# Dominican Republic
@@ -3451,7 +3332,7 @@ Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
# Guadeloupe
# St Barthélemy
# St Martin (French part)
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# Guatemala
#
@@ -3638,7 +3519,7 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:00 - AST
# Montserrat
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# Nicaragua
#
@@ -3710,6 +3591,7 @@ Zone America/Managua -5:45:08 - LMT 1890
Zone America/Panama -5:18:08 - LMT 1890
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
-5:00 - EST
Link America/Panama America/Atikokan
Link America/Panama America/Cayman
# Puerto Rico
@@ -3719,10 +3601,29 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
-4:00 - AST 1942 May 3
-4:00 US A%sT 1946
-4:00 - AST
Link America/Puerto_Rico America/Anguilla
Link America/Puerto_Rico America/Antigua
Link America/Puerto_Rico America/Aruba
Link America/Puerto_Rico America/Curacao
Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore)
Link America/Puerto_Rico America/Dominica
Link America/Puerto_Rico America/Grenada
Link America/Puerto_Rico America/Guadeloupe
Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands
Link America/Puerto_Rico America/Lower_Princes # Sint Maarten
Link America/Puerto_Rico America/Marigot # St Martin (French part)
Link America/Puerto_Rico America/Montserrat
Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago
Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy
Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis
Link America/Puerto_Rico America/St_Lucia
Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US)
Link America/Puerto_Rico America/St_Vincent
Link America/Puerto_Rico America/Tortola # Virgin Islands (UK)
# St Kitts-Nevis
# St Lucia
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
@@ -3733,7 +3634,10 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-3:00 Canada -03/-02
# St Vincent and the Grenadines
# See America/Port_of_Spain.
# See America/Puerto_Rico.
# Sint Maarten
# See America/Puerto_Rico.
# Turks and Caicos
#
@@ -3804,8 +3708,8 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:00 US E%sT
# British Virgin Is
# Virgin Is
# See America/Port_of_Spain.
# US Virgin Is
# See America/Puerto_Rico.
# Local Variables:

View File

@@ -597,7 +597,7 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-3:00 - -03
# Aruba
Link America/Curacao America/Aruba
# See America/Puerto_Rico.
# Bolivia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -1392,35 +1392,14 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
# no information; probably like America/Bogota
# Curaçao
# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
# See America/Puerto_Rico.
#
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say that The Bottom and Philipsburg have been at
# -4:00 since standard time was introduced on 1912-03-02; and that
# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
# Saba Island has been like Curaçao.
# This all predates our 1970 cutoff, though.
#
# By July 2007 Curaçao and St Maarten are planned to become
# associated states within the Netherlands, much like Aruba;
# Bonaire, Saba and St Eustatius would become directly part of the
# Netherlands as Kingdom Islands. This won't affect their time zones
# though, as far as we know.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
-4:30 - -0430 1965
-4:00 - AST
# From Arthur David Olson (2011-06-15):
# use links for places with new iso3166 codes.
# The name "Lower Prince's Quarter" is both longer than fourteen characters
# and contains an apostrophe; use "Lower_Princes" below.
Link America/Curacao America/Lower_Princes # Sint Maarten
Link America/Curacao America/Kralendijk # Caribbean Netherlands
# and contains an apostrophe; use "Lower_Princes"....
# From Paul Eggert (2021-09-29):
# These backward-compatibility links now are in the 'northamerica' file.
# Ecuador
#
@@ -1563,11 +1542,40 @@ Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-3:00 - -03
# Guyana
# From P Chan (2020-11-27):
# https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547
# The Official Gazette of British Guiana. (New Series.) Vol. XL. July to
# December, 1915, p 1547, lists as several notes:
# "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time
# (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4
# hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July,
# 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45
# mins. 0 secs. slow of Greenwich Mean Time, by notice in Official Gazette on
# 23rd January, 1915."
#
# https://parliament.gov.gy/documents/acts/10923-act_no._27_of_1975_-_interpretation_and_general_clauses_(amendment)_act_1975.pdf
# Interpretation and general clauses (Amendment) Act 1975 (Act No. 27 of 1975)
# [dated 1975-07-31]
# "This Act...shall come into operation on 1st August, 1975."
# "...where any expression of time occurs...the time referred to shall signify
# the standard time of Guyana which shall be three hours behind Greenwich Mean
# Time."
#
# Circular No. 10/1992 dated 1992-03-20
# https://dps.gov.gy/wp-content/uploads/2018/12/1992-03-20-Circular-010.pdf
# "...cabinet has decided that with effect from Sunday 29th March, 1992, Guyana
# Standard Time would be re-established at 01:00 hours by adjusting the hands
# of the clock back to 24:00 hours."
# Legislated in the Interpretation and general clauses (Amendment) Act 1992
# (Act No. 6 of 1992) [passed 1992-03-27, published 1992-04-18]
# https://parliament.gov.gy/documents/acts/5885-6_of_1992_interpretation_and_general_clauses_(amendment)_act_1992.pdf
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-3:45 - -0345 1975 Jul 31
-3:00 - -03 1991
# IATA SSIM (1996-06) says -4:00. Assume a 1991 switch.
Zone America/Guyana -3:52:39 - LMT 1911 Aug 1 # Georgetown
-4:00 - -04 1915 Mar 1
-3:45 - -0345 1975 Aug 1
-3:00 - -03 1992 Mar 29 1:00
-4:00 - -04
# Paraguay
@@ -1708,24 +1716,7 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
-3:00 - -03
# Trinidad and Tobago
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
-4:00 - AST
# These all agree with Trinidad and Tobago since 1970.
Link America/Port_of_Spain America/Anguilla
Link America/Port_of_Spain America/Antigua
Link America/Port_of_Spain America/Dominica
Link America/Port_of_Spain America/Grenada
Link America/Port_of_Spain America/Guadeloupe
Link America/Port_of_Spain America/Marigot # St Martin (French part)
Link America/Port_of_Spain America/Montserrat
Link America/Port_of_Spain America/St_Barthelemy # St Barthélemy
Link America/Port_of_Spain America/St_Kitts # St Kitts & Nevis
Link America/Port_of_Spain America/St_Lucia
Link America/Port_of_Spain America/St_Thomas # Virgin Islands (US)
Link America/Port_of_Spain America/St_Vincent
Link America/Port_of_Spain America/Tortola # Virgin Islands (UK)
# See America/Puerto_Rico.
# Uruguay
# From Paul Eggert (1993-11-18):

View File

@@ -26,7 +26,7 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2018-06-27):
# From Paul Eggert (2021-09-20):
# This file is intended as a backward-compatibility aid for older programs.
# New programs should use zone1970.tab. This file is like zone1970.tab (see
# zone1970.tab's comments), but with the following additional restrictions:
@@ -39,6 +39,9 @@
# clocks have agreed since 1970; this is a narrower definition than
# that of zone1970.tab.
#
# Unlike zone1970.tab, a row's third column can be a Link from
# 'backward' instead of a Zone.
#
# This table is intended as an aid for users, to help them select timezones
# appropriate for their practical needs. It is not intended to take or
# endorse any position on legal or territorial claims.
@@ -251,7 +254,7 @@ KE -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KH +1133+10455 Asia/Phnom_Penh
KI +0125+17300 Pacific/Tarawa Gilbert Islands
KI -0308-17105 Pacific/Enderbury Phoenix Islands
KI -0247-17143 Pacific/Kanton Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KM -1141+04316 Indian/Comoro
KN +1718-06243 America/St_Kitts
@@ -414,7 +417,7 @@ TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
TO -2110-17510 Pacific/Tongatapu
TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti

View File

@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2021, 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,7 +26,7 @@
# Create a bundle in the build directory, containing what's needed to
# build and run JMH microbenchmarks from the OpenJDK build.
JMH_VERSION=1.28
JMH_VERSION=1.34
COMMONS_MATH3_VERSION=3.2
JOPT_SIMPLE_VERSION=4.6

View File

@@ -58,6 +58,9 @@ ifeq ($(call check-jvm-feature, compiler2), true)
ADLC_CFLAGS += -I$(TOPDIR)/src/hotspot/share
# Add file macro mappings
ADLC_CFLAGS += $(FILE_MACRO_CFLAGS)
$(eval $(call SetupNativeCompilation, BUILD_ADLC, \
NAME := adlc, \
TYPE := EXECUTABLE, \
@@ -149,12 +152,14 @@ ifeq ($(call check-jvm-feature, compiler2), true)
ifeq ($(call check-jvm-feature, shenandoahgc), true)
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU_ARCH).ad \
)))
endif
ifeq ($(call check-jvm-feature, zgc), true)
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU).ad \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU_ARCH).ad \
)))
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2021, 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
@@ -101,7 +101,7 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBJVM, \
CFLAGS_windows := -EHsc, \
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
undef, \
undef stringop-overflow, \
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
undef switch format-nonliteral tautological-undefined-compare \
self-assign-overloaded, \

View File

@@ -84,7 +84,7 @@ ifneq ($(call check-jvm-feature, jvmti), true)
jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
jvmtiClassFileReconstituter.cpp jvmtiTagMapTable.cpp
jvmtiClassFileReconstituter.cpp jvmtiTagMapTable.cpp jvmtiEnhancedRedefineClasses.cpp
endif
ifneq ($(call check-jvm-feature, jvmci), true)

View File

@@ -102,7 +102,7 @@ public class Depend implements Plugin {
private final MessageDigest apiHash;
{
try {
apiHash = MessageDigest.getInstance("MD5");
apiHash = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException ex) {
throw new IllegalStateException(ex);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2022, 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
@@ -204,6 +204,10 @@ public class MakeZipReproducible {
entry.setTimeLocal(timestamp);
}
// Ensure "extra" field is not set from original ZipEntry info that may be not deterministic
// eg.may contain specific UID/GID
entry.setExtra(null);
zos.putNextEntry(entry);
if (entry.getSize() > 0 && entryInputStream != null) {
entryInputStream.transferTo(zos);

View File

@@ -60,7 +60,11 @@ TARGETS += $(GENDATA_CURDATA)
################################################################################
GENDATA_CACERTS_SRC := $(TOPDIR)/make/data/cacerts/
ifneq ($(CACERTS_SRC), )
GENDATA_CACERTS_SRC := $(CACERTS_SRC)
else
GENDATA_CACERTS_SRC := $(TOPDIR)/make/data/cacerts/
endif
GENDATA_CACERTS := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/security/cacerts
$(GENDATA_CACERTS): $(BUILD_TOOLS_JDK) $(wildcard $(GENDATA_CACERTS_SRC)/*)

View File

@@ -84,7 +84,7 @@ TARGETS += $(COPY_LEGAL)
################################################################################
FONTFILE_SRC_DIR := $(TOPDIR)/src/java.desktop/share
FONTFILE_SRCS := $(wildcard $(FONTFILE_SRC_DIR)/fonts/*.ttf) $(FONTFILE_SRC_DIR)/fonts/fonts.dir $(FONTFILE_SRC_DIR)/fonts/font.conf
FONTFILE_SRCS := $(wildcard $(FONTFILE_SRC_DIR)/fonts/*.ttf) $(wildcard $(FONTFILE_SRC_DIR)/fonts/*.otf) $(FONTFILE_SRC_DIR)/fonts/fonts.dir $(FONTFILE_SRC_DIR)/fonts/font.conf
FONTFILE_TARGET_FILES := $(subst $(FONTFILE_SRC_DIR),$(LIB_DST_DIR),$(FONTFILE_SRCS))
$(LIB_DST_DIR)/fonts/%: $(FONTFILE_SRC_DIR)/fonts/%

View File

@@ -28,15 +28,15 @@ include LibCommon.gmk
################################################################################
ifeq ($(call isTargetOs, linux windows)+$(call isTargetCpu, x86_64)+$(INCLUDE_COMPILER2), true+true+true)
$(eval $(call SetupJdkLibrary, BUILD_LIBSVML, \
NAME := svml, \
$(eval $(call SetupJdkLibrary, BUILD_LIBJSVML, \
NAME := jsvml, \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := -defaultlib:msvcrt, \
))
TARGETS += $(BUILD_LIBSVML)
TARGETS += $(BUILD_LIBJSVML)
endif
################################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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,10 +29,16 @@ include LibCommon.gmk
ifeq ($(call isTargetOs, windows), true)
CFLAGS_LIBDT_SHMEM := $(CFLAGS_JDKLIB)
ifneq ($(HOTSPOT_BUILD_TIME), )
CFLAGS_LIBDT_SHMEM += -DSHMEM_BUILD_TIME='"$(HOTSPOT_BUILD_TIME)"'
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBDT_SHMEM, \
NAME := dt_shmem, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB), \
CFLAGS := $(CFLAGS_LIBDT_SHMEM), \
EXTRA_HEADER_DIRS := \
jdk.jdwp.agent:include \
jdk.jdwp.agent:libjdwp/export, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2021, 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
@@ -60,24 +60,6 @@ $(eval $(call SetupJavaCompilation, BUILD_FAILURE_HANDLER, \
TARGETS += $(BUILD_FAILURE_HANDLER)
################################################################################
ifeq ($(call isTargetOs, windows), true)
$(eval $(call SetupNativeCompilation, BUILD_LIBTIMEOUT_HANDLER, \
NAME := timeoutHandler, \
SRC := $(FH_BASEDIR)/src/windows/native/libtimeoutHandler, \
OBJECT_DIR := $(FH_SUPPORT)/libtimeoutHandler, \
OUTPUT_DIR := $(FH_SUPPORT), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB), \
OPTIMIZATION := LOW, \
))
TARGETS += $(BUILD_LIBTIMEOUT_HANDLER)
endif
################################################################################
# Targets for building test-image.
################################################################################
@@ -99,10 +81,6 @@ IMAGES_TARGETS += $(COPY_FH)
# Use JTREG_TESTS for jtreg tests parameter
#
RUN_DIR := $(FH_SUPPORT)/test
# Add the dir of the dll to the path on windows
ifeq ($(call isTargetOs, windows), true)
export PATH := $(PATH);$(FH_SUPPORT)
endif
test:
$(RM) -r $(RUN_DIR)

View File

@@ -863,7 +863,7 @@ ifeq ($(call isTargetOs, linux), true)
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeFPRegs := -ldl
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libAsyncGetCallTraceTest := -ldl
else
BUILD_HOTSPOT_JTREG_EXCLUDE += libtest-rw.c libtest-rwx.c libTestJNI.c \
BUILD_HOTSPOT_JTREG_EXCLUDE += libtest-rw.c libtest-rwx.c \
exeinvoke.c exestack-gap.c exestack-tls.c libAsyncGetCallTraceTest.cpp
endif
@@ -871,7 +871,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
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread

View File

@@ -87,8 +87,9 @@ ifeq ($(call isTargetOs, macosx), true)
-framework Cocoa -framework SystemConfiguration
else
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.m
BUILD_JDK_JTREG_EXCLUDE += exeJniInvocationTest.c
BUILD_JDK_JTREG_EXCLUDE += libTestDynamicStore.m
BUILD_JDK_JTREG_EXCLUDE += exeJniInvocationTest.c
BUILD_JDK_JTREG_EXCLUDE += exeLibraryCache.c
endif
ifeq ($(OPENJDK_TARGET_OS), windows)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2021, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -80,10 +80,10 @@ SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files
all: mkdirs J2DBench.jar J2DAnalyzer.jar
run: mkdirs J2DBench.jar
java -jar J2DBench.jar
java -jar $(DIST)/J2DBench.jar
analyze: mkdirs J2DAnalyzer.jar
java -jar J2DAnalyzer.jar
java -jar $(DIST)/J2DAnalyzer.jar
J2DBench.jar: \
$(J2DBENCH_CLASSES) $(J2DBENCH_RESOURCES) \

View File

@@ -549,7 +549,10 @@ public class TableDemo extends DemoModule {
public int getRowCount() { return data.length;}
public Object getValueAt(int row, int col) {return data[row][col];}
public String getColumnName(int column) {return names[column];}
public Class<?> getColumnClass(int c) {return getValueAt(0, c).getClass();}
public Class<?> getColumnClass(int c) {
Object obj = getValueAt(0, c);
return obj != null ? obj.getClass() : Object.class;
}
public boolean isCellEditable(int row, int col) {return col != 5;}
public void setValueAt(Object aValue, int row, int column) { data[row][column] = aValue; }
};
@@ -738,4 +741,13 @@ public class TableDemo extends DemoModule {
footerTextField.setDragEnabled(dragEnabled);
}
@Override
public ImageIcon createImageIcon(String filename, String description) {
ImageIcon imageIcon = super.createImageIcon(filename, description);
AccessibleContext context = imageIcon.getAccessibleContext();
if (context!= null) {
context.setAccessibleName(description);
}
return imageIcon;
}
}

View File

@@ -2373,6 +2373,8 @@ const bool Matcher::match_rule_supported(int opcode) {
bool ret_value = true;
switch (opcode) {
case Op_OnSpinWait:
return VM_Version::supports_on_spin_wait();
case Op_CacheWB:
case Op_CacheWBPreSync:
case Op_CacheWBPostSync:
@@ -2613,6 +2615,13 @@ const RegMask Matcher::method_handle_invoke_SP_save_mask() {
bool size_fits_all_mem_uses(AddPNode* addp, int shift) {
for (DUIterator_Fast imax, i = addp->fast_outs(imax); i < imax; i++) {
Node* u = addp->fast_out(i);
if (u->is_LoadStore()) {
// On AArch64, LoadStoreNodes (i.e. compare and swap
// instructions) only take register indirect as an operand, so
// any attempt to use an AddPNode as an input to a LoadStoreNode
// must fail.
return false;
}
if (u->is_Mem()) {
int opsize = u->as_Mem()->memory_size();
assert(opsize > 0, "unexpected memory operand size");
@@ -3841,7 +3850,7 @@ encode %{
// Try to CAS m->owner from NULL to current thread.
__ add(tmp, disp_hdr, (ObjectMonitor::owner_offset_in_bytes()-markWord::monitor_value));
__ cmpxchg(tmp, zr, rthread, Assembler::xword, /*acquire*/ true,
/*release*/ true, /*weak*/ false, noreg); // Sets flags for result
/*release*/ true, /*weak*/ false, rscratch1); // Sets flags for result
// Store a non-null value into the box to avoid looking like a re-entrant
// lock. The fast-path monitor unlock code checks for
@@ -3850,6 +3859,15 @@ encode %{
__ mov(tmp, (address)markWord::unused_mark().value());
__ str(tmp, Address(box, BasicLock::displaced_header_offset_in_bytes()));
__ br(Assembler::EQ, cont); // CAS success means locking succeeded
__ cmp(rscratch1, rthread);
__ br(Assembler::NE, cont); // Check for recursive locking
// Recursive lock case
__ increment(Address(disp_hdr, ObjectMonitor::recursions_offset_in_bytes() - markWord::monitor_value), 1);
// flag == EQ still from the cmp above, checking if this is a reentrant lock
__ bind(cont);
// flag == EQ indicates success
// flag == NE indicates failure
@@ -3897,11 +3915,20 @@ encode %{
__ add(tmp, tmp, -(int)markWord::monitor_value); // monitor
__ ldr(rscratch1, Address(tmp, ObjectMonitor::owner_offset_in_bytes()));
__ ldr(disp_hdr, Address(tmp, ObjectMonitor::recursions_offset_in_bytes()));
__ eor(rscratch1, rscratch1, rthread); // Will be 0 if we are the owner.
__ orr(rscratch1, rscratch1, disp_hdr); // Will be 0 if there are 0 recursions
__ cmp(rscratch1, zr); // Sets flags for result
Label notRecursive;
__ cmp(rscratch1, rthread);
__ br(Assembler::NE, cont);
__ cbz(disp_hdr, notRecursive);
// Recursive lock
__ sub(disp_hdr, disp_hdr, 1u);
__ str(disp_hdr, Address(tmp, ObjectMonitor::recursions_offset_in_bytes()));
// flag == EQ was set in the ownership check above
__ b(cont);
__ bind(notRecursive);
__ ldr(rscratch1, Address(tmp, ObjectMonitor::EntryList_offset_in_bytes()));
__ ldr(disp_hdr, Address(tmp, ObjectMonitor::cxq_offset_in_bytes()));
__ orr(rscratch1, rscratch1, disp_hdr); // Will be 0 if both are 0.
@@ -14314,6 +14341,18 @@ instruct signumF_reg(vRegF dst, vRegF src, vRegF zero, vRegF one) %{
ins_pipe(fp_uop_d);
%}
instruct onspinwait() %{
match(OnSpinWait);
ins_cost(INSN_COST);
format %{ "onspinwait" %}
ins_encode %{
__ spin_wait();
%}
ins_pipe(pipe_class_empty);
%}
// ============================================================================
// Logical Instructions
@@ -16823,6 +16862,7 @@ instruct encode_iso_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
vRegD_V2 Vtmp3, vRegD_V3 Vtmp4,
iRegI_R0 result, rFlagsReg cr)
%{
predicate(!((EncodeISOArrayNode*)n)->is_ascii());
match(Set result (EncodeISOArray src (Binary dst len)));
effect(USE_KILL src, USE_KILL dst, USE_KILL len,
KILL Vtmp1, KILL Vtmp2, KILL Vtmp3, KILL Vtmp4, KILL cr);

View File

@@ -45,5 +45,9 @@ extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_1_relaxed_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_4_relaxed_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_relaxed_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_4_release_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_release_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_4_seq_cst_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_seq_cst_impl;
#endif // CPU_AARCH64_ATOMIC_AARCH64_HPP

View File

@@ -2988,7 +2988,7 @@ void LIR_Assembler::membar_loadstore() { __ membar(MacroAssembler::LoadStore); }
void LIR_Assembler::membar_storeload() { __ membar(MacroAssembler::StoreLoad); }
void LIR_Assembler::on_spin_wait() {
Unimplemented();
__ spin_wait();
}
void LIR_Assembler::get_thread(LIR_Opr result_reg) {

View File

@@ -355,7 +355,7 @@ void C1_MacroAssembler::remove_frame(int framesize) {
}
void C1_MacroAssembler::verified_entry() {
void C1_MacroAssembler::verified_entry(bool breakAtEntry) {
// If we have to make this method not-entrant we'll overwrite its
// first instruction with a jump. For this action to be legal we
// must ensure that this first instruction is a B, BL, NOP, BKPT,

View File

@@ -276,7 +276,7 @@ void BarrierSetAssembler::c2i_entry_barrier(MacroAssembler* masm) {
__ load_method_holder_cld(rscratch1, rmethod);
// Is it a strong CLD?
__ ldr(rscratch2, Address(rscratch1, ClassLoaderData::keep_alive_offset()));
__ ldrw(rscratch2, Address(rscratch1, ClassLoaderData::keep_alive_offset()));
__ cbnz(rscratch2, method_live);
// Is it a weak but alive CLD?

View File

@@ -111,7 +111,15 @@ define_pd_global(intx, InlineSmallCode, 1000);
product(int, SoftwarePrefetchHintDistance, -1, \
"Use prfm hint with specified distance in compiled code." \
"Value -1 means off.") \
range(-1, 4096)
range(-1, 4096) \
product(ccstr, OnSpinWaitInst, "none", DIAGNOSTIC, \
"The instruction to use to implement " \
"java.lang.Thread.onSpinWait()." \
"Options: none, nop, isb, yield.") \
product(uint, OnSpinWaitInstCount, 1, DIAGNOSTIC, \
"The number of OnSpinWaitInst instructions to generate." \
"It cannot be used with OnSpinWaitInst=none.") \
range(1, 99)
// end of ARCH_FLAGS

View File

@@ -129,8 +129,17 @@ static inline uint32_t uimm(uint32_t val, int hi, int lo)
uint64_t replicate(uint64_t bits, int nbits, int count)
{
assert(count > 0, "must be");
assert(nbits > 0, "must be");
assert(count * nbits <= 64, "must be");
// Special case nbits == 64 since the shift below with that nbits value
// would result in undefined behavior.
if (nbits == 64) {
return bits;
}
uint64_t result = 0;
// nbits may be 64 in which case we want mask to be -1
uint64_t mask = ones(nbits);
for (int i = 0; i < count ; i++) {
result <<= nbits;

View File

@@ -2027,15 +2027,6 @@ void MacroAssembler::increment(Address dst, int value)
str(rscratch1, dst);
}
void MacroAssembler::pusha() {
push(0x7fffffff, sp);
}
void MacroAssembler::popa() {
pop(0x7fffffff, sp);
}
// Push lots of registers in the bit set supplied. Don't push sp.
// Return the number of words pushed
int MacroAssembler::push(unsigned int bitset, Register stack) {
@@ -2677,7 +2668,7 @@ void MacroAssembler::pop_call_clobbered_registers_except(RegSet exclude) {
void MacroAssembler::push_CPU_state(bool save_vectors, bool use_sve,
int sve_vector_size_in_bytes) {
push(0x3fffffff, sp); // integer registers except lr & sp
push(RegSet::range(r0, r29), sp); // integer registers except lr & sp
if (save_vectors && use_sve && sve_vector_size_in_bytes > 16) {
sub(sp, sp, sve_vector_size_in_bytes * FloatRegisterImpl::number_of_registers);
for (int i = 0; i < FloatRegisterImpl::number_of_registers; i++) {
@@ -2713,7 +2704,14 @@ void MacroAssembler::pop_CPU_state(bool restore_vectors, bool use_sve,
reinitialize_ptrue();
}
pop(0x3fffffff, sp); // integer registers except lr & sp
// integer registers except lr & sp
pop(RegSet::range(r0, r17), sp);
#ifdef R18_RESERVED
ldp(zr, r19, Address(post(sp, 2 * wordSize)));
pop(RegSet::range(r20, r29), sp);
#else
pop(RegSet::range(r18_tls, r29), sp);
#endif
}
/**
@@ -5354,3 +5352,21 @@ void MacroAssembler::verify_cross_modify_fence_not_required() {
}
}
#endif
void MacroAssembler::spin_wait() {
for (int i = 0; i < VM_Version::spin_wait_desc().inst_count(); ++i) {
switch (VM_Version::spin_wait_desc().inst()) {
case SpinWait::NOP:
nop();
break;
case SpinWait::ISB:
isb();
break;
case SpinWait::YIELD:
yield();
break;
default:
ShouldNotReachHere();
}
}
}

View File

@@ -1123,10 +1123,6 @@ public:
void push(Register src);
void pop(Register dst);
// push all registers onto the stack
void pusha();
void popa();
void repne_scan(Register addr, Register value, Register count,
Register scratch);
void repne_scanw(Register addr, Register value, Register count,
@@ -1318,6 +1314,23 @@ public:
Register zlen, Register tmp1, Register tmp2, Register tmp3,
Register tmp4, Register tmp5, Register tmp6, Register tmp7);
void mul_add(Register out, Register in, Register offs, Register len, Register k);
void ghash_multiply(FloatRegister result_lo, FloatRegister result_hi,
FloatRegister a, FloatRegister b, FloatRegister a1_xor_a0,
FloatRegister tmp1, FloatRegister tmp2, FloatRegister tmp3);
void ghash_reduce(FloatRegister result, FloatRegister lo, FloatRegister hi,
FloatRegister p, FloatRegister z, FloatRegister t1);
void ghash_processBlocks_wide(address p, Register state, Register subkeyH,
Register data, Register blocks, int unrolls);
void ghash_modmul (FloatRegister result,
FloatRegister result_lo, FloatRegister result_hi, FloatRegister b,
FloatRegister a, FloatRegister vzr, FloatRegister a1_xor_a0, FloatRegister p,
FloatRegister t1, FloatRegister t2, FloatRegister t3);
void aesenc_loadkeys(Register key, Register keylen);
void aesecb_encrypt(Register from, Register to, Register keylen,
FloatRegister data = v0, int unrolls = 1);
void aesecb_decrypt(Register from, Register to, Register key, Register keylen);
void aes_round(FloatRegister input, FloatRegister subkey);
// Place an ISB after code may have been modified due to a safepoint.
void safepoint_isb();
@@ -1397,6 +1410,9 @@ public:
void cache_wb(Address line);
void cache_wbsync(bool is_pre);
// Code for java.lang.Thread::onSpinWait() intrinsic.
void spin_wait();
private:
// Check the current thread doesn't need a cross modify fence.
void verify_cross_modify_fence_not_required() PRODUCT_RETURN;

View File

@@ -0,0 +1,685 @@
/*
* Copyright (c) 2003, 2021, 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.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "asm/assembler.hpp"
#include "asm/assembler.inline.hpp"
#include "macroAssembler_aarch64.hpp"
#include "memory/resourceArea.hpp"
#include "runtime/stubRoutines.hpp"
void MacroAssembler::aesecb_decrypt(Register from, Register to, Register key, Register keylen) {
Label L_doLast;
ld1(v0, T16B, from); // get 16 bytes of input
ld1(v5, T16B, post(key, 16));
rev32(v5, T16B, v5);
ld1(v1, v2, v3, v4, T16B, post(key, 64));
rev32(v1, T16B, v1);
rev32(v2, T16B, v2);
rev32(v3, T16B, v3);
rev32(v4, T16B, v4);
aesd(v0, v1);
aesimc(v0, v0);
aesd(v0, v2);
aesimc(v0, v0);
aesd(v0, v3);
aesimc(v0, v0);
aesd(v0, v4);
aesimc(v0, v0);
ld1(v1, v2, v3, v4, T16B, post(key, 64));
rev32(v1, T16B, v1);
rev32(v2, T16B, v2);
rev32(v3, T16B, v3);
rev32(v4, T16B, v4);
aesd(v0, v1);
aesimc(v0, v0);
aesd(v0, v2);
aesimc(v0, v0);
aesd(v0, v3);
aesimc(v0, v0);
aesd(v0, v4);
aesimc(v0, v0);
ld1(v1, v2, T16B, post(key, 32));
rev32(v1, T16B, v1);
rev32(v2, T16B, v2);
cmpw(keylen, 44);
br(Assembler::EQ, L_doLast);
aesd(v0, v1);
aesimc(v0, v0);
aesd(v0, v2);
aesimc(v0, v0);
ld1(v1, v2, T16B, post(key, 32));
rev32(v1, T16B, v1);
rev32(v2, T16B, v2);
cmpw(keylen, 52);
br(Assembler::EQ, L_doLast);
aesd(v0, v1);
aesimc(v0, v0);
aesd(v0, v2);
aesimc(v0, v0);
ld1(v1, v2, T16B, post(key, 32));
rev32(v1, T16B, v1);
rev32(v2, T16B, v2);
bind(L_doLast);
aesd(v0, v1);
aesimc(v0, v0);
aesd(v0, v2);
eor(v0, T16B, v0, v5);
st1(v0, T16B, to);
// Preserve the address of the start of the key
sub(key, key, keylen, LSL, exact_log2(sizeof (jint)));
}
// Load expanded key into v17..v31
void MacroAssembler::aesenc_loadkeys(Register key, Register keylen) {
Label L_loadkeys_44, L_loadkeys_52;
cmpw(keylen, 52);
br(Assembler::LO, L_loadkeys_44);
br(Assembler::EQ, L_loadkeys_52);
ld1(v17, v18, T16B, post(key, 32));
rev32(v17, T16B, v17);
rev32(v18, T16B, v18);
bind(L_loadkeys_52);
ld1(v19, v20, T16B, post(key, 32));
rev32(v19, T16B, v19);
rev32(v20, T16B, v20);
bind(L_loadkeys_44);
ld1(v21, v22, v23, v24, T16B, post(key, 64));
rev32(v21, T16B, v21);
rev32(v22, T16B, v22);
rev32(v23, T16B, v23);
rev32(v24, T16B, v24);
ld1(v25, v26, v27, v28, T16B, post(key, 64));
rev32(v25, T16B, v25);
rev32(v26, T16B, v26);
rev32(v27, T16B, v27);
rev32(v28, T16B, v28);
ld1(v29, v30, v31, T16B, post(key, 48));
rev32(v29, T16B, v29);
rev32(v30, T16B, v30);
rev32(v31, T16B, v31);
// Preserve the address of the start of the key
sub(key, key, keylen, LSL, exact_log2(sizeof (jint)));
}
// NeoverseTM N1Software Optimization Guide:
// Adjacent AESE/AESMC instruction pairs and adjacent AESD/AESIMC
// instruction pairs will exhibit the performance characteristics
// described in Section 4.6.
void MacroAssembler::aes_round(FloatRegister input, FloatRegister subkey) {
aese(input, subkey); aesmc(input, input);
}
// KernelGenerator
//
// The abstract base class of an unrolled function generator.
// Subclasses override generate(), length(), and next() to generate
// unrolled and interleaved functions.
//
// The core idea is that a subclass defines a method which generates
// the base case of a function and a method to generate a clone of it,
// shifted to a different set of registers. KernelGenerator will then
// generate several interleaved copies of the function, with each one
// using a different set of registers.
// The subclass must implement three methods: length(), which is the
// number of instruction bundles in the intrinsic, generate(int n)
// which emits the nth instruction bundle in the intrinsic, and next()
// which takes an instance of the generator and returns a version of it,
// shifted to a new set of registers.
class KernelGenerator: public MacroAssembler {
protected:
const int _unrolls;
public:
KernelGenerator(Assembler *as, int unrolls)
: MacroAssembler(as->code()), _unrolls(unrolls) { }
virtual void generate(int index) = 0;
virtual int length() = 0;
virtual KernelGenerator *next() = 0;
int unrolls() { return _unrolls; }
void unroll();
};
void KernelGenerator::unroll() {
ResourceMark rm;
KernelGenerator **generators
= NEW_RESOURCE_ARRAY(KernelGenerator *, unrolls());
generators[0] = this;
for (int i = 1; i < unrolls(); i++) {
generators[i] = generators[i-1]->next();
}
for (int j = 0; j < length(); j++) {
for (int i = 0; i < unrolls(); i++) {
generators[i]->generate(j);
}
}
}
// An unrolled and interleaved generator for AES encryption.
class AESKernelGenerator: public KernelGenerator {
Register _from, _to;
const Register _keylen;
FloatRegister _data;
const FloatRegister _subkeys;
bool _once;
Label _rounds_44, _rounds_52;
public:
AESKernelGenerator(Assembler *as, int unrolls,
Register from, Register to, Register keylen, FloatRegister data,
FloatRegister subkeys, bool once = true)
: KernelGenerator(as, unrolls),
_from(from), _to(to), _keylen(keylen), _data(data),
_subkeys(subkeys), _once(once) {
}
virtual void generate(int index) {
switch (index) {
case 0:
if (_from != noreg) {
ld1(_data, T16B, _from); // get 16 bytes of input
}
break;
case 1:
if (_once) {
cmpw(_keylen, 52);
br(Assembler::LO, _rounds_44);
br(Assembler::EQ, _rounds_52);
}
break;
case 2: aes_round(_data, _subkeys + 0); break;
case 3: aes_round(_data, _subkeys + 1); break;
case 4:
if (_once) bind(_rounds_52);
break;
case 5: aes_round(_data, _subkeys + 2); break;
case 6: aes_round(_data, _subkeys + 3); break;
case 7:
if (_once) bind(_rounds_44);
break;
case 8: aes_round(_data, _subkeys + 4); break;
case 9: aes_round(_data, _subkeys + 5); break;
case 10: aes_round(_data, _subkeys + 6); break;
case 11: aes_round(_data, _subkeys + 7); break;
case 12: aes_round(_data, _subkeys + 8); break;
case 13: aes_round(_data, _subkeys + 9); break;
case 14: aes_round(_data, _subkeys + 10); break;
case 15: aes_round(_data, _subkeys + 11); break;
case 16: aes_round(_data, _subkeys + 12); break;
case 17: aese(_data, _subkeys + 13); break;
case 18: eor(_data, T16B, _data, _subkeys + 14); break;
case 19:
if (_to != noreg) {
st1(_data, T16B, _to);
}
break;
default: ShouldNotReachHere();
}
}
virtual KernelGenerator *next() {
return new AESKernelGenerator(this, _unrolls,
_from, _to, _keylen,
_data + 1, _subkeys, /*once*/false);
}
virtual int length() { return 20; }
};
// Uses expanded key in v17..v31
// Returns encrypted values in inputs.
// If to != noreg, store value at to; likewise from
// Preserves key, keylen
// Increments from, to
// Input data in v0, v1, ...
// unrolls controls the number of times to unroll the generated function
void MacroAssembler::aesecb_encrypt(Register from, Register to, Register keylen,
FloatRegister data, int unrolls) {
AESKernelGenerator(this, unrolls, from, to, keylen, data, v17) .unroll();
}
// ghash_multiply and ghash_reduce are the non-unrolled versions of
// the GHASH function generators.
void MacroAssembler::ghash_multiply(FloatRegister result_lo, FloatRegister result_hi,
FloatRegister a, FloatRegister b, FloatRegister a1_xor_a0,
FloatRegister tmp1, FloatRegister tmp2, FloatRegister tmp3) {
// Karatsuba multiplication performs a 128*128 -> 256-bit
// multiplication in three 128-bit multiplications and a few
// additions.
//
// (C1:C0) = A1*B1, (D1:D0) = A0*B0, (E1:E0) = (A0+A1)(B0+B1)
// (A1:A0)(B1:B0) = C1:(C0+C1+D1+E1):(D1+C0+D0+E0):D0
//
// Inputs:
//
// A0 in a.d[0] (subkey)
// A1 in a.d[1]
// (A1+A0) in a1_xor_a0.d[0]
//
// B0 in b.d[0] (state)
// B1 in b.d[1]
ext(tmp1, T16B, b, b, 0x08);
pmull2(result_hi, T1Q, b, a, T2D); // A1*B1
eor(tmp1, T16B, tmp1, b); // (B1+B0)
pmull(result_lo, T1Q, b, a, T1D); // A0*B0
pmull(tmp2, T1Q, tmp1, a1_xor_a0, T1D); // (A1+A0)(B1+B0)
ext(tmp1, T16B, result_lo, result_hi, 0x08);
eor(tmp3, T16B, result_hi, result_lo); // A1*B1+A0*B0
eor(tmp2, T16B, tmp2, tmp1);
eor(tmp2, T16B, tmp2, tmp3);
// Register pair <result_hi:result_lo> holds the result of carry-less multiplication
ins(result_hi, D, tmp2, 0, 1);
ins(result_lo, D, tmp2, 1, 0);
}
void MacroAssembler::ghash_reduce(FloatRegister result, FloatRegister lo, FloatRegister hi,
FloatRegister p, FloatRegister vzr, FloatRegister t1) {
const FloatRegister t0 = result;
// The GCM field polynomial f is z^128 + p(z), where p =
// z^7+z^2+z+1.
//
// z^128 === -p(z) (mod (z^128 + p(z)))
//
// so, given that the product we're reducing is
// a == lo + hi * z^128
// substituting,
// === lo - hi * p(z) (mod (z^128 + p(z)))
//
// we reduce by multiplying hi by p(z) and subtracting the result
// from (i.e. XORing it with) lo. Because p has no nonzero high
// bits we can do this with two 64-bit multiplications, lo*p and
// hi*p.
pmull2(t0, T1Q, hi, p, T2D);
ext(t1, T16B, t0, vzr, 8);
eor(hi, T16B, hi, t1);
ext(t1, T16B, vzr, t0, 8);
eor(lo, T16B, lo, t1);
pmull(t0, T1Q, hi, p, T1D);
eor(result, T16B, lo, t0);
}
class GHASHMultiplyGenerator: public KernelGenerator {
FloatRegister _result_lo, _result_hi, _b,
_a, _vzr, _a1_xor_a0, _p,
_tmp1, _tmp2, _tmp3;
public:
GHASHMultiplyGenerator(Assembler *as, int unrolls,
FloatRegister result_lo, FloatRegister result_hi,
/* offsetted registers */
FloatRegister b,
/* non-offsetted (shared) registers */
FloatRegister a, FloatRegister a1_xor_a0, FloatRegister p, FloatRegister vzr,
/* offseted (temp) registers */
FloatRegister tmp1, FloatRegister tmp2, FloatRegister tmp3)
: KernelGenerator(as, unrolls),
_result_lo(result_lo), _result_hi(result_hi), _b(b),
_a(a), _vzr(vzr), _a1_xor_a0(a1_xor_a0), _p(p),
_tmp1(tmp1), _tmp2(tmp2), _tmp3(tmp3) { }
static const int register_stride = 7;
virtual void generate(int index) {
// Karatsuba multiplication performs a 128*128 -> 256-bit
// multiplication in three 128-bit multiplications and a few
// additions.
//
// (C1:C0) = A1*B1, (D1:D0) = A0*B0, (E1:E0) = (A0+A1)(B0+B1)
// (A1:A0)(B1:B0) = C1:(C0+C1+D1+E1):(D1+C0+D0+E0):D0
//
// Inputs:
//
// A0 in a.d[0] (subkey)
// A1 in a.d[1]
// (A1+A0) in a1_xor_a0.d[0]
//
// B0 in b.d[0] (state)
// B1 in b.d[1]
switch (index) {
case 0: ext(_tmp1, T16B, _b, _b, 0x08); break;
case 1: pmull2(_result_hi, T1Q, _b, _a, T2D); // A1*B1
break;
case 2: eor(_tmp1, T16B, _tmp1, _b); // (B1+B0)
break;
case 3: pmull(_result_lo, T1Q, _b, _a, T1D); // A0*B0
break;
case 4: pmull(_tmp2, T1Q, _tmp1, _a1_xor_a0, T1D); // (A1+A0)(B1+B0)
break;
case 5: ext(_tmp1, T16B, _result_lo, _result_hi, 0x08); break;
case 6: eor(_tmp3, T16B, _result_hi, _result_lo); // A1*B1+A0*B0
break;
case 7: eor(_tmp2, T16B, _tmp2, _tmp1); break;
case 8: eor(_tmp2, T16B, _tmp2, _tmp3); break;
// Register pair <_result_hi:_result_lo> holds the _result of carry-less multiplication
case 9: ins(_result_hi, D, _tmp2, 0, 1); break;
case 10: ins(_result_lo, D, _tmp2, 1, 0); break;
default: ShouldNotReachHere();
}
}
virtual KernelGenerator *next() {
GHASHMultiplyGenerator *result
= new GHASHMultiplyGenerator(this, _unrolls, _result_lo, _result_hi,
_b, _a, _a1_xor_a0, _p, _vzr,
_tmp1, _tmp2, _tmp3);
result->_result_lo += register_stride;
result->_result_hi += register_stride;
result->_b += register_stride;
result->_tmp1 += register_stride;
result->_tmp2 += register_stride;
result->_tmp3 += register_stride;
return result;
}
virtual int length() { return 11; }
};
// Reduce the 128-bit product in hi:lo by the GCM field polynomial.
// The FloatRegister argument called data is optional: if it is a
// valid register, we interleave LD1 instructions with the
// reduction. This is to reduce latency next time around the loop.
class GHASHReduceGenerator: public KernelGenerator {
FloatRegister _result, _lo, _hi, _p, _vzr, _data, _t1;
int _once;
public:
GHASHReduceGenerator(Assembler *as, int unrolls,
/* offsetted registers */
FloatRegister result, FloatRegister lo, FloatRegister hi,
/* non-offsetted (shared) registers */
FloatRegister p, FloatRegister vzr, FloatRegister data,
/* offseted (temp) registers */
FloatRegister t1)
: KernelGenerator(as, unrolls),
_result(result), _lo(lo), _hi(hi),
_p(p), _vzr(vzr), _data(data), _t1(t1), _once(true) { }
static const int register_stride = 7;
virtual void generate(int index) {
const FloatRegister t0 = _result;
switch (index) {
// The GCM field polynomial f is z^128 + p(z), where p =
// z^7+z^2+z+1.
//
// z^128 === -p(z) (mod (z^128 + p(z)))
//
// so, given that the product we're reducing is
// a == lo + hi * z^128
// substituting,
// === lo - hi * p(z) (mod (z^128 + p(z)))
//
// we reduce by multiplying hi by p(z) and subtracting the _result
// from (i.e. XORing it with) lo. Because p has no nonzero high
// bits we can do this with two 64-bit multiplications, lo*p and
// hi*p.
case 0: pmull2(t0, T1Q, _hi, _p, T2D); break;
case 1: ext(_t1, T16B, t0, _vzr, 8); break;
case 2: eor(_hi, T16B, _hi, _t1); break;
case 3: ext(_t1, T16B, _vzr, t0, 8); break;
case 4: eor(_lo, T16B, _lo, _t1); break;
case 5: pmull(t0, T1Q, _hi, _p, T1D); break;
case 6: eor(_result, T16B, _lo, t0); break;
default: ShouldNotReachHere();
}
// Sprinkle load instructions into the generated instructions
if (_data->is_valid() && _once) {
assert(length() >= unrolls(), "not enough room for inteleaved loads");
if (index < unrolls()) {
ld1((_data + index*register_stride), T16B, post(r2, 0x10));
}
}
}
virtual KernelGenerator *next() {
GHASHReduceGenerator *result
= new GHASHReduceGenerator(this, _unrolls,
_result, _lo, _hi, _p, _vzr, _data, _t1);
result->_result += register_stride;
result->_hi += register_stride;
result->_lo += register_stride;
result->_t1 += register_stride;
result->_once = false;
return result;
}
int length() { return 7; }
};
// Perform a GHASH multiply/reduce on a single FloatRegister.
void MacroAssembler::ghash_modmul(FloatRegister result,
FloatRegister result_lo, FloatRegister result_hi, FloatRegister b,
FloatRegister a, FloatRegister vzr, FloatRegister a1_xor_a0, FloatRegister p,
FloatRegister t1, FloatRegister t2, FloatRegister t3) {
ghash_multiply(result_lo, result_hi, a, b, a1_xor_a0, t1, t2, t3);
ghash_reduce(result, result_lo, result_hi, p, vzr, t1);
}
// Interleaved GHASH processing.
//
// Clobbers all vector registers.
//
void MacroAssembler::ghash_processBlocks_wide(address field_polynomial, Register state,
Register subkeyH,
Register data, Register blocks, int unrolls) {
int register_stride = 7;
// Bafflingly, GCM uses little-endian for the byte order, but
// big-endian for the bit order. For example, the polynomial 1 is
// represented as the 16-byte string 80 00 00 00 | 12 bytes of 00.
//
// So, we must either reverse the bytes in each word and do
// everything big-endian or reverse the bits in each byte and do
// it little-endian. On AArch64 it's more idiomatic to reverse
// the bits in each byte (we have an instruction, RBIT, to do
// that) and keep the data in little-endian bit order throught the
// calculation, bit-reversing the inputs and outputs.
assert(unrolls * register_stride < 32, "out of registers");
FloatRegister a1_xor_a0 = v28;
FloatRegister Hprime = v29;
FloatRegister vzr = v30;
FloatRegister p = v31;
eor(vzr, T16B, vzr, vzr); // zero register
ldrq(p, field_polynomial); // The field polynomial
ldrq(v0, Address(state));
ldrq(Hprime, Address(subkeyH));
rev64(v0, T16B, v0); // Bit-reverse words in state and subkeyH
rbit(v0, T16B, v0);
rev64(Hprime, T16B, Hprime);
rbit(Hprime, T16B, Hprime);
// Powers of H -> Hprime
Label already_calculated, done;
{
// The first time around we'll have to calculate H**2, H**3, etc.
// Look at the largest power of H in the subkeyH array to see if
// it's already been calculated.
ldp(rscratch1, rscratch2, Address(subkeyH, 16 * (unrolls - 1)));
orr(rscratch1, rscratch1, rscratch2);
cbnz(rscratch1, already_calculated);
orr(v6, T16B, Hprime, Hprime); // Start with H in v6 and Hprime
for (int i = 1; i < unrolls; i++) {
ext(a1_xor_a0, T16B, Hprime, Hprime, 0x08); // long-swap subkeyH into a1_xor_a0
eor(a1_xor_a0, T16B, a1_xor_a0, Hprime); // xor subkeyH into subkeyL (Karatsuba: (A1+A0))
ghash_modmul(/*result*/v6, /*result_lo*/v5, /*result_hi*/v4, /*b*/v6,
Hprime, vzr, a1_xor_a0, p,
/*temps*/v1, v3, v2);
rev64(v1, T16B, v6);
rbit(v1, T16B, v1);
strq(v1, Address(subkeyH, 16 * i));
}
b(done);
}
{
bind(already_calculated);
// Load the largest power of H we need into v6.
ldrq(v6, Address(subkeyH, 16 * (unrolls - 1)));
rev64(v6, T16B, v6);
rbit(v6, T16B, v6);
}
bind(done);
orr(Hprime, T16B, v6, v6); // Move H ** unrolls into Hprime
// Hprime contains (H ** 1, H ** 2, ... H ** unrolls)
// v0 contains the initial state. Clear the others.
for (int i = 1; i < unrolls; i++) {
int ofs = register_stride * i;
eor(ofs+v0, T16B, ofs+v0, ofs+v0); // zero each state register
}
ext(a1_xor_a0, T16B, Hprime, Hprime, 0x08); // long-swap subkeyH into a1_xor_a0
eor(a1_xor_a0, T16B, a1_xor_a0, Hprime); // xor subkeyH into subkeyL (Karatsuba: (A1+A0))
// Load #unrolls blocks of data
for (int ofs = 0; ofs < unrolls * register_stride; ofs += register_stride) {
ld1(v2+ofs, T16B, post(data, 0x10));
}
// Register assignments, replicated across 4 clones, v0 ... v23
//
// v0: input / output: current state, result of multiply/reduce
// v1: temp
// v2: input: one block of data (the ciphertext)
// also used as a temp once the data has been consumed
// v3: temp
// v4: output: high part of product
// v5: output: low part ...
// v6: unused
//
// Not replicated:
//
// v28: High part of H xor low part of H'
// v29: H' (hash subkey)
// v30: zero
// v31: Reduction polynomial of the Galois field
// Inner loop.
// Do the whole load/add/multiply/reduce over all our data except
// the last few rows.
{
Label L_ghash_loop;
bind(L_ghash_loop);
// Prefetching doesn't help here. In fact, on Neoverse N1 it's worse.
// prfm(Address(data, 128), PLDL1KEEP);
// Xor data into current state
for (int ofs = 0; ofs < unrolls * register_stride; ofs += register_stride) {
rbit((v2+ofs), T16B, (v2+ofs));
eor((v2+ofs), T16B, v0+ofs, (v2+ofs)); // bit-swapped data ^ bit-swapped state
}
// Generate fully-unrolled multiply-reduce in two stages.
(new GHASHMultiplyGenerator(this, unrolls,
/*result_lo*/v5, /*result_hi*/v4, /*data*/v2,
Hprime, a1_xor_a0, p, vzr,
/*temps*/v1, v3, /* reuse b*/v2))->unroll();
// NB: GHASHReduceGenerator also loads the next #unrolls blocks of
// data into v0, v0+ofs, the current state.
(new GHASHReduceGenerator (this, unrolls,
/*result*/v0, /*lo*/v5, /*hi*/v4, p, vzr,
/*data*/v2, /*temp*/v3))->unroll();
sub(blocks, blocks, unrolls);
cmp(blocks, (unsigned char)(unrolls * 2));
br(GE, L_ghash_loop);
}
// Merge the #unrolls states. Note that the data for the next
// iteration has already been loaded into v4, v4+ofs, etc...
// First, we multiply/reduce each clone by the appropriate power of H.
for (int i = 0; i < unrolls; i++) {
int ofs = register_stride * i;
ldrq(Hprime, Address(subkeyH, 16 * (unrolls - i - 1)));
rbit(v2+ofs, T16B, v2+ofs);
eor(v2+ofs, T16B, ofs+v0, v2+ofs); // bit-swapped data ^ bit-swapped state
rev64(Hprime, T16B, Hprime);
rbit(Hprime, T16B, Hprime);
ext(a1_xor_a0, T16B, Hprime, Hprime, 0x08); // long-swap subkeyH into a1_xor_a0
eor(a1_xor_a0, T16B, a1_xor_a0, Hprime); // xor subkeyH into subkeyL (Karatsuba: (A1+A0))
ghash_modmul(/*result*/v0+ofs, /*result_lo*/v5+ofs, /*result_hi*/v4+ofs, /*b*/v2+ofs,
Hprime, vzr, a1_xor_a0, p,
/*temps*/v1+ofs, v3+ofs, /* reuse b*/v2+ofs);
}
// Then we sum the results.
for (int i = 0; i < unrolls - 1; i++) {
int ofs = register_stride * i;
eor(v0, T16B, v0, v0 + register_stride + ofs);
}
sub(blocks, blocks, (unsigned char)unrolls);
// And finally bit-reverse the state back to big endian.
rev64(v0, T16B, v0);
rbit(v0, T16B, v0);
st1(v0, T16B, state);
}

View File

@@ -155,4 +155,7 @@
return true;
}
// Implements a variant of EncodeISOArrayNode that encode ASCII only
static const bool supports_encode_ascii_array = false;
#endif // CPU_AARCH64_MATCHER_AARCH64_HPP

View File

@@ -22,8 +22,8 @@
*
*/
#ifndef CPU_AARCH64_PAUTH_AARCH64_INLINE_HPP
#define CPU_AARCH64_PAUTH_AARCH64_INLINE_HPP
#ifndef CPU_AARCH64_PAUTH_AARCH64_HPP
#define CPU_AARCH64_PAUTH_AARCH64_HPP
#include OS_CPU_HEADER_INLINE(pauth)
@@ -32,4 +32,4 @@ inline bool pauth_ptr_is_raw(address ptr) {
return ptr == pauth_strip_pointer(ptr);
}
#endif // CPU_AARCH64_PAUTH_AARCH64_INLINE_HPP
#endif // CPU_AARCH64_PAUTH_AARCH64_HPP

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 2021, Amazon.com Inc. or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_SPIN_WAIT_AARCH64_HPP
#define CPU_AARCH64_SPIN_WAIT_AARCH64_HPP
class SpinWait {
public:
enum Inst {
NONE = -1,
NOP,
ISB,
YIELD
};
private:
Inst _inst;
int _count;
public:
SpinWait(Inst inst = NONE, int count = 0) : _inst(inst), _count(count) {}
Inst inst() const { return _inst; }
int inst_count() const { return _count; }
};
#endif // CPU_AARCH64_SPIN_WAIT_AARCH64_HPP

View File

@@ -2964,6 +2964,453 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
// CTR AES crypt.
// Arguments:
//
// Inputs:
// c_rarg0 - source byte array address
// c_rarg1 - destination byte array address
// c_rarg2 - K (key) in little endian int array
// c_rarg3 - counter vector byte array address
// c_rarg4 - input length
// c_rarg5 - saved encryptedCounter start
// c_rarg6 - saved used length
//
// Output:
// r0 - input length
//
address generate_counterMode_AESCrypt() {
const Register in = c_rarg0;
const Register out = c_rarg1;
const Register key = c_rarg2;
const Register counter = c_rarg3;
const Register saved_len = c_rarg4, len = r10;
const Register saved_encrypted_ctr = c_rarg5;
const Register used_ptr = c_rarg6, used = r12;
const Register offset = r7;
const Register keylen = r11;
const unsigned char block_size = 16;
const int bulk_width = 4;
// NB: bulk_width can be 4 or 8. 8 gives slightly faster
// performance with larger data sizes, but it also means that the
// fast path isn't used until you have at least 8 blocks, and up
// to 127 bytes of data will be executed on the slow path. For
// that reason, and also so as not to blow away too much icache, 4
// blocks seems like a sensible compromise.
// Algorithm:
//
// if (len == 0) {
// goto DONE;
// }
// int result = len;
// do {
// if (used >= blockSize) {
// if (len >= bulk_width * blockSize) {
// CTR_large_block();
// if (len == 0)
// goto DONE;
// }
// for (;;) {
// 16ByteVector v0 = counter;
// embeddedCipher.encryptBlock(v0, 0, encryptedCounter, 0);
// used = 0;
// if (len < blockSize)
// break; /* goto NEXT */
// 16ByteVector v1 = load16Bytes(in, offset);
// v1 = v1 ^ encryptedCounter;
// store16Bytes(out, offset);
// used = blockSize;
// offset += blockSize;
// len -= blockSize;
// if (len == 0)
// goto DONE;
// }
// }
// NEXT:
// out[outOff++] = (byte)(in[inOff++] ^ encryptedCounter[used++]);
// len--;
// } while (len != 0);
// DONE:
// return result;
//
// CTR_large_block()
// Wide bulk encryption of whole blocks.
__ align(CodeEntryAlignment);
StubCodeMark mark(this, "StubRoutines", "counterMode_AESCrypt");
const address start = __ pc();
__ enter();
Label DONE, CTR_large_block, large_block_return;
__ ldrw(used, Address(used_ptr));
__ cbzw(saved_len, DONE);
__ mov(len, saved_len);
__ mov(offset, 0);
// Compute #rounds for AES based on the length of the key array
__ ldrw(keylen, Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)));
__ aesenc_loadkeys(key, keylen);
{
Label L_CTR_loop, NEXT;
__ bind(L_CTR_loop);
__ cmp(used, block_size);
__ br(__ LO, NEXT);
// Maybe we have a lot of data
__ subsw(rscratch1, len, bulk_width * block_size);
__ br(__ HS, CTR_large_block);
__ BIND(large_block_return);
__ cbzw(len, DONE);
// Setup the counter
__ movi(v4, __ T4S, 0);
__ movi(v5, __ T4S, 1);
__ ins(v4, __ S, v5, 3, 3); // v4 contains { 0, 0, 0, 1 }
__ ld1(v0, __ T16B, counter); // Load the counter into v0
__ rev32(v16, __ T16B, v0);
__ addv(v16, __ T4S, v16, v4);
__ rev32(v16, __ T16B, v16);
__ st1(v16, __ T16B, counter); // Save the incremented counter back
{
// We have fewer than bulk_width blocks of data left. Encrypt
// them one by one until there is less than a full block
// remaining, being careful to save both the encrypted counter
// and the counter.
Label inner_loop;
__ bind(inner_loop);
// Counter to encrypt is in v0
__ aesecb_encrypt(noreg, noreg, keylen);
__ st1(v0, __ T16B, saved_encrypted_ctr);
// Do we have a remaining full block?
__ mov(used, 0);
__ cmp(len, block_size);
__ br(__ LO, NEXT);
// Yes, we have a full block
__ ldrq(v1, Address(in, offset));
__ eor(v1, __ T16B, v1, v0);
__ strq(v1, Address(out, offset));
__ mov(used, block_size);
__ add(offset, offset, block_size);
__ subw(len, len, block_size);
__ cbzw(len, DONE);
// Increment the counter, store it back
__ orr(v0, __ T16B, v16, v16);
__ rev32(v16, __ T16B, v16);
__ addv(v16, __ T4S, v16, v4);
__ rev32(v16, __ T16B, v16);
__ st1(v16, __ T16B, counter); // Save the incremented counter back
__ b(inner_loop);
}
__ BIND(NEXT);
// Encrypt a single byte, and loop.
// We expect this to be a rare event.
__ ldrb(rscratch1, Address(in, offset));
__ ldrb(rscratch2, Address(saved_encrypted_ctr, used));
__ eor(rscratch1, rscratch1, rscratch2);
__ strb(rscratch1, Address(out, offset));
__ add(offset, offset, 1);
__ add(used, used, 1);
__ subw(len, len,1);
__ cbnzw(len, L_CTR_loop);
}
__ bind(DONE);
__ strw(used, Address(used_ptr));
__ mov(r0, saved_len);
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(lr);
// Bulk encryption
__ BIND (CTR_large_block);
assert(bulk_width == 4 || bulk_width == 8, "must be");
if (bulk_width == 8) {
__ sub(sp, sp, 4 * 16);
__ st1(v12, v13, v14, v15, __ T16B, Address(sp));
}
__ sub(sp, sp, 4 * 16);
__ st1(v8, v9, v10, v11, __ T16B, Address(sp));
RegSet saved_regs = (RegSet::of(in, out, offset)
+ RegSet::of(saved_encrypted_ctr, used_ptr, len));
__ push(saved_regs, sp);
__ andr(len, len, -16 * bulk_width); // 8/4 encryptions, 16 bytes per encryption
__ add(in, in, offset);
__ add(out, out, offset);
// Keys should already be loaded into the correct registers
__ ld1(v0, __ T16B, counter); // v0 contains the first counter
__ rev32(v16, __ T16B, v0); // v16 contains byte-reversed counter
// AES/CTR loop
{
Label L_CTR_loop;
__ BIND(L_CTR_loop);
// Setup the counters
__ movi(v8, __ T4S, 0);
__ movi(v9, __ T4S, 1);
__ ins(v8, __ S, v9, 3, 3); // v8 contains { 0, 0, 0, 1 }
for (FloatRegister f = v0; f < v0 + bulk_width; f++) {
__ rev32(f, __ T16B, v16);
__ addv(v16, __ T4S, v16, v8);
}
__ ld1(v8, v9, v10, v11, __ T16B, __ post(in, 4 * 16));
// Encrypt the counters
__ aesecb_encrypt(noreg, noreg, keylen, v0, bulk_width);
if (bulk_width == 8) {
__ ld1(v12, v13, v14, v15, __ T16B, __ post(in, 4 * 16));
}
// XOR the encrypted counters with the inputs
for (int i = 0; i < bulk_width; i++) {
__ eor(v0 + i, __ T16B, v0 + i, v8 + i);
}
// Write the encrypted data
__ st1(v0, v1, v2, v3, __ T16B, __ post(out, 4 * 16));
if (bulk_width == 8) {
__ st1(v4, v5, v6, v7, __ T16B, __ post(out, 4 * 16));
}
__ subw(len, len, 16 * bulk_width);
__ cbnzw(len, L_CTR_loop);
}
// Save the counter back where it goes
__ rev32(v16, __ T16B, v16);
__ st1(v16, __ T16B, counter);
__ pop(saved_regs, sp);
__ ld1(v8, v9, v10, v11, __ T16B, __ post(sp, 4 * 16));
if (bulk_width == 8) {
__ ld1(v12, v13, v14, v15, __ T16B, __ post(sp, 4 * 16));
}
__ andr(rscratch1, len, -16 * bulk_width);
__ sub(len, len, rscratch1);
__ add(offset, offset, rscratch1);
__ mov(used, 16);
__ strw(used, Address(used_ptr));
__ b(large_block_return);
return start;
}
// Arguments:
//
// Inputs:
// c_rarg0 - byte[] source+offset
// c_rarg1 - int[] SHA.state
// c_rarg2 - int offset
// c_rarg3 - int limit
//
address generate_md5_implCompress(bool multi_block, const char *name) {
__ align(CodeEntryAlignment);
StubCodeMark mark(this, "StubRoutines", name);
address start = __ pc();
Register buf = c_rarg0;
Register state = c_rarg1;
Register ofs = c_rarg2;
Register limit = c_rarg3;
Register a = r4;
Register b = r5;
Register c = r6;
Register d = r7;
Register rscratch3 = r10;
Register rscratch4 = r11;
Label keys;
Label md5_loop;
__ BIND(md5_loop);
// Save hash values for addition after rounds
__ ldrw(a, Address(state, 0));
__ ldrw(b, Address(state, 4));
__ ldrw(c, Address(state, 8));
__ ldrw(d, Address(state, 12));
#define FF(r1, r2, r3, r4, k, s, t) \
__ eorw(rscratch3, r3, r4); \
__ movw(rscratch2, t); \
__ andw(rscratch3, rscratch3, r2); \
__ addw(rscratch4, r1, rscratch2); \
__ ldrw(rscratch1, Address(buf, k*4)); \
__ eorw(rscratch3, rscratch3, r4); \
__ addw(rscratch3, rscratch3, rscratch1); \
__ addw(rscratch3, rscratch3, rscratch4); \
__ rorw(rscratch2, rscratch3, 32 - s); \
__ addw(r1, rscratch2, r2);
#define GG(r1, r2, r3, r4, k, s, t) \
__ eorw(rscratch2, r2, r3); \
__ ldrw(rscratch1, Address(buf, k*4)); \
__ andw(rscratch3, rscratch2, r4); \
__ movw(rscratch2, t); \
__ eorw(rscratch3, rscratch3, r3); \
__ addw(rscratch4, r1, rscratch2); \
__ addw(rscratch3, rscratch3, rscratch1); \
__ addw(rscratch3, rscratch3, rscratch4); \
__ rorw(rscratch2, rscratch3, 32 - s); \
__ addw(r1, rscratch2, r2);
#define HH(r1, r2, r3, r4, k, s, t) \
__ eorw(rscratch3, r3, r4); \
__ movw(rscratch2, t); \
__ addw(rscratch4, r1, rscratch2); \
__ ldrw(rscratch1, Address(buf, k*4)); \
__ eorw(rscratch3, rscratch3, r2); \
__ addw(rscratch3, rscratch3, rscratch1); \
__ addw(rscratch3, rscratch3, rscratch4); \
__ rorw(rscratch2, rscratch3, 32 - s); \
__ addw(r1, rscratch2, r2);
#define II(r1, r2, r3, r4, k, s, t) \
__ movw(rscratch3, t); \
__ ornw(rscratch2, r2, r4); \
__ addw(rscratch4, r1, rscratch3); \
__ ldrw(rscratch1, Address(buf, k*4)); \
__ eorw(rscratch3, rscratch2, r3); \
__ addw(rscratch3, rscratch3, rscratch1); \
__ addw(rscratch3, rscratch3, rscratch4); \
__ rorw(rscratch2, rscratch3, 32 - s); \
__ addw(r1, rscratch2, r2);
// Round 1
FF(a, b, c, d, 0, 7, 0xd76aa478)
FF(d, a, b, c, 1, 12, 0xe8c7b756)
FF(c, d, a, b, 2, 17, 0x242070db)
FF(b, c, d, a, 3, 22, 0xc1bdceee)
FF(a, b, c, d, 4, 7, 0xf57c0faf)
FF(d, a, b, c, 5, 12, 0x4787c62a)
FF(c, d, a, b, 6, 17, 0xa8304613)
FF(b, c, d, a, 7, 22, 0xfd469501)
FF(a, b, c, d, 8, 7, 0x698098d8)
FF(d, a, b, c, 9, 12, 0x8b44f7af)
FF(c, d, a, b, 10, 17, 0xffff5bb1)
FF(b, c, d, a, 11, 22, 0x895cd7be)
FF(a, b, c, d, 12, 7, 0x6b901122)
FF(d, a, b, c, 13, 12, 0xfd987193)
FF(c, d, a, b, 14, 17, 0xa679438e)
FF(b, c, d, a, 15, 22, 0x49b40821)
// Round 2
GG(a, b, c, d, 1, 5, 0xf61e2562)
GG(d, a, b, c, 6, 9, 0xc040b340)
GG(c, d, a, b, 11, 14, 0x265e5a51)
GG(b, c, d, a, 0, 20, 0xe9b6c7aa)
GG(a, b, c, d, 5, 5, 0xd62f105d)
GG(d, a, b, c, 10, 9, 0x02441453)
GG(c, d, a, b, 15, 14, 0xd8a1e681)
GG(b, c, d, a, 4, 20, 0xe7d3fbc8)
GG(a, b, c, d, 9, 5, 0x21e1cde6)
GG(d, a, b, c, 14, 9, 0xc33707d6)
GG(c, d, a, b, 3, 14, 0xf4d50d87)
GG(b, c, d, a, 8, 20, 0x455a14ed)
GG(a, b, c, d, 13, 5, 0xa9e3e905)
GG(d, a, b, c, 2, 9, 0xfcefa3f8)
GG(c, d, a, b, 7, 14, 0x676f02d9)
GG(b, c, d, a, 12, 20, 0x8d2a4c8a)
// Round 3
HH(a, b, c, d, 5, 4, 0xfffa3942)
HH(d, a, b, c, 8, 11, 0x8771f681)
HH(c, d, a, b, 11, 16, 0x6d9d6122)
HH(b, c, d, a, 14, 23, 0xfde5380c)
HH(a, b, c, d, 1, 4, 0xa4beea44)
HH(d, a, b, c, 4, 11, 0x4bdecfa9)
HH(c, d, a, b, 7, 16, 0xf6bb4b60)
HH(b, c, d, a, 10, 23, 0xbebfbc70)
HH(a, b, c, d, 13, 4, 0x289b7ec6)
HH(d, a, b, c, 0, 11, 0xeaa127fa)
HH(c, d, a, b, 3, 16, 0xd4ef3085)
HH(b, c, d, a, 6, 23, 0x04881d05)
HH(a, b, c, d, 9, 4, 0xd9d4d039)
HH(d, a, b, c, 12, 11, 0xe6db99e5)
HH(c, d, a, b, 15, 16, 0x1fa27cf8)
HH(b, c, d, a, 2, 23, 0xc4ac5665)
// Round 4
II(a, b, c, d, 0, 6, 0xf4292244)
II(d, a, b, c, 7, 10, 0x432aff97)
II(c, d, a, b, 14, 15, 0xab9423a7)
II(b, c, d, a, 5, 21, 0xfc93a039)
II(a, b, c, d, 12, 6, 0x655b59c3)
II(d, a, b, c, 3, 10, 0x8f0ccc92)
II(c, d, a, b, 10, 15, 0xffeff47d)
II(b, c, d, a, 1, 21, 0x85845dd1)
II(a, b, c, d, 8, 6, 0x6fa87e4f)
II(d, a, b, c, 15, 10, 0xfe2ce6e0)
II(c, d, a, b, 6, 15, 0xa3014314)
II(b, c, d, a, 13, 21, 0x4e0811a1)
II(a, b, c, d, 4, 6, 0xf7537e82)
II(d, a, b, c, 11, 10, 0xbd3af235)
II(c, d, a, b, 2, 15, 0x2ad7d2bb)
II(b, c, d, a, 9, 21, 0xeb86d391)
#undef FF
#undef GG
#undef HH
#undef II
// write hash values back in the correct order
__ ldrw(rscratch1, Address(state, 0));
__ addw(rscratch1, rscratch1, a);
__ strw(rscratch1, Address(state, 0));
__ ldrw(rscratch2, Address(state, 4));
__ addw(rscratch2, rscratch2, b);
__ strw(rscratch2, Address(state, 4));
__ ldrw(rscratch3, Address(state, 8));
__ addw(rscratch3, rscratch3, c);
__ strw(rscratch3, Address(state, 8));
__ ldrw(rscratch4, Address(state, 12));
__ addw(rscratch4, rscratch4, d);
__ strw(rscratch4, Address(state, 12));
if (multi_block) {
__ add(buf, buf, 64);
__ add(ofs, ofs, 64);
__ cmp(ofs, limit);
__ br(Assembler::LE, md5_loop);
__ mov(c_rarg0, ofs); // return ofs
}
__ ret(lr);
return start;
}
// Arguments:
//
// Inputs:
@@ -5874,6 +6321,67 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
address generate_ghash_processBlocks_wide() {
address small = generate_ghash_processBlocks();
StubCodeMark mark(this, "StubRoutines", "ghash_processBlocks_wide");
__ align(wordSize * 2);
address p = __ pc();
__ emit_int64(0x87); // The low-order bits of the field
// polynomial (i.e. p = z^7+z^2+z+1)
// repeated in the low and high parts of a
// 128-bit vector
__ emit_int64(0x87);
__ align(CodeEntryAlignment);
address start = __ pc();
Register state = c_rarg0;
Register subkeyH = c_rarg1;
Register data = c_rarg2;
Register blocks = c_rarg3;
const int unroll = 4;
__ cmp(blocks, (unsigned char)(unroll * 2));
__ br(__ LT, small);
if (unroll > 1) {
// Save state before entering routine
__ sub(sp, sp, 4 * 16);
__ st1(v12, v13, v14, v15, __ T16B, Address(sp));
__ sub(sp, sp, 4 * 16);
__ st1(v8, v9, v10, v11, __ T16B, Address(sp));
}
__ ghash_processBlocks_wide(p, state, subkeyH, data, blocks, unroll);
if (unroll > 1) {
// And restore state
__ ld1(v8, v9, v10, v11, __ T16B, __ post(sp, 4 * 16));
__ ld1(v12, v13, v14, v15, __ T16B, __ post(sp, 4 * 16));
}
__ cmp(blocks, zr);
__ br(__ GT, small);
__ ret(lr);
return start;
}
// Support for spin waits.
address generate_spin_wait() {
__ align(CodeEntryAlignment);
StubCodeMark mark(this, "StubRoutines", "spin_wait");
address start = __ pc();
__ spin_wait();
__ ret(lr);
return start;
}
#ifdef LINUX
// ARMv8.1 LSE versions of the atomic stubs used by Atomic::PlatformXX.
@@ -5954,6 +6462,10 @@ class StubGenerator: public StubCodeGenerator {
acquire = false;
release = false;
break;
case memory_order_release:
acquire = false;
release = true;
break;
default:
acquire = true;
release = true;
@@ -6035,6 +6547,20 @@ class StubGenerator: public StubCodeGenerator {
(_masm, &aarch64_atomic_cmpxchg_8_relaxed_impl);
gen_cas_entry(MacroAssembler::xword, memory_order_relaxed);
AtomicStubMark mark_cmpxchg_4_release
(_masm, &aarch64_atomic_cmpxchg_4_release_impl);
gen_cas_entry(MacroAssembler::word, memory_order_release);
AtomicStubMark mark_cmpxchg_8_release
(_masm, &aarch64_atomic_cmpxchg_8_release_impl);
gen_cas_entry(MacroAssembler::xword, memory_order_release);
AtomicStubMark mark_cmpxchg_4_seq_cst
(_masm, &aarch64_atomic_cmpxchg_4_seq_cst_impl);
gen_cas_entry(MacroAssembler::word, memory_order_seq_cst);
AtomicStubMark mark_cmpxchg_8_seq_cst
(_masm, &aarch64_atomic_cmpxchg_8_seq_cst_impl);
gen_cas_entry(MacroAssembler::xword, memory_order_seq_cst);
ICache::invalidate_range(first_entry, __ pc() - first_entry);
}
#endif // LINUX
@@ -7111,7 +7637,11 @@ class StubGenerator: public StubCodeGenerator {
// generate GHASH intrinsics code
if (UseGHASHIntrinsics) {
StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
if (UseAESCTRIntrinsics) {
StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks_wide();
} else {
StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
}
}
if (UseBASE64Intrinsics) {
@@ -7130,6 +7660,14 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt();
}
if (UseAESCTRIntrinsics) {
StubRoutines::_counterMode_AESCrypt = generate_counterMode_AESCrypt();
}
if (UseMD5Intrinsics) {
StubRoutines::_md5_implCompress = generate_md5_implCompress(false, "md5_implCompress");
StubRoutines::_md5_implCompressMB = generate_md5_implCompress(true, "md5_implCompressMB");
}
if (UseSHA1Intrinsics) {
StubRoutines::_sha1_implCompress = generate_sha1_implCompress(false, "sha1_implCompress");
StubRoutines::_sha1_implCompressMB = generate_sha1_implCompress(true, "sha1_implCompressMB");
@@ -7152,6 +7690,8 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::_updateBytesAdler32 = generate_updateBytesAdler32();
}
StubRoutines::aarch64::_spin_wait = generate_spin_wait();
#ifdef LINUX
generate_atomic_entry_points();
@@ -7201,6 +7741,10 @@ DEFAULT_ATOMIC_OP(cmpxchg, 8, )
DEFAULT_ATOMIC_OP(cmpxchg, 1, _relaxed)
DEFAULT_ATOMIC_OP(cmpxchg, 4, _relaxed)
DEFAULT_ATOMIC_OP(cmpxchg, 8, _relaxed)
DEFAULT_ATOMIC_OP(cmpxchg, 4, _release)
DEFAULT_ATOMIC_OP(cmpxchg, 8, _release)
DEFAULT_ATOMIC_OP(cmpxchg, 4, _seq_cst)
DEFAULT_ATOMIC_OP(cmpxchg, 8, _seq_cst)
#undef DEFAULT_ATOMIC_OP

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