Compare commits

...

418 Commits

Author SHA1 Message Date
Vitaly Provodin
dea9484eac JBR-4875 jb/javax/swing/JComboBox/ComboBoxTransparentTittleBarTest.java checks dragging JFrame with Combobox 2023-03-13 04:38:20 +07:00
Vitaly Provodin
d728494f82 update exclude list on results of 17.0.6_b882.1 test runs 2023-03-12 07:29:27 +07:00
Vitaly Provodin
de919cc050 update exclude list on results of 17.0.6_b878.1 test runs 2023-03-11 04:04:46 +07:00
Alexander Lobas
420aa78847 Merge pull request #221 from alexander-lobas/jbr17
JBR-5384 New UI: window header is hard to resize on the top edge, top…
2023-03-10 00:12:51 +03:00
Alexander Lobas
bb5aaad31f JBR-5384 New UI: window header is hard to resize on the top edge, top/right corner 2023-03-10 00:11:32 +03:00
Alexey Ushakov
e06fc3ca97 JBR-4883 macOS: SIGSEGV at MTLVertexCache_FlushGlyphVertexCache
Use separate glyph cache for each MTLContext instance. Refactored MTLGlyphCache
2023-03-09 18:03:43 +01:00
Dmitry Batrak
1cd36c4c48 JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5341 'Show usages' navigates to another project's window

Now, the custom NSEvent isn't linked to a particular AWTEvent, the latter is retrieved from EventQueue at dispatching time,
so the event priorities are taken into account.
2023-03-03 21:44:58 +02:00
Vitaly Provodin
b66a03cdb9 update exclude list on results of 17.0.6_b866.1 test runs 2023-03-03 18:57:12 +07:00
Sergey Shelomentsev
e33aaf4114 JBR-5350 Separate test for Mac OS 2023-03-02 09:12:59 +02:00
Sergey Shelomentsev
560c3a0274 JBR-5346 run MaximizedCustomDecorationsTest on windows/mac only 2023-02-28 16:18:28 +02:00
Sergey Shelomentsev
ae1f9d3c4d JBR-5350 fix FrameNativeControlTest checks on MacOS 2023-02-28 16:06:34 +02:00
Sergey Shelomentsev
6c36e6ac98 JBR-5344 fix incorrectly specified VM options 2023-02-28 16:02:16 +02:00
Vitaly Provodin
6ba1b438cc update exclude list on results of 17.0.6_b855.1 test runs 2023-02-24 20:01:20 +07:00
Dmitry Batrak
563b2cca0e JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5292 Heavyweight components are not painted sometimes after adding to hierarchy in main.thread.as.edt=true mode

alternative solution, which doesn't cause deadlocks
2023-02-24 09:50:00 +02:00
Dmitry Batrak
b46c99c9ca Merge remote-tracking branch 'origin/jbr17' into jbr17 2023-02-22 16:08:36 +02:00
Dmitry Batrak
333b56ebf5 JBR-4993 Support using 'main' thread as EDT on macOS
avoid deadlock when java.awt.Robot is used on multiple threads simultaneously
2023-02-22 16:08:25 +02:00
Dmitry Batrak
b339932323 JBR-4993 Support using 'main' thread as EDT on macOS
further fixes for JBR-5236 Deadlock when UI is initialized from a background thread in main.thread.as.edt=true mode
2023-02-22 16:07:08 +02:00
Alexey Ushakov
20e2651c58 JBR-5321 Menu sometimes rendered as empty frame with Dsun.java2d.metal.displaySync=true
(cherry picked from commit 2935bdec77ef07e90a97ea34fa2d6aeabffcf424)
2023-02-22 13:38:23 +01:00
Sergey Shelomentsev
b99211af7b JBR-5313 fix broken custom decoration tests on Windows 2023-02-21 16:42:56 +02:00
Sergey Shelomentsev
3ed5412a11 JBR-5253 Use new JBR API for custom decorations 2023-02-21 12:00:38 +02:00
Dmitry Batrak
3518340a13 JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5245 JOptionPane.showInternal...Dialog methods don't work in main.thread.as.edt=true mode
2023-02-20 13:03:24 +02:00
Dmitry Batrak
8ffe20fe4d JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5242 SecondaryLoopTest.java test fails in main.thread.as.edt=true mode
2023-02-20 11:23:21 +02:00
Vitaly Provodin
b2a144adeb JBR-5300 move jbr-api.jar into test artefact 2023-02-18 08:12:35 +07:00
Vitaly Provodin
6911b6b03e update exclude list on results of 17.0.6_b837.3 test runs 2023-02-18 08:09:21 +07:00
Dmitry Batrak
331813009d JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5236 Deadlock when UI is initialized from a background thread in main.thread.as.edt=true mode
2023-02-17 13:03:04 +02:00
Dmitry Batrak
d9549b011c JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5307 Window content is blinking when showing on Retina screen in main.thread.as.edt=true mode
2023-02-17 10:39:35 +02:00
Dmitry Batrak
3cc128d1a8 JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5292 Heavyweight components are not painted sometimes after adding to hierarchy in main.thread.as.edt=true mode
2023-02-16 21:01:07 +02:00
Sergey Shelomentsev
59c93d8775 fixup! JBR-5300 Change source code and test files to use GPL license 2023-02-16 17:51:54 +02:00
Dmitry Batrak
43ebbe3cd1 JBR-5300 Change source code and test files to use GPL license
fix copyright profile in generated IDE project
2023-02-16 11:55:15 +02:00
Dmitry Batrak
6c898a14b5 JBR-5300 Change source code and test files to use GPL license
fix for the different comment format
2023-02-15 23:15:46 +02:00
Sergey Shelomentsev
411cda99c3 set version for building jbr-api 2023-02-15 21:27:24 +02:00
Lance Andersen
e1d756d6f7 JBR-5302: 8263940: NPE when creating default file system when default file system provider is packaged as JAR file on class path
Reviewed-by: naoto, bpb, iris, joehw
(cherry picked from commit 717792c3b7)
2023-02-15 18:08:56 +07:00
Sergey Shelomentsev
25cf9ac4ce git rid of build jbr api scripts 2023-02-15 11:37:58 +02:00
Dmitry Batrak
eeafae198b JBR-5300 Change source code and test files to use GPL license 2023-02-15 09:35:39 +02:00
Vitaly Provodin
801302de36 clean up exclude lists 2023-02-15 07:47:08 +07:00
Vitaly Provodin
9194a7c685 update exclude list on results of 17.0.6_b829.1 test runs 2023-02-15 07:11:27 +07:00
Nikita Gubarkov
791934a178 JBR-5284 Use ChildWindowFromPointEx instead of RealChildWindowFromPoint in ScreenToBottommostChild 2023-02-14 16:11:19 +02:00
Alexander Lobas
62aec8f216 Merge pull request #217 from alexander-lobas/jbr17
JBR-5256 IDEA window resizes to zero height when exit full-screen mod…
2023-02-14 16:15:27 +03:00
Alexander Lobas
1890f6ba9c JBR-5256 IDEA window resizes to zero height when exit full-screen mode with new window controls enabled 2023-02-14 16:14:07 +03:00
Sergey Shelomentsev
cb0dc40bf6 JBR-5194 add regression tests for custom decorations support 2023-02-14 13:51:41 +02:00
Sergey Shelomentsev
5076d06f6e build jbr-api as a part of bundle build 2023-02-14 11:36:42 +02:00
Vitaly Provodin
365ec06712 Update README.md 2023-02-14 11:52:02 +07:00
Artem Semenov
c9d5e563d4 JBR-5289 If the label has the role of a hyperlink, VO still pronounces it as plain text (#215) 2023-02-14 00:08:17 +04:00
Dmitry Batrak
a1d06b1d77 JBR-4993 Support using 'main' thread as EDT on macOS
fix menu bar logic (java/awt/MenuBar/TestNoScreenMenuBar.java test)
2023-02-13 14:05:55 +02:00
Vitaly Provodin
44ac7af0e3 update exclude list on results of 17.0.6_b802.4 test runs 2023-02-11 08:42:28 +07:00
Alexey Ushakov
bf60bac237 JBR-5279 restore saving jbr native symbols bin/server/jvm.pdb 2023-02-11 08:41:11 +07:00
Dmitry Batrak
7d70a51103 JBR-4993 Support using 'main' thread as EDT on macOS
fix AWT shutdown
in particular, this fixes java/awt/Graphics2D/DrawString/DisposerTest.java test
2023-02-10 23:36:54 +02:00
Nikita Gubarkov
fda68f7190 fixup! JBR-5124 Rewrite custom decorations support 2023-02-10 21:50:30 +02:00
Nikita Gubarkov
041fd94b99 JBR-5186 Make MouseInfo.getPointerInfo more robust
Do not search for the containing monitor in MouseInfo.getPointerInfo, this must be handled by peers (yes, this goes against the spec of MouseInfoPeer.fillPointWithCoords).
2023-02-10 18:19:57 +02:00
Nikita Gubarkov
6a27b700fc JBR-5268 Fix coordinates conversion in XMouseInfoPeer.fillPointWithCoords 2023-02-10 18:19:56 +02:00
Dmitry Batrak
378fe10d0d JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5218 Deadlock on GraphicsEnvironment initialization

a case when GraphicsEnvironment is initialized both on main thread and on a side thread simultaneously
2023-02-10 14:26:50 +02:00
Dmitry Batrak
669c8de4ef JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5249 Uncaught exceptions from dispatch thread aren't printed to console in main.thread.as.edt=true mode
2023-02-09 16:18:01 +02:00
Vitaly Provodin
dc97f0f168 Update README.md 2023-02-09 19:39:49 +07:00
Vitaly Provodin
3044925f72 Update README.md 2023-02-09 19:39:28 +07:00
Nikita Tsarev
29675e5a00 JBR-5254: Fix Caps Lock not working properly on certain Chinese IMs 2023-02-09 13:25:41 +01:00
Nikita Tsarev
4fd13199de Revert "8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout"
This reverts commit 5049cad2b0.

After JBR-5173 this workaround is no longer necessary
2023-02-09 13:25:37 +01:00
Dmitry Batrak
7f1f1a6719 JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5229 test/jdk/jb/java/awt/Window/FullScreenTwoFrames.java test fails in main.thread.as.edt=true mode
2023-02-09 13:22:48 +02:00
Artem Semenov
74d361c545 JBR-5269 Announcement priorities not set correctly (#214) 2023-02-08 23:58:38 +04:00
Nikita Gubarkov
34f37b3963 JBR-5266 Do not override performKeyEquivalent in AWTWindowDragView 2023-02-08 12:33:04 +02:00
Nikita Tsarev
0dfd7dacc7 JBR-5233 Setup/teardown necessary keyboard layouts in macOS keyboard tests 2023-02-07 11:02:35 +01:00
Vitaly Provodin
8959b5995a Update README.md 2023-02-07 14:01:01 +07:00
Artem Semenov
f3019b15eb JBR-5248 exception in accessible announcing 2023-02-06 18:58:56 +04:00
Nikita Gubarkov
a3c8aacff7 fixup! JBR-5124 Rewrite custom decorations support
Use ::delete for GDI+ bitmaps to match ::new
2023-02-04 22:54:11 +02:00
Alexey Ushakov
048516911b JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Use one display link thread per MTLContext. Adjust refresh rate with current display.

(cherry picked from commit e87a6c58fc855ba01a101d0cc6d48721a08d2e42)
2023-02-04 01:51:27 +01:00
Nikita Gubarkov
886ac4412b fixup! JBR-5124 Rewrite custom decorations support 2023-02-03 14:47:54 +02:00
Vitaly Provodin
013159573e JBR-5210 exclude tests affecting test runs stability 2023-02-03 19:45:30 +07:00
Vitaly Provodin
a2636cc3e1 update exclude list on results of 17.0.6_b785.1 test runs 2023-02-03 09:58:34 +07:00
Vitaly Provodin
370fa4907e JBR-5217 enable NVDA support in Windows builds
(cherry picked from commit 337dc089416e0942b22e3f33ebfb89131aafb52f)
(cherry picked from commit dc32d8cefd7a690aa4995cb6384d53d65fec0777)
2023-02-03 09:57:49 +07:00
Nikita Gubarkov
a8a5398a73 JBR-5124 Rewrite custom decorations support
JBR API v1.6.0
Added new WindowDecorations API, deprecated old CustomWindowDecoration.

JBR-4641 JBR-4630 Fix client area calculation with custom decorations on Windows.

- Window insets are rounded up, which causes visible & unusable border in fullscreen on some scales, round down instead.

- Clipping in Swing components sometimes cuts what it shouldn't, fixed.
2023-02-02 23:52:57 +02:00
Dmitry Batrak
dd5fe27a4a JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5235 Dynamic resizing of windows in main.thread.as.edt=true mode isn't supported
2023-02-02 21:05:05 +02:00
Dmitry Batrak
f97259db92 JBR-4993 Support using 'main' thread as EDT on macOS
wrap context classloader setting in a privileged block to avoid exceptions in jtreg tests using SecurityManager
2023-02-02 21:03:18 +02:00
Nikita Gubarkov
85e9f79872 JBR-5238 do not reshape maximized window in AwtWindow::CheckWindowDPIChange() 2023-02-01 16:14:17 +02:00
Nikita Tsarev
0f3c31a3b9 JBR-5173 macOS keyboard support rewrite 2023-01-31 18:12:35 +01:00
Alisen Chung
8f2878e594 8262945: [macos] Regression Manual Test for Key Events Fails
Reviewed-by: prr, kizune
2023-01-31 18:12:09 +01:00
Nikita Tsarev
deec4ef7de Revert "macOS national keyboard support"
This reverts commit 21bffd06bc.
2023-01-31 18:12:07 +01:00
Nikita Tsarev
8b1d01fc70 JBR-4990: Undo changes to ExtendedKeyCodes 2023-01-31 18:11:05 +01:00
Nikita Tsarev
967aa09e11 JBR-3860: Fix shortcut behavior when Shift is the only modifier 2023-01-31 18:10:56 +01:00
Nikita Tsarev
65913a221f JBR-4990: Fix regression tests for national keyboard layouts on macOS 2023-01-31 17:11:18 +01:00
Vitaly Provodin
48c002a284 Update README.md 2023-01-31 05:28:45 +07:00
AMPivovarov
2a296bbc78 JBR-5213  JBR API v1.5.0 - fix API hash (#211) 2023-01-30 15:38:05 +02:00
AMPivovarov
9870d8ef4d JBR-5213 JBR API v1.5.0 - add GraphicsUtils (#210)
* relax type constraints in BltBufferStrategy.getDrawGraphics
2023-01-30 14:46:22 +02:00
Artem Semenov
bff19286c7 JBR-5221 Add announcing to JBRAPI 2023-01-30 14:49:07 +03:00
Artem Semenov
775356f3fd JBR-5221 Add announcing to JBRAPI 2023-01-30 13:51:14 +03:00
Dmitry Batrak
f73822cee7 JBR-5227 Screen capturing with java.awt.Robot produces wrong colors if runtime is built using Xcode 14.2 2023-01-30 10:31:26 +02:00
Dmitry Batrak
0dfa31707f JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5224 test/jdk/jb/java/awt/Window/MacNativeTransparentTitleBarWithCustomHeight.java test crashes in main.thread.as.edt=true mode
2023-01-28 12:23:06 +02:00
Vitaly Provodin
1498b9334e update exclude list on results of 17.0.6_b779.1 test runs 2023-01-27 20:55:02 +07:00
Dmitry Batrak
11a42eac3b JBR-4993 Support using 'main' thread as EDT on macOS
fix JBR-5218 Deadlock on GraphicsEnvironment initialization
2023-01-26 23:10:45 +02:00
Artem Semenov
b12b7a782d JBR-4170 Implement API for announcing 2023-01-25 21:25:57 +03:00
Nikita Gubarkov
bf073b92b8 IDEA-141456 Multimonitor HIDPI support for Linux
Fixed conflict with JBR-3388
2023-01-23 17:49:44 +02:00
Alexey Ushakov
3581ea9642 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Present layer content using a Core Animation transaction

JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen

Present layer content using a Core Animation transaction
2023-01-23 10:34:07 +01:00
Alexey Ushakov
819527e89c JBR-5193 Do not use extra commandQueue in metal pipeline
Removed extra command queue
2023-01-23 10:34:05 +01:00
Alexander Lobas
ba490e3929 Merge pull request #207 from alexander-lobas/jbr17
JBR-5197 Window control buttons are not visible in full-screen mode in dark themes when IDE window is focused
2023-01-20 22:15:39 +03:00
Alexander Lobas
2106e41512 JBR-5197 Window control buttons are not visible in full-screen mode in dark themes when IDE window is focused 2023-01-20 22:13:47 +03:00
Alexander Lobas
0132135649 JBR-5197 Window control buttons are not visible in full-screen mode in dark themes when IDE window is focused 2023-01-20 22:12:07 +03:00
Christoph Langer
98d182d08d 8299392: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.6
Reviewed-by: goetz
2023-01-20 18:46:58 +07:00
Goetz Lindenmaier
24b94bdc74 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java

Reviewed-by: clanger
Backport-of: 3b374c0153
2023-01-20 18:46:58 +07:00
Goetz Lindenmaier
e4364b9750 8296239: ISO 4217 Amendment 174 Update
Backport-of: fd83764981
2023-01-20 18:46:57 +07:00
Alexei Voitylov
41ca4a9b39 8289350: Better media supports
Reviewed-by: mbalao
2023-01-20 18:46:55 +07:00
Martin Balao
a9c8185af1 8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
Reviewed-by: mbaesken
Backport-of: e94ca7d3fc9b5946d5b808f98e334529054c4f39
2023-01-20 18:46:54 +07:00
Martin Balao
08ba4ac23c 8293554: Enhanced DH Key Exchanges
Reviewed-by: mbaesken
Backport-of: ca126c9025ad975d9086d5f967d35a76425c13ca
2023-01-20 18:46:53 +07:00
Aleksei Voitylov
c3df79ecd5 8295687: Better BMP bounds
Reviewed-by: mbaesken, mbalao
Backport-of: 4df2fd2d1ca8ed73de6ac8b2f6a51ff93e3dac6d
2023-01-20 18:46:51 +07:00
Aleksei Voitylov
03546676f3 8293742: Better Banking of Sounds
Reviewed-by: mbaesken, mbalao
Backport-of: f1de79f38fcff10ccaf232f79df0a94e84751ff7
2023-01-20 18:46:50 +07:00
Rui Li
6d241a1ee0 8293734: Improve BMP image handling
Reviewed-by: mbaesken, mbalao
Backport-of: 40959ac32b81c333f04628be227107762b78a7da
2023-01-20 18:46:48 +07:00
Yuri Nesterenko
155a0a011c 8293717: Objective view of ObjectView
Reviewed-by: mbaesken, mbalao
Backport-of: fb692840530fa07174f9ad5c9f77d593e503a155
2023-01-20 18:46:47 +07:00
Yuri Nesterenko
3a80cb8cfe 8293598: Enhance InetAddress address handling
Reviewed-by: mbalao
Backport-of: a2668f58ccc3b7c7d74e2903128b08d97aac5798
2023-01-20 18:46:46 +07:00
Yuri Nesterenko
a586f7ae99 8288516: Enhance font creation
Reviewed-by: mbaesken, mbalao
Backport-of: 4c7b057380d7656c8c275b526d1918de6a625cc4
2023-01-20 18:46:45 +07:00
Alexey Bakhtin
918bbb11ad 8287411: Enhance DTLS performance
Reviewed-by: mbalao
Backport-of: 911c24564444096c0c98f6dc308220d48b42d6d3
2023-01-20 18:46:44 +07:00
Martin Balao
8e8ea4e8ec 8286496: Improve Thread labels
Reviewed-by: mbaesken, avoitylov
Backport-of: e733e55de88e63e129f15edefc602c050339b38a
2023-01-20 18:46:42 +07:00
Martin Balao
f0507dd31e 8286070: Improve UTF8 representation
Reviewed-by: mbaesken
Backport-of: 3c40771d02b34027b53c8f3097e124ac9eddd030
2023-01-20 18:46:41 +07:00
Goetz Lindenmaier
1d8db24840 8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking
Reviewed-by: adinn
Backport-of: 99c3ab0177
2023-01-20 18:46:41 +07:00
Severin Gehwolf
f8edc202b3 8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR
Reviewed-by: clanger
Backport-of: a0f6f2409e
2023-01-20 18:46:39 +07:00
Andrew John Hughes
da42ba9e06 8297804: (tz) Update Timezone Data to 2022g
Reviewed-by: clanger
Backport-of: ce896731d3
2023-01-20 18:46:37 +07:00
Paul Hohensee
f093e9c907 8293965: Code signing warnings after JDK-8293550
Backport-of: f91762f56e
2023-01-20 18:46:36 +07:00
Paul Hohensee
eb7fa10648 8294310: compare.sh fails on macos after JDK-8293550
Backport-of: b9eeec2b6b
2023-01-20 18:46:35 +07:00
Ben Taylor
d3f80d3afb 8293550: Optionally add get-task-allow entitlement to macos binaries
Backport-of: f42caefe2e
2023-01-20 18:46:33 +07:00
Andrew Haley
9ff7278659 8297656: AArch64: Enable AES/GCM Intrinsics
Reviewed-by: adinn
2023-01-20 18:46:32 +07:00
Aleksey Shipilev
8fd954b02c 8297309: Memory leak in ShenandoahFullGC
Backport-of: b80f5af698
2023-01-20 18:46:31 +07:00
Victor Rudometov
9ad36a6f74 8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation
Backport-of: 87d1097d9b
2023-01-20 18:46:28 +07:00
Victor Rudometov
d9862d3dfd 8297481: Create a regression test for JDK-4424517
Backport-of: e2d71c0a0d
2023-01-20 18:46:28 +07:00
Matthias Baesken
5fa3bbc4ff 8296715: CLDR v42 update for tzdata 2022f
Reviewed-by: mdoerr
Backport-of: 55dd90222e2cef11ebca39a2998d8f799aadbb9a
2023-01-20 18:46:27 +07:00
Sergey Bylokhov
ccc919223b 8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
Backport-of: fb6c992f32
2023-01-20 18:46:25 +07:00
Sergey Bylokhov
0bf00422d0 8296496: Overzealous check in sizecalc.h prevents large memory allocation
Backport-of: 84e12244a4
2023-01-20 18:46:24 +07:00
Ben Taylor
d03e82eb75 8285093: Introduce UTIL_ARG_WITH
Backport-of: 94afb366b2
2023-01-20 18:46:23 +07:00
Ben Taylor
72e380d38e 8273497: building.md should link to both md and html
Backport-of: 5bfd043e16
2023-01-20 18:46:22 +07:00
Severin Gehwolf
b564b141ad 8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run
Backport-of: 08e6a820bc
2023-01-20 18:46:20 +07:00
Leslie Zhai
c969bad52c 8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx
Backport-of: dfb9c06633
2023-01-20 18:46:19 +07:00
Severin Gehwolf
2a95be6b43 8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod
Reviewed-by: adinn
Backport-of: 37848a9ca2
2023-01-20 18:46:18 +07:00
Severin Gehwolf
98644b2a65 8296958: [JVMCI] add API for retrieving ConstantValue attributes
Reviewed-by: adinn
Backport-of: 4ce4f384d7
2023-01-20 18:46:16 +07:00
Severin Gehwolf
0255a8c8d4 8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value
Reviewed-by: adinn
Backport-of: 95c390ec75
2023-01-20 18:46:15 +07:00
Matthias Baesken
774716490b 8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests
Backport-of: d5d34241e2
2023-01-20 18:46:14 +07:00
Zdenek Zambersky
65aed3da9e 8295952: Problemlist existing compiler/rtm tests also on x86
Backport-of: 3f2f128af6
2023-01-20 18:46:13 +07:00
Aleksey Shipilev
57795ecde8 8270086: ARM32-softfp: Do not load CONSTANT_double using the condy helper methods in the interpreter
Backport-of: a066c7bed0
2023-01-20 18:46:11 +07:00
Severin Gehwolf
c8cf075cb3 8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool
Backport-of: b3ef337566
2023-01-20 18:46:10 +07:00
Severin Gehwolf
e225c02b82 8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField
Backport-of: 5db1b58c86
2023-01-20 18:46:09 +07:00
Matthias Baesken
11c5d43c69 8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
Backport-of: 88957a7ce8
2023-01-20 18:46:07 +07:00
Victor Rudometov
61f3af72f2 8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again

Backport-of: 3c0949824e
2023-01-20 18:46:06 +07:00
Christoph Langer
022ee6b0fa 8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
Reviewed-by: phh
Backport-of: ced88a2fd9
2023-01-20 18:46:06 +07:00
Aleksey Shipilev
f846c423a5 8270155: ARM32: Improve register dump in hs_err
Backport-of: 589a1d53df
2023-01-20 18:46:04 +07:00
Zdenek Zambersky
36d49c4c91 8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation
Backport-of: 2057070eb0
2023-01-20 18:46:03 +07:00
Roman Marchenko
4f87564627 8282511: Use fixed certificate validation date in SSLExampleCert template
Backport-of: 268fa69318
2023-01-20 18:46:01 +07:00
Roman Marchenko
bb6c938633 8282398: EndingDotHostname.java test fails because SSL cert expired
Backport-of: afd4bcbc1d
2023-01-20 18:45:59 +07:00
Roman Marchenko
543ad7dd7c 8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled
Backport-of: a95ee5ada2
2023-01-20 18:45:58 +07:00
Matthias Baesken
b24e01e140 8296945: PublicMethodsTest is slow due to dependency verification with debug builds
Backport-of: bcc6b12b71
2023-01-20 18:45:57 +07:00
Zdenek Zambersky
931ea246e6 8289301: P11Cipher should not throw out of bounds exception during padding
Backport-of: 3e60e82814
2023-01-20 18:45:56 +07:00
Victor Rudometov
2d9f81291b 8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
Backport-of: 65f7de2523
2023-01-20 18:45:56 +07:00
Aleksey Shipilev
f1c536525a 8274903: Zero: Support AsyncGetCallTrace
Backport-of: 92aa75b721
2023-01-20 18:45:54 +07:00
Aleksey Shipilev
2c9e122bd3 8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long
Backport-of: 718eff2bb6
2023-01-20 18:45:53 +07:00
Aleksey Shipilev
5427951622 8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah
Backport-of: f9b2507f3e
2023-01-20 18:45:53 +07:00
Aleksey Shipilev
7fca7751b2 8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines
Backport-of: 590eb86033
2023-01-20 18:45:53 +07:00
Aleksey Shipilev
6e69147d23 8266519: Cleanup resolve() leftovers from BarrierSet et al
Backport-of: 7eccbd4fde
2023-01-20 18:45:52 +07:00
Aleksey Shipilev
c346e83bf9 8283999: Update JMH devkit to 1.35
Backport-of: a3223cb683
2023-01-20 18:45:52 +07:00
Victor Rudometov
9c985dab45 8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
Backport-of: c71d87e54c
2023-01-20 18:45:51 +07:00
Victor Rudometov
0e446541f6 8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
Backport-of: c56c69ed3e
2023-01-20 18:45:51 +07:00
Victor Rudometov
5ff6ccfd71 8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
Backport-of: 43ce047f9f
2023-01-20 18:45:51 +07:00
Victor Rudometov
1aa5cdc10c 8296632: Write a test to verify the content change of TextArea sends TextEvent
Backport-of: 59a308b9d0
2023-01-20 18:45:50 +07:00
Aleksey Shipilev
a3b84bda36 8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out
Backport-of: ff0cb98965
2023-01-20 18:45:50 +07:00
Aleksey Shipilev
839d9e164f 8273880: Zero: Print warnings when unsupported intrinsics are enabled
Backport-of: 54b456764b
2023-01-20 18:45:50 +07:00
Aleksey Shipilev
29dac34044 8278826: Print error if Shenandoah flags are empty (instead of crashing)
Backport-of: 247ea71d24
2023-01-20 18:45:49 +07:00
Aleksey Shipilev
eed1dd3ff8 8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size
Backport-of: 37ff7f3b66
2023-01-20 18:45:49 +07:00
Aleksey Shipilev
c3b64b48a7 8280391: NMT: Correct NMT tag on CollectedHeap
Backport-of: 44db4794d2
2023-01-20 18:45:49 +07:00
Aleksey Shipilev
250063c6cc 8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier()
Backport-of: 011958d30b
2023-01-20 18:45:47 +07:00
Victor Rudometov
b6e4f2dd75 8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
Reviewed-by: goetz
Backport-of: dd9aa7272d
2023-01-20 18:45:47 +07:00
Matthias Baesken
ac3ddd1d84 8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false"
Backport-of: 5d1ad39684
2023-01-20 18:45:46 +07:00
Andrew John Hughes
9963e5e1a1 8293834: Update CLDR data following tzdata 2022c update
Reviewed-by: phh
Backport-of: e10231248fc100f9dfa08468ac897f60b843857f
2023-01-20 18:45:46 +07:00
Dmitry Chuyko
b73332a217 8284533: Improve InterpreterCodelet data footprint
Reviewed-by: phh
Backport-of: 61698bd137
2023-01-20 18:45:46 +07:00
Matthias Baesken
93d9ebcf56 8295419: JFR: Change name of jdk.JitRestart
Reviewed-by: lucy, mdoerr
Backport-of: ecfb6bce5a
2023-01-20 18:45:45 +07:00
Matthias Baesken
e997785923 8289524: Add JFR JIT restart event
Backport-of: dfbc6919e1
2023-01-20 18:45:45 +07:00
Goetz Lindenmaier
1ee7498755 8029633: Raw inner class constructor ref should not perform diamond inference
Backport-of: 6707bfbc15
2023-01-20 18:45:45 +07:00
Goetz Lindenmaier
acff9e97e2 8294307: ISO 4217 Amendment 173 Update
Backport-of: 4b60ed4d08d6e4cfb26bde2533b6f06b8bf3fa25
2023-01-20 18:45:44 +07:00
Johannes Bechberger
265507c9fa 8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
Reviewed-by: mdoerr
Backport-of: d4474b5816
2023-01-20 18:45:44 +07:00
Martin Doerr
92e5a559c5 8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
Backport-of: 59a13b1856
2023-01-20 18:45:44 +07:00
Goetz Lindenmaier
9719944d90 8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
Backport-of: b6ea69c06a
2023-01-20 18:45:43 +07:00
Goetz Lindenmaier
4c048965b4 8296108: (tz) Update Timezone Data to 2022f
Backport-of: 7379b6b205528464ec79459ddc6fb5f6cab556df
2023-01-20 18:45:42 +07:00
Goetz Lindenmaier
0acdc83e01 8286872: Refactor add/modify notification icon (TrayIcon)
Backport-of: 9f562ef754
2023-01-20 18:45:42 +07:00
Goetz Lindenmaier
6511ca719e 8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
Backport-of: f399ae558e
2023-01-20 18:45:41 +07:00
Goetz Lindenmaier
0883e8b369 8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java
Backport-of: 296f8537f7
2023-01-20 18:45:40 +07:00
Goetz Lindenmaier
d3a8b20b7c 8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java
Backport-of: d57fb6f684
2023-01-20 18:45:40 +07:00
Scott Gibbons
11a7493c34 8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276
8272809: JFR thread sampler SI_KERNEL SEGV in metaspace::VirtualSpaceList::contains

Backport-of: 9a1bbaf8db
2023-01-20 18:45:39 +07:00
Sandhya Viswanathan
677fa0f42f 8274527: Minimal VM build fails after JDK-8273459
Backport-of: a8edd1b360
2023-01-20 18:45:38 +07:00
Sandhya Viswanathan
86474c987d 8273459: Update code segment alignment to 64 bytes
Backport-of: 53b25bce87
2023-01-20 18:45:37 +07:00
Sandhya Viswanathan
6b8282c0c1 8269404: Base64 Encoding optimization enhancements for x86 using AVX-512
Backport-of: 9cac94d581
2023-01-20 18:45:36 +07:00
Scott Gibbons
7a31d2b46b 8268276: Base64 Decoding optimization for x86 using AVX-512
Co-authored-by: Derek White <drwhite@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Backport-of: c37988d079
2023-01-20 18:45:35 +07:00
Magnus Ihse Bursie
bb413cfa9d 8295714: GHA ::set-output is deprecated and will be removed
Backport-of: b35922be6d
2023-01-20 18:45:34 +07:00
Victor Rudometov
cd86d48558 8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
Backport-of: 520db1eeb1
2023-01-20 18:45:33 +07:00
Christoph Langer
5081959e3a 8288132: Update test artifacts in QuoVadis CA interop tests
Backport-of: 3ee1e60595
2023-01-20 18:45:32 +07:00
Goetz Lindenmaier
a1bf1ec45c 8286172: Create an automated test for JDK-4516019
Backport-of: e72742eeb5
2023-01-20 18:45:31 +07:00
Goetz Lindenmaier
5a9e3a0a99 8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction
Backport-of: 2a2e9190d4
2023-01-20 18:45:31 +07:00
Aleksey Shipilev
19e85a4845 8283199: Linux os::cpu_microcode_revision() stalls cold startup
Reviewed-by: stuefe
Backport-of: 1443f6b919
2023-01-20 18:45:31 +07:00
Aleksey Shipilev
47f84981be 8281744: x86: Use short jumps in TIG::set_vtos_entry_points
Backport-of: 18704653dc
2023-01-20 18:45:30 +07:00
Aleksey Shipilev
2ab8aab2cd 8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
Backport-of: cddd6def9f
2023-01-20 18:45:30 +07:00
Aleksey Shipilev
c4a4018d26 8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag
Backport-of: 08f0be8388
2023-01-20 18:45:30 +07:00
Christoph Langer
2abce206ea 8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
Backport-of: d1252653b0
2023-01-20 18:45:29 +07:00
Goetz Lindenmaier
a5491386c4 8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false
Backport-of: 5e1e449c11
2023-01-20 18:45:29 +07:00
Sergey Bylokhov
d333ac0597 8295554: Move the "sizecalc.h" to the correct location
Backport-of: 6673cd8577
2023-01-20 18:45:29 +07:00
Goetz Lindenmaier
82dcda446d 8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library 8283337: Posix signal handler modification warning triggering incorrectly
Reviewed-by: manc, mdoerr
Backport-of: 45ff10cc68
2023-01-20 18:45:28 +07:00
Goetz Lindenmaier
9138745987 8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation
Backport-of: a5e4def526
2023-01-20 18:45:28 +07:00
Rui Li
ac985d44c0 8287740: NSAccessibilityShowMenuAction not working for text editors
Backport-of: b6cdfd685d
2023-01-20 18:45:28 +07:00
Rui Li
ae1de2dab8 8275569: Add linux-aarch64 to test-make profiles
Backport-of: af14650127
2023-01-20 18:45:27 +07:00
Zdenek Zambersky
4694158608 8282600: SSLSocketImpl should not use user_canceled workaround when not necessary
Backport-of: 7e88ff8a82
2023-01-20 18:45:26 +07:00
Matthias Baesken
cd97f77105 8287011: Improve container information
Reviewed-by: lucy, mdoerr
Backport-of: d51f4f471f
2023-01-20 18:45:26 +07:00
Victor Rudometov
ecc4bb6dff 8244670: convert clhsdb "whatis" command from javascript to java
Backport-of: 00c0d10870
2023-01-20 18:45:25 +07:00
Joshua Cao
ba61d4cfe3 8295288: Some vm_flags tests associate with a wrong BugID
Backport-of: 3dbc38a2c9
2023-01-20 18:45:24 +07:00
Victor Rudometov
63e3f9d57f 8280948: Write a regression test for JDK-4659800
Backport-of: 66b2c3b66e
2023-01-20 18:45:24 +07:00
Andrew Dinn
580112750b 8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4
Backport-of: c5e0464098
2023-01-20 18:45:23 +07:00
Andrew Dinn
1eb3cf25e9 8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
Backport-of: 6a266c4de1
2023-01-20 18:45:21 +07:00
Andrew Dinn
56886f8e9b 8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java
Backport-of: 3e18773016
2023-01-20 18:45:21 +07:00
Roland Westrelin
3f7456426d 8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
Backport-of: bf39b184ca
2023-01-20 18:45:20 +07:00
Andrew Dinn
a1d50335b9 8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath
Backport-of: a6564d495b
2023-01-20 18:45:20 +07:00
Andrew Dinn
01bdc184f2 8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
Backport-of: 0ae8341057
2023-01-20 18:45:20 +07:00
Andrew Dinn
f4220cfca5 8256811: Delayed/missed jdwp class unloading events
Reviewed-by: andrew
Backport-of: 54854d9300
2023-01-20 18:45:19 +07:00
Ichiroh Takiguchi
fb662c5608 8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
Reviewed-by: andrew
Backport-of: 3464019d7e
2023-01-20 18:45:19 +07:00
Victor Rudometov
3cca881c85 8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64
Reviewed-by: phh
Backport-of: 0ac2be9b35
2023-01-20 18:45:18 +07:00
Thomas Stuefe
a677d7d46a 8267138: Stray suffix when starting gtests via GTestWrapper.java
Backport-of: b565459f83
2023-01-20 18:45:18 +07:00
Matthias Baesken
3f3bc693be 8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
Backport-of: ad2e0c4df0
2023-01-20 18:45:18 +07:00
Matthias Baesken
05f8f1052f 8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Reviewed-by: mdoerr
Backport-of: bca7ab3c11
2023-01-20 18:45:17 +07:00
Matthias Baesken
af57e81123 8294837: unify Windows 2019 version check in os_windows and java_props_md
Backport-of: 7012d4ba55
2023-01-20 18:45:17 +07:00
Matthias Baesken
346c1576bd 8294840: langtools OptionalDependencyTest.java use File.pathSeparator
Backport-of: f531dae4a0
2023-01-20 18:45:17 +07:00
Christoph Langer
62bb0b3b70 8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
Backport-of: 9d99a377bf
2023-01-20 18:45:16 +07:00
Thomas Stuefe
2c2b019680 8269571: NMT should print total malloc bytes and invocation count
Backport-of: 3ad20fcdfa
2023-01-20 18:45:14 +07:00
Matthias Baesken
c3bfaf3ba3 8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
Backport-of: 953ce8da2c
2023-01-20 18:45:14 +07:00
Goetz Lindenmaier
2bbb559d51 8295429: Update harfbuzz md file
Backport-of: 21aeb9e794
2023-01-20 18:45:13 +07:00
Goetz Lindenmaier
ebb5793591 8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
Reviewed-by: phh
Backport-of: f6d78cda85
2023-01-20 18:45:13 +07:00
Goetz Lindenmaier
752e174614 8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum
Backport-of: d77c464c38
2023-01-20 18:45:13 +07:00
Goetz Lindenmaier
2e0c50bdc8 8293489: Accept CAs with BasicConstraints without pathLenConstraint
Backport-of: 986b834148
2023-01-20 18:45:12 +07:00
Goetz Lindenmaier
6dab7f43f4 8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
Backport-of: 7891085a87
2023-01-20 18:45:12 +07:00
Matthias Baesken
62e5a6fe37 8293659: Improve UnsatisfiedLinkError error message to include dlopen error details
Reviewed-by: mchung
Backport-of: da4fdfbbf4
2023-01-20 18:45:12 +07:00
Sergey Bylokhov
8ce32ca98e 8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
Backport-of: ebfa27b9f0
2023-01-20 18:45:11 +07:00
Rui Li
9759d3de95 8286313: [macos] Voice over reads the boolean value as null in the JTable
Backport-of: 8353a33350
2023-01-20 18:45:11 +07:00
bell-sw
8ce25cb6ad Revert "JBR-4633 [macos] Voice over reads the boolean value as null in the JTable"
This reverts commit 4d69e3ac47.
2023-01-20 18:45:11 +07:00
Aleksey Shipilev
63b9e7761f 8295469: S390X: Optimized builds are broken
Backport-of: 7b2e83b395
2023-01-20 18:45:10 +07:00
Martin Doerr
c91ff14797 8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
Backport-of: f03934e270
2023-01-20 18:45:10 +07:00
Dmitry Chuyko
806e4a4de7 8283298: Make CodeCacheSegmentSize a product flag
Reviewed-by: phh
Backport-of: 026b85303c
2023-01-20 18:45:10 +07:00
Goetz Lindenmaier
b645c959c2 8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
2023-01-20 18:45:08 +07:00
Andrew John Hughes
bd64e8fd45 8295173: (tz) Update Timezone Data to 2022e
Backport-of: 21407dec01
2023-01-20 18:45:08 +07:00
Goetz Lindenmaier
a3260f8a05 8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947
Backport-of: e17118aa8a
2023-01-20 18:45:07 +07:00
Goetz Lindenmaier
52da4d2ed8 8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline"
Backport-of: 0948c097a8
2023-01-20 18:45:07 +07:00
Goetz Lindenmaier
3720034060 8280234: AArch64 "core" variant does not build after JDK-8270947
Backport-of: 28e02fa2cb
2023-01-20 18:45:06 +07:00
Goetz Lindenmaier
cdf3c8b04b 8271956: AArch64: C1 build failed after JDK-8270947
Backport-of: b84a9c7b37
2023-01-20 18:45:06 +07:00
Goetz Lindenmaier
6110d85c54 8270947: AArch64: C1: use zero_words to initialize all objects
Backport-of: 6c68ce2d39
2023-01-20 18:45:06 +07:00
Goetz Lindenmaier
083048f558 8289562: Change bugs.java.com and bugreport.java.com URL's to https
Reviewed-by: mbaesken
Backport-of: 1f484dae4e
2023-01-20 18:45:05 +07:00
Goetz Lindenmaier
6e0657a8fb 8292682: Code change of JDK-8282730 not updated to reflect CSR update
Backport-of: 74d3330e10
2023-01-20 18:45:05 +07:00
Goetz Lindenmaier
35dcb3478b 8282730: LdapLoginModule throw NPE from logout method after login failure
Backport-of: 554f44ecb1
2023-01-20 18:45:05 +07:00
Goetz Lindenmaier
77c0c8ebdd 8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
Reviewed-by: phh, mbaesken
Backport-of: c2ee1b33c3
2023-01-20 18:45:04 +07:00
Goetz Lindenmaier
f0d5863d34 8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m)
Backport-of: 2baf498eb5
2023-01-20 18:45:04 +07:00
Goetz Lindenmaier
8a9c6f72fc 8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
Backport-of: 9a3cb93038
2023-01-20 18:45:04 +07:00
Xin Liu
60b075ea41 8277346: ProblemList 7 serviceability/sa tests on macosx-x64
8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64

Reviewed-by: phh
Backport-of: ce4471f806
2023-01-20 18:45:03 +07:00
Severin Gehwolf
3c4a89e58b 8294740: Add cgroups keyword to TestDockerBasic.java
Backport-of: ae79af2ad6
2023-01-20 18:45:03 +07:00
Goetz Lindenmaier
9b6d017078 8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32
Backport-of: b96cb048f1
2023-01-20 18:45:02 +07:00
Goetz Lindenmaier
fa17df11fe 8293672: Update freetype md file
Backport-of: fef345b19f
2023-01-20 18:45:01 +07:00
Severin Gehwolf
eff20d66e3 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
Backport-of: 6d83482a6b
2023-01-20 18:45:01 +07:00
Nikita Gubarkov
9792005b32 8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
Backport-of: 8c460b043e
2023-01-20 18:43:54 +07:00
Severin Gehwolf
ec6d62f693 8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
Backport-of: 8f3bbe950f
2023-01-20 18:37:10 +07:00
Smita Kamath
d9190b96d6 8292158: AES-CTR cipher state corruption with AVX-512
Reviewed-by: kvn
Backport-of: 9d76ac8a44
2023-01-20 18:37:09 +07:00
William Kemper
3447001ac4 8282402: Create a regression test for JDK-4666101
Backport-of: 1581e3faa0
2023-01-20 18:37:09 +07:00
Matthias Baesken
bb039a94bb 8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
Backport-of: 178ac74653
2023-01-20 18:37:08 +07:00
Victor Rudometov
3e05c73ad8 8281296: Create a regression test for JDK-4515999
Backport-of: f5d8cebbb6
2023-01-20 18:37:08 +07:00
Evgeny Astigeevich
d7187b5027 8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction"
Backport-of: 21de4e55b8
2023-01-20 18:37:07 +07:00
Evgeny Astigeevich
c0d3301366 8280872: Reorder code cache segments to improve code density
Backport-of: e524107a74
2023-01-20 18:37:07 +07:00
Johannes Bechberger
416a07d875 8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
Backport-of: bc12e8616d
2023-01-20 18:37:06 +07:00
Victor Rudometov
c8cdf1f304 8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop"
Backport-of: 837928ba79
2023-01-20 18:37:06 +07:00
Martin Balao
19301d907f 8293826: Closed test fails after JDK-8276108 on aarch64
17u backport of JDK-8278417

Reviewed-by: goetz
2023-01-20 18:37:06 +07:00
Victor Rudometov
281c300157 6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
Backport-of: f56396f168
2023-01-20 18:37:05 +07:00
Goetz Lindenmaier
a96f0e5b94 8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Reviewed-by: mdoerr
Backport-of: 6354a57b5c
2023-01-20 18:37:05 +07:00
Goetz Lindenmaier
85d37b1ef2 8257722: Improve "keytool -printcert -jarfile" output
Backport-of: de93b1d0e8
2023-01-20 18:37:03 +07:00
Matthias Baesken
65601a43e8 8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle
Backport-of: 84936e9278
2023-01-20 18:37:01 +07:00
Dan Lutker
c9bb64abb1 8276904: Optional.toString() is unnecessarily expensive
Backport-of: fe2ae8e38b
2023-01-20 18:36:59 +07:00
Johannes Bechberger
2d7c92ee51 8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
Backport-of: cafde7fe00
2023-01-20 18:36:58 +07:00
Dmitry Chuyko
345d99c35e 8280511: AArch64: Combine shift and negate to a single instruction
Backport-of: e572a525f5
2023-01-20 18:36:58 +07:00
Matthias Baesken
eeb090ea41 8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
Backport-of: 699c42962e
2023-01-20 18:36:57 +07:00
Goetz Lindenmaier
38a05ea5d6 8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
Backport-of: 7db5abddd1
2023-01-20 18:36:57 +07:00
Goetz Lindenmaier
bb40328f04 8294357: (tz) Update Timezone Data to 2022d
Backport-of: f01573368f
2023-01-20 18:36:56 +07:00
Goetz Lindenmaier
9830761834 8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
Backport-of: 37df5f5625
2023-01-20 18:36:55 +07:00
Goetz Lindenmaier
5536c5f8d4 8293816: CI: ciBytecodeStream::get_klass() is not consistent
Backport-of: 746f5f589d
2023-01-20 18:36:55 +07:00
Goetz Lindenmaier
c4d2c25be8 8293044: C1: Missing access check on non-accessible class
Backport-of: 005b49bb78
2023-01-20 18:36:55 +07:00
Goetz Lindenmaier
ecdb9f7c51 8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
Backport-of: 5757e2129e
2023-01-20 18:36:54 +07:00
Goetz Lindenmaier
fd4876decf 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: mdoerr
Backport-of: 77e21c57ce
2023-01-20 18:36:54 +07:00
Goetz Lindenmaier
126909a073 8290451: Incorrect result when switching to C2 OSR compilation from C1
Backport-of: afa5d4ced3
2023-01-20 18:36:53 +07:00
Goetz Lindenmaier
fcddc2c1d8 8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
Backport-of: 32d675ca60
2023-01-20 18:36:53 +07:00
Goetz Lindenmaier
34c3af8dc3 8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
Backport-of: 8d88be233b
2023-01-20 18:36:51 +07:00
Goetz Lindenmaier
e7225937dd 8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
Backport-of: 90257f9505
2023-01-20 18:36:50 +07:00
Goetz Lindenmaier
313fdc3e8c 8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
Backport-of: 61e072d11c
2023-01-20 18:36:49 +07:00
Goetz Lindenmaier
6e92ce09a4 8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS
Backport-of: 59d85bad34
2023-01-20 18:36:49 +07:00
Goetz Lindenmaier
a3a275be24 8289257: Some custom loader tests failed due to symbol refcount not decremented
Backport-of: c43bdf7165
2023-01-20 18:36:48 +07:00
Goetz Lindenmaier
55db306019 8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name
Backport-of: e322e77e95
2023-01-20 18:36:47 +07:00
Victor Rudometov
cac18d4430 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
Backport-of: 4c90e87a6f
2023-01-20 18:36:47 +07:00
Martin Doerr
d603c68f36 8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: phh
Backport-of: 14c6ac457d
2023-01-20 18:36:46 +07:00
Yi-Fan Tsai
6df13593bc 8282528: AArch64: Incorrect replicate2L_zero rule
Reviewed-by: phh
Backport-of: c35590282d
2023-01-20 18:36:46 +07:00
Zdenek Zambersky
5095eddff2 8293232: Fix race condition in pkcs11 SessionManager
Backport-of: 1e031e6a58
2023-01-20 18:36:46 +07:00
Victor Rudometov
125e180667 8293578: Duplicate ldc generated by javac
Backport-of: 39cd1635bf
2023-01-20 18:36:45 +07:00
Roman Marchenko
e64e6a422d 8283059: Uninitialized warning in check_code.c with GCC 11.2
Backport-of: d8893fad23
2023-01-20 18:36:45 +07:00
Victor Rudometov
40ae2c10c1 8287076: Document.normalizeDocument() produces different results
Reviewed-by: phh
Backport-of: 1f9521e6cb
2023-01-20 18:36:44 +07:00
Goetz Lindenmaier
b92dfd9c9f 8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
Backport-of: af529be069
2023-01-20 18:36:44 +07:00
Goetz Lindenmaier
c2d01ebaa0 8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException
Backport-of: 3216d198f3
2023-01-20 18:36:43 +07:00
Dmitry Chuyko
2048e52bd2 8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
Reviewed-by: phh
Backport-of: b5a646ee6c
2023-01-20 18:36:41 +07:00
Matthias Baesken
1aa0958166 8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception
Backport-of: 36c9034ff1
2023-01-20 18:36:40 +07:00
Matthias Baesken
df9c0aa50d 8290532: Adjust PKCS11Exception and handle more PKCS11 error codes
Backport-of: 07f0612c9a
2023-01-20 18:36:40 +07:00
Goetz Lindenmaier
336169feb4 8282777: Create a Regression test for JDK-4515031
Backport-of: 523d553e13
2023-01-20 18:36:39 +07:00
Goetz Lindenmaier
f08cf4309f 8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
Backport-of: d76c1089ef
2023-01-20 18:36:39 +07:00
Goetz Lindenmaier
1f79ef9776 8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
Backport-of: a9b9831f2a
2023-01-20 18:36:38 +07:00
Goetz Lindenmaier
a4123ed08b 8285305: Create an automated test for JDK-4495286
Backport-of: 25e9901aea
2023-01-20 18:36:38 +07:00
Goetz Lindenmaier
bab9089637 8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
Backport-of: 005a330387
2023-01-20 18:36:37 +07:00
Goetz Lindenmaier
66281c1825 8285373: Create an automated test for JDK-4702233
Backport-of: 6f526e1bc3
2023-01-20 18:36:37 +07:00
Goetz Lindenmaier
d803f98671 8282857: Create a regression test for JDK-4702690
Backport-of: 8df5f1058f
2023-01-20 18:36:36 +07:00
Goetz Lindenmaier
773486269b 8275170: Some jtreg sound tests should be marked with sound keyword
Backport-of: 25669bb667
2023-01-20 18:36:35 +07:00
Goetz Lindenmaier
aac30c7b78 8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
Backport-of: fc3edf2412
2023-01-20 18:36:33 +07:00
Goetz Lindenmaier
53ab847096 8286452: The array length of testSmallConstArray should be small and const
Backport-of: d65fba412e
2023-01-20 18:36:32 +07:00
Goetz Lindenmaier
47efafc6d6 8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
Backport-of: 7b1916efda
2023-01-20 18:36:31 +07:00
Goetz Lindenmaier
c2b50b20ee 8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java
Reviewed-by: mbaesken
Backport-of: 57a7670886
2023-01-20 18:36:31 +07:00
Goetz Lindenmaier
4f6ac9296d 8286551: JDK-8286460 causes tests to fail to compile in Tier2
Backport-of: 070a0cda31
2023-01-20 18:36:30 +07:00
Goetz Lindenmaier
e56e22156e 8286460: Remove dependence on JAR filename in CDS tests
Backport-of: 52dbfa99fe
2023-01-20 18:36:30 +07:00
Goetz Lindenmaier
2a5d7c1736 8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList
Backport-of: 1e0184d142
2023-01-20 18:36:30 +07:00
Tyler Steele
1596f68d08 8292816: GPL Classpath exception missing from assemblyprefix.h
Backport-of: 71ab5c95af
2023-01-20 18:36:29 +07:00
Gaurav Chaudhari
1dbbc5abd8 8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
Backport-of: 3c3256414f
2023-01-20 18:36:29 +07:00
Victor Rudometov
eef44fd2a6 8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
Backport-of: 5002eaa5cc
2023-01-20 18:36:28 +07:00
Goetz Lindenmaier
1077256b80 8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox
Backport-of: 7612bba0f1
2023-01-20 18:36:28 +07:00
Goetz Lindenmaier
9d12550cfd 8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot
Backport-of: 7704eb1866
2023-01-20 18:36:28 +07:00
Goetz Lindenmaier
48326ac97e 8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3"
Backport-of: bb52ea6820
2023-01-20 18:36:27 +07:00
Goetz Lindenmaier
4bedf95bca 8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
Backport-of: a1efb95536
2023-01-20 18:36:27 +07:00
Goetz Lindenmaier
56e8b0175b 8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
Backport-of: f5beafa53f
2023-01-20 18:36:26 +07:00
Goetz Lindenmaier
cd6c698a9b 8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
Backport-of: 1e22c70ff2
2023-01-20 18:36:26 +07:00
Goetz Lindenmaier
c4358780f7 8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
Backport-of: 0b09f70a73
2023-01-20 18:36:25 +07:00
Goetz Lindenmaier
701386abfa 8282276: Problem list failing two Robot Screen Capture tests
Backport-of: 2557ef8a02
2023-01-20 18:36:23 +07:00
Goetz Lindenmaier
05e4fccbc3 8262721: Add Tests to verify single iteration loops are properly optimized
Backport-of: 69e390a0e8
2023-01-20 18:36:22 +07:00
Goetz Lindenmaier
49521e1dea 8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC
Backport-of: fe0118f804
2023-01-20 18:36:21 +07:00
Goetz Lindenmaier
c4e29c995e 8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered
Backport-of: 4532c3a163
2023-01-20 18:36:20 +07:00
Goetz Lindenmaier
cb9991ab13 8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
Backport-of: 0740ac474c
2023-01-20 18:36:18 +07:00
Goetz Lindenmaier
ba12b0ca84 8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow"
Backport-of: ed0df2fa1f
2023-01-20 18:36:18 +07:00
Matthias Baesken
567d672778 8292903: enhance round_up_power_of_2 assertion output
Backport-of: 8d3d4397cc
2023-01-20 18:36:17 +07:00
Goetz Lindenmaier
4bcdde5640 7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
Backport-of: 22b7295e75
2023-01-20 18:36:17 +07:00
Goetz Lindenmaier
7382411d21 8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...'
Backport-of: 587e5409c2
2023-01-20 18:36:16 +07:00
Goetz Lindenmaier
e0fd16558b 8274296: Update or Problem List tests which may fail with uiScale=2 on macOS
Backport-of: 753b25633b
2023-01-20 18:36:16 +07:00
Smita Kamath
873dff8219 8277358: Accelerate CRC32-C
Backport-of: e0f1fc783c
2023-01-20 18:36:16 +07:00
Goetz Lindenmaier
77b059599a 8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
Backport-of: 40df5df95e
2023-01-20 18:36:15 +07:00
Goetz Lindenmaier
1cf9ee5562 8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
Backport-of: 730f67081d
2023-01-20 18:36:15 +07:00
Goetz Lindenmaier
3efa91acf0 8279066: entries.remove(entry) is useless in PKCS12KeyStore
Backport-of: fb623f1d2e
2023-01-20 18:36:14 +07:00
Goetz Lindenmaier
f0fe579e26 8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM"
Backport-of: a3406a1d8a
2023-01-20 18:36:14 +07:00
Goetz Lindenmaier
4584fe083d 8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space"
Backport-of: a6fa6ed1ed
2023-01-20 18:36:14 +07:00
Goetz Lindenmaier
0e6a4d4c8d 8273881: Metaspace: test repeated deallocations
Backport-of: 83c3771929
2023-01-20 18:36:13 +07:00
Alexey Pavlyutkin
8281097b79 8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint
Backport-of: 0b8a0e2b58
2023-01-20 18:36:13 +07:00
Goetz Lindenmaier
40c17e0444 8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high
Backport-of: 895e2bd7c0
2023-01-20 18:36:12 +07:00
Goetz Lindenmaier
f7887449eb 8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
Backport-of: 7dc2db4aac
2023-01-20 18:36:12 +07:00
Goetz Lindenmaier
fe27a44e4a 8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction
Backport-of: 4da45c4301
2023-01-20 18:36:11 +07:00
Goetz Lindenmaier
813b6ce3b0 8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java
Backport-of: 270a9d9293
2023-01-20 18:36:10 +07:00
Goetz Lindenmaier
4123906183 7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
Backport-of: c640fe42c2
2023-01-20 18:36:09 +07:00
Goetz Lindenmaier
4f0f59e64c 8271015: Split cds/SharedBaseAddress.java test into smaller parts
Backport-of: 0790f04d8a
2023-01-20 18:36:08 +07:00
Goetz Lindenmaier
c37547ef48 8269029: compiler/codegen/TestCharVect2.java fails for client VMs
Backport-of: cbec37d45d
2023-01-20 18:36:08 +07:00
Goetz Lindenmaier
fd4676dd46 8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64
8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64
8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64

Backport-of: 1049aba1fb
2023-01-20 18:36:07 +07:00
Goetz Lindenmaier
6d6159bbfd 8290209: jcup.md missing additional text
Backport-of: 2bf6285c80
2023-01-20 18:36:06 +07:00
Goetz Lindenmaier
42128b128a 8290207: Missing notice in dom.md
Backport-of: 73b83e0188
2023-01-20 18:36:05 +07:00
Martin Balao
46e8d8ef0c 8277928: Fix compilation on macosx-aarch64 after 8276108
Backport-of: 2622ab3fe9
2023-01-20 18:36:04 +07:00
Martin Balao
5d259c42e9 8276108: Wrong instruction generation in aarch64 backend
Backport-of: 72bacf8d25
2023-01-20 18:36:03 +07:00
Dmitry Chuyko
2feddbec82 8282049: AArch64: Use ZR for integer zero immediate volatile stores
Backport-of: 413bef6890
2023-01-20 18:36:02 +07:00
Alexey Pavlyutkin
2fae599ddd 8272776: NullPointerException not reported
Backport-of: 93eec9a103
2023-01-20 18:36:01 +07:00
Paul Hohensee
b4dbe998ab 8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
Backport-of: 47bfc8aa93
2023-01-20 18:36:00 +07:00
Dmitry Chuyko
ad96229e5c 8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check
Backport-of: 3d810ad691
2023-01-20 18:36:00 +07:00
Boris Ulasevich
78fb4c098b 8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes
Reviewed-by: phh, dsamersoff
Backport-of: e314a4cfda
2023-01-20 18:35:59 +07:00
Boris Ulasevich
931cc4aafa 8282347: AARCH64: Untaken branch in has_negatives stub
Reviewed-by: phh, dsamersoff
Backport-of: 3efd6aa4c9
2023-01-20 18:35:58 +07:00
Boris Ulasevich
17cb7de818 8270848: Redundant unsafe opmask register allocation in some instruction patterns.
Reviewed-by: phh, dsamersoff
Backport-of: 71ca0c08f0
2023-01-20 18:35:57 +07:00
Dmitry Chuyko
bd0fbb5308 8287349: AArch64: Merge LDR instructions to improve C1 OSR performance
Reviewed-by: aph
Backport-of: 08400f18ba
2023-01-20 18:35:56 +07:00
Ryan Flegel
fb1aaba397 8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
Backport-of: 3be394e160
2023-01-20 18:35:55 +07:00
Jonathan Dowland
aaa330e3f2 8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name
Backport-of: b021d37cec
2023-01-20 18:35:54 +07:00
bobpengxie
4761b95f43 8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
Backport-of: e1e67324c0
2023-01-20 18:35:53 +07:00
Jonathan Dowland
f9918ac34d 8292541: [Metrics] Reported memory limit may exceed physical machine memory
Backport-of: 9a0d1e7ce8
2023-01-20 18:35:52 +07:00
Yi-Fan Tsai
384c826916 8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
Reviewed-by: phh
Backport-of: b4490386fe
2023-01-20 18:35:52 +07:00
Matthias Baesken
185848a872 8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
Backport-of: d8f4e97bd3
2023-01-20 18:35:50 +07:00
Sergey Nazarkin
61bee883d4 8289044: ARM32: missing LIR_Assembler::cmove metadata type support
Backport-of: 20f55abd27
2023-01-20 18:35:50 +07:00
Jonathan Dowland
083275d811 8292083: Detected container memory limit may exceed physical machine memory
Reviewed-by: sgehwolf
Backport-of: f694f8a767
2023-01-20 18:35:49 +07:00
Christoph Langer
e89008a7b8 8292888: Bump update version for OpenJDK: jdk-17.0.6
Reviewed-by: sgehwolf
2023-01-20 18:35:09 +07:00
Vitaly.Provodin
f71c89ad58 update exclude list on results of 17.0.5_b762.1 test runs 2023-01-20 18:04:08 +07:00
Vitaly Provodin
8d90454dc3 update exclude list on results of stability checking runs due to 8253184 2023-01-20 18:04:08 +07:00
Dmitry Batrak
b933660cf1 JBR-5189 Can't exit fullscreen mode on ubuntu 22.10 2023-01-19 11:22:27 +02:00
Alexander Lobas
deba3971ae Merge pull request #204 from alexander-lobas/jbr17
JBR-5175 jb/java/awt/Window/FullScreenTwoFrames.java: -[AWTWindow res…
2023-01-16 15:42:46 +03:00
Alexander Lobas
2a7cca8a0f JBR-5175 jb/java/awt/Window/FullScreenTwoFrames.java: -[AWTWindow resetWindowFullScreeControls]: unrecognized selector sent to instance 0x60000232d5f0 2023-01-16 15:42:10 +03:00
Dmitry Batrak
0a3f4b206d JBR-5134 Input methods can't be dynamically disabled on a focused JComponent 2023-01-15 09:25:32 +02:00
Alexander Lobas
4849e51926 Merge pull request #202 from alexander-lobas/jbr17
JBR-5174 Opening project as tabs in Mac OS (version2)
2023-01-14 00:49:27 +03:00
Alexander Lobas
8c11cf39c1 JBR-5174 Opening project as tabs in Mac OS (version2) 2023-01-14 00:48:32 +03:00
Alexander Lobas
1f54c05b84 Merge pull request #201 from alexander-lobas/jbr17
JBR-5174 Opening project as tabs in Mac OS (version2)
2023-01-13 17:11:49 +03:00
Alexander Lobas
8b19b3c82a JBR-5174 Opening project as tabs in Mac OS (version2) 2023-01-13 16:54:13 +03:00
Alexander Lobas
401b1425f1 JBR-5174 Opening project as tabs in Mac OS (version2) 2023-01-13 16:44:04 +03:00
Vitaly.Provodin
41fa771f2b update exclude list on results of 17.0.5_b759.1 test runs 2023-01-13 12:14:16 +07:00
Vitaly Provodin
dc113de54f Update README.md 2023-01-13 01:27:49 +04:00
Alexey Ushakov
08b744e53a JBR-5112 Large bold square whitespaces after waking up the laptop / connecting display
Clear primary surface data of VolatileSurfaceManager on display change event
2023-01-05 22:21:29 +01:00
Alexey Ushakov
0c3d8e4621 JBR-5157 Idea hangs on opening editor context menu
Removed displaySync start from completion block in commitCommandBuffer
2023-01-05 21:42:22 +01:00
Nikita Provotorov
7995574c09 JBR-3544: Generate popup invoked instead of New in this directory.
Adds a regression test.
2023-01-03 03:31:49 +02:00
Alexander Lobas
f62c5bbfa0 Merge pull request #199 from alexander-lobas/jbr17
JBR-5139 Support color for rounded borders on Windows (version 2)
2022-12-31 12:23:14 +03:00
Alexander Lobas
3e3a0dc115 JBR-5139 Support color for rounded borders on Windows 2022-12-31 12:18:51 +03:00
Alexander Lobas
f0174a1953 JBR-5139 Support color for rounded borders on Windows 2022-12-31 12:13:37 +03:00
Vitaly Provodin
c9ce3791c3 Revert "JBR-5139 Support color for rounded borders on Windows"
This reverts commit 06099a9a7f.
2022-12-31 05:18:21 +07:00
Vitaly Provodin
85df918997 Revert "JBR-5139 Support color for rounded borders on Windows"
This reverts commit 3a55a1baac.
2022-12-31 05:18:17 +07:00
Alexey Ushakov
170632e125 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Added sun.java2d.metal.displaySync property to disable (false) displaySync update method
2022-12-29 17:14:55 +01:00
Artem Semenov
5584b07116 JBR-5142 JNI call of getAccessibleActionCount on a wrong thread (#197)
* JBR-5142 JNI call of getAccessibleActionCount on a wrong thread
2022-12-29 17:28:29 +03:00
Alexander Lobas
a627c2d4a9 Merge pull request #196 from alexander-lobas/jbr17
JBR-5139 Support color for rounded borders on Windows
2022-12-27 19:00:26 +01:00
Alexander Lobas
3a55a1baac JBR-5139 Support color for rounded borders on Windows 2022-12-27 18:57:20 +01:00
Alexander Lobas
06099a9a7f JBR-5139 Support color for rounded borders on Windows 2022-12-27 18:51:36 +01:00
Vitaly Provodin
de6e0d17b4 update exclude list on results of 17.0.5_b743.1 test runs 2022-12-24 05:35:21 +07:00
Artem Semenov
f242258e24 JBR-5118 VoiceOver does not speak the label associated with the combobox (#194)
JBR-5118 VoiceOver does not speak the label associated with the combobox
2022-12-22 10:50:08 +03:00
Vitaly Provodin
63d0497d5a JBR-5008 remove extra test/jdk/jb/java/awt/font in favor of test/jdk/jb/java/awt/Font 2022-12-19 04:44:09 +07:00
Nikita Provotorov
3a5a610476 JBR-5107, JBR-5114: SIGILL/OOM from Java_sun_lwawt_macosx_LWCToolkit_getKeyboardLayoutNativeId.
A theoretical fix, it should:
- Catch any NSException (as it was initially expected);
- Probably fix possible memory leaks (by moving the layoutId var inside autoreleasepool).
2022-12-16 20:50:08 +02:00
Dmitry Batrak
12034dcf61 improve the stability of SequentialModalDialogsTest
before the fix, the test was found to fail sometimes on Linux (Ubuntu, GNOME, X.Org) with HiDPI monitor (scale 200%)
2022-12-15 13:53:55 +03:00
Dmitry Batrak
693d317c0c JBR-5109 New frame doesn't get focused sometimes if it's shown right after popup is closed 2022-12-15 10:40:58 +03:00
Alexey Ushakov
adae4463a6 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Do not fire deliverChangeBackingProperties notification for the view if there is no change between layer and window scales. Also, do not fire displayChanged for display profile only changes.
2022-12-14 14:14:01 +01:00
Vitaly Provodin
0fc0ffdc51 Update README.md 2022-12-14 16:44:34 +07:00
Alexey Ushakov
77ff89d894 update exclude list on results of 17.0.5_b653.23 test runs 2022-12-14 16:43:08 +07:00
Vitaly Provodin
ad48dbfa30 update exclude list on results of 17.0.5_b469.76 test runs 2022-12-14 16:42:58 +07:00
Vitaly Provodin
f9ac251a4b Update README.md 2022-12-14 11:01:30 +04:00
Artem Semenov
4327ffa958 JBR-5035 javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getCur… (#189)
JBR-5035 javax.swing.JTree$AccessibleJTree$AccessibleJTreeNode.getCurrentComponent shouldn't be called on AppKit thread
2022-12-12 22:50:37 +03:00
Dmitry Batrak
6995ce47fd JBR-5095 Incorrect initial window's location under GNOME 2022-12-12 21:01:54 +03:00
Vitaly Provodin
adc0f3819c Revert "JBR-5039 Remove final modifier from SunGraphics2D (#188)"
This reverts commit 0e7bda6392.
2022-12-12 22:08:43 +07:00
Nikita Provotorov
61a1b70d73 JBR-5075: macOS: KEY_PRESSED event for "Cmd N" is not emitted if used as a JMenuItem accelerator and apple.laf.useScreenMenuBar=true.
- Improves the fix of JBR-3544 to allow "Cmd N" and "Ctrl N" to reach AWT if they're actually the ones which were pressed.
- Adds a regression test.
2022-12-12 15:48:22 +02:00
Victor Kropp
cfa9789515 Update README.md
Mention Toolbox App in the list of applications built on JetBrains Runtime.
2022-12-10 08:35:07 +02:00
Nikita Provotorov
8b4a98752c Update README.md
Replaced master17 to jbr17 and other minor fixes.
2022-12-10 08:35:07 +02:00
Vitaly Provodin
91d7ab5f2a update exclude list on results of 17.0.5_b721.3 test runs 2022-12-09 19:04:52 +07:00
Alexey Ushakov
6a7ec14ac0 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Added logging for native windows notifications
2022-12-07 20:08:30 +01:00
Alexey Ushakov
8fe28b4696 JBR-5073 [Double-Monitor] java/awt/Window/LocationAtScreenCorner/LocationAtScreenCorner.java: Wrong location
Added check for nil displayID of the window
2022-12-07 18:51:42 +01:00
Dmitry Batrak
02bc54f864 JBR-5046 Incorrect initial window's location in Xfce
small refactoring
2022-12-06 18:18:39 +03:00
Dmitry Batrak
234e705134 JBR-5046 Incorrect initial window's location in Xfce 2022-12-06 17:14:19 +03:00
Jayathirth D V
f18d8cbd48 8297507: Update header after JDK-8297230
Reviewed-by: aivanov, ihse, kcr, dfuchs, dcubed
2022-12-06 14:12:50 +07:00
Laurent Bourgès
41067d714a 8297230: Update Marlin2D to 0.9.4.6 2022-12-06 14:12:50 +07:00
956 changed files with 64145 additions and 9877 deletions

View File

@@ -42,5 +42,5 @@ runs:
run: |
# Extract value from configuration file
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "::set-output name=value::$value"
echo "value=$value" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -61,7 +61,7 @@ runs:
$build_dir/make-support/failure-summary.log \
$build_dir/make-support/failure-logs/* \
failure-logs/ 2> /dev/null || true
echo '::set-output name=failure::true'
echo 'failure=true' >> $GITHUB_OUTPUT
fi
shell: bash

View File

@@ -42,7 +42,7 @@ runs:
run: |
# Convert platform name to upper case
platform_prefix="$(echo ${{ inputs.platform }} | tr [a-z-] [A-Z_])"
echo "::set-output name=value::$platform_prefix"
echo "value=$platform_prefix" >> $GITHUB_OUTPUT
shell: bash
- name: 'Get URL configuration'
@@ -105,5 +105,5 @@ runs:
id: path-name
run: |
# Export the path
echo '::set-output name=path::bootjdk/jdk'
echo 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
shell: bash

View File

@@ -103,7 +103,7 @@ runs:
tests_dir="$(cygpath $tests_dir)"
fi
echo "::set-output name=jdk::$jdk_dir"
echo "::set-output name=symbols::$symbols_dir"
echo "::set-output name=tests::$tests_dir"
echo "jdk=$jdk_dir" >> $GITHUB_OUTPUT
echo "symbols=$symbols_dir" >> $GITHUB_OUTPUT
echo "tests=$tests_dir" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -50,5 +50,5 @@ runs:
id: path-name
run: |
# Export the path
echo '::set-output name=path::gtest'
echo 'path=gtest' >> $GITHUB_OUTPUT
shell: bash

View File

@@ -68,5 +68,5 @@ runs:
id: path-name
run: |
# Export the path
echo '::set-output name=path::jtreg/installed'
echo 'path=jtreg/installed' >> $GITHUB_OUTPUT
shell: bash

View File

@@ -62,9 +62,9 @@ runs:
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle" != "" ]]; then
echo '::set-output name=bundles-found::true'
echo 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo '::set-output name=bundles-found::false'
echo 'bundles-found=false' >> $GITHUB_OUTPUT
fi
shell: bash

View File

@@ -25,6 +25,7 @@
#
GITHUB_STEP_SUMMARY="$1"
GITHUB_OUTPUT="$2"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
@@ -41,12 +42,12 @@ error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
echo '::set-output name=error-message::Unspecified test suite failure. Please see log for job for details.'
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi
echo '::set-output name=failure::true'
echo "::set-output name=error-message::Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details."
echo 'failure=true' >> $GITHUB_OUTPUT
echo "error-message=Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details." >> $GITHUB_OUTPUT
echo '### :boom: Test failures summary' >> $GITHUB_STEP_SUMMARY

View File

@@ -89,7 +89,7 @@ jobs:
run: |
# Set a proper suffix for packages if using a different architecture
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
echo '::set-output name=suffix:::${{ inputs.apt-architecture }}'
echo 'suffix=:${{ inputs.apt-architecture }}' >> $GITHUB_OUTPUT
fi
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.

View File

@@ -104,14 +104,14 @@ jobs:
echo 'false'
}
echo "::set-output name=linux-x64::$(check_platform linux-x64 linux x64)"
echo "::set-output name=linux-x86::$(check_platform linux-x86 linux x86)"
echo "::set-output name=linux-x64-variants::$(check_platform linux-x64-variants variants)"
echo "::set-output name=linux-cross-compile::$(check_platform linux-cross-compile cross-compile)"
echo "::set-output name=macos-x64::$(check_platform macos-x64 macos x64)"
echo "::set-output name=macos-aarch64::$(check_platform macos-aarch64 macos aarch64)"
echo "::set-output name=windows-x64::$(check_platform windows-x64 windows x64)"
echo "::set-output name=windows-aarch64::$(check_platform windows-aarch64 windows aarch64)"
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
###
### Build jobs

View File

@@ -138,9 +138,9 @@ jobs:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
if [[ '${{ runner.os }}' == 'Windows' ]]; then
echo "::set-output name=value::"
echo "value=" >> $GITHUB_OUTPUT
else
echo "::set-output name=value::$PATH"
echo "value=$PATH" >> $GITHUB_OUTPUT
fi
- name: 'Run tests'
@@ -154,7 +154,7 @@ jobs:
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY"
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
@@ -187,7 +187,7 @@ jobs:
fi
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
echo "::set-output name=artifact-name::$artifact_name"
echo "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
if: always()
- name: 'Upload test results'

View File

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

View File

@@ -3,20 +3,21 @@
# Welcome to JetBrains Runtime!
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.
It includes a number of enhancements in font rendering, ligatures, HiDPI support, windowing/focus subsystems, performance improvements, and bugfixes.
## Releases
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
| IDE Version | Latest JBR | Date Released |
| --- | --- | --- |
| 2022.3 | [17.0.5-b653.14](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.14)| 15-Nov-2022 |
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71)| 14-Nov-2022 |
| IDE Version | Latest JBR | Date Released |
| --- |--------------------------------------------------------------------------------------------------------|---------------|
| 2023.1 | [17.0.6-b829.1](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b829.1) | 14-Feb-2023 |
| 2022.3 | [17.0.5-b653.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.25) | 10-Jan-2023 |
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71) | 14-Nov-2022 |
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
@@ -41,6 +42,7 @@ can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntim
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
@@ -78,7 +80,7 @@ Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# git checkout master17
# git checkout jbr17
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
@@ -87,13 +89,13 @@ $ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev \
java-16-amazon-corretto-jdk
```
Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout master17
$ git checkout jbr17
$ sh ./configure
$ make images
```
@@ -121,21 +123,33 @@ The first command sets up environment variables, the second starts a Cygwin shel
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout master17
$ git checkout jbr17
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.
#### Enable optional NVDA screen reader support
If you want to add support of a11y announcing via [NVDA screen reader](https://www.nvaccess.org/about-nvda/),
you will need to bundle the NVDA Controller Client library.
You can do it with the following steps:
1. Download the NVDA Controller Client library. You can find the link in its official README [here](https://github.com/nvaccess/nvda/blob/master/extras/controllerClient/readme.md)
2. Pass the path to the unpacked package to `configure` via an additional flag `--with-nvdacontrollerclient=<path>`.
The build system will search the required library files under `<path>/<target-arch>`.
#### Disable optional JAWS screen reader support
JBR is built with built-in support of JAWS screen reader.
If you want to disable it, run `configure` with the additional flag `--disable-jaws-client`.
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](getDpiInfo).
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 16 (for instance, from [AdoptOpenJDK](https://adoptopenjdk.net/installation.html?variant=openjdk16&jvmVariant=hotspot#)).
From the command line:
```
$ cd JetBrainsRuntime
$ git checkout master17
$ git checkout jbr17
$ sh ./configure
$ make images
```
@@ -171,7 +185,7 @@ We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on github](https://github.com/JetBrains/JetBrainsRuntime).
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -70,6 +70,9 @@
<li><a href="#make-control-variables">Make Control Variables</a></li>
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#signing">Signing</a><ul>
<li><a href="#macos-1">macOS</a></li>
</ul></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
@@ -489,7 +492,7 @@
<li><code>CONF</code> and <code>CONF_NAME</code> - Selecting the configuration(s) to use. See <a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
</ul>
<h4 id="test-make-control-variables">Test Make Control Variables</h4>
<p>These make control variables only make sense when running tests. Please see <a href="testing.html">Testing the JDK</a> for details.</p>
<p>These make control variables only make sense when running tests. Please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>) for details.</p>
<ul>
<li><code>TEST</code></li>
<li><code>TEST_JOBS</code></li>
@@ -515,7 +518,13 @@
</ul>
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>
<p>For more details on how to run tests, please see the <a href="testing.html">Testing the JDK</a> document.</p>
<p>For more details on how to run tests, please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>).</p>
<h2 id="signing">Signing</h2>
<h3 id="macos-1">macOS</h3>
<p>Modern versions of macOS require applications to be signed and notarizied before distribution. See Apple's documentation for more background on what this means and how it works. To help support this, the JDK build can be configured to automatically sign all native binaries, and the JDK bundle, with all the options needed for successful notarization, as well as all the entitlements required by the JDK. To enable <code>hardened</code> signing, use configure parameter <code>--with-macosx-codesign=hardened</code> and configure the signing identity you wish to use with <code>--with-macosx-codesign-identity=&lt;identity&gt;</code>. The identity refers to a signing identity from Apple that needs to be preinstalled on the build host.</p>
<p>When not signing for distribution with the hardened option, the JDK build will still attempt to perform <code>adhoc</code> signing to add the special entitlement <code>com.apple.security.get-task-allow</code> to each binary. This entitlement is required to be able to dump core files from a process. Note that adding this entitlement makes the build invalid for notarization, so it is only added when signing in <code>debug</code> mode. To explicitly enable this kind of adhoc signing, use configure parameter <code>--with-macosx-codesign=debug</code>. It will be enabled by default in most cases.</p>
<p>It's also possible to completely disable any explicit codesign operations done by the JDK build using the configure parameter <code>--without-macosx-codesign</code>. The exact behavior then depends on the architecture. For macOS on x64, it (at least at the time of this writing) results in completely unsigned binaries that should still work fine for development and debugging purposes. On aarch64, the Xcode linker will apply a default &quot;adhoc&quot; signing, without any entitlements. Such a build does not allow dumping core files.</p>
<p>The default mode &quot;auto&quot; will try for <code>hardened</code> signing if the debug level is <code>release</code> and either the default identity or the specified identity is valid. If hardened isn't possible, then <code>debug</code> signing is chosen if it works. If nothing works, the codesign build step is disabled.</p>
<h2 id="cross-compiling">Cross-compiling</h2>
<p>Cross-compiling means using one platform (the <em>build</em> platform) to generate output that can ran on another platform (the <em>target</em> platform).</p>
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>

View File

@@ -818,7 +818,7 @@ configuration, as opposed to the "configure time" configuration.
#### Test Make Control Variables
These make control variables only make sense when running tests. Please see
[Testing the JDK](testing.html) for details.
**Testing the JDK** ([html](testing.html), [markdown](testing.md)) for details.
* `TEST`
* `TEST_JOBS`
@@ -865,8 +865,44 @@ To execute the most basic tests (tier 1), use:
make run-test-tier1
```
For more details on how to run tests, please see the [Testing
the JDK](testing.html) document.
For more details on how to run tests, please see **Testing the JDK**
([html](testing.html), [markdown](testing.md)).
## Signing
### macOS
Modern versions of macOS require applications to be signed and notarizied before
distribution. See Apple's documentation for more background on what this means
and how it works. To help support this, the JDK build can be configured to
automatically sign all native binaries, and the JDK bundle, with all the options
needed for successful notarization, as well as all the entitlements required by
the JDK. To enable `hardened` signing, use configure parameter
`--with-macosx-codesign=hardened` and configure the signing identity you wish to
use with `--with-macosx-codesign-identity=<identity>`. The identity refers to a
signing identity from Apple that needs to be preinstalled on the build host.
When not signing for distribution with the hardened option, the JDK build will
still attempt to perform `adhoc` signing to add the special entitlement
`com.apple.security.get-task-allow` to each binary. This entitlement is required
to be able to dump core files from a process. Note that adding this entitlement
makes the build invalid for notarization, so it is only added when signing in
`debug` mode. To explicitly enable this kind of adhoc signing, use configure
parameter `--with-macosx-codesign=debug`. It will be enabled by default in most
cases.
It's also possible to completely disable any explicit codesign operations done
by the JDK build using the configure parameter `--without-macosx-codesign`.
The exact behavior then depends on the architecture. For macOS on x64, it (at
least at the time of this writing) results in completely unsigned binaries that
should still work fine for development and debugging purposes. On aarch64, the
Xcode linker will apply a default "adhoc" signing, without any entitlements.
Such a build does not allow dumping core files.
The default mode "auto" will try for `hardened` signing if the debug level is
`release` and either the default identity or the specified identity is valid.
If hardened isn't possible, then `debug` signing is chosen if it works. If
nothing works, the codesign build step is disabled.
## Cross-compiling

View File

@@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="JetBrains" />
</component>

View File

@@ -1,9 +0,0 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="JetBrains" />
</component>

View File

@@ -154,7 +154,8 @@ 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 $?
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
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 $?

View File

@@ -153,7 +153,8 @@ 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 $?
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
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 $?

View File

@@ -134,7 +134,8 @@ 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 $?
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
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 $?

View File

@@ -178,7 +178,8 @@ 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 $?
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
[ -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 $?
fi

View File

@@ -30,6 +30,7 @@ source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
@@ -45,6 +46,7 @@ function do_configure {
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
@@ -73,7 +75,9 @@ function create_image_bundle {
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/bin/*.pdb $__root_dir/bin
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
@@ -99,13 +103,13 @@ 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 $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || 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 $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -24,6 +24,7 @@ source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
@@ -36,6 +37,7 @@ function do_configure {
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
@@ -64,7 +66,9 @@ function create_image_bundle {
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/bin/*.pdb $__root_dir/bin
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
@@ -90,13 +94,13 @@ 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 $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || 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 $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -19,6 +19,8 @@ set -x
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
@@ -31,6 +33,7 @@ function do_configure {
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
@@ -59,7 +62,9 @@ function create_image_bundle {
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
cp $IMAGES_DIR/jdk/bin/*.pdb $__root_dir/bin
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
@@ -84,13 +89,13 @@ 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 $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || 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 $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -51,6 +51,7 @@ 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
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
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

@@ -51,6 +51,7 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
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

@@ -32,6 +32,8 @@ function pack_jbr {
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
@@ -45,6 +47,7 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
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

@@ -278,16 +278,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
ifeq ($(SIGN_BUNDLE), true)
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
################################################################################

View File

@@ -1,17 +1,26 @@
#
# Copyright 2000-2021 JetBrains s.r.o.
# Copyright 2000-2023 JetBrains s.r.o.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 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.
#
# http://www.apache.org/licenses/LICENSE-2.0
# 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).
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# 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 $(SPEC)

View File

@@ -160,25 +160,23 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
[
# Check if make supports the output sync option and if so, setup using it.
AC_MSG_CHECKING([if make --output-sync is supported])
if $MAKE --version -O > /dev/null 2>&1; then
OUTPUT_SYNC_SUPPORTED=true
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([for output-sync value])
AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
[set make output sync type if supported by make. @<:@recurse@:>@])],
[OUTPUT_SYNC=$with_output_sync])
if test "x$OUTPUT_SYNC" = "x"; then
OUTPUT_SYNC=none
fi
AC_MSG_RESULT([$OUTPUT_SYNC])
if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
fi
else
OUTPUT_SYNC_SUPPORTED=false
AC_MSG_RESULT([no])
fi
UTIL_ARG_WITH(NAME: output-sync, TYPE: literal,
VALID_VALUES: [none recurse line target], DEFAULT: recurse,
OPTIONAL: true, ENABLED_DEFAULT: true,
ENABLED_RESULT: OUTPUT_SYNC_SUPPORTED,
CHECKING_MSG: [for make --output-sync value],
DESC: [set make --output-sync type if supported by make],
CHECK_AVAILABLE:
[
AC_MSG_CHECKING([if make --output-sync is supported])
if ! $MAKE --version -O > /dev/null 2>&1; then
AC_MSG_RESULT([no])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
]
)
AC_SUBST(OUTPUT_SYNC_SUPPORTED)
AC_SUBST(OUTPUT_SYNC)
])
@@ -378,43 +376,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
UTIL_REQUIRE_PROGS(MIG, mig)
UTIL_REQUIRE_PROGS(XATTR, xattr)
UTIL_LOOKUP_PROGS(CODESIGN, codesign)
if test "x$CODESIGN" != "x"; then
# Check for user provided code signing identity.
# If no identity was provided, fall back to "openjdk_codesign".
AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
[specify the code signing identity])],
[MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
[MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
# Verify that the codesign certificate is present
AC_MSG_CHECKING([if codesign certificate is present])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
# Verify that the codesign has --option runtime
AC_MSG_CHECKING([if codesign has --option runtime])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
else
AC_MSG_RESULT([yes])
fi
fi
fi
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
fi
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then

View File

@@ -40,6 +40,7 @@ export AWK="@AWK@"
export BASH="@BASH@"
export CAT="@CAT@"
export CMP="@CMP@"
export CODESIGN="@CODESIGN@"
export CP="@CP@"
export CUT="@CUT@"
export DIFF="@DIFF@"

View File

@@ -252,6 +252,7 @@ JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT
JDKOPT_SETUP_MACOSX_SIGNING
###############################################################################
#

View File

@@ -248,6 +248,31 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
# Should we build the client for the JAWS screen reader?
if test "x$OPENJDK_TARGET_OS" = xwindows; then
AC_MSG_CHECKING([if JAWS client support is enabled])
A11Y_JAWS_ANNOUNCING_ENABLED=true
AC_ARG_ENABLE(
[jaws-client],
[AS_HELP_STRING([--disable-jaws-client], [Set to disable to exclude the client for the JAWS screen reader from the build])],
[
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
AC_MSG_WARN([--[enable|disable]-jaws-client[=*] flags are ignored for headless builds])
elif test "x$enableval" != xyes; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
]
)
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_MSG_RESULT([$A11Y_JAWS_ANNOUNCING_ENABLED])
else
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_JAWS_ANNOUNCING_ENABLED)
])
###############################################################################
@@ -766,3 +791,105 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
AC_SUBST(SOURCE_DATE)
AC_SUBST(ENABLE_REPRODUCIBLE_BUILD)
])
################################################################################
#
# Setup signing on macOS. This can either be setup to sign with a real identity
# and enabling the hardened runtime, or it can simply add the debug entitlement
# com.apple.security.get-task-allow without actually signing any binaries. The
# latter is needed to be able to debug processes and dump core files on modern
# versions of macOS. It can also be skipped completely.
#
# Check if codesign will run with the given parameters
# $1: Parameters to run with
# $2: Checking message
# Sets CODESIGN_SUCCESS=true/false
AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
[
PARAMS="$1"
MESSAGE="$2"
CODESIGN_TESTFILE="$CONFIGURESUPPORT_OUTPUTDIR/codesign-testfile"
$RM "$CODESIGN_TESTFILE"
$TOUCH "$CODESIGN_TESTFILE"
CODESIGN_SUCCESS=false
$CODESIGN $PARAMS "$CODESIGN_TESTFILE" 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
$RM "$CODESIGN_TESTFILE"
AC_MSG_CHECKING([$MESSAGE])
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
])
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s "$MACOSX_CODESIGN_IDENTITY" --option runtime],
[if codesign with hardened runtime is possible])
])
AC_DEFUN([JDKOPT_CHECK_CODESIGN_DEBUG],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s -], [if debug mode codesign is possible])
])
AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
[
ENABLE_CODESIGN=false
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$CODESIGN" != "x"; then
UTIL_ARG_WITH(NAME: macosx-codesign, TYPE: literal, OPTIONAL: true,
VALID_VALUES: [hardened debug auto], DEFAULT: auto,
ENABLED_DEFAULT: true,
CHECKING_MSG: [for macosx code signing mode],
DESC: [set the macosx code signing mode (hardened, debug, auto)]
)
MACOSX_CODESIGN_MODE=disabled
if test "x$MACOSX_CODESIGN_ENABLED" = "xtrue"; then
# Check for user provided code signing identity.
UTIL_ARG_WITH(NAME: macosx-codesign-identity, TYPE: string,
DEFAULT: openjdk_codesign, CHECK_VALUE: UTIL_CHECK_STRING_NON_EMPTY,
DESC: [specify the macosx code signing identity],
CHECKING_MSG: [for macosx code signing identity]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
if test "x$MACOSX_CODESIGN" = "xauto"; then
# Only try to default to hardened signing on release builds
if test "x$DEBUG_LEVEL" = "xrelease"; then
JDKOPT_CHECK_CODESIGN_HARDENED
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
MACOSX_CODESIGN_MODE=hardened
fi
fi
if test "x$MACOSX_CODESIGN_MODE" = "xdisabled"; then
JDKOPT_CHECK_CODESIGN_DEBUG
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
MACOSX_CODESIGN_MODE=debug
fi
fi
AC_MSG_CHECKING([for macosx code signing mode])
AC_MSG_RESULT([$MACOSX_CODESIGN_MODE])
elif test "x$MACOSX_CODESIGN" = "xhardened"; then
JDKOPT_CHECK_CODESIGN_HARDENED
if test "x$CODESIGN_SUCCESS" = "xfalse"; then
AC_MSG_ERROR([Signing with hardened runtime is not possible])
fi
MACOSX_CODESIGN_MODE=hardened
elif test "x$MACOSX_CODESIGN" = "xdebug"; then
JDKOPT_CHECK_CODESIGN_DEBUG
if test "x$CODESIGN_SUCCESS" = "xfalse"; then
AC_MSG_ERROR([Signing in debug mode is not possible])
fi
MACOSX_CODESIGN_MODE=debug
else
AC_MSG_ERROR([unknown value for --with-macosx-codesign: $MACOSX_CODESIGN])
fi
fi
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
AC_SUBST(MACOSX_CODESIGN_MODE)
fi
])

View File

@@ -0,0 +1,121 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup nvdacontrollerclient (The library for communication with
# NVDA - a screen reader for Microsoft Windows)
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_NVDACONTROLLERCLIENT], [
# To enable NVDA, user specifies neither --with-nvdacontrollerclient or
# a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)
AC_ARG_WITH(nvdacontrollerclient, [AS_HELP_STRING([--with-nvdacontrollerclient],
[specify prefix directory for the NVDA Controller Client library package
(expecting headers and libs under PATH/<target-arch>/)])])
AC_ARG_WITH(nvdacontrollerclient-include, [AS_HELP_STRING([--with-nvdacontrollerclient-include],
[specify directory for the NVDA Controller Client include files])])
AC_ARG_WITH(nvdacontrollerclient-lib, [AS_HELP_STRING([--with-nvdacontrollerclient-lib],
[specify directory for the NVDA Controller Client library])])
NVDACONTROLLERCLIENT_FOUND=no
NVDACONTROLLERCLIENT_LIB=
NVDACONTROLLERCLIENT_DLL=
NVDACONTROLLERCLIENT_CFLAGS=
if test "x${NEEDS_LIB_NVDACONTROLLERCLIENT}" = "xtrue" ; then
if (test "x${with_nvdacontrollerclient_include}" = "x" && test "x${with_nvdacontrollerclient_lib}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" = "x") ; then
AC_MSG_ERROR([Must specify both or neither of --with-nvdacontrollerclient-include and --with-nvdacontrollerclient-lib])
elif (test "x${with_nvdacontrollerclient}" != "x" && test "x${with_nvdacontrollerclient_include}" != "x") ; then
AC_MSG_ERROR([Must specify either --with-nvdacontrollerclient or a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)])
fi
if (test "x${with_nvdacontrollerclient}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" != "x") ; then
AC_MSG_CHECKING([for nvdacontrollerclient])
if test "x${OPENJDK_TARGET_OS}" != "xwindows" ; then
AC_MSG_ERROR([--with-nvdacontrollerclient[-*] flags are applicable only to Windows builds])
fi
if test "x${OPENJDK_TARGET_CPU_ARCH}" = "xaarch64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="arm64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient64"
NVDACONTROLLERCLIENT_ARCHDIR="x64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x32" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="x86"
else
AC_MSG_ERROR([The nvdacontrollerclient library exists only for x86_32, x86_64, AArch64 architectures])
fi
if test "x${with_nvdacontrollerclient}" != "x" ; then
# NVDACONTROLLERCLIENT_ARCHDIR is used only here
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
else
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient_include}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient_lib}"
fi
POTENTIAL_NVDACONTROLLERCLIENT_DLL="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll"
POTENTIAL_NVDACONTROLLERCLIENT_LIB="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib"
POTENTIAL_NVDACONTROLLERCLIENT_EXP="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp"
if ! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_DLL}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_LIB}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_EXP}" ; then
AC_MSG_ERROR([Could not find ${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp inside ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
if ! test -s "${NVDACONTROLLERCLIENT_INC_PATH}/nvdaController.h" ; then
AC_MSG_ERROR([Could not find the header file nvdaController.h inside ${NVDACONTROLLERCLIENT_INC_PATH}])
fi
NVDACONTROLLERCLIENT_CFLAGS="-I${NVDACONTROLLERCLIENT_INC_PATH}"
NVDACONTROLLERCLIENT_DLL="${POTENTIAL_NVDACONTROLLERCLIENT_DLL}"
NVDACONTROLLERCLIENT_LIB="${POTENTIAL_NVDACONTROLLERCLIENT_LIB}"
NVDACONTROLLERCLIENT_FOUND=yes
AC_MSG_RESULT([includes at ${NVDACONTROLLERCLIENT_INC_PATH} ; binaries at ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
elif test "x${with_nvdacontrollerclient}" != "x" || \
test "x${with_nvdacontrollerclient_include}" != "x" || test "x${with_nvdacontrollerclient_lib}" != "x" ; then
AC_MSG_WARN([[nvdacontrollerclient is not used, so --with-nvdacontrollerclient[-*] is ignored]])
fi
if test "x${NVDACONTROLLERCLIENT_FOUND}" = "xyes" ; then
A11Y_NVDA_ANNOUNCING_ENABLED=true
else
A11Y_NVDA_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_NVDA_ANNOUNCING_ENABLED)
AC_SUBST(NVDACONTROLLERCLIENT_CFLAGS)
AC_SUBST(NVDACONTROLLERCLIENT_DLL)
AC_SUBST(NVDACONTROLLERCLIENT_LIB)
])

View File

@@ -0,0 +1,92 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup speechd
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SPEECHD],
[
AC_ARG_WITH(speechd, [AS_HELP_STRING([--with-speechd],
[specify prefix directory for the libspeechd package
(expecting the headers under PATH/include); required for AccessibleAnnouncer to work])])
AC_ARG_WITH(speechd-include, [AS_HELP_STRING([--with-speechd-include],
[specify directory for the speechd include files])])
if test "x$NEEDS_LIB_SPEECHD" = xfalse || test "x${with_speechd}" = xno || \
test "x${with_speechd_include}" = xno; then
if (test "x${with_speechd}" != x && test "x${with_speechd}" != xno) || \
(test "x${with_speechd_include}" != x && test "x${with_speechd_include}" != xno); then
AC_MSG_WARN([[speechd not used, so --with-speechd[-*] is ignored]])
fi
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
SPEECHD_CFLAGS=
SPEECHD_LIBS=
else
SPEECHD_FOUND=no
if test "x${with_speechd}" != x && test "x${with_speechd}" != xyes; then
AC_MSG_CHECKING([for speechd header and library])
if test -s "${with_speechd}/include/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd}/include"
SPEECHD_LIBS="-L${with_speechd}/lib -lspeechd"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd option.])
fi
fi
if test "x${with_speechd_include}" != x; then
AC_MSG_CHECKING([for speechd headers])
if test -s "${with_speechd_include}/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd_include}"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd-include option.])
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
# Are the libspeechd headers installed in the default /usr/include location?
AC_CHECK_HEADERS([libspeechd.h],
[ SPEECHD_FOUND=yes ],
[ SPEECHD_FOUND=no; break ]
)
if test "x$SPEECHD_FOUND" = xyes; then
SPEECHD_CFLAGS=
SPEECHD_LIBS="-lspeechd"
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
else
A11Y_SPEECHD_ANNOUNCING_ENABLED=true
fi
fi
AC_SUBST(A11Y_SPEECHD_ANNOUNCING_ENABLED)
AC_SUBST(SPEECHD_CFLAGS)
AC_SUBST(SPEECHD_LIBS)
])

View File

@@ -32,6 +32,8 @@ m4_include([lib-freetype.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -43,12 +45,15 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
# No X11 support needed when building headless only
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
else
# All other instances need X11
NEEDS_LIB_X11=true
NEEDS_LIB_SPEECHD=true
fi
# Check if fontconfig is needed
@@ -87,6 +92,13 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
else
NEEDS_LIB_FFI=false
fi
# Check if nvdacontrollerclient is needed
if test "x$OPENJDK_TARGET_OS" = xwindows && test "x$ENABLE_HEADLESS_ONLY" != xtrue; then
NEEDS_LIB_NVDACONTROLLERCLIENT=true
else
NEEDS_LIB_NVDACONTROLLERCLIENT=false
fi
])
################################################################################
@@ -103,6 +115,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_LIBFFI
LIB_SETUP_BUNDLED_LIBS
LIB_SETUP_MISC_LIBS
LIB_SETUP_SPEECHD
LIB_SETUP_NVDACONTROLLERCLIENT
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""

View File

@@ -447,12 +447,27 @@ endif
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
# Linux speechd a11y announcer
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
SPEECHD_LIBS:=@SPEECHD_LIBS@
# Windows NVDA a11y announcer
A11Y_NVDA_ANNOUNCING_ENABLED:=@A11Y_NVDA_ANNOUNCING_ENABLED@
NVDACONTROLLERCLIENT_CFLAGS:=@NVDACONTROLLERCLIENT_CFLAGS@
NVDACONTROLLERCLIENT_DLL:=@NVDACONTROLLERCLIENT_DLL@
NVDACONTROLLERCLIENT_LIB:=@NVDACONTROLLERCLIENT_LIB@
# Windows the client for the JAWS screen reader
A11Y_JAWS_ANNOUNCING_ENABLED:=@A11Y_JAWS_ANNOUNCING_ENABLED@
# The lowest required version of macosx
MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
# The highest allowed version of macosx
MACOSX_VERSION_MAX=@MACOSX_VERSION_MAX@
# The macosx code signing identity to use
# The macosx code signing configuration
MACOSX_CODESIGN_MODE:=@MACOSX_CODESIGN_MODE@
MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@
# Toolchain type: gcc, clang, xlc, microsoft...

View File

@@ -328,12 +328,12 @@ AC_DEFUN([UTIL_ALIASED_ARG_ENABLE],
# Creates a command-line option using the --enable-* pattern. Will return a
# value of 'true' or 'false' in the RESULT variable, depending on whether the
# option was enabled or not by the user. The option can not be turned on if it
# is not available, as specified by AVAILABLE and/or AVAILABLE_CHECK.
# is not available, as specified by AVAILABLE and/or CHECK_AVAILABLE.
#
# Arguments:
# NAME: The base name of this option (i.e. what follows --enable-). Required.
# RESULT: The name of the variable to set to the result. Defaults to
# <NAME in uppercase>_RESULT.
# <NAME in uppercase>_ENABLED.
# DEFAULT: The default value for this option. Can be true, false or auto.
# Defaults to true.
# AVAILABLE: If true, this option is allowed to be selected. Defaults to true.
@@ -379,7 +379,7 @@ UTIL_DEFUN_NAMED([UTIL_ARG_ENABLE],
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Enable the ARG_NAME feature], m4_normalize(ARG_DESC)))
# If CHECKING_MSG is not specified, set it to a generic description.
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --enable-ARG_NAME], ARG_CHECKING_MSG))
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --enable-ARG_NAME], m4_normalize(ARG_CHECKING_MSG)))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
@@ -466,3 +466,351 @@ UTIL_DEFUN_NAMED([UTIL_ARG_ENABLE],
fi
])
###############################################################################
# Helper functions for ARG_WITH, to validate different types of argument
# Dispatcher to call the correct UTIL_CHECK_TYPE_* function depending on the ARG_TYPE
AC_DEFUN([UTIL_CHECK_TYPE],
[
UTIL_CHECK_TYPE_$1($2)
])
AC_DEFUN([UTIL_CHECK_TYPE_string],
[
# All strings always passes
])
AC_DEFUN([UTIL_CHECK_TYPE_integer],
[
# Check that the argument is an integer
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ ! "$1" =~ ^[0-9]+$ ]] ; then ]
FAILURE="Not an integer: $1"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_file],
[
# Check that the argument is an existing file
if test ! -f "$1" ; then
FAILURE="File $1 does not exist or is not readable"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_directory],
[
# Check that the argument is an existing directory
if test ! -d "$1" ; then
FAILURE="Directory $1 does not exist or is not readable"
fi
if test "[x]ARG_CHECK_FOR_FILES" != x; then
for file in ARG_CHECK_FOR_FILES; do
found_files=$($ECHO $(ls $1/$file 2> /dev/null))
if test "x$found_files" = x; then
FAILURE="Directory $1 does not contain $file"
break
elif ! test -e "$found_files"; then
FAILURE="Directory $1 contains multiple $file: $found_files"
break
fi
done
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_literal],
[
# Check if it contains a space between non-space characters
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ "$1" =~ [^' ']' '+[^' '] ]] ; then ]
FAILURE="Multiple words: $1"
fi
# Check that the selected variants are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_value, $1, \
ARG_VALID_VALUES)
if test "x$invalid_value" != x; then
FAILURE="Invalid value: $invalid_value. Valid values are: ARG_VALID_VALUES"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_multivalue],
[
# We accept either space or comma as separator, but use space internally
values=`$ECHO $1 | $SED -e 's/,/ /g'`
# Check that the selected variants are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_value, $values, \
ARG_VALID_VALUES)
if test "x$invalid_value" != x; then
FAILURE="Invalid value(s): $invalid_value. Valid values are: ARG_VALID_VALUES"
fi
# Update to version without comma
ARG_RESULT=$($ECHO $values)
])
AC_DEFUN([UTIL_CHECK_TYPE_features],
[
# We accept either space or comma as separator, but use space internally
feature_list=`$ECHO $1 | $SED -e 's/,/ /g'`
features_enabled=`$ECHO $feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
features_disabled=`$ECHO $feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Check that the selected features are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_features, $features_enabled \
$features_disabled, ARG_VALID_VALUES)
if test "x$invalid_features" != x; then
FAILURE="Invalid feature(s): $invalid_features. Valid values are: ARG_VALID_VALUES"
fi
# Update to version without comma
ARG_RESULT=$($ECHO $feature_list)
])
###############################################################################
# Creates a command-line option using the --with-* pattern. Will return a
# string in the RESULT variable with the option provided by the user, or the
# empty string if the --with-* option was not given. The option can not be given
# if it is not available, as specified by AVAILABLE and/or CHECK_AVAILABLE.
#
# Arguments:
# NAME: The base name of this option (i.e. what follows --with-). Required.
# TYPE: The type of the value. Can be one of "string", "integer", "file",
# "directory", "literal", "multivalue" or "features". Required.
# DEFAULT: The default value for this option. Can be any valid string.
# Required.
# OPTIONAL: If this feature can be disabled. Defaults to false. If true,
# the feature can be disabled using --without-FOO, --with-FOO=no, or
# --with-FOO=. Check the ENABLED_RESULT variable for the enabled/disabled
# state.
# RESULT: The name of the variable to set to the result. Defaults to
# <NAME in uppercase>. Set to empty if ENABLED_RESULT is false.
# ENABLED_DEFAULT: If the value is enabled by default. Defaults to false. Only
# relevant if OPTIONAL is true.
# ENABLED_RESULT: The name of the variable to set to the enabled/disabled
# result state. Defaults to <NAME in uppercase>_ENABLED.
# AVAILABLE: If true, this option is allowed to be selected. Defaults to true.
# DESC: A description of this option. Defaults to a generic and unhelpful
# string.
# DEFAULT_DESC: A message describing the default value, for the help. Defaults
# to the literal value of DEFAULT, or "<none>" if DEFAULT is empty.
# CHECKING_MSG: The message to present to user when checking this option.
# Defaults to a generic message.
# CHECK_AVAILABLE: An optional code block to execute to determine if the
# option should be available. Must set AVAILABLE to 'false' if not.
# VALID_VALUES: A list of literals that are the allowed values. Only valid if
# TYPE is "literal", "multivalue" or "features".
# CHECK_VALUE: An optional code block to execute to determine if the value
# is correct. Must set FAILURE to a non-empty string if not. This string
# will be displayed. The value is given in $RESULT.
# CHECK_FOR_FILES: A list of files to verify the presence for. Only valid if
# TYPE is "directory". Paths are relative the directory given as value.
# Wildcards are accepted. Exactly one matching file must be found, for each
# listed file, or FAILURE is set.
# IF_AUTO: An optional code block to execute if the value is "auto", either by
# default or given by the command line. Must set RESULT to the calculated
# value.
# IF_GIVEN: An optional code block to execute if the option was given on the
# command line (regardless of the value).
# IF_NOT_GIVEN: An optional code block to execute if the option was not given
# on the command line (regardless of the value).
#
UTIL_DEFUN_NAMED([UTIL_ARG_WITH],
[*NAME *TYPE *DEFAULT OPTIONAL RESULT ENABLED_DEFAULT ENABLED_RESULT
AVAILABLE DESC DEFAULT_DESC CHECKING_MSG CHECK_AVAILABLE VALID_VALUES
CHECK_VALUE CHECK_FOR_FILES IF_AUTO IF_GIVEN IF_NOT_GIVEN], [$@],
[
##########################
# Part 1: Set up m4 macros
##########################
# If ENABLED_DEFAULT is not specified, set it to 'false'.
m4_define([ARG_ENABLED_DEFAULT], m4_if(ARG_ENABLED_DEFAULT, , false, ARG_ENABLED_DEFAULT))
# If AVAILABLE is not specified, set it to 'true'.
m4_define([ARG_AVAILABLE], m4_if(ARG_AVAILABLE, , true, ARG_AVAILABLE))
# If OPTIONAL is not specified, set it to 'false'.
m4_define([ARG_OPTIONAL], m4_if(ARG_OPTIONAL, , false, ARG_OPTIONAL))
# If DEFAULT_DESC is not specified, calculate it from DEFAULT.
m4_define([ARG_DEFAULT_DESC], m4_if(ARG_DEFAULT_DESC, , m4_if(ARG_DEFAULT, , <none>, ARG_DEFAULT), ARG_DEFAULT_DESC))
# If RESULT is not specified, set it to 'ARG_NAME'.
m4_define([ARG_RESULT], m4_if(ARG_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_]), ARG_RESULT))
# If ENABLED_RESULT is not specified, set it to 'ARG_NAME[_ENABLED]'.
m4_define([ARG_ENABLED_RESULT], m4_if(ARG_ENABLED_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_])[_ENABLED], ARG_ENABLED_RESULT))
# Construct shell variable names for the option
m4_define(ARG_OPTION, [with_]m4_translit(ARG_NAME, [-], [_]))
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
# If DESC is not specified, set it to a generic description.
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Give a value for the ARG_NAME feature], m4_normalize(ARG_DESC)))
# If CHECKING_MSG is not specified, set it to a generic description.
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --with-ARG_NAME], m4_normalize(ARG_CHECKING_MSG)))
m4_define([ARG_HAS_AUTO_BLOCK], m4_if(ARG_IF_AUTO, , false, true))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
m4_define([ARG_CHECK_AVAILABLE], m4_if(ARG_CHECK_AVAILABLE, , :, ARG_CHECK_AVAILABLE))
m4_define([ARG_CHECK_VALUE], m4_if(ARG_CHECK_VALUE, , :, ARG_CHECK_VALUE))
m4_define([ARG_CHECK_FOR_FILES], m4_if(ARG_CHECK_FOR_FILES, , :, ARG_CHECK_FOR_FILES))
m4_define([ARG_IF_AUTO], m4_if(ARG_IF_AUTO, , :, ARG_IF_AUTO))
m4_define([ARG_IF_GIVEN], m4_if(ARG_IF_GIVEN, , :, ARG_IF_GIVEN))
m4_define([ARG_IF_NOT_GIVEN], m4_if(ARG_IF_NOT_GIVEN, , :, ARG_IF_NOT_GIVEN))
##########################
# Part 2: Set up autoconf shell code
##########################
# Check that OPTIONAL has a valid value
if test "[x]ARG_OPTIONAL" != xtrue && test "[x]ARG_OPTIONAL" != xfalse ; then
AC_MSG_ERROR([Internal error: Argument OPTIONAL to [UTIL_ARG_WITH] can only be true or false, was: 'ARG_OPTIONAL'])
fi
# Check that ENABLED_DEFAULT has a valid value
if test "[x]ARG_ENABLED_DEFAULT" != xtrue && test "[x]ARG_ENABLED_DEFAULT" != xfalse ; then
AC_MSG_ERROR([Internal error: Argument ENABLED_DEFAULT to [UTIL_ARG_WITH] can only be true or false, was: 'ARG_ENABLED_DEFAULT'])
fi
# Check that AVAILABLE has a valid value
if test "[x]ARG_AVAILABLE" != xtrue && test "[x]ARG_AVAILABLE" != xfalse; then
AC_MSG_ERROR([Internal error: Argument AVAILABLE to [UTIL_ARG_WITH] can only be true or false, was: 'ARG_AVAILABLE'])
fi
# Check that TYPE has a valid value
# Need to assign since we can't expand ARG TYPE inside the m4 quoted if statement
TEST_TYPE="ARG_TYPE"
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ ! "$TEST_TYPE" =~ ^(string|integer|file|directory|literal|multivalue|features)$ ]] ; then ]
AC_MSG_ERROR([Internal error: Argument TYPE to [UTIL_ARG_WITH] must be a valid type, was: 'ARG_TYPE'])
fi
AC_ARG_WITH(ARG_NAME, AS_HELP_STRING([--with-]ARG_NAME,
[ARG_DESC [ARG_DEFAULT_DESC]]), [ARG_GIVEN=true], [ARG_GIVEN=false])
# Check if the option is available
AVAILABLE=ARG_AVAILABLE
# Run the available check block (if any), which can overwrite AVAILABLE.
ARG_CHECK_AVAILABLE
# Check if the option should be turned on
echo check msg:ARG_CHECKING_MSG:
AC_MSG_CHECKING(ARG_CHECKING_MSG)
if test x$AVAILABLE = xfalse; then
ARG_RESULT="$ARG_OPTION"
ARG_ENABLED_RESULT=false
REASON="not available"
else
if test x$ARG_GIVEN = xfalse; then
ARG_RESULT="ARG_DEFAULT"
if test "[x]ARG_OPTIONAL" = xtrue; then
ARG_ENABLED_RESULT=ARG_ENABLED_DEFAULT
else
ARG_ENABLED_RESULT=true
fi
REASON="default"
else # ARG_GIVEN is true
# Special treatment of "yes" and "no" for "--with-ARG" and "--without-ARG"
if test "x$ARG_OPTION" = xyes || test "x$ARG_OPTION" = xno || test "x$ARG_OPTION" = x ; then
if test "[x]ARG_OPTIONAL" = xfalse; then
if test "x$ARG_OPTION" = x; then
# If not optional, the empty string is a valid value
ARG_RESULT=""
ARG_ENABLED_RESULT=true
REASON="from command line"
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([Option [--with-]ARG_NAME must have a specified value])
fi
else
if test "x$ARG_OPTION" = xyes; then
ARG_RESULT="ARG_DEFAULT"
ARG_ENABLED_RESULT=true
REASON="default as enabled from command line"
else
# For optional values, both --without-FOO and --with-FOO= disables
ARG_RESULT=""
ARG_ENABLED_RESULT=false
REASON="from command line"
fi
fi
else
# The most common case -- the user gives a value for the option.
ARG_RESULT="$ARG_OPTION"
ARG_ENABLED_RESULT=true
REASON="from command line"
fi
fi
fi
if test "x$ARG_ENABLED_RESULT" = xfalse; then
if test "x$REASON" = "xnot available"; then
AC_MSG_RESULT([<invalid>, $REASON])
if test "x$ARG_RESULT" != "x" && test "x$ARG_RESULT" != "xno" ; then
AC_MSG_WARN([Option [--with-]ARG_NAME is not available for this configuration])
fi
else
AC_MSG_RESULT([<disabled>, $REASON])
fi
ARG_RESULT=""
else
if test [x]ARG_HAS_AUTO_BLOCK = xtrue && test "x$ARG_RESULT" = xauto; then
# Execute "auto" payload
ARG_IF_AUTO
ARG_RESULT="$RESULT"
REASON="$REASON (calculated from 'auto')"
fi
if test "x$ARG_RESULT" = x; then
AC_MSG_RESULT([<none>, $REASON])
else
AC_MSG_RESULT([$ARG_RESULT, $REASON])
fi
fi
# Verify value
# First use our dispatcher to verify that type requirements are satisfied
UTIL_CHECK_TYPE(ARG_TYPE, $ARG_RESULT)
if test "x$FAILURE" = x; then
# Execute custom verification payload, if present
RESULT="$ARG_RESULT"
ARG_CHECK_VALUE
ARG_RESULT="$RESULT"
fi
if test "x$FAILURE" != x; then
AC_MSG_NOTICE([Invalid value for [--with-]ARG_NAME: "$ARG_RESULT"])
AC_MSG_NOTICE([$FAILURE])
AC_MSG_ERROR([Cannot continue])
fi
# Execute result payloads, if present
if test x$ARG_GIVEN = xtrue; then
ARG_IF_GIVEN
else
ARG_IF_NOT_GIVEN
fi
])
###############################################################################
# Helper functions for CHECK_VALUE in ARG_WITH.
AC_DEFUN([UTIL_CHECK_STRING_NON_EMPTY],
[
if test "x$RESULT" = "x"; then
FAILURE="Value cannot be empty"
fi
])

View File

@@ -267,10 +267,15 @@ endif
# specialized file is found, returns the default file.
# $1 Executable to find entitlements file for.
ENTITLEMENTS_DIR := $(TOPDIR)/make/data/macosxsigning
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default.plist
ifeq ($(MACOSX_CODESIGN_MODE), debug)
CODESIGN_PLIST_SUFFIX := -debug
else
CODESIGN_PLIST_SUFFIX :=
endif
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default$(CODESIGN_PLIST_SUFFIX).plist
GetEntitlementsFile = \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1)).plist, \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1))$(CODESIGN_PLIST_SUFFIX).plist, \
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
)
@@ -1206,11 +1211,16 @@ define SetupNativeCompilationBody
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
endif
endif
# This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise.
ifneq ($(CODESIGN), )
# On macosx, optionally run codesign on every binary.
# Remove signature explicitly first to avoid warnings if the linker
# added a default adhoc signature.
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $$(call GetEntitlementsFile, $$@) $$@
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s - --entitlements $$(call GetEntitlementsFile, $$@) $$@
endif
endif

View File

@@ -44,7 +44,6 @@ endif
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/launcher \
-I$(TOPDIR)/src/java.desktop/share/native/include \
-I$(TOPDIR)/src/java.base/share/native/libjli \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \

View File

@@ -564,7 +564,7 @@ var getJibProfilesProfiles = function (input, common, data) {
"ANT_HOME": input.get("ant", "home_path")
}
};
[ "linux-x64", "macosx-x64", "windows-x64"]
[ "linux-x64", "macosx-aarch64", "macosx-x64", "windows-x64", "linux-aarch64"]
.forEach(function (name) {
var maketestName = name + "-testmake";
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=17
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=5
DEFAULT_VERSION_UPDATE=6
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2022-10-18
DEFAULT_VERSION_DATE=2023-01-17
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11

View File

@@ -4,7 +4,9 @@
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or

View File

@@ -279,6 +279,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="mwblz" description="Blantyre, Malawi" alias="Africa/Blantyre"/>
<type name="mxchi" description="Chihuahua, Mexico" alias="America/Chihuahua"/>
<type name="mxcun" description="Cancún, Mexico" alias="America/Cancun"/>
<type name="mxcjs" description="Ciudad Juárez, Mexico" alias="America/Ciudad_Juarez"/>
<type name="mxhmo" description="Hermosillo, Mexico" alias="America/Hermosillo"/>
<type name="mxmam" description="Matamoros, Mexico" alias="America/Matamoros"/>
<type name="mxmex" description="Mexico City, Mexico" alias="America/Mexico_City Mexico/General"/>
@@ -393,7 +394,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<type name="tvfun" description="Funafuti, Tuvalu" alias="Pacific/Funafuti"/>
<type name="twtpe" description="Taipei, Taiwan" alias="Asia/Taipei ROC"/>
<type name="tzdar" description="Dar es Salaam, Tanzania" alias="Africa/Dar_es_Salaam"/>
<type name="uaiev" description="Kiev, Ukraine" alias="Europe/Kiev"/>
<type name="uaiev" description="Kyiv, Ukraine" alias="Europe/Kiev Europe/Kyiv"/>
<type name="uaozh" description="Zaporizhia (Zaporozhye), Ukraine" alias="Europe/Zaporozhye"/>
<type name="uasip" description="Simferopol, Ukraine" alias="Europe/Simferopol"/>
<type name="uauzh" description="Uzhhorod (Uzhgorod), Ukraine" alias="Europe/Uzhgorod"/>

View File

@@ -1019,11 +1019,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
<decimalFormats numberSystem="latn">
<decimalFormatLength type="long">
<decimalFormat>
<pattern type="1000000000000" count="one">0 billón</pattern>
<pattern type="1000000000000" count="other">0 billón</pattern>
<pattern type="10000000000000" count="one">00 billones</pattern>
<pattern type="10000000000000" count="other">00 billones</pattern>
<pattern type="100000000000000" count="one">000 billones</pattern>
<pattern type="100000000000000" count="other">000 billones</pattern>
</decimalFormat>
</decimalFormatLength>

View File

@@ -713,11 +713,8 @@ CLDR data files are interpreted according to the LDML specification (http://unic
<decimalFormats numberSystem="latn">
<decimalFormatLength type="long">
<decimalFormat>
<pattern type="1000000000000" count="one">0 billón</pattern>
<pattern type="1000000000000" count="other">0 billones</pattern>
<pattern type="10000000000000" count="one">00 billones</pattern>
<pattern type="10000000000000" count="other">00 billones</pattern>
<pattern type="100000000000000" count="one">000 billones</pattern>
<pattern type="100000000000000" count="other">000 billones</pattern>
</decimalFormat>
</decimalFormatLength>

View File

@@ -2932,6 +2932,18 @@ for derived annotations.
<zone type="Asia/Saigon">
<exemplarCity>Ho Chi Minh</exemplarCity>
</zone>
<zone type="America/Bahia_Banderas">
<exemplarCity>Bahía de Banderas</exemplarCity>
</zone>
<zone type="America/Cancun">
<exemplarCity>Cancún</exemplarCity>
</zone>
<zone type="America/Ciudad_Juarez">
<exemplarCity>Ciudad Juárez</exemplarCity>
</zone>
<zone type="America/Merida">
<exemplarCity>Mérida</exemplarCity>
</zone>
</timeZoneNames>
</dates>
<numbers>

View File

@@ -331,7 +331,14 @@ For terms of use, see http://www.unicode.org/copyright.html
</timezone>
<timezone type="America/Chihuahua">
<usesMetazone to="1998-04-05 09:00" mzone="America_Central"/>
<usesMetazone from="1998-04-05 09:00" mzone="Mexico_Pacific"/>
<usesMetazone to="2022-10-30 08:00" from="1998-04-05 09:00" mzone="Mexico_Pacific"/>
<usesMetazone from="2022-10-30 08:00" mzone="America_Central"/>
</timezone>
<timezone type="America/Ciudad_Juarez">
<usesMetazone to="1998-04-05 09:00" mzone="America_Central"/>
<usesMetazone to="2022-10-30 08:00" from="1998-04-05 09:00" mzone="Mexico_Pacific"/>
<usesMetazone to="2022-11-30 06:00" from="2022-10-30 08:00" mzone="America_Central"/>
<usesMetazone from="2022-11-30 06:00" mzone="America_Mountain"/>
</timezone>
<timezone type="America/Coral_Harbour">
<usesMetazone mzone="America_Eastern"/>
@@ -618,14 +625,14 @@ For terms of use, see http://www.unicode.org/copyright.html
</timezone>
<timezone type="America/Ojinaga">
<usesMetazone to="1998-04-05 09:00" mzone="America_Central"/>
<usesMetazone from="1998-04-05 09:00" mzone="America_Mountain"/>
<usesMetazone to="2022-10-30 08:00" from="1998-04-05 09:00" mzone="America_Mountain"/>
<usesMetazone from="2022-10-30 08:00" mzone="America_Central"/>
</timezone>
<timezone type="America/Panama">
<usesMetazone mzone="America_Eastern"/>
</timezone>
<timezone type="America/Pangnirtung">
<usesMetazone to="1995-04-02 06:00" mzone="Atlantic"/>
<usesMetazone to="1999-10-31 06:00" from="1995-04-02 06:00" mzone="America_Eastern"/>
<usesMetazone to="1999-10-31 06:00" mzone="America_Eastern"/>
<usesMetazone to="2000-10-29 07:00" from="1999-10-31 06:00" mzone="America_Central"/>
<usesMetazone from="2000-10-29 07:00" mzone="America_Eastern"/>
</timezone>

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=172
dataVersion=174
# List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes.
@@ -189,7 +189,7 @@ CR=CRC
# COTE D'IVOIRE
CI=XOF
# CROATIA
HR=HRK
HR=HRK;2022-12-31-23-00-00;EUR
# CUBA
CU=CUP
# Cura\u00e7ao

View File

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

View File

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

View File

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

View File

@@ -120,22 +120,6 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16
0:00 Algeria WE%sT 1981 May
1:00 - CET
# Angola
# Benin
# See Africa/Lagos.
# Botswana
# See Africa/Maputo.
# Burkina Faso
# See Africa/Abidjan.
# Burundi
# See Africa/Maputo.
# Cameroon
# See Africa/Lagos.
# Cape Verde / Cabo Verde
#
# From Paul Eggert (2018-02-16):
@@ -150,9 +134,6 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
-2:00 - -02 1975 Nov 25 2:00
-1:00 - -01
# Central African Republic
# See Africa/Lagos.
# Chad
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
@@ -160,33 +141,29 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
1:00 1:00 WAST 1980 Mar 8
1:00 - WAT
# Comoros
# See Africa/Nairobi.
# Burkina Faso
# Côte d'Ivoire (Ivory Coast)
# The Gambia
# Ghana
# Guinea
# Iceland
# Mali
# Mauritania
# St Helena
# Senegal
# Sierra Leone
# Togo
# Democratic Republic of the Congo
# See Africa/Lagos for the western part and Africa/Maputo for the eastern.
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
# Ascension: on GMT, say the USNO (1995-12-21) and the CIA
# Gough (scientific station since 1955; sealers wintered previously):
# on GMT, says the CIA
# Inaccessible, Nightingale: uninhabited
# Republic of the Congo
# See Africa/Lagos.
# Côte d'Ivoire / Ivory Coast
# 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 # The Gambia
Link Africa/Abidjan Africa/Conakry # Guinea
Link Africa/Abidjan Africa/Dakar # Senegal
Link Africa/Abidjan Africa/Freetown # Sierra Leone
Link Africa/Abidjan Africa/Lome # Togo
Link Africa/Abidjan Africa/Nouakchott # Mauritania
Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso
Link Africa/Abidjan Atlantic/Reykjavik # Iceland
Link Africa/Abidjan Atlantic/St_Helena # St Helena
# Djibouti
# See Africa/Nairobi.
###############################################################################
@@ -382,33 +359,6 @@ Rule Egypt 2014 only - Sep lastThu 24:00 0 -
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
2:00 Egypt EE%sT
# Equatorial Guinea
# See Africa/Lagos.
# Eritrea
# See Africa/Nairobi.
# Eswatini (formerly Swaziland)
# See Africa/Johannesburg.
# Ethiopia
# See Africa/Nairobi.
#
# Unfortunately tzdb records only Western clock time in use in Ethiopia,
# as the tzdb format is not up to properly recording a common Ethiopian
# timekeeping practice that is based on solar time. See:
# Mortada D. If you have a meeting in Ethiopia, you'd better double
# check the time. PRI's The World. 2015-01-30 15:15 -05.
# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time
# Gabon
# See Africa/Lagos.
# The Gambia
# Ghana
# Guinea
# See Africa/Abidjan.
# Guinea-Bissau
#
# From Paul Eggert (2018-02-16):
@@ -421,7 +371,16 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
-1:00 - -01 1975
0:00 - GMT
# Comoros
# Djibouti
# Eritrea
# Ethiopia
# Kenya
# Madagascar
# Mayotte
# Somalia
# Tanzania
# Uganda
# From P Chan (2020-10-24):
#
@@ -464,6 +423,14 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
# The 1908-05-01 announcement does not give an effective date,
# so just say "1908 May".
# From Paul Eggert (2018-09-11):
# Unfortunately tzdb records only Western clock time in use in Ethiopia,
# as the tzdb format is not up to properly recording a common Ethiopian
# timekeeping practice that is based on solar time. See:
# Mortada D. If you have a meeting in Ethiopia, you'd better double
# check the time. PRI's The World. 2015-01-30 15:15 -05.
# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1928 Jun 30 24:00
@@ -471,18 +438,6 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1936 Dec 31 24:00
2:45 - +0245 1942 Jul 31 24:00
3:00 - EAT
Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia
Link Africa/Nairobi Africa/Asmara # Eritrea
Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania
Link Africa/Nairobi Africa/Djibouti
Link Africa/Nairobi Africa/Kampala # Uganda
Link Africa/Nairobi Africa/Mogadishu # Somalia
Link Africa/Nairobi Indian/Antananarivo # Madagascar
Link Africa/Nairobi Indian/Comoro
Link Africa/Nairobi Indian/Mayotte
# Lesotho
# See Africa/Johannesburg.
# Liberia
#
@@ -563,16 +518,6 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 2013 Oct 25 2:00
2:00 - EET
# Madagascar
# See Africa/Nairobi.
# Malawi
# See Africa/Maputo.
# Mali
# Mauritania
# See Africa/Abidjan.
# Mauritius
# From Steffen Thorsen (2008-06-25):
@@ -666,8 +611,6 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius
# Mayotte
# See Africa/Nairobi.
# Morocco
# See Africa/Ceuta for Spanish Morocco.
@@ -1160,7 +1103,14 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
# Botswana
# Burundi
# Democratic Republic of the Congo (eastern)
# Malawi
# Mozambique
# Rwanda
# Zambia
# Zimbabwe
#
# Shanks gives 1903-03-01 for the transition to CAT.
# Perhaps the 1911-05-26 Portuguese decree
@@ -1170,14 +1120,6 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
Link Africa/Maputo Africa/Blantyre # Malawi
Link Africa/Maputo Africa/Bujumbura # Burundi
Link Africa/Maputo Africa/Gaborone # Botswana
Link Africa/Maputo Africa/Harare # Zimbabwe
Link Africa/Maputo Africa/Kigali # Rwanda
Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo
Link Africa/Maputo Africa/Lusaka # Zambia
# Namibia
@@ -1256,9 +1198,16 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# 2:00 - CAT
# End of rearguard section.
# Niger
# See Africa/Lagos.
# Angola
# Benin
# Cameroon
# Central African Republic
# Democratic Republic of the Congo (western)
# Republic of the Congo
# Equatorial Guinea
# Gabon
# Niger
# Nigeria
# From P Chan (2020-12-03):
@@ -1324,32 +1273,6 @@ 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
# Réunion
# See Asia/Dubai.
#
# The Crozet Islands also observe Réunion time; see the 'antarctica' file.
# Rwanda
# See Africa/Maputo.
# St Helena
# See Africa/Abidjan.
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
# Ascension: on GMT, say the USNO (1995-12-21) and the CIA
# Gough (scientific station since 1955; sealers wintered previously):
# on GMT, says the CIA
# Inaccessible, Nightingale: uninhabited
# São Tomé and Príncipe
@@ -1378,19 +1301,10 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884
1:00 - WAT 2019 Jan 1 02:00
0:00 - GMT
# Senegal
# See Africa/Abidjan.
# Seychelles
# See Asia/Dubai.
# Sierra Leone
# See Africa/Abidjan.
# Somalia
# See Africa/Nairobi.
# Eswatini (Swaziland)
# Lesotho
# South Africa
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
@@ -1398,8 +1312,6 @@ 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
#
# Marion and Prince Edward Is
# scientific station since 1947
@@ -1448,12 +1360,6 @@ Zone Africa/Juba 2:06:28 - LMT 1931
3:00 - EAT 2021 Feb 1 00:00
2:00 - CAT
# Tanzania
# See Africa/Nairobi.
# Togo
# See Africa/Abidjan.
# Tunisia
# From Gwillim Law (2005-04-30):
@@ -1551,10 +1457,3 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
# Uganda
# See Africa/Nairobi.
# Zambia
# Zimbabwe
# See Africa/Maputo.

View File

@@ -329,4 +329,4 @@ Zone Antarctica/Rothera 0 - -00 1976 Dec 1
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
# See 'australasia' for Antarctica/McMurdo.
# See Pacific/Auckland.

View File

@@ -172,9 +172,6 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2
4:00 EUAsia +04/+05 1997
4:00 Azer +04/+05
# Bahrain
# See Asia/Qatar.
# Bangladesh
# From Alexander Krivenyshev (2009-05-13):
# According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce
@@ -277,10 +274,8 @@ Zone Indian/Chagos 4:49:40 - LMT 1907
5:00 - +05 1996
6:00 - +06
# Brunei
# See Asia/Kuching.
# Burma / Myanmar
# Cocos (Keeling) Islands
# Myanmar (Burma)
# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon.
@@ -296,11 +291,6 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
6:30 - +0630 1942 May
9:00 - +09 1945 May 3
6:30 - +0630
Link Asia/Yangon Indian/Cocos
# Cambodia
# See Asia/Bangkok.
# China
@@ -688,10 +678,9 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
8:00 PRC C%sT
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
# Vostok base in Antarctica matches this since 1970.
Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06
Link Asia/Urumqi Antarctica/Vostok
# Hong Kong
@@ -1195,10 +1184,6 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
3:00 - +03 2017 Oct 29 1:00u
2:00 EUAsia EE%sT
# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
# Georgia
# From Paul Eggert (1994-11-19):
# Today's _Economist_ (p 60) reports that Georgia moved its clocks forward
@@ -2254,6 +2239,17 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
# 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.
# From Issam Al-Zuwairi (2022-10-05):
# The Council of Ministers in Jordan decided Wednesday 5th October 2022,
# that daylight saving time (DST) will be throughout the year....
#
# From Brian Inglis (2022-10-06):
# https://petra.gov.jo/Include/InnerPage.jsp?ID=45567&lang=en&name=en_news
#
# From Paul Eggert (2022-10-05):
# Like Syria, model this as a transition from EEST +03 (DST) to plain +03
# (non-DST) at the point where DST would otherwise have ended.
# 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 -
@@ -2285,11 +2281,12 @@ 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 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
Rule Jordan 2014 2022 - Oct lastFri 0:00s 0 -
Rule Jordan 2022 only - 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
2:00 Jordan EE%sT 2022 Oct 28 0:00s
3:00 - +03
# Kazakhstan
@@ -2715,14 +2712,6 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1
8:30 - KST 2018 May 4 23:30
9:00 - KST
###############################################################################
# Kuwait
# See Asia/Riyadh.
# Laos
# See Asia/Bangkok.
# Lebanon
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -2754,7 +2743,9 @@ Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
Zone Asia/Beirut 2:22:00 - LMT 1880
2:00 Lebanon EE%sT
# Malaysia
# Brunei
# Malaysia (eastern)
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 -
Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
@@ -2771,14 +2762,12 @@ Zone Asia/Kuching 7:21:20 - LMT 1926 Mar
8:00 NBorneo +08/+0820 1942 Feb 16
9:00 - +09 1945 Sep 12
8:00 - +08
Link Asia/Kuching Asia/Brunei
# Maldives
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé
4:54:00 - MMT 1960 # Malé Mean Time
5:00 - +05
Link Indian/Maldives Indian/Kerguelen
# Mongolia
@@ -2941,9 +2930,6 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
5:30 - +0530 1986
5:45 - +0545
# Oman
# See Asia/Dubai.
# Pakistan
# From Rives McDow (2002-03-13):
@@ -3398,10 +3384,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# The winter time in 2015 started on October 23 at 01:00.
# https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY
# http://www.palestinecabinet.gov.ps/portal/meeting/details/27583
#
# From Paul Eggert (2019-04-10):
# 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
@@ -3418,6 +3400,18 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Heba Hamad (2022-03-10):
# summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
# From Heba Hamad (2022-08-30):
# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by
# 60 minutes backwards. Also the state of Palestine adopted the summer
# and winter time for the years: 2023,2024,2025,2026 ...
# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf
# (2022-08-31): ... the Saturday before the last Sunday in March and October
# at 2:00 AM ,for the years from 2023 to 2026.
# (2022-09-05): https://mtit.pna.ps/Site/New/1453
#
# From Paul Eggert (2022-08-31):
# For now, assume that this rule will also be used after 2026.
# 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 -
@@ -3448,14 +3442,16 @@ Rule Palestine 2013 only - Sep 27 0:00 0 -
Rule Palestine 2014 only - Oct 24 0:00 0 -
Rule Palestine 2015 only - Mar 28 0:00 1:00 S
Rule Palestine 2015 only - Oct 23 1:00 0 -
Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S
Rule Palestine 2016 2018 - Oct Sat<=30 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 2021 - Mar Sat>=24 0:00 1:00 S
Rule Palestine 2019 only - Oct Sat<=30 0:00 0 -
Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S
Rule Palestine 2020 only - Oct 24 1:00 0 -
Rule Palestine 2021 max - Oct Fri>=23 1:00 0 -
Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S
Rule Palestine 2021 only - Oct 29 1:00 0 -
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
Rule Palestine 2022 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
@@ -3544,14 +3540,18 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
9:00 - JST 1944 Nov
8:00 Phil P%sT
# Bahrain
# Qatar
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha
4:00 - +04 1972 Jun
3:00 - +03
Link Asia/Qatar Asia/Bahrain
# Kuwait
# Saudi Arabia
# Yemen
#
# Japan's year-round bases in Antarctica match this since 1970.
#
# From Paul Eggert (2018-08-29):
# Time in Saudi Arabia and other countries in the Arabian peninsula was not
@@ -3596,9 +3596,6 @@ 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)
@@ -3611,9 +3608,8 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
7:20 - +0720 1941 Sep 1
7:30 - +0730 1942 Feb 16
9:00 - +09 1945 Sep 12
7:30 - +0730 1982 Jan 1
7:30 - +0730 1981 Dec 31 16:00u
8:00 - +08
Link Asia/Singapore Asia/Kuala_Lumpur
# Spratly Is
# no information
@@ -3828,19 +3824,27 @@ Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
# Our brief summary:
# https://www.timeanddate.com/news/time/syria-dst-2012.html
# From Arthur David Olson (2012-03-27):
# Assume last Friday in March going forward XXX.
# From Steffen Thorsen (2022-10-05):
# Syria is adopting year-round DST, starting this autumn....
# From https://www.enabbaladi.net/archives/607812
# "This [the decision] came after the weekly government meeting today,
# Tuesday 4 October ..."
#
# From Paul Eggert (2022-10-05):
# Like Jordan, model this as a transition from EEST +03 (DST) to plain +03
# (non-DST) at the point where DST would otherwise have ended.
Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
Rule Syria 2008 only - Nov 1 0:00 0 -
Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
Rule Syria 2009 max - Oct lastFri 0:00 0 -
Rule Syria 2012 2022 - Mar lastFri 0:00 1:00 S
Rule Syria 2009 2022 - Oct lastFri 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
2:00 Syria EE%sT
2:00 Syria EE%sT 2022 Oct 28 0:00
3:00 - +03
# Tajikistan
# From Shanks & Pottenger.
@@ -3851,14 +3855,15 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 1:00 +06 1991 Sep 9 2:00s
5:00 - +05
# Cambodia
# Christmas I
# Laos
# Thailand
# Vietnam (northern)
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Bangkok 6:42:04 - LMT 1880
6:42:04 - BMT 1920 Apr # Bangkok Mean Time
7:00 - +07
Link Asia/Bangkok Asia/Phnom_Penh # Cambodia
Link Asia/Bangkok Asia/Vientiane # Laos
Link Asia/Bangkok Indian/Christmas
# Turkmenistan
# From Shanks & Pottenger.
@@ -3869,13 +3874,15 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00
5:00 - +05
# Oman
# Réunion
# Seychelles
# United Arab Emirates
#
# The Crozet Is also observe Réunion time; see the 'antarctica' file.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dubai 3:41:12 - LMT 1920
4:00 - +04
Link Asia/Dubai Asia/Muscat # Oman
Link Asia/Dubai Indian/Mahe
Link Asia/Dubai Indian/Reunion
# Uzbekistan
# Byalokoz 1919 says Uzbekistan was 4:27:53.
@@ -3895,7 +3902,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
5:00 RussiaAsia +05/+06 1992
5:00 - +05
# Vietnam
# Vietnam (southern)
# From Paul Eggert (2014-10-04):
# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being
@@ -3969,7 +3976,3 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1
# For timestamps in north Vietnam back to 1970 (the tzdb cutoff),
# use Asia/Bangkok; see the VN entries in the file zone1970.tab.
# For timestamps before 1970, see Asia/Hanoi in the file 'backzone'.
# Yemen
# See Asia/Riyadh.

View File

@@ -274,13 +274,6 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
10:00 1:00 AEDT 2011
10:00 AT AE%sT
# Christmas
# See Asia/Bangkok.
# Cocos (Keeling) Is
# See Asia/Yangon.
# Fiji
# Milne gives 11:55:44 for Suva.
@@ -416,8 +409,14 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
# 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.
# From Shalvin Narayan (2022-10-27):
# Please note that there will not be any daylight savings time change
# in Fiji for 2022-2023....
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl
#
# From Paul Eggert (2022-10-27):
# For now, assume DST is suspended indefinitely.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
@@ -432,8 +431,6 @@ Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
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 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
@@ -449,7 +446,9 @@ Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
# Clipperton (near North America) is administered from French Polynesia;
# it is uninhabited.
# Guam
# N Mariana Is
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
# http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf
@@ -489,17 +488,20 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:00 - +09 1944 Jul 31
10:00 Guam G%sT 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
Link Pacific/Guam Pacific/Saipan # N Mariana Is
# Kiribati
# Kiribati (Gilbert Is)
# Marshall Is
# Tuvalu
# Wake
# Wallis & Futuna
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - +12
Link Pacific/Tarawa Pacific/Funafuti
Link Pacific/Tarawa Pacific/Majuro
Link Pacific/Tarawa Pacific/Wake
Link Pacific/Tarawa Pacific/Wallis
# Kiribati (except Gilbert Is)
# See Pacific/Tarawa for the Gilbert Is.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Kanton 0 - -00 1937 Aug 31
-12:00 - -12 1979 Oct
-11:00 - -11 1994 Dec 31
@@ -509,9 +511,6 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:00 - -10 1994 Dec 31
14:00 - +14
# N Mariana Is
# See Pacific/Guam.
# Marshall Is
# See Pacific/Tarawa for most locations.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -561,6 +560,7 @@ Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa
###############################################################################
# New Zealand
# McMurdo Station and Scott Base in Antarctica use Auckland time.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule NZ 1927 only - Nov 6 2:00 1:00 S
@@ -596,7 +596,6 @@ Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2
11:30 NZ NZ%sT 1946 Jan 1
12:00 NZ NZ%sT
Link Pacific/Auckland Antarctica/McMurdo
Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2
12:15 - +1215 1946 Jan 1
@@ -695,8 +694,6 @@ 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
Link Pacific/Port_Moresby Pacific/Chuuk
#
# From Paul Eggert (2014-10-13):
# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
@@ -729,10 +726,10 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:00 - -08
# American Samoa
# Midway
Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
-11:22:48 - LMT 1911
-11:00 - SST # S=Samoa
Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
# Samoa (formerly and also known as Western Samoa)
@@ -824,7 +821,6 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
11:00 - +11
Link Pacific/Guadalcanal Pacific/Pohnpei
# Tokelau
#
@@ -864,9 +860,6 @@ Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
13:00 - +13 1999
13:00 Tonga +13/+14
# Tuvalu
# See Pacific/Tarawa.
# US minor outlying islands
@@ -917,15 +910,9 @@ Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
# Kingman
# uninhabited
# Midway
# See Pacific/Pago_Pago.
# Palmyra
# uninhabited since World War II; was probably like Pacific/Kiritimati
# Wake
# See Pacific/Tarawa.
# Vanuatu
@@ -962,9 +949,6 @@ Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 -
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
# Wallis and Futuna
# See Pacific/Tarawa.
###############################################################################
# NOTES

View File

@@ -27,7 +27,7 @@
# 2009-05-17 by Arthur David Olson.
# This file provides links from old or merged timezone names to current ones.
# Many names changed in late 1993, and many merged names moved here
# Many names changed in 1993 and in 1995, and many merged names moved here
# in the period from 2013 through 2022. 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.
@@ -36,50 +36,24 @@
# building with 'make BACKWARD=', in practice downstream users
# typically use this file for backward compatibility.
# Link TARGET LINK-NAME
Link Africa/Nairobi Africa/Asmera
Link Africa/Abidjan Africa/Timbuktu
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/Panama America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Nuuk America/Godthab
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Toronto America/Montreal
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/Puerto_Rico America/Virgin
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Chungking
Link Asia/Dhaka Asia/Dacca
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Jerusalem Asia/Tel_Aviv
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Berlin Atlantic/Jan_Mayen
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
# This file is divided into sections, one for each major reason for a
# backward compatibility link. Each section is sorted by link name.
# A "#= TARGET1" comment labels each link inserted only because some
# .zi parsers (including tzcode through 2022e) mishandle links to links.
# The comment says what the target would be if these parsers were fixed
# so that data could contain links to links. For example, the line
# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be
# "Link Australia/Canberra Australia/ACT" were it not that data lines
# refrain from linking to links like Australia/Canberra, which means
# the Australia/ACT line links instead to Australia/Sydney,
# Australia/Canberra's target.
# Pre-1993 naming conventions
# Link TARGET LINK-NAME #= TARGET1
Link Australia/Sydney Australia/ACT #= Australia/Canberra
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North
@@ -89,7 +63,7 @@ Link Australia/Hobart Australia/Tasmania
Link Australia/Melbourne Australia/Victoria
Link Australia/Perth Australia/West
Link Australia/Broken_Hill Australia/Yancowinna
Link America/Rio_Branco Brazil/Acre
Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
@@ -109,18 +83,36 @@ Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
# Vanguard section, for most .zi parsers.
#Link GMT Etc/GMT
#Link GMT Etc/GMT+0
#Link GMT Etc/GMT-0
#Link GMT Etc/GMT0
#Link GMT Etc/Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT0
Link Etc/GMT Etc/Greenwich
# End of rearguard section.
Link Etc/UTC Etc/UCT
Link Europe/London Europe/Belfast
Link Europe/Kyiv Europe/Kiev
Link Europe/Chisinau Europe/Tiraspol
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Europe/London GB
Link Europe/London GB-Eire
# Vanguard section, for most .zi parsers.
#Link GMT GMT+0
#Link GMT GMT-0
#Link GMT GMT0
#Link GMT Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
# End of rearguard section.
Link Asia/Hong_Kong Hongkong
Link Africa/Abidjan Iceland
Link Africa/Abidjan Iceland #= Atlantic/Reykjavik
Link Asia/Tehran Iran
Link Asia/Jerusalem Israel
Link America/Jamaica Jamaica
@@ -132,14 +124,8 @@ Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link America/Denver Navajo #= America/Shiprock
Link Asia/Shanghai PRC
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Guadalcanal Pacific/Ponape
Link Pacific/Pago_Pago Pacific/Samoa
Link Pacific/Port_Moresby Pacific/Truk
Link Pacific/Port_Moresby Pacific/Yap
Link Europe/Warsaw Poland
Link Europe/Lisbon Portugal
Link Asia/Taipei ROC
@@ -163,3 +149,193 @@ Link Etc/UTC UTC
Link Etc/UTC Universal
Link Europe/Moscow W-SU
Link Etc/UTC Zulu
# Two-part names that were renamed mostly to three-part names in 1995
# Link TARGET LINK-NAME #= TARGET1
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Argentina/Cordoba America/Cordoba
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Puerto_Rico America/Virgin #= America/St_Thomas
Link Pacific/Pago_Pago Pacific/Samoa
# Pre-2013 practice, which typically had a Zone per zone.tab line
# Link TARGET LINK-NAME
Link Africa/Abidjan Africa/Accra
Link Africa/Nairobi Africa/Addis_Ababa
Link Africa/Nairobi Africa/Asmara
Link Africa/Abidjan Africa/Bamako
Link Africa/Lagos Africa/Bangui
Link Africa/Abidjan Africa/Banjul
Link Africa/Maputo Africa/Blantyre
Link Africa/Lagos Africa/Brazzaville
Link Africa/Maputo Africa/Bujumbura
Link Africa/Abidjan Africa/Conakry
Link Africa/Abidjan Africa/Dakar
Link Africa/Nairobi Africa/Dar_es_Salaam
Link Africa/Nairobi Africa/Djibouti
Link Africa/Lagos Africa/Douala
Link Africa/Abidjan Africa/Freetown
Link Africa/Maputo Africa/Gaborone
Link Africa/Maputo Africa/Harare
Link Africa/Nairobi Africa/Kampala
Link Africa/Maputo Africa/Kigali
Link Africa/Lagos Africa/Kinshasa
Link Africa/Lagos Africa/Libreville
Link Africa/Abidjan Africa/Lome
Link Africa/Lagos Africa/Luanda
Link Africa/Maputo Africa/Lubumbashi
Link Africa/Maputo Africa/Lusaka
Link Africa/Lagos Africa/Malabo
Link Africa/Johannesburg Africa/Maseru
Link Africa/Johannesburg Africa/Mbabane
Link Africa/Nairobi Africa/Mogadishu
Link Africa/Lagos Africa/Niamey
Link Africa/Abidjan Africa/Nouakchott
Link Africa/Abidjan Africa/Ouagadougou
Link Africa/Lagos Africa/Porto-Novo
Link America/Puerto_Rico America/Anguilla
Link America/Puerto_Rico America/Antigua
Link America/Puerto_Rico America/Aruba
Link America/Panama America/Atikokan
Link America/Puerto_Rico America/Blanc-Sablon
Link America/Panama America/Cayman
Link America/Phoenix America/Creston
Link America/Puerto_Rico America/Curacao
Link America/Puerto_Rico America/Dominica
Link America/Puerto_Rico America/Grenada
Link America/Puerto_Rico America/Guadeloupe
Link America/Puerto_Rico America/Kralendijk
Link America/Puerto_Rico America/Lower_Princes
Link America/Puerto_Rico America/Marigot
Link America/Puerto_Rico America/Montserrat
Link America/Toronto America/Nassau
Link America/Puerto_Rico America/Port_of_Spain
Link America/Puerto_Rico America/St_Barthelemy
Link America/Puerto_Rico America/St_Kitts
Link America/Puerto_Rico America/St_Lucia
Link America/Puerto_Rico America/St_Thomas
Link America/Puerto_Rico America/St_Vincent
Link America/Puerto_Rico America/Tortola
Link Pacific/Port_Moresby Antarctica/DumontDUrville
Link Pacific/Auckland Antarctica/McMurdo
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Urumqi Antarctica/Vostok
Link Europe/Berlin Arctic/Longyearbyen
Link Asia/Riyadh Asia/Aden
Link Asia/Qatar Asia/Bahrain
Link Asia/Kuching Asia/Brunei
Link Asia/Singapore Asia/Kuala_Lumpur
Link Asia/Riyadh Asia/Kuwait
Link Asia/Dubai Asia/Muscat
Link Asia/Bangkok Asia/Phnom_Penh
Link Asia/Bangkok Asia/Vientiane
Link Africa/Abidjan Atlantic/Reykjavik
Link Africa/Abidjan Atlantic/St_Helena
Link Europe/Brussels Europe/Amsterdam
Link Europe/Prague Europe/Bratislava
Link Europe/Zurich Europe/Busingen
Link Europe/Berlin Europe/Copenhagen
Link Europe/London Europe/Guernsey
Link Europe/London Europe/Isle_of_Man
Link Europe/London Europe/Jersey
Link Europe/Belgrade Europe/Ljubljana
Link Europe/Brussels Europe/Luxembourg
Link Europe/Helsinki Europe/Mariehamn
Link Europe/Paris Europe/Monaco
Link Europe/Berlin Europe/Oslo
Link Europe/Belgrade Europe/Podgorica
Link Europe/Rome Europe/San_Marino
Link Europe/Belgrade Europe/Sarajevo
Link Europe/Belgrade Europe/Skopje
Link Europe/Berlin Europe/Stockholm
Link Europe/Zurich Europe/Vaduz
Link Europe/Rome Europe/Vatican
Link Europe/Belgrade Europe/Zagreb
Link Africa/Nairobi Indian/Antananarivo
Link Asia/Bangkok Indian/Christmas
Link Asia/Yangon Indian/Cocos
Link Africa/Nairobi Indian/Comoro
Link Indian/Maldives Indian/Kerguelen
Link Asia/Dubai Indian/Mahe
Link Africa/Nairobi Indian/Mayotte
Link Asia/Dubai Indian/Reunion
Link Pacific/Port_Moresby Pacific/Chuuk
Link Pacific/Tarawa Pacific/Funafuti
Link Pacific/Tarawa Pacific/Majuro
Link Pacific/Pago_Pago Pacific/Midway
Link Pacific/Guadalcanal Pacific/Pohnpei
Link Pacific/Guam Pacific/Saipan
Link Pacific/Tarawa Pacific/Wake
Link Pacific/Tarawa Pacific/Wallis
# Non-zone.tab locations with timestamps since 1970 that duplicate
# those of an existing location
# Link TARGET LINK-NAME
Link Africa/Abidjan Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Panama America/Coral_Harbour
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Toronto America/Montreal
Link America/Toronto America/Nipigon
Link America/Iqaluit America/Pangnirtung
Link America/Rio_Branco America/Porto_Acre
Link America/Winnipeg America/Rainy_River
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Toronto America/Thunder_Bay
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Jerusalem Asia/Tel_Aviv
Link Europe/Berlin Atlantic/Jan_Mayen
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Europe/Kyiv Europe/Uzhgorod
Link Europe/Kyiv Europe/Zaporozhye
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Port_Moresby Pacific/Yap
# Alternate names for the same location
# Link TARGET LINK-NAME #= TARGET1
Link Africa/Nairobi Africa/Asmera #= Africa/Asmara
Link America/Nuuk America/Godthab
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing
Link Asia/Dhaka Asia/Dacca
# Istanbul is in both continents.
Link Europe/Istanbul Asia/Istanbul
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Kyiv Europe/Kiev
# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei
Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk

View File

@@ -39,26 +39,23 @@
# Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours
# behind GMT but uses the completely misleading abbreviation "GMT".
Zone Etc/GMT 0 - GMT
# The following zone is used by tzcode functions like gmtime,
# which load the "UTC" file to handle seconds properly.
Zone Etc/UTC 0 - UTC
# Functions like gmtime load the "GMT" file to handle leap seconds properly.
# Vanguard section, which works with most .zi parsers.
#Zone GMT 0 - GMT
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Zone Etc/GMT 0 - GMT
# The following link uses older naming conventions,
# but it belongs here, not in the file 'backward',
# as it is needed for tzcode releases through 2022a,
# where functions like gmtime load "GMT" instead of the "Etc/UTC".
# We want this to work even on installations that omit 'backward'.
Link Etc/GMT GMT
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Etc/GMT Etc/Greenwich
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT0
# End of rearguard section.
# Be consistent with POSIX TZ settings in the Zone names,
# even though this is the opposite of what many people expect.

View File

@@ -527,9 +527,6 @@ Zone Europe/London -0:01:15 - LMT 1847 Dec 1
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST
Link Europe/London Europe/Jersey
Link Europe/London Europe/Guernsey
Link Europe/London Europe/Isle_of_Man
# From Paul Eggert (2018-02-15):
# In January 2018 we discovered that the negative SAVE values in the
@@ -902,6 +899,8 @@ Zone Europe/Minsk 1:50:16 - LMT 1880
3:00 - +03
# Belgium
# Luxembourg
# Netherlands
#
# From Michael Deckers (2019-08-25):
# The exposition in the web page
@@ -984,11 +983,6 @@ Zone Europe/Brussels 0:17:30 - LMT 1880
1:00 C-Eur CE%sT 1944 Sep 3
1:00 Belgium CE%sT 1977
1:00 EU CE%sT
Link Europe/Brussels Europe/Amsterdam
Link Europe/Brussels Europe/Luxembourg
# Bosnia and Herzegovina
# See Europe/Belgrade.
# Bulgaria
#
@@ -1015,13 +1009,11 @@ Zone Europe/Sofia 1:33:16 - LMT 1880
2:00 E-Eur EE%sT 1997
2:00 EU EE%sT
# Croatia
# See Europe/Belgrade.
# Cyprus
# Please see the 'asia' file for Asia/Nicosia.
# Czech Republic / Czechia
# Czech Republic (Czechia)
# Slovakia
#
# From Paul Eggert (2018-04-15):
# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15.
@@ -1048,15 +1040,14 @@ Zone Europe/Prague 0:57:44 - LMT 1850
# End of rearguard section.
1:00 Czech CE%sT 1979
1:00 EU CE%sT
Link Europe/Prague Europe/Bratislava
# Denmark, Faroe Islands, and Greenland
# For Denmark see Europe/Berlin.
# Faroe Is
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
0:00 - WET 1981
0:00 EU WE%sT
# Greenland
#
# From Paul Eggert (2004-10-31):
# During World War II, Germany maintained secret manned weather stations in
@@ -1135,7 +1126,30 @@ Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
# "National Park" by Executive Order:
# http://naalakkersuisut.gl/~/media/Nanoq/Files/Attached%20Files/Engelske-tekster/Legislation/Executive%20Order%20National%20Park.rtf
# It is their only National Park.
# From Jonas Nyrup (2022-11-24):
# On last Saturday in October 2023 when DST ends America/Nuuk will switch
# from -03/-02 to -02/-01
# https://sermitsiaq.ag/forslagtidsforskel-danmark-mindskes-sommertid-beholdes
# ...
# https://sermitsiaq.ag/groenland-skifte-tidszone-trods-bekymringer
#
# From Jürgen Appel (2022-11-25):
# https://ina.gl/samlinger/oversigt-over-samlinger/samling/dagsordener/dagsorden.aspx?lang=da&day=24-11-2022
# If I understand this correctly, from the next planned switch to
# summer time, Greenland will permanently stay at that time, i.e. no
# switch back to winter time in 2023 will occur.
#
# From Paul Eggert (2022-11-28):
# The official document in Danish
# https://naalakkersuisut.gl/-/media/naalakkersuisut/filer/kundgoerelser/2022/11/2511/31_da_inatsisartutlov-om-tidens-bestemmelse.pdf?la=da&hash=A33597D8A38CC7038465241119EF34F3
# says standard time for Greenland is -02, that Naalakkersuisut can lay down
# rules for DST and can require some areas to use a different time zone,
# and that this all takes effect 2023-03-25 22:00. The abovementioned
# "bekymringer" URL says the intent is no transition March 25, that
# Greenland will not go back to winter time in fall 2023, and that
# only America/Nuuk is affected (though further changes may occur).
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D
Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
@@ -1158,7 +1172,8 @@ Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
-1:00 EU -01/+00
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02
-3:00 EU -03/-02 2023 Mar 25 22:00
-2:00 - -02
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
-4:00 Thule A%sT
@@ -1282,11 +1297,8 @@ Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31
2:00 Finland EE%sT 1983
2:00 EU EE%sT
# Åland Is
Link Europe/Helsinki Europe/Mariehamn
# France
# Monaco
# From Ciro Discepolo (2000-12-20):
#
@@ -1423,9 +1435,11 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16
0:00 France WE%sT 1945 Sep 16 3:00
1:00 France CE%sT 1977
1:00 EU CE%sT
Link Europe/Paris Europe/Monaco
# Denmark
# Germany
# Norway
# Sweden
# From Markus Kuhn (1998-09-29):
# The German time zone web site by the Physikalisch-Technische
@@ -1443,6 +1457,53 @@ Link Europe/Paris Europe/Monaco
# However, Moscow did not observe daylight saving in 1945, so
# this was equivalent to UT +03, not +04.
# Svalbard & Jan Mayen
# From Steffen Thorsen (2001-05-01):
# Although I could not find it explicitly, it seems that Jan Mayen and
# Svalbard have been using the same time as Norway at least since the
# time they were declared as parts of Norway. Svalbard was declared
# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan
# Mayen by law of 1930-02-27 no 2, section 2. (From
# <http://www.lovdata.no/all/nl-19250717-011.html> and
# <http://www.lovdata.no/all/nl-19300227-002.html>). The law/regulation
# for normal/standard time in Norway is from 1894-06-29 no 1 (came
# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a
# part of this law since 1925/1930. (From
# <http://www.lovdata.no/all/nl-18940629-001.html>) I have not been
# able to find if Jan Mayen used a different time zone (e.g. -0100)
# before 1930. Jan Mayen has only been "inhabited" since 1921 by
# Norwegian meteorologists and maybe used the same time as Norway ever
# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since
# before 1895, and therefore probably changed the local time somewhere
# between 1895 and 1925 (inclusive).
# From Paul Eggert (2013-09-04):
#
# Actually, Jan Mayen was never occupied by Germany during World War II,
# so it must have diverged from Oslo time during the war, as Oslo was
# keeping Berlin time.
#
# <https://www.jan-mayen.no/history.htm> says that the meteorologists
# burned down their station in 1940 and left the island, but returned in
# 1941 with a small Norwegian garrison and continued operations despite
# frequent air attacks from Germans. In 1943 the Americans established a
# radiolocating station on the island, called "Atlantic City". Possibly
# the UT offset changed during the war, but I think it unlikely that
# Jan Mayen used German daylight-saving rules.
#
# Svalbard is more complicated, as it was raided in August 1941 by an
# Allied party that evacuated the civilian population to England (says
# <http://www.bartleby.com/65/sv/Svalbard.html>). The Svalbard FAQ
# <http://www.svalbard.com/SvalbardFAQ.html> says that the Germans were
# expelled on 1942-05-14. However, small parties of Germans did return,
# and according to Wilhelm Dege's book "War North of 80" (1954)
# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html
# the German armed forces at the Svalbard weather station code-named
# Haudegen did not surrender to the Allies until September 1945.
#
# All these events predate our cutoff date of 1970, so use Europe/Berlin
# for these regions.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Germany 1946 only - Apr 14 2:00s 1:00 S
@@ -1467,11 +1528,6 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
1:00 SovietZone CE%sT 1946
1:00 Germany CE%sT 1980
1:00 EU CE%sT
Link Europe/Berlin Arctic/Longyearbyen
Link Europe/Berlin Europe/Copenhagen
Link Europe/Berlin Europe/Oslo
Link Europe/Berlin Europe/Stockholm
# Georgia
# Please see the "asia" file for Asia/Tbilisi.
@@ -1590,10 +1646,9 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1
1:00 Hungary CE%sT 1984
1:00 EU CE%sT
# Iceland
# See Africa/Abidjan.
# Italy
# San Marino
# Vatican City
#
# From Paul Eggert (2001-03-06):
# Sicily and Sardinia each had their own time zones from 1866 to 1893,
@@ -1712,13 +1767,6 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12
1:00 C-Eur CE%sT 1944 Jun 4
1:00 Italy CE%sT 1980
1:00 EU CE%sT
Link Europe/Rome Europe/Vatican
Link Europe/Rome Europe/San_Marino
# Kosovo
# See Europe/Belgrade.
# Latvia
@@ -1802,10 +1850,6 @@ Zone Europe/Riga 1:36:34 - LMT 1880
2:00 - EET 2001 Jan 2
2:00 EU EE%sT
# Liechtenstein
# See Europe/Zurich.
# Lithuania
# From Paul Eggert (2016-03-18):
@@ -1858,12 +1902,6 @@ Zone Europe/Vilnius 1:41:16 - LMT 1880
2:00 - EET 2003 Jan 1
2:00 EU EE%sT
# Luxembourg
# See Europe/Brussels.
# North Macedonia
# See Europe/Belgrade.
# Malta
#
# From Paul Eggert (2016-10-21):
@@ -1959,67 +1997,6 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
# See Romania commentary for the guessed 1997 transition to EU rules.
2:00 Moldova EE%sT
# Monaco
# See Europe/Paris.
# Montenegro
# See Europe/Belgrade.
# Netherlands
# See Europe/Brussels.
# Norway
# See Europe/Berlin.
# Svalbard & Jan Mayen
# From Steffen Thorsen (2001-05-01):
# Although I could not find it explicitly, it seems that Jan Mayen and
# Svalbard have been using the same time as Norway at least since the
# time they were declared as parts of Norway. Svalbard was declared
# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan
# Mayen by law of 1930-02-27 no 2, section 2. (From
# <http://www.lovdata.no/all/nl-19250717-011.html> and
# <http://www.lovdata.no/all/nl-19300227-002.html>). The law/regulation
# for normal/standard time in Norway is from 1894-06-29 no 1 (came
# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a
# part of this law since 1925/1930. (From
# <http://www.lovdata.no/all/nl-18940629-001.html>) I have not been
# able to find if Jan Mayen used a different time zone (e.g. -0100)
# before 1930. Jan Mayen has only been "inhabited" since 1921 by
# Norwegian meteorologists and maybe used the same time as Norway ever
# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since
# before 1895, and therefore probably changed the local time somewhere
# between 1895 and 1925 (inclusive).
# From Paul Eggert (2013-09-04):
#
# Actually, Jan Mayen was never occupied by Germany during World War II,
# so it must have diverged from Oslo time during the war, as Oslo was
# keeping Berlin time.
#
# <https://www.jan-mayen.no/history.htm> says that the meteorologists
# burned down their station in 1940 and left the island, but returned in
# 1941 with a small Norwegian garrison and continued operations despite
# frequent air attacks from Germans. In 1943 the Americans established a
# radiolocating station on the island, called "Atlantic City". Possibly
# the UT offset changed during the war, but I think it unlikely that
# Jan Mayen used German daylight-saving rules.
#
# Svalbard is more complicated, as it was raided in August 1941 by an
# Allied party that evacuated the civilian population to England (says
# <http://www.bartleby.com/65/sv/Svalbard.html>). The Svalbard FAQ
# <http://www.svalbard.com/SvalbardFAQ.html> says that the Germans were
# expelled on 1942-05-14. However, small parties of Germans did return,
# and according to Wilhelm Dege's book "War North of 80" (1954)
# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html
# the German armed forces at the Svalbard weather station code-named
# Haudegen did not surrender to the Allies until September 1945.
#
# All these events predate our cutoff date of 1970, so use Europe/Berlin
# for these regions.
# Poland
# The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20),
@@ -2638,10 +2615,14 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
# From Alexander Krivenyshev (2014-03-17):
# time change at 2:00 (2am) on March 30, 2014
# https://vz.ru/news/2014/3/17/677464.html
# From Paul Eggert (2014-03-30):
# Simferopol and Sevastopol reportedly changed their central town clocks
# late the previous day, but this appears to have been ceremonial
# and the discrepancies are small enough to not worry about.
# From Tim Parenti (2022-07-01), per Paul Eggert (2014-03-30):
# The clocks at the railway station in Simferopol were put forward from 22:00
# to 24:00 the previous day in a "symbolic ceremony"; however, per
# contemporaneous news reports, "ordinary Crimeans [made] the daylight savings
# time switch at 2am" on Sunday.
# https://www.business-standard.com/article/pti-stories/crimea-to-set-clocks-to-russia-time-114033000014_1.html
# https://www.reuters.com/article/us-ukraine-crisis-crimea-time/crimea-switches-to-moscow-time-amid-incorporation-frenzy-idUKBREA2S0LT20140329
# https://www.bbc.com/news/av/world-europe-26806583
2:00 EU EE%sT 2014 Mar 30 2:00
4:00 - MSK 2014 Oct 26 2:00s
3:00 - MSK
@@ -3297,11 +3278,13 @@ Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12
# San Marino
# See Europe/Rome.
# Bosnia & Herzegovina
# Croatia
# Kosovo
# Montenegro
# North Macedonia
# Serbia
# Slovenia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Belgrade 1:22:00 - LMT 1884
1:00 - CET 1941 Apr 18 23:00
@@ -3313,17 +3296,6 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884
# Shanks & Pottenger don't give as much detail, so go with Koželj.
1:00 - CET 1982 Nov 27
1:00 EU CE%sT
Link Europe/Belgrade Europe/Ljubljana # Slovenia
Link Europe/Belgrade Europe/Podgorica # Montenegro
Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina
Link Europe/Belgrade Europe/Skopje # North Macedonia
Link Europe/Belgrade Europe/Zagreb # Croatia
# Slovakia
# See Europe/Prague.
# Slovenia
# See Europe/Belgrade.
# Spain
#
@@ -3413,7 +3385,7 @@ Zone Europe/Madrid -0:14:44 - LMT 1901 Jan 1 0:00u
0:00 Spain WE%sT 1940 Mar 16 23:00
1:00 Spain CE%sT 1979
1:00 EU CE%sT
Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44
Zone Africa/Ceuta -0:21:16 - LMT 1901 Jan 1 0:00u
0:00 - WET 1918 May 6 23:00
0:00 1:00 WEST 1918 Oct 7 23:00
0:00 - WET 1924
@@ -3430,10 +3402,11 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
# IATA SSIM (1996-09) says the Canaries switch at 2:00u, not 1:00u.
# Ignore this for now, as the Canaries are part of the EU.
# Sweden
# See Europe/Berlin.
# Germany (Busingen enclave)
# Liechtenstein
# Switzerland
#
# From Howse:
# By the end of the 18th century clocks and watches became commonplace
# and their performance improved enormously. Communities began to keep
@@ -3546,9 +3519,6 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
0:29:46 - BMT 1894 Jun # Bern Mean Time
1:00 Swiss CE%sT 1981
1:00 EU CE%sT
Link Europe/Zurich Europe/Busingen
Link Europe/Zurich Europe/Vaduz
# Turkey
@@ -3753,7 +3723,6 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880
2:00 1:00 EEST 2015 Nov 8 1:00u
2:00 EU EE%sT 2016 Sep 7
3:00 - +03
Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
# Ukraine
#
@@ -3774,8 +3743,8 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
# US colleague David Cochrane) are still trying to get more
# information upon these local deviations from Kiev rules.
#
# From Paul Eggert (2022-02-08):
# For now, assume that Ukraine's other three zones followed the same rules,
# From Paul Eggert (2022-08-27):
# For now, assume that Ukraine's zones all followed the same rules,
# except that Crimea switched to Moscow time in 1994 as described elsewhere.
# From Igor Karpov, who works for the Ukrainian Ministry of Justice,
@@ -3845,21 +3814,7 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
# * Ukrainian Government's Resolution of 20.03.1992, No. 139.
# http://www.uazakon.com/documents/date_8u/pg_grcasa.htm
# From Paul Eggert (2022-04-12):
# As is usual in tzdb, Ukrainian zones use the most common English spellings.
# In particular, tzdb's name Europe/Kyiv uses the most common spelling in
# English for Ukraine's capital. Although tzdb's former name was Europe/Kiev,
# "Kyiv" is now more common due to widespread reporting of the current conflict.
# Conversely, tzdb continues to use the names Europe/Uzhgorod and
# Europe/Zaporozhye; this is similar to tzdb's use of Europe/Prague, which is
# certainly wrong as a transliteration of the Czech "Praha".
# English-language spelling of Ukrainian names is in flux, and
# some day "Uzhhorod" or "Zaporizhzhia" may become substantially more
# common in English; in the meantime, do not change these
# English spellings as that means less disruption for our users.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# This represents most of Ukraine. See above for the spelling of "Kyiv".
Zone Europe/Kyiv 2:02:04 - LMT 1880
2:02:04 - KMT 1924 May 2 # Kyiv Mean Time
2:00 - EET 1930 Jun 21
@@ -3869,37 +3824,6 @@ Zone Europe/Kyiv 2:02:04 - LMT 1880
2:00 1:00 EEST 1991 Sep 29 3:00
2:00 C-Eur EE%sT 1996 May 13
2:00 EU EE%sT
# Transcarpathia used CET 1990/1991.
# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
# "Uzhgorod" is more common in English.
Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct
1:00 - CET 1940
1:00 C-Eur CE%sT 1944 Oct
1:00 1:00 CEST 1944 Oct 26
1:00 - CET 1945 Jun 29
3:00 Russia MSK/MSD 1990
3:00 - MSK 1990 Jul 1 2:00
1:00 - CET 1991 Mar 31 3:00
2:00 - EET 1992 Mar 20
2:00 C-Eur EE%sT 1996 May 13
2:00 EU EE%sT
# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991.
# "Zaporizhzhia" is the transliteration of the Ukrainian name, but
# "Zaporozh'ye" is more common in English. Use the common English
# spelling, except omit the apostrophe as it is not allowed in
# portable Posix file names.
Zone Europe/Zaporozhye 2:20:40 - LMT 1880
2:20 - +0220 1924 May 2
2:00 - EET 1930 Jun 21
3:00 - MSK 1941 Aug 25
1:00 C-Eur CE%sT 1943 Oct 25
3:00 Russia MSK/MSD 1991 Mar 31 2:00
2:00 E-Eur EE%sT 1992 Mar 20
2:00 C-Eur EE%sT 1996 May 13
2:00 EU EE%sT
# Vatican City
# See Europe/Rome.
###############################################################################

View File

@@ -26,13 +26,13 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2015-05-02):
# From Paul Eggert (2022-11-18):
# This file contains a table of two-letter country codes. Columns are
# separated by a single tab. Lines beginning with '#' are comments.
# All text uses UTF-8 encoding. The columns of the table are as follows:
#
# 1. ISO 3166-1 alpha-2 country code, current as of
# ISO 3166-1 N976 (2018-11-06). See: Updates on ISO 3166-1
# ISO 3166-1 N1087 (2022-09-02). See: Updates on ISO 3166-1
# https://isotc.iso.org/livelink/livelink/Open/16944257
# 2. The usual English name for the coded region,
# chosen so that alphabetic sorting of subsets produces helpful lists.
@@ -261,7 +261,7 @@ SY Syria
SZ Eswatini (Swaziland)
TC Turks & Caicos Is
TD Chad
TF French Southern & Antarctic Lands
TF French Southern Territories
TG Togo
TH Thailand
TJ Tajikistan

View File

@@ -462,7 +462,7 @@ Rule Chicago 1922 1966 - Apr lastSun 2:00 1:00 D
Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S
Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1920
-6:00 Chicago C%sT 1936 Mar 1 2:00
-5:00 - EST 1936 Nov 15 2:00
@@ -471,7 +471,7 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 Chicago C%sT 1967
-6:00 US C%sT
# Oliver County, ND switched from mountain to central time on 1992-10-25.
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1992 Oct 25 2:00
-6:00 US C%sT
# Morton County, ND, switched from mountain to central time on
@@ -481,7 +481,7 @@ Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
# Jones, Mellette, and Todd Counties in South Dakota;
# but in practice these other counties were already observing central time.
# See <http://www.epa.gov/fedrgstr/EPA-IMPACT/2003/October/Day-28/i27056.htm>.
Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21
Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2003 Oct 26 2:00
-6:00 US C%sT
@@ -498,7 +498,7 @@ Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21
# largest city in Mercer County). Google Maps places Beulah's city hall
# at 47° 15' 51" N, 101° 46' 40" W, which yields an offset of 6h47'07".
Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 12:12:53
Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2010 Nov 7 2:00
-6:00 US C%sT
@@ -530,7 +530,7 @@ Rule Denver 1921 only - May 22 2:00 0 S
Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D
Rule Denver 1965 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04
Zone America/Denver -6:59:56 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1920
-7:00 Denver M%sT 1942
-7:00 US M%sT 1946
@@ -583,7 +583,7 @@ Rule CA 1950 1966 - Apr lastSun 1:00 1:00 D
Rule CA 1950 1961 - Sep lastSun 2:00 0 S
Rule CA 1962 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
-8:00 US P%sT
@@ -845,14 +845,13 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
# Go with the Arizona State Library instead.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1944 Jan 1 0:01
-7:00 - MST 1944 Apr 1 0:01
-7:00 US M%sT 1944 Oct 1 0:01
-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.,
@@ -873,7 +872,7 @@ Link America/Phoenix America/Creston
# switched four weeks late in 1974.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
Zone America/Boise -7:44:49 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1923 May 13 2:00
-7:00 US M%sT 1974
-7:00 - MST 1974 Feb 3 2:00
@@ -945,7 +944,7 @@ Rule Indianapolis 1941 only - Jun 22 2:00 1:00 D
Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S
Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22
Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1920
-6:00 Indianapolis C%sT 1942
-6:00 US C%sT 1946
@@ -965,7 +964,7 @@ Rule Marengo 1951 only - Sep lastSun 2:00 0 S
Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D
Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37
Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1951
-6:00 Marengo C%sT 1961 Apr 30 2:00
-5:00 - EST 1969
@@ -989,7 +988,7 @@ Rule Vincennes 1960 only - Oct lastSun 2:00 0 S
Rule Vincennes 1961 only - Sep lastSun 2:00 0 S
Rule Vincennes 1962 1963 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Vincennes C%sT 1964 Apr 26 2:00
-5:00 - EST 1969
@@ -1009,7 +1008,7 @@ Rule Perry 1955 1960 - Sep lastSun 2:00 0 S
Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D
Rule Perry 1961 1963 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Perry C%sT 1964 Apr 26 2:00
-5:00 - EST 1967 Oct 29 2:00
@@ -1026,7 +1025,7 @@ Rule Pike 1955 1960 - Sep lastSun 2:00 0 S
Rule Pike 1956 1964 - Apr lastSun 2:00 1:00 D
Rule Pike 1961 1964 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 12:10:53
Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1955
-6:00 Pike C%sT 1965 Apr 25 2:00
-5:00 - EST 1966 Oct 30 2:00
@@ -1048,7 +1047,7 @@ Rule Starke 1955 1956 - Oct lastSun 2:00 0 S
Rule Starke 1957 1958 - Sep lastSun 2:00 0 S
Rule Starke 1959 1961 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30
Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1947
-6:00 Starke C%sT 1962 Apr 29 2:00
-5:00 - EST 1963 Oct 27 2:00
@@ -1064,7 +1063,7 @@ Rule Pulaski 1946 1954 - Sep lastSun 2:00 0 S
Rule Pulaski 1955 1956 - Oct lastSun 2:00 0 S
Rule Pulaski 1957 1960 - Sep lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Pulaski C%sT 1961 Apr 30 2:00
-5:00 - EST 1969
@@ -1075,7 +1074,7 @@ Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
#
# Switzerland County, Indiana, did not observe DST from 1973 through 2005.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44
Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1954 Apr 25 2:00
-5:00 - EST 1969
-5:00 US E%sT 1973
@@ -1111,7 +1110,7 @@ Rule Louisville 1950 1961 - Apr lastSun 2:00 1:00 D
Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S
Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1921
-6:00 Louisville C%sT 1942
-6:00 US C%sT 1946
@@ -1145,7 +1144,7 @@ Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
# Federal Register 65, 160 (2000-08-17), pp 50154-50158.
# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm
#
Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36
Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 - CST 1968
-6:00 US C%sT 2000 Oct 29 2:00
@@ -1626,23 +1625,6 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# Ontario
# From Paul Eggert (2006-07-09):
# Shanks & Pottenger write that since 1970 most of Ontario has been like
# Toronto.
# Thunder Bay skipped DST in 1973.
# Many smaller locales did not observe peacetime DST until 1974;
# Nipigon (EST) and Rainy River (CST) are the largest that we know of.
# Far west Ontario is like Winnipeg; far east Quebec is like Halifax.
# From Jeffery Nichols (2020-02-06):
# According to the [Shanks] atlas, those western Ontario zones are huge,
# covering most of Ontario northwest of Sault Ste Marie and Timmins.
# The zones seem to include towns bigger than the ones they're named after,
# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in
# America/Nipigon. I assume it's too much trouble to change the name of the
# zone (like when you found out that America/Glace_Bay includes Sydney, Nova
# Scotia)....
# From Mark Brader (2003-07-26):
# [According to the Toronto Star] Orillia, Ontario, adopted DST
# effective Saturday, 1912-06-22, 22:00; the article mentions that
@@ -1663,17 +1645,6 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# From Mark Brader (2010-03-06):
#
# Currently the database has:
#
# # Ontario
#
# # From Paul Eggert (2006-07-09):
# # Shanks & Pottenger write that since 1970 most of Ontario has been like
# # Toronto.
# # Thunder Bay skipped DST in 1973.
# # Many smaller locales did not observe peacetime DST until 1974;
# # Nipigon (EST) and Rainy River (CST) are the largest that we know of.
#
# In the (Toronto) Globe and Mail for Saturday, 1955-09-24, in the bottom
# right corner of page 1, it says that Toronto will return to standard
# time at 2 am Sunday morning (which agrees with the database), and that:
@@ -1681,10 +1652,8 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# The one-hour setback will go into effect throughout most of Ontario,
# except in areas like Windsor which remains on standard time all year.
#
# Windsor is, of course, a lot larger than Nipigon.
#
# I only came across this incidentally. I don't know if Windsor began
# observing DST when Detroit did, or in 1974, or on some other date.
# ... I don't know if Windsor began observing DST when Detroit did,
# or in 1974, or on some other date.
#
# By the way, the article continues by noting that:
#
@@ -1766,23 +1735,7 @@ Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
# Toronto Star, which said that DST was ending 1971-10-31 as usual.
Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S
# From Paul Eggert (2003-07-27):
# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and
# Port Arthur, Ontario, the principle of the Bill has been in
# operation for the past three years, and in the City of Moose Jaw,
# Saskatchewan, for one year."
# From David Bryan via Tory Tronrud, Director/Curator,
# Thunder Bay Museum (2003-11-12):
# There is some suggestion, however, that, by-law or not, daylight
# savings time was being practiced in Fort William and Port Arthur
# before 1909.... [I]n 1910, the line between the Eastern and Central
# Time Zones was permanently moved about two hundred miles west to
# include the Thunder Bay area.... When Canada adopted daylight
# savings time in 1916, Fort William and Port Arthur, having done so
# already, did not change their clocks.... During the Second World
# War,... [t]he cities agreed to implement DST during the summer
# months for the remainder of the war years.
# The Bahamas match Toronto since 1970.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Toronto -5:17:32 - LMT 1895
@@ -1791,22 +1744,6 @@ 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
-5:00 Canada E%sT 1970
-5:00 Toronto E%sT 1973
-5:00 - EST 1974
-5:00 Canada E%sT
Zone America/Nipigon -5:53:04 - LMT 1895
-5:00 Canada E%sT 1940 Sep 29
-5:00 1:00 EDT 1942 Feb 9 2:00s
-5:00 Canada E%sT
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
# For Atikokan see America/Panama.
@@ -2055,6 +1992,37 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# Northwest Territories, Nunavut, Yukon
# From Chris Walton (2022-11-06):
# Whitehorse Star - Thursday April 22, 1965 - page 1
# title: DST Starts Monday ...
# https://www.newspapers.com/image/578587481/
# The title of this first article is wrong and/or misleading.
# Also, the start time shown in the article is vague; it simply says "after
# midnight" when it probably should have stated 2:00a.m....
#
# Whitehorse Star - Monday October 25, 1965 - page 15 ...
# https://www.newspapers.com/image/578589147/
# The 1965 Yukon Council minutes can be found here:
# http://assets.yukonarchives.ca/PER_YG_06_1965_C20_S02_v1.pdf
# ... I do not currently believe that NWT touched any of its clocks in 1965....
#
# Whitehorse Star - Thursday Feb 24,1966 - page 2
# title: It's Time for YDT ...
# https://www.newspapers.com/image/578575979/ ...
# America/Whitehorse as a permanent change from UTC-9(YST) to
# UTC-8(PST) at 00:00 on Sunday February 27, 1966....
#
# Whitehorse Star - Friday April 28,1972 - page 6
# title: Daylight Saving Time for N.W.T....
# https://www.newspapers.com/image/578701610/ ...
# Nunavut and NWT zones ... DST starting in 1972.... Start and End ...
# should be the same as the rest of Canada
#
#
# From Paul Eggert (2022-11-06):
# For now, assume Yukon's 1965-04-22 spring forward was 00:00 -> 02:00, as this
# seems likely than 02:00 -> 04:00 and matches "after midnight".
# From Paul Eggert (2006-03-22):
# Dawson switched to PST in 1973. Inuvik switched to MST in 1979.
# Mathew Englander (1996-10-07) gives the following refs:
@@ -2169,6 +2137,13 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# * Interpretation Act, RSY 2002, c 125
# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html
# From Chris Walton (2022-11-06):
# The 5th edition of the Atlas of Canada contains a time zone map that
# shows both legislated and observed time zone boundaries.
# All communities on Baffin Island are shown to be observing Eastern time.
# The date on the map is 1984.
# https://ftp.maps.canada.ca/pub/nrcan_rncan/raster/atlas_5_ed/eng/other/referencemaps/mcr4056.pdf
# From Rives McDow (1999-09-04):
# Nunavut ... moved ... to incorporate the whole territory into one time zone.
# Nunavut moves to single time zone Oct. 31
@@ -2181,40 +2156,7 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# From Paul Eggert (1999-09-20):
# Basic Facts: The New Territory
# http://www.nunavut.com/basicfacts/english/basicfacts_1territory.html
# (1999) reports that Pangnirtung operates on eastern time,
# and that Coral Harbour does not observe DST. We don't know when
# Pangnirtung switched to eastern time; we'll guess 1995.
# From Rives McDow (1999-11-08):
# On October 31, when the rest of Nunavut went to Central time,
# Pangnirtung wobbled. Here is the result of their wobble:
#
# The following businesses and organizations in Pangnirtung use Central Time:
#
# First Air, Power Corp, Nunavut Construction, Health Center, RCMP,
# Eastern Arctic National Parks, A & D Specialist
#
# The following businesses and organizations in Pangnirtung use Eastern Time:
#
# Hamlet office, All other businesses, Both schools, Airport operator
#
# This has made for an interesting situation there, which warranted the news.
# No one there that I spoke with seems concerned, or has plans to
# change the local methods of keeping time, as it evidently does not
# really interfere with any activities or make things difficult locally.
# They plan to celebrate New Year's turn-over twice, one hour apart,
# so it appears that the situation will last at least that long.
# The Nunavut Intergovernmental Affairs hopes that they will "come to
# their senses", but the locals evidently don't see any problem with
# the current state of affairs.
# From Michaela Rodrigue, writing in the
# Nunatsiaq News (1999-11-19):
# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html
# Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones,
# central - or Nunavut time - for government offices, and eastern time
# for municipal offices and schools.... Igloolik [was similar but then]
# made the switch to central time on Saturday, Nov. 6.
# (1999) reports that ... Coral Harbour does not observe DST.
# From Paul Eggert (2000-10-02):
# Matthews and Vincent (1998) say the following, but we lack histories
@@ -2373,18 +2315,12 @@ Rule NT_YK 1919 only - Nov 1 0:00 0 S
Rule NT_YK 1942 only - Feb 9 2:00 1:00 W # War
Rule NT_YK 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule NT_YK 1945 only - Sep 30 2:00 0 S
Rule NT_YK 1965 only - Apr lastSun 0:00 2:00 DD
Rule NT_YK 1965 only - Oct lastSun 2:00 0 S
Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
Rule NT_YK 1980 2006 - Oct lastSun 2:00 0 S
Rule NT_YK 1972 1986 - Apr lastSun 2:00 1:00 D
Rule NT_YK 1972 2006 - Oct lastSun 2:00 0 S
Rule NT_YK 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule Yukon 1965 only - Apr lastSun 0:00 2:00 DD
Rule Yukon 1965 only - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# aka Panniqtuuq
Zone America/Pangnirtung 0 - -00 1921 # trading post est.
-4:00 NT_YK A%sT 1995 Apr Sun>=1 2:00
-5:00 Canada E%sT 1999 Oct 31 2:00
-6:00 Canada C%sT 2000 Oct 29 2:00
-5:00 Canada E%sT
# formerly Frobisher Bay
Zone America/Iqaluit 0 - -00 1942 Aug # Frobisher Bay est.
-5:00 NT_YK E%sT 1999 Oct 31 2:00
@@ -2417,13 +2353,15 @@ Zone America/Inuvik 0 - -00 1953 # Inuvik founded
-7:00 NT_YK M%sT 1980
-7:00 Canada M%sT
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1967 May 28 0:00
-8:00 NT_YK P%sT 1980
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1966 Feb 27 0:00
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1973 Oct 28 0:00
-8:00 NT_YK P%sT 1980
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1973 Oct 28 0:00
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
@@ -2639,7 +2577,23 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# 5- The islands, reefs and keys shall take their timezone from the
# longitude they are located at.
# From Paul Eggert (2022-10-28):
# The new Mexican law was published today:
# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022
# This abolishes DST except where US DST rules are observed,
# and in addition changes all of Chihuahua to -06 with no DST.
# From Heitor David Pinto (2022-11-28):
# Now the northern municipalities want to have the same time zone as the
# respective neighboring cities in the US, for example Juárez in UTC-7 with
# DST, matching El Paso, and Ojinaga in UTC-6 with DST, matching Presidio....
# the president authorized the publication of the decree for November 29,
# so the time change would occur on November 30 at 0:00.
# http://puentelibre.mx/noticia/ciudad_juarez_cambio_horario_noviembre_2022/
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Mexico 1931 only - May 1 23:00 1:00 D
Rule Mexico 1931 only - Oct 1 0:00 0 S
Rule Mexico 1939 only - Feb 5 0:00 1:00 D
Rule Mexico 1939 only - Jun 25 0:00 0 S
Rule Mexico 1940 only - Dec 9 0:00 1:00 D
@@ -2652,89 +2606,108 @@ Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
Rule Mexico 2001 only - Sep lastSun 2:00 0 S
Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
Rule Mexico 2002 max - Oct lastSun 2:00 0 S
Rule Mexico 2002 2022 - Apr Sun>=1 2:00 1:00 D
Rule Mexico 2002 2022 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Quintana Roo; represented by Cancún
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1981 Dec 23
-5:00 Mexico E%sT 1998 Aug 2 2:00
-6:00 Mexico C%sT 2015 Feb 1 2:00
-5:00 - EST
# Campeche, Yucatán; represented by Mérida
Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32
Zone America/Merida -5:58:28 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1981 Dec 23
-5:00 - EST 1982 Dec 2
-6:00 Mexico C%sT
# Coahuila, Nuevo León, Tamaulipas (near US border)
# This includes the following municipalities:
# in Coahuila: Ocampo, Acuña, Zaragoza, Jiménez, Piedras Negras, Nava,
# Guerrero, Hidalgo.
# in Nuevo León: Anáhuac, Los Aldama.
# in Coahuila: Acuña, Allende, Guerrero, Hidalgo, Jiménez, Morelos, Nava,
# Ocampo, Piedras Negras, Villa Unión, Zaragoza
# in Nuevo León: Anáhuac
# in Tamaulipas: Nuevo Laredo, Guerrero, Mier, Miguel Alemán, Camargo,
# Gustavo Díaz Ordaz, Reynosa, Río Bravo, Valle Hermoso, Matamoros.
# See: Inicia mañana Horario de Verano en zona fronteriza, El Universal,
# 2016-03-12
# http://www.eluniversal.com.mx/articulo/estados/2016/03/12/inicia-manana-horario-de-verano-en-zona-fronteriza
Zone America/Matamoros -6:40:00 - LMT 1921 Dec 31 23:20:00
# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022
Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1988
-6:00 US C%sT 1989
-6:00 Mexico C%sT 2010
-6:00 US C%sT
# Durango; Coahuila, Nuevo León, Tamaulipas (away from US border)
Zone America/Monterrey -6:41:16 - LMT 1921 Dec 31 23:18:44
Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1988
-6:00 US C%sT 1989
-6:00 Mexico C%sT
# Central Mexico
Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 0:23:24
Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 Mexico C%sT 2001 Sep 30 2:00
-6:00 - CST 2002 Feb 20
-6:00 Mexico C%sT
# Chihuahua (near US border)
# Chihuahua (near US border - western side)
# This includes the municipalities of Janos, Ascensión, Juárez, Guadalupe,
# Práxedis G Guerrero, Coyame del Sotol, Ojinaga, and Manuel Benavides.
# (See the 2016-03-12 El Universal source mentioned above.)
Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 0:02:20
# and Práxedis G Guerrero.
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
-7:00 US M%sT
# Chihuahua (away from US border)
Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40
# Chihuahua (near US border - eastern side)
# The municipalities of Coyame del Sotol, Ojinaga, and Manuel Benavides.
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
-6:00 US C%sT
# Chihuahua (away from US border)
Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT 2022 Oct 30 2:00
-6:00 - CST
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT 1999
-7:00 - MST
# Baja California Sur, Nayarit (except Bahía de Banderas), Sinaloa
Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT
# Bahía de Banderas
# From Alexander Krivenyshev (2010-04-21):
# According to news, Bahía de Banderas (Mexican state of Nayarit)
# changed time zone UTC-7 to new time zone UTC-6 on April 4, 2010 (to
@@ -2762,25 +2735,10 @@ Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08
# From Arthur David Olson (2010-05-01):
# Use "Bahia_Banderas" to keep the name to fourteen characters.
# Mazatlán
Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20
Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT
# Bahía de Banderas
Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
@@ -2788,7 +2746,7 @@ Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00
-6:00 Mexico C%sT
# Baja California
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1924
-8:00 - PST 1927 Jun 10 23:00
-7:00 - MST 1930 Nov 15
@@ -2825,20 +2783,16 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# http://dof.gob.mx/nota_detalle.php?codigo=5127480&fecha=06/01/2010
# It has been moved to the 'backward' file.
#
# From Paul Eggert (2022-10-28):
# Today's new law states that the entire state of Baja California
# follows US DST rules, which agrees with simplifications noted above.
#
#
# Revillagigedo Is
# no information
###############################################################################
# Anguilla
# Antigua and Barbuda
# See America/Puerto_Rico.
# The Bahamas
# See America/Toronto.
# Barbados
# For 1899 Milne gives -3:58:29.2.
@@ -3051,12 +3005,6 @@ 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.
# Costa Rica
# Milne gives -5:36:13.3 as San José mean time.
@@ -3282,9 +3230,6 @@ Zone America/Havana -5:29:28 - LMT 1890
-5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT
-5:00 Cuba C%sT
# Dominica
# See America/Puerto_Rico.
# Dominican Republic
# From Steffen Thorsen (2000-10-30):
@@ -3331,12 +3276,6 @@ Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
-6:00 Salv C%sT
# Grenada
# Guadeloupe
# St Barthélemy
# St Martin (French part)
# See America/Puerto_Rico.
# Guatemala
#
# From Gwillim Law (2006-04-22), after a heads-up from Oscar van Vlijmen:
@@ -3522,9 +3461,6 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:00 1:00 ADT 1980 Sep 28
-4:00 - AST
# Montserrat
# See America/Puerto_Rico.
# Nicaragua
#
# This uses Shanks & Pottenger for times before 2005.
@@ -3590,44 +3526,39 @@ Zone America/Managua -5:45:08 - LMT 1890
-5:00 - EST 1997
-6:00 Nic C%sT
# Cayman Is
# Panama
#
# Atikokan and Coral Harbour, Canada, match Panama since 1970.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
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
# Anguilla
# Antigua & Barbuda
# Aruba
# Caribbean Netherlands
# Curaçao
# Dominica
# Grenada
# Guadeloupe
# Montserrat
# Puerto Rico
# St Barthélemy
# St Kitts-Nevis
# Sint Maarten / St Martin
# St Lucia
# St Vincent & the Grenadines
# Trinidad & Tobago
# Virgin Is (UK & US)
#
# There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
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/Puerto_Rico.
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
@@ -3637,12 +3568,6 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-3:00 - -03 1987
-3:00 Canada -03/-02
# St Vincent and the Grenadines
# See America/Puerto_Rico.
# Sint Maarten
# See America/Puerto_Rico.
# Turks and Caicos
#
# From Chris Dunn in
@@ -3712,11 +3637,6 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890
-4:00 - AST 2018 Mar 11 3:00
-5:00 US E%sT
# British Virgin Is
# US Virgin Is
# See America/Puerto_Rico.
# Local Variables:
# coding: utf-8
# End:

View File

@@ -608,9 +608,6 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
# Aruba
# See America/Puerto_Rico.
# Bolivia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
@@ -1332,8 +1329,14 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# for America/Santiago will start on midnight of September 11th;
# and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas)
# will keep UTC -3 "indefinitely"... This is because on September 4th
# we will have a voting whether to approve a new Constitution....
# https://www.interior.gob.cl/noticias/2022/08/09/comunicado-el-proximo-sabado-10-de-septiembre-los-relojes-se-deben-adelantar-una-hora/
# we will have a voting whether to approve a new Constitution.
#
# From Eduardo Romero Urra (2022-08-17):
# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf
#
# From Paul Eggert (2022-08-17):
# Although the presidential decree stops at fall 2026, assume that
# similar DST rules will continue thereafter.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
@@ -1438,9 +1441,14 @@ Zone Antarctica/Palmer 0 - -00 1965
# Milne gives 4:56:16.4 for Bogotá time in 1899. He writes,
# "A variation of fifteen minutes in the public clocks of Bogota is not rare."
# From Alois Treindl (2022-11-10):
# End of time change in Colombia 1993 ... should be 6 February 24h ...
# DECRETO 267 DE 1993
# https://www.suin-juriscol.gov.co/viewDocument.asp?ruta=Decretos/1061335
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule CO 1992 only - May 3 0:00 1:00 -
Rule CO 1993 only - Apr 4 0:00 0 -
Rule CO 1992 only - May 3 0:00 1:00 -
Rule CO 1993 only - Feb 6 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -4:56:16.4
Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
@@ -1449,15 +1457,6 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
# Malpelo, Providencia, San Andres
# no information; probably like America/Bogota
# Curaçao
# See America/Puerto_Rico.
#
# 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"....
# From Paul Eggert (2021-09-29):
# These backward-compatibility links now are in the 'northamerica' file.
# Ecuador
#
@@ -1773,9 +1772,6 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
-3:30 - -0330 1984 Oct
-3:00 - -03
# Trinidad and Tobago
# See America/Puerto_Rico.
# Uruguay
# From Paul Eggert (1993-11-18):
# Uruguay wins the prize for the strangest peacetime manipulation of the rules.

View File

@@ -137,13 +137,9 @@ CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73)
CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay)
CA +6344-06828 America/Iqaluit Eastern - NU (most east areas)
CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung)
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances)
CA +744144-0944945 America/Resolute Central - NU (Resolute)
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
CA +5024-10439 America/Regina CST - SK (most areas)
@@ -303,17 +299,18 @@ MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +1924-09909 America/Mexico_City Central Time
MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatan
MX +2540-10019 America/Monterrey Central Time - Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Central Time US - Coahuila, Nuevo Leon, Tamaulipas (US border)
MX +2313-10625 America/Mazatlan Mountain Time - Baja California Sur, Nayarit, Sinaloa
MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua (most areas)
MX +2934-10425 America/Ojinaga Mountain Time US - Chihuahua (US border)
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
MX +3232-11701 America/Tijuana Pacific Time US - Baja California
MX +2048-10515 America/Bahia_Banderas Central Time - Bahia de Banderas
MX +1924-09909 America/Mexico_City Central Mexico
MX +2105-08646 America/Cancun Quintana Roo
MX +2058-08937 America/Merida Campeche, Yucatan
MX +2540-10019 America/Monterrey Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Coahuila, Nuevo Leon, Tamaulipas (US border)
MX +2838-10605 America/Chihuahua Chihuahua (most areas)
MX +3144-10629 America/Ciudad_Juarez Chihuahua (US border - west)
MX +2934-10425 America/Ojinaga Chihuahua (US border - east)
MX +2313-10625 America/Mazatlan Baja California Sur, Nayarit (most areas), Sinaloa
MX +2048-10515 America/Bahia_Banderas Bahia de Banderas
MX +2904-11058 America/Hermosillo Sonora
MX +3232-11701 America/Tijuana Baja California
MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula)
MY +0133+11020 Asia/Kuching Sabah, Sarawak
MZ -2558+03235 Africa/Maputo
@@ -424,8 +421,6 @@ TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
TZ -0648+03917 Africa/Dar_es_Salaam
UA +5026+03031 Europe/Kyiv Ukraine (most areas)
UA +4837+02218 Europe/Uzhgorod Transcarpathia
UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk
UG +0019+03225 Africa/Kampala
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island

View File

@@ -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.34
JMH_VERSION=1.35
COMMONS_MATH3_VERSION=3.2
JOPT_SIMPLE_VERSION=4.6

View File

@@ -0,0 +1,7 @@
<component name="CopyrightManager">
<copyright>
<option name="allowReplaceRegexp" value="JetBrains" />
<option name="notice" value="Copyright &amp;#36;originalComment.match(&quot;Copyright (\d+)&quot;, 1, &quot;-&quot;)&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10;&#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation. Oracle designates this&#10;particular file as subject to the &quot;Classpath&quot; exception as provided&#10;by Oracle in the LICENSE file that accompanied this code.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="myName" value="JetBrainsCE" />
</copyright>
</component>

View File

@@ -1,3 +1,7 @@
<component name="CopyrightManager">
<settings default="" />
</component>
<settings default="JetBrainsCE">
<module2copyright>
<element module="TestFiles" copyright="JetBrains" />
</module2copyright>
</settings>
</component>

View File

@@ -0,0 +1,9 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright &amp;#36;originalComment.match(&quot;Copyright (\d+)&quot;, 1, &quot;-&quot;)&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10;&#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -0,0 +1,7 @@
<component name="CopyrightManager">
<copyright>
<option name="allowReplaceRegexp" value="JetBrains" />
<option name="notice" value="Copyright &amp;#36;originalComment.match(&quot;Copyright (\d+)&quot;, 1, &quot;-&quot;)&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10;&#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation. Oracle designates this&#10;particular file as subject to the &quot;Classpath&quot; exception as provided&#10;by Oracle in the LICENSE file that accompanied this code.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="myName" value="JetBrainsCE" />
</copyright>
</component>

View File

@@ -0,0 +1,7 @@
<component name="CopyrightManager">
<settings default="JetBrainsCE">
<module2copyright>
<element module="TestFiles" copyright="JetBrains" />
</module2copyright>
</settings>
</component>

View File

@@ -0,0 +1,3 @@
<component name="DependencyValidationManager">
<scope name="TestFiles" pattern="file[test]:*/" />
</component>

View File

@@ -0,0 +1,5 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

View File

@@ -0,0 +1,3 @@
<component name="DependencyValidationManager">
<scope name="TestFiles" pattern="file[test]:*/" />
</component>

View File

@@ -26,6 +26,7 @@
WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib
LIBAWT_DEFAULT_HEADER_DIRS := \
common/awt/utility \
libawt/awt/image \
libawt/awt/image/cvutils \
libawt/java2d \
@@ -135,6 +136,36 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
LIBAWT_CFLAGS += -fgcse-after-reload
endif
# Setup NVDA a11y announcer
ifeq ($(call isTargetOs, windows), true)
A11Y_NVDA_ANNOUNCING_CFLAGS := -DNO_A11Y_NVDA_ANNOUNCING
A11Y_NVDA_ANNOUNCING_LIBS :=
A11Y_NVDA_ANNOUNCING_DEPENDENCIES :=
ifeq ($(ENABLE_HEADLESS_ONLY), false)
ifeq ($(A11Y_NVDA_ANNOUNCING_ENABLED), true)
A11Y_NVDA_ANNOUNCING_CFLAGS := $(NVDACONTROLLERCLIENT_CFLAGS)
A11Y_NVDA_ANNOUNCING_LIBS := $(NVDACONTROLLERCLIENT_LIB)
A11Y_NVDA_ANNOUNCING_DEPENDENCIES := $(NVDACONTROLLERCLIENT_DLL)
endif
endif
LIBAWT_CFLAGS += $(A11Y_NVDA_ANNOUNCING_CFLAGS)
endif
# Setup the client for the JAWS screen reader
ifeq ($(call isTargetOs, windows), true)
A11Y_JAWS_ANNOUNCING_CFLAGS := -DNO_A11Y_JAWS_ANNOUNCING
ifeq ($(ENABLE_HEADLESS_ONLY), false)
ifeq ($(A11Y_JAWS_ANNOUNCING_ENABLED), true)
A11Y_JAWS_ANNOUNCING_CFLAGS :=
endif
endif
LIBAWT_CFLAGS += $(A11Y_JAWS_ANNOUNCING_CFLAGS)
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
NAME := awt, \
EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
@@ -150,7 +181,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll -delayload:gdiplus.dll \
-delayload:shell32.dll -delayload:winmm.dll \
-delayload:winspool.drv -delayload:imm32.dll \
-delayload:ole32.dll -delayload:comdlg32.dll \
@@ -165,10 +196,10 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
-framework JavaRuntimeSupport \
-framework ApplicationServices \
-framework AudioToolbox, \
LIBS_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
LIBS_windows := kernel32.lib user32.lib gdi32.lib gdiplus.lib winspool.lib \
imm32.lib ole32.lib uuid.lib shell32.lib \
comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib dwmapi.lib, \
delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib dwmapi.lib $(A11Y_NVDA_ANNOUNCING_LIBS), \
VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
EXTRA_RCFLAGS := $(LIBAWT_RCFLAGS), \
))
@@ -179,6 +210,18 @@ ifeq ($(call isTargetOs, macosx), true)
$(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
endif
ifeq ($(call isTargetOs, windows)+$(ENABLE_HEADLESS_ONLY)+$(A11Y_NVDA_ANNOUNCING_ENABLED), true+false+true)
$(eval $(call SetupCopyFiles, COPY_NVDA_DEPENDENCIES, \
FILES := $(A11Y_NVDA_ANNOUNCING_DEPENDENCIES), \
DEST := $(BUILD_LIBAWT_OUTPUT_DIR), \
))
$(COPY_NVDA_DEPENDENCIES): $(A11Y_NVDA_ANNOUNCING_DEPENDENCIES)
$(BUILD_LIBAWT): $(COPY_NVDA_DEPENDENCIES)
TARGETS += $(COPY_NVDA_DEPENDENCIES)
endif
TARGETS += $(BUILD_LIBAWT)
################################################################################
@@ -192,6 +235,18 @@ ifeq ($(call isTargetOs, windows macosx), false)
common/font \
#
ifeq ($(A11Y_SPEECHD_ANNOUNCING_ENABLED), true)
A11Y_SPEECHD_ANNOUNCING_CFLAGS :=
else
A11Y_SPEECHD_ANNOUNCING_CFLAGS := -DNO_A11Y_SPEECHD_ANNOUNCING
endif
ifeq ($(call isTargetOs, linux), true)
LIBAWT_XAWT_EXTRA_SRC += \
$(TOPDIR)/src/$(MODULE)/linux/native/libawt_xawt \
#
endif
LIBAWT_XAWT_EXCLUDES := medialib debug
LIBAWT_XAWT_EXTRA_HEADER_DIRS := \
@@ -207,7 +262,10 @@ ifeq ($(call isTargetOs, windows macosx), false)
LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
$(FONTCONFIG_CFLAGS) \
$(CUPS_CFLAGS)
$(CUPS_CFLAGS) \
$(SPEECHD_CFLAGS) \
$(A11Y_SPEECHD_ANNOUNCING_CFLAGS) \
#
ifeq ($(call isTargetOs, linux), true)
ifeq ($(DISABLE_XRENDER), true)
@@ -215,7 +273,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
endif
endif
LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(SPEECHD_LIBS) $(LIBDL) -lXtst -lXi -ljava -ljvm
ifeq ($(call isTargetOs, linux), true)
LIBAWT_XAWT_LIBS += -lpthread
@@ -369,7 +427,6 @@ ifeq ($(call isTargetOs, windows macosx), false)
common/awt/debug \
common/font \
common/java2d/opengl \
include \
#
LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
@@ -475,11 +532,11 @@ endif
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
libharfbuzz \
common/awt \
common/awt/utility \
common/font \
libawt/java2d \
libawt/java2d/pipe \
libawt/java2d/loops \
include \
#
LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
@@ -566,6 +623,7 @@ ifeq ($(call isTargetOs, windows), true)
LIBJAWT_EXTRA_HEADER_DIRS := \
include \
common/awt/debug \
common/awt/utility \
libawt/awt/image/cvutils \
libawt/java2d \
libawt/java2d/windows \
@@ -661,7 +719,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
common/awt/systemscale \
#
LIBSPLASHSCREEN_HEADER_DIRS += include
LIBSPLASHSCREEN_HEADER_DIRS += common/awt/utility
ifeq ($(USE_EXTERNAL_LIBGIF), false)
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib
@@ -827,6 +885,7 @@ ifeq ($(call isTargetOs, macosx), true)
-framework AudioToolbox \
-framework Carbon \
-framework Cocoa \
-framework IOKit \
-framework Metal \
-framework Security \
-framework ExceptionHandling \

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
@@ -40,6 +40,19 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2GSS, \
TARGETS += $(BUILD_LIBJ2GSS)
ifeq ($(call isTargetOs, windows), true)
$(eval $(call SetupJdkLibrary, BUILD_LIBSSPI_BRIDGE, \
NAME := sspi_bridge, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(TOPDIR)/src/java.security.jgss/share/native/libj2gss, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
))
TARGETS += $(BUILD_LIBSSPI_BRIDGE)
endif
################################################################################
ifneq ($(BUILD_CRYPTO), false)
@@ -57,17 +70,6 @@ ifneq ($(BUILD_CRYPTO), false)
))
TARGETS += $(BUILD_LIBW2K_LSA_AUTH)
$(eval $(call SetupJdkLibrary, BUILD_LIBSSPI_BRIDGE, \
NAME := sspi_bridge, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(TOPDIR)/src/java.security.jgss/share/native/libj2gss, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
))
TARGETS += $(BUILD_LIBSSPI_BRIDGE)
endif
ifeq ($(call isTargetOs, macosx), true)

View File

@@ -42,6 +42,7 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
LDD_CMD="$OTOOL -L"
DIS_CMD="$OTOOL -v -V -t"
STAT_PRINT_SIZE="-f %z"
STRIP="$STRIP -no_code_signature_warning"
elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
FULLDUMP_CMD="$DUMPBIN -all"
LDD_CMD="$DUMPBIN -dependents"
@@ -674,14 +675,22 @@ compare_bin_file() {
ORIG_THIS_FILE="$THIS_FILE"
ORIG_OTHER_FILE="$OTHER_FILE"
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]]; then
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]] \
|| [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
THIS_STRIPPED_FILE=$FILE_WORK_DIR/this/$NAME
OTHER_STRIPPED_FILE=$FILE_WORK_DIR/other/$NAME
$MKDIR -p $FILE_WORK_DIR/this $FILE_WORK_DIR/other
$CP $THIS_FILE $THIS_STRIPPED_FILE
$CP $OTHER_FILE $OTHER_STRIPPED_FILE
$STRIP $THIS_STRIPPED_FILE
$STRIP $OTHER_STRIPPED_FILE
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]]; then
$STRIP $THIS_STRIPPED_FILE
$STRIP $OTHER_STRIPPED_FILE
fi
# On macosx, always remove any signature before comparing
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
$CODESIGN --remove-signature $THIS_STRIPPED_FILE
$CODESIGN --remove-signature $OTHER_STRIPPED_FILE
fi
THIS_FILE="$THIS_STRIPPED_FILE"
OTHER_FILE="$OTHER_STRIPPED_FILE"
fi

View File

@@ -1279,12 +1279,12 @@ class HandlerImpl {
static int emit_deopt_handler(CodeBuffer& cbuf);
static uint size_exception_handler() {
return MacroAssembler::far_branch_size();
return MacroAssembler::far_codestub_branch_size();
}
static uint size_deopt_handler() {
// count one adr and one far branch instruction
return 4 * NativeInstruction::instruction_size;
return NativeInstruction::instruction_size + MacroAssembler::far_codestub_branch_size();
}
};
@@ -2358,7 +2358,7 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf)
__ adr(lr, __ pc());
__ far_jump(RuntimeAddress(SharedRuntime::deopt_blob()->unpack()));
assert(__ offset() - offset <= (int) size_deopt_handler(), "overflow");
assert(__ offset() - offset == (int) size_deopt_handler(), "overflow");
__ end_a_stub();
return offset;
}
@@ -3105,16 +3105,30 @@ encode %{
rscratch1, stlrb);
%}
enc_class aarch64_enc_stlrb0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrb);
%}
enc_class aarch64_enc_stlrh(iRegI src, memory mem) %{
MOV_VOLATILE(as_Register($src$$reg), $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrh);
%}
enc_class aarch64_enc_stlrh0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrh);
%}
enc_class aarch64_enc_stlrw(iRegI src, memory mem) %{
MOV_VOLATILE(as_Register($src$$reg), $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrw);
%}
enc_class aarch64_enc_stlrw0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrw);
%}
enc_class aarch64_enc_ldarsbw(iRegI dst, memory mem) %{
Register dst_reg = as_Register($dst$$reg);
@@ -3205,6 +3219,11 @@ encode %{
rscratch1, stlr);
%}
enc_class aarch64_enc_stlr0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlr);
%}
enc_class aarch64_enc_fstlrs(vRegF src, memory mem) %{
{
C2_MacroAssembler _masm(&cbuf);
@@ -3913,19 +3932,15 @@ encode %{
__ bind(object_has_monitor);
STATIC_ASSERT(markWord::monitor_value <= INT_MAX);
__ 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()));
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
__ cmp(disp_hdr, disp_hdr); // Sets flags for result
__ b(cont);
__ bind(notRecursive);
@@ -4295,6 +4310,16 @@ operand immI_65535()
interface(CONST_INTER);
%}
operand immI_positive()
%{
predicate(n->get_int() > 0);
match(ConI);
op_cost(0);
format %{ %}
interface(CONST_INTER);
%}
operand immL_255()
%{
predicate(n->get_long() == 255L);
@@ -8109,6 +8134,18 @@ instruct storeB_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmB0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreB mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrb zr, $mem\t# byte" %}
ins_encode(aarch64_enc_stlrb0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Char/Short
instruct storeC_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
%{
@@ -8122,6 +8159,18 @@ instruct storeC_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmC0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreC mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrh zr, $mem\t# short" %}
ins_encode(aarch64_enc_stlrh0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Integer
instruct storeI_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
@@ -8136,6 +8185,18 @@ instruct storeI_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmI0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem(StoreI mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrw zr, $mem\t# int" %}
ins_encode(aarch64_enc_stlrw0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Long (64 bit signed)
instruct storeL_volatile(iRegL src, /* sync_memory*/indirect mem)
%{
@@ -8149,6 +8210,18 @@ instruct storeL_volatile(iRegL src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmL0_volatile(immL0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreL mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlr zr, $mem\t# int" %}
ins_encode(aarch64_enc_stlr0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Pointer
instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
%{
@@ -8162,6 +8235,18 @@ instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmP0_volatile(immP0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreP mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlr zr, $mem\t# ptr" %}
ins_encode(aarch64_enc_stlr0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Compressed Pointer
instruct storeN_volatile(iRegN src, /* sync_memory*/indirect mem)
%{
@@ -8175,6 +8260,18 @@ instruct storeN_volatile(iRegN src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmN0_volatile(immN0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreN mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrw zr, $mem\t# compressed ptr" %}
ins_encode(aarch64_enc_stlrw0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Float
instruct storeF_volatile(vRegF src, /* sync_memory*/indirect mem)
%{
@@ -11318,6 +11415,108 @@ instruct regI_not_reg(iRegINoSp dst,
ins_pipe(ialu_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegI_reg_URShift_reg(iRegINoSp dst,
immI0 zero, iRegIorL2I src1, immI src2) %{
match(Set dst (SubI zero (URShiftI src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "negw $dst, $src1, LSR $src2" %}
ins_encode %{
__ negw(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::LSR, $src2$$constant & 0x1f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegI_reg_RShift_reg(iRegINoSp dst,
immI0 zero, iRegIorL2I src1, immI src2) %{
match(Set dst (SubI zero (RShiftI src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "negw $dst, $src1, ASR $src2" %}
ins_encode %{
__ negw(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::ASR, $src2$$constant & 0x1f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegI_reg_LShift_reg(iRegINoSp dst,
immI0 zero, iRegIorL2I src1, immI src2) %{
match(Set dst (SubI zero (LShiftI src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "negw $dst, $src1, LSL $src2" %}
ins_encode %{
__ negw(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::LSL, $src2$$constant & 0x1f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegL_reg_URShift_reg(iRegLNoSp dst,
immL0 zero, iRegL src1, immI src2) %{
match(Set dst (SubL zero (URShiftL src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "neg $dst, $src1, LSR $src2" %}
ins_encode %{
__ neg(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::LSR, $src2$$constant & 0x3f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegL_reg_RShift_reg(iRegLNoSp dst,
immL0 zero, iRegL src1, immI src2) %{
match(Set dst (SubL zero (RShiftL src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "neg $dst, $src1, ASR $src2" %}
ins_encode %{
__ neg(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::ASR, $src2$$constant & 0x3f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct NegL_reg_LShift_reg(iRegLNoSp dst,
immL0 zero, iRegL src1, immI src2) %{
match(Set dst (SubL zero (LShiftL src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "neg $dst, $src1, LSL $src2" %}
ins_encode %{
__ neg(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::LSL, $src2$$constant & 0x3f);
%}
ins_pipe(ialu_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct AndI_reg_not_reg(iRegINoSp dst,
@@ -14997,18 +15196,22 @@ instruct clearArray_reg_reg(iRegL_R11 cnt, iRegP_R10 base, Universe dummy, rFlag
ins_pipe(pipe_class_memory);
%}
instruct clearArray_imm_reg(immL cnt, iRegP_R10 base, Universe dummy, rFlagsReg cr)
instruct clearArray_imm_reg(immL cnt, iRegP_R10 base, iRegL_R11 temp, Universe dummy, rFlagsReg cr)
%{
predicate((uint64_t)n->in(2)->get_long()
< (uint64_t)(BlockZeroingLowLimit >> LogBytesPerWord));
match(Set dummy (ClearArray cnt base));
effect(USE_KILL base);
effect(TEMP temp, USE_KILL base, KILL cr);
ins_cost(4 * INSN_COST);
format %{ "ClearArray $cnt, $base" %}
ins_encode %{
__ zero_words($base$$Register, (uint64_t)$cnt$$constant);
address tpc = __ zero_words($base$$Register, (uint64_t)$cnt$$constant);
if (tpc == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return;
}
%}
ins_pipe(pipe_class_memory);

View File

@@ -52,6 +52,24 @@ instruct $2$1_reg_$4_reg(iReg$1NoSp dst,
ins_pipe(ialu_reg_reg_shift);
%}
')dnl
define(`NEG_SHIFT_INSN',
`// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct Neg$1_reg_$2_reg(iReg$1NoSp dst,
imm$1`0' zero, iReg$1`'ORL2I($1) src1, immI src2) %{
match(Set dst (Sub$1 zero ($2$1 src1 src2)));
ins_cost(1.9 * INSN_COST);
format %{ "ifelse($1, I, negw, neg) $dst, $src1, $3 $src2" %}
ins_encode %{
__ ifelse($1, I, negw, neg)(as_Register($dst$$reg), as_Register($src1$$reg),
Assembler::$3, $src2$$constant & ifelse($1,I,0x1f,0x3f));
%}
ins_pipe(ialu_reg_shift);
%}
')dnl
define(`BASE_INVERTED_INSN',
`// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
@@ -126,6 +144,11 @@ define(`BOTH_SHIFT_INSNS',
`BASE_SHIFT_INSN(I, $1, ifelse($2,andr,andw,$2w), $3, $4)
BASE_SHIFT_INSN(L, $1, $2, $3, $4)')dnl
dnl
define(`BOTH_NEG_SHIFT_INSNS',
`NEG_SHIFT_INSN($1, URShift, LSR)
NEG_SHIFT_INSN($1, RShift, ASR)
NEG_SHIFT_INSN($1, LShift, LSL)')dnl
dnl
define(`BOTH_INVERTED_INSNS',
`BASE_INVERTED_INSN(I, $1, $2w, $3, $4)
BASE_INVERTED_INSN(L, $1, $2, $3, $4)')dnl
@@ -151,6 +174,8 @@ BOTH_INVERTED_SHIFT_INSNS($1, $2, LShift, LSL)')dnl
dnl
NOT_INSN(L, eon)
NOT_INSN(I, eonw)
BOTH_NEG_SHIFT_INSNS(I)
BOTH_NEG_SHIFT_INSNS(L)
BOTH_INVERTED_INSNS(And, bic)
BOTH_INVERTED_INSNS(Or, orn)
BOTH_INVERTED_INSNS(Xor, eon)

View File

@@ -3103,16 +3103,14 @@ instruct replicate2L(vecX dst, iRegL src)
ins_pipe(vdup_reg_reg128);
%}
instruct replicate2L_zero(vecX dst, immI0 zero)
instruct replicate2L_imm(vecX dst, immL con)
%{
predicate(UseSVE == 0 && n->as_Vector()->length() == 2);
match(Set dst (ReplicateI zero));
match(Set dst (ReplicateL con));
ins_cost(INSN_COST);
format %{ "movi $dst, $zero\t# vector (4I)" %}
format %{ "movi $dst, $con\t# vector (2L)" %}
ins_encode %{
__ eor(as_FloatRegister($dst$$reg), __ T16B,
as_FloatRegister($dst$$reg),
as_FloatRegister($dst$$reg));
__ mov(as_FloatRegister($dst$$reg), __ T2D, $con$$constant);
%}
ins_pipe(vmovi_reg_imm128);
%}
@@ -3124,8 +3122,7 @@ instruct replicate2F(vecD dst, vRegF src)
ins_cost(INSN_COST);
format %{ "dup $dst, $src\t# vector (2F)" %}
ins_encode %{
__ dup(as_FloatRegister($dst$$reg), __ T2S,
as_FloatRegister($src$$reg));
__ dup(as_FloatRegister($dst$$reg), __ T2S, as_FloatRegister($src$$reg));
%}
ins_pipe(vdup_reg_freg64);
%}
@@ -3137,8 +3134,7 @@ instruct replicate4F(vecX dst, vRegF src)
ins_cost(INSN_COST);
format %{ "dup $dst, $src\t# vector (4F)" %}
ins_encode %{
__ dup(as_FloatRegister($dst$$reg), __ T4S,
as_FloatRegister($src$$reg));
__ dup(as_FloatRegister($dst$$reg), __ T4S, as_FloatRegister($src$$reg));
%}
ins_pipe(vdup_reg_freg128);
%}
@@ -3150,8 +3146,7 @@ instruct replicate2D(vecX dst, vRegD src)
ins_cost(INSN_COST);
format %{ "dup $dst, $src\t# vector (2D)" %}
ins_encode %{
__ dup(as_FloatRegister($dst$$reg), __ T2D,
as_FloatRegister($src$$reg));
__ dup(as_FloatRegister($dst$$reg), __ T2D, as_FloatRegister($src$$reg));
%}
ins_pipe(vdup_reg_dreg128);
%}
@@ -4428,7 +4423,7 @@ instruct vsll16B_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsra8B_imm(vecD dst, vecD src, immI shift) %{
instruct vsra8B_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4 ||
n->as_Vector()->length() == 8);
match(Set dst (RShiftVB src (RShiftCntV shift)));
@@ -4443,7 +4438,7 @@ instruct vsra8B_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsra16B_imm(vecX dst, vecX src, immI shift) %{
instruct vsra16B_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 16);
match(Set dst (RShiftVB src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4457,7 +4452,7 @@ instruct vsra16B_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrl8B_imm(vecD dst, vecD src, immI shift) %{
instruct vsrl8B_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4 ||
n->as_Vector()->length() == 8);
match(Set dst (URShiftVB src (RShiftCntV shift)));
@@ -4477,7 +4472,7 @@ instruct vsrl8B_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrl16B_imm(vecX dst, vecX src, immI shift) %{
instruct vsrl16B_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 16);
match(Set dst (URShiftVB src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4632,7 +4627,7 @@ instruct vsll8S_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsra4S_imm(vecD dst, vecD src, immI shift) %{
instruct vsra4S_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2 ||
n->as_Vector()->length() == 4);
match(Set dst (RShiftVS src (RShiftCntV shift)));
@@ -4647,7 +4642,7 @@ instruct vsra4S_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsra8S_imm(vecX dst, vecX src, immI shift) %{
instruct vsra8S_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (RShiftVS src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4661,7 +4656,7 @@ instruct vsra8S_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrl4S_imm(vecD dst, vecD src, immI shift) %{
instruct vsrl4S_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2 ||
n->as_Vector()->length() == 4);
match(Set dst (URShiftVS src (RShiftCntV shift)));
@@ -4681,7 +4676,7 @@ instruct vsrl4S_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrl8S_imm(vecX dst, vecX src, immI shift) %{
instruct vsrl8S_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (URShiftVS src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4820,7 +4815,7 @@ instruct vsll4I_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsra2I_imm(vecD dst, vecD src, immI shift) %{
instruct vsra2I_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (RShiftVI src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4833,7 +4828,7 @@ instruct vsra2I_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsra4I_imm(vecX dst, vecX src, immI shift) %{
instruct vsra4I_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (RShiftVI src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4846,7 +4841,7 @@ instruct vsra4I_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrl2I_imm(vecD dst, vecD src, immI shift) %{
instruct vsrl2I_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (URShiftVI src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4859,7 +4854,7 @@ instruct vsrl2I_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrl4I_imm(vecX dst, vecX src, immI shift) %{
instruct vsrl4I_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (URShiftVI src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4932,7 +4927,7 @@ instruct vsll2L_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsra2L_imm(vecX dst, vecX src, immI shift) %{
instruct vsra2L_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (RShiftVL src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4945,7 +4940,7 @@ instruct vsra2L_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrl2L_imm(vecX dst, vecX src, immI shift) %{
instruct vsrl2L_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (URShiftVL src (RShiftCntV shift)));
ins_cost(INSN_COST);
@@ -4958,7 +4953,7 @@ instruct vsrl2L_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsraa8B_imm(vecD dst, vecD src, immI shift) %{
instruct vsraa8B_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (AddVB dst (RShiftVB src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -4972,7 +4967,7 @@ instruct vsraa8B_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsraa16B_imm(vecX dst, vecX src, immI shift) %{
instruct vsraa16B_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 16);
match(Set dst (AddVB dst (RShiftVB src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -4986,7 +4981,7 @@ instruct vsraa16B_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsraa4S_imm(vecD dst, vecD src, immI shift) %{
instruct vsraa4S_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (AddVS dst (RShiftVS src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5000,7 +4995,7 @@ instruct vsraa4S_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsraa8S_imm(vecX dst, vecX src, immI shift) %{
instruct vsraa8S_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (AddVS dst (RShiftVS src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5014,7 +5009,7 @@ instruct vsraa8S_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsraa2I_imm(vecD dst, vecD src, immI shift) %{
instruct vsraa2I_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (AddVI dst (RShiftVI src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5027,7 +5022,7 @@ instruct vsraa2I_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsraa4I_imm(vecX dst, vecX src, immI shift) %{
instruct vsraa4I_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (AddVI dst (RShiftVI src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5040,7 +5035,7 @@ instruct vsraa4I_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsraa2L_imm(vecX dst, vecX src, immI shift) %{
instruct vsraa2L_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (AddVL dst (RShiftVL src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5053,7 +5048,7 @@ instruct vsraa2L_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrla8B_imm(vecD dst, vecD src, immI shift) %{
instruct vsrla8B_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (AddVB dst (URShiftVB src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5068,7 +5063,7 @@ instruct vsrla8B_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrla16B_imm(vecX dst, vecX src, immI shift) %{
instruct vsrla16B_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 16);
match(Set dst (AddVB dst (URShiftVB src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5083,7 +5078,7 @@ instruct vsrla16B_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrla4S_imm(vecD dst, vecD src, immI shift) %{
instruct vsrla4S_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (AddVS dst (URShiftVS src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5098,7 +5093,7 @@ instruct vsrla4S_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrla8S_imm(vecX dst, vecX src, immI shift) %{
instruct vsrla8S_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 8);
match(Set dst (AddVS dst (URShiftVS src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5113,7 +5108,7 @@ instruct vsrla8S_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrla2I_imm(vecD dst, vecD src, immI shift) %{
instruct vsrla2I_imm(vecD dst, vecD src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (AddVI dst (URShiftVI src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5126,7 +5121,7 @@ instruct vsrla2I_imm(vecD dst, vecD src, immI shift) %{
ins_pipe(vshift64_imm);
%}
instruct vsrla4I_imm(vecX dst, vecX src, immI shift) %{
instruct vsrla4I_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 4);
match(Set dst (AddVI dst (URShiftVI src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -5139,7 +5134,7 @@ instruct vsrla4I_imm(vecX dst, vecX src, immI shift) %{
ins_pipe(vshift128_imm);
%}
instruct vsrla2L_imm(vecX dst, vecX src, immI shift) %{
instruct vsrla2L_imm(vecX dst, vecX src, immI_positive shift) %{
predicate(n->as_Vector()->length() == 2);
match(Set dst (AddVL dst (URShiftVL src (RShiftCntV shift))));
ins_cost(INSN_COST);

View File

@@ -1463,55 +1463,54 @@ VFABD(fabd, fabd, 2, F, D, S, 64)
VFABD(fabd, fabd, 4, F, X, S, 128)
VFABD(fabd, fabd, 2, D, X, D, 128)
dnl
define(`VREPLICATE', `
instruct replicate$3$4$5`'(vec$6 dst, $7 ifelse($7, immI0, zero, $7, immI, con, src))
define(`VREPLICATE_REG', `
instruct replicate$2$3`'(vec$4 dst, $5 src)
%{
predicate(ifelse($8, UseSVE == 0 && , $8,
$8, , , $8`
')n->as_Vector()->length() == $3);
match(Set dst (Replicate`'ifelse($7, immI0, I, $4) ifelse($7, immI0, zero, $7, immI, con, $7, zero, I, src)));
predicate(ifelse($7, UseSVE == 0 && , $7,
$7, , , $7`
')n->as_Vector()->length() == $2);
match(Set dst (Replicate$3 src));
ins_cost(INSN_COST);
format %{ "$1 $dst, $ifelse($7, immI0, zero, $7, immI, con, src)`\t# vector ('ifelse($4$7, SimmI, $3H, $2, eor, 4I, $3$4)`)"' %}
format %{ "dup $dst, $src\t# vector ($2$3)" %}
ins_encode %{
__ $2(as_FloatRegister($dst$$reg), __ ifelse(
$2, eor, T16B, T$3`'$9),ifelse(
`$4 $7', `B immI', ` '$con$$constant & 0xff,
`$4 $7', `S immI', ` '$con$$constant & 0xffff,
`$4 $7', `I immI', ` '$con$$constant,
`$2', eor,`
as_FloatRegister($dst$$reg),
as_FloatRegister($dst$$reg)',
`$7', vRegF,`
as_FloatRegister($src$$reg)',
`$7', vRegD,`
as_FloatRegister($src$$reg)',
` 'as_Register($src$$reg)));
__ dup(as_FloatRegister($dst$$reg), __ T$2$1, $6($src$$reg));
%}
ins_pipe(ifelse($7, immI0, v$1_reg_imm,
$7, immI, v$1_reg_imm,
$7, iRegIorL2I, v$1_reg_reg,
$7, zero, vmovi_reg_imm,
$7, iRegL, vdup_reg_reg,
$4, F, vdup_reg_freg, vdup_reg_dreg)`'ifelse($6, X, 128, 64));
ins_pipe(ifelse($5, iRegIorL2I, vdup_reg_reg,
$5, iRegL, vdup_reg_reg,
$3, F, vdup_reg_freg, vdup_reg_dreg)`'ifelse($4, X, 128, 64));
%}')dnl
dnl $1 $2 $3 $4 $5 $6 $7 $8 $9
VREPLICATE(dup, dup, 8, B, , D, iRegIorL2I, n->as_Vector()->length() == 4 ||, B)
VREPLICATE(dup, dup, 16, B, , X, iRegIorL2I, UseSVE == 0 && , B)
VREPLICATE(movi, mov, 8, B, _imm, D, immI, n->as_Vector()->length() == 4 ||, B)
VREPLICATE(movi, mov, 16, B, _imm, X, immI, UseSVE == 0 && , B)
VREPLICATE(dup, dup, 4, S, , D, iRegIorL2I, n->as_Vector()->length() == 2 ||, H)
VREPLICATE(dup, dup, 8, S, , X, iRegIorL2I, UseSVE == 0 && , H)
VREPLICATE(movi, mov, 4, S, _imm, D, immI, n->as_Vector()->length() == 2 ||, H)
VREPLICATE(movi, mov, 8, S, _imm, X, immI, UseSVE == 0 && , H)
VREPLICATE(dup, dup, 2, I, , D, iRegIorL2I, , S)
VREPLICATE(dup, dup, 4, I, , X, iRegIorL2I, UseSVE == 0 && , S)
VREPLICATE(movi, mov, 2, I, _imm, D, immI, , S)
VREPLICATE(movi, mov, 4, I, _imm, X, immI, UseSVE == 0 && , S)
VREPLICATE(dup, dup, 2, L, , X, iRegL, UseSVE == 0 && , D)
VREPLICATE(movi, eor, 2, L, _zero, X, immI0, UseSVE == 0 && , D)
VREPLICATE(dup, dup, 2, F, , D, vRegF, , S)
VREPLICATE(dup, dup, 4, F, , X, vRegF, UseSVE == 0 && , S)
VREPLICATE(dup, dup, 2, D, , X, vRegD, UseSVE == 0 && , D)
define(`VREPLICATE_IMM', `
instruct replicate$2$3_imm`'(vec$4 dst, $5 con)
%{
predicate(ifelse($7, UseSVE == 0 && , $7,
$7, , , $7`
')n->as_Vector()->length() == $2);
match(Set dst (Replicate$3 con));
ins_cost(INSN_COST);
format %{ "movi $dst, $con\t`#' vector ($2`'ifelse($3, S, H, $3))" %}
ins_encode %{
__ mov(as_FloatRegister($dst$$reg), __ T$2`'iTYPE2SIMD($3), $con$$constant`'$6);
%}
ins_pipe(vmovi_reg_imm`'ifelse($4, X, 128, 64));
%}')dnl
dnl $1 $2 $3 $4 $5 $6 $7
VREPLICATE_REG(B, 8, B, D, iRegIorL2I, as_Register, n->as_Vector()->length() == 4 ||)
VREPLICATE_REG(B, 16, B, X, iRegIorL2I, as_Register, UseSVE == 0 && )
VREPLICATE_IMM(B, 8, B, D, immI, ` & 0xff', n->as_Vector()->length() == 4 ||)
VREPLICATE_IMM(B, 16, B, X, immI, ` & 0xff', UseSVE == 0 && )
VREPLICATE_REG(H, 4, S, D, iRegIorL2I, as_Register, n->as_Vector()->length() == 2 ||)
VREPLICATE_REG(H, 8, S, X, iRegIorL2I, as_Register, UseSVE == 0 && )
VREPLICATE_IMM(H, 4, S, D, immI, ` & 0xffff', n->as_Vector()->length() == 2 ||)
VREPLICATE_IMM(H, 8, S, X, immI, ` & 0xffff', UseSVE == 0 && )
VREPLICATE_REG(S, 2, I, D, iRegIorL2I, as_Register, )
VREPLICATE_REG(S, 4, I, X, iRegIorL2I, as_Register, UseSVE == 0 && )
VREPLICATE_IMM(S, 2, I, D, immI, , )
VREPLICATE_IMM(S, 4, I, X, immI, , UseSVE == 0 && )
VREPLICATE_REG(D, 2, L, X, iRegL, as_Register, UseSVE == 0 && )
VREPLICATE_IMM(D, 2, L, X, immL, , UseSVE == 0 && )
VREPLICATE_REG(S, 2, F, D, vRegF, as_FloatRegister, )
VREPLICATE_REG(S, 4, F, X, vRegF, as_FloatRegister, UseSVE == 0 && )
VREPLICATE_REG(D, 2, D, X, vRegD, as_FloatRegister, UseSVE == 0 && )
dnl
// ====================REDUCTION ARITHMETIC====================================
@@ -1992,7 +1991,7 @@ instruct vsll$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
%}')dnl
define(`VSRA_IMM', `
instruct vsra$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
instruct vsra$3$4_imm`'(vec$6 dst, vec$6 src, immI_positive shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
@@ -2017,7 +2016,7 @@ instruct vsra$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
%}')dnl
dnl
define(`VSRL_IMM', `
instruct vsrl$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
instruct vsrl$3$4_imm`'(vec$6 dst, vec$6 src, immI_positive shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
@@ -2052,7 +2051,7 @@ instruct vsrl$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
%}')dnl
dnl
define(`VSRLA_IMM', `
instruct vsrla$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
instruct vsrla$3$4_imm`'(vec$6 dst, vec$6 src, immI_positive shift) %{
predicate(n->as_Vector()->length() == $3);
match(Set dst (AddV$4 dst (URShiftV$4 src (RShiftCntV shift))));
ins_cost(INSN_COST);
@@ -2076,7 +2075,7 @@ instruct vsrla$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
%}')dnl
dnl
define(`VSRAA_IMM', `
instruct vsraa$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
instruct vsraa$3$4_imm`'(vec$6 dst, vec$6 src, immI_positive shift) %{
predicate(n->as_Vector()->length() == $3);
match(Set dst (AddV$4 dst (RShiftV$4 src (RShiftCntV shift))));
ins_cost(INSN_COST);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2020 Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -313,6 +313,53 @@ bool Assembler::operand_valid_for_logical_immediate(bool is32, uint64_t imm) {
return encode_logical_immediate(is32, imm) != 0xffffffff;
}
// Check immediate encoding for movi.
// Return the shift amount which can be {0, 8, 16, 24} for B/H/S types. As the D type
// movi does not have shift variant, in this case the return value is the immediate
// after encoding.
// Return -1 if the input imm64 can not be encoded.
int Assembler::operand_valid_for_movi_immediate(uint64_t imm64, SIMD_Arrangement T) {
if (T == T1D || T == T2D) {
// To encode into movi, the 64-bit imm must be in the form of
// 'aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhhhhhh'
// and encoded in "a:b:c:d:e:f:g:h".
uint64_t tmp = imm64;
uint64_t one_byte = 0;
for (int i = 0; i < 8; i++) {
one_byte = tmp & 0xffULL;
if (one_byte != 0xffULL && one_byte != 0) {
return -1; // can not be encoded
}
tmp = tmp >> 8;
}
imm64 &= 0x0101010101010101ULL;
imm64 |= (imm64 >> 7);
imm64 |= (imm64 >> 14);
imm64 |= (imm64 >> 28);
return imm64 & 0xff;
}
uint32_t imm32 = imm64 & 0xffffffffULL;
if (T == T8B || T == T16B) { // 8-bit variant
if (0 == (imm32 & ~0xff)) return 0;
} else if(T == T4H || T == T8H) { // 16-bit variant
if (0 == (imm32 & ~0xff)) return 0;
if (0 == (imm32 & ~0xff00)) return 8;
} else if (T == T2S || T == T4S) { // 32-bit variant
if (0 == (imm32 & ~0xff)) return 0;
if (0 == (imm32 & ~0xff00)) return 8;
if (0 == (imm32 & ~0xff0000)) return 16;
if (0 == (imm32 & ~0xff000000)) return 24;
} else {
assert(false, "unsupported");
ShouldNotReachHere();
}
return -1;
}
static uint64_t doubleTo64Bits(jdouble d) {
union {
jdouble double_value;

View File

@@ -476,16 +476,17 @@ class Address {
assert(size == 0, "bad size");
size = 0b100;
}
assert(offset_ok_for_immed(_offset, size),
"must be, was: " INT64_FORMAT ", %d", _offset, size);
unsigned mask = (1 << size) - 1;
if (_offset < 0 || _offset & mask)
{
i->f(0b00, 25, 24);
i->f(0, 21), i->f(0b00, 11, 10);
i->sf(_offset, 20, 12);
} else {
i->f(0b01, 25, 24);
i->f(_offset >> size, 21, 10);
}
if (_offset < 0 || _offset & mask) {
i->f(0b00, 25, 24);
i->f(0, 21), i->f(0b00, 11, 10);
i->sf(_offset, 20, 12);
} else {
i->f(0b01, 25, 24);
i->f(_offset >> size, 21, 10);
}
}
break;
@@ -3254,6 +3255,7 @@ public:
static bool operand_valid_for_logical_immediate(bool is32, uint64_t imm);
static bool operand_valid_for_add_sub_immediate(int64_t imm);
static bool operand_valid_for_float_immediate(double imm);
static int operand_valid_for_movi_immediate(uint64_t imm64, SIMD_Arrangement T);
void emit_data64(jlong data, relocInfo::relocType rtype, int format = 0);
void emit_data64(jlong data, RelocationHolder const& rspec, int format = 0);

View File

@@ -30,8 +30,14 @@
#include "asm/codeBuffer.hpp"
#include "code/codeCache.hpp"
// Check if an offset is within the encoding range for LDR/STR instructions
// with an immediate offset, either using unscaled signed 9-bits or, scaled
// unsigned 12-bits. We favour the scaled unsigned encoding for all aligned
// offsets (only using the signed 9-bit encoding for negative and unaligned
// offsets). As a precondition, 0 <= shift <= 4 is the log2(size), for the
// supported data widths, {1, 2, 4, 8, 16} bytes.
inline bool Address::offset_ok_for_immed(int64_t offset, uint shift) {
precond(shift < 5);
uint mask = (1 << shift) - 1;
if (offset < 0 || (offset & mask) != 0) {
// Unscaled signed offset, encoded in a signed imm9 field.

View File

@@ -187,14 +187,13 @@ Address LIR_Assembler::as_Address(LIR_Address* addr, Register tmp) {
default:
ShouldNotReachHere();
}
} else {
intptr_t addr_offset = intptr_t(addr->disp());
if (Address::offset_ok_for_immed(addr_offset, addr->scale()))
return Address(base, addr_offset, Address::lsl(addr->scale()));
else {
__ mov(tmp, addr_offset);
return Address(base, tmp, Address::lsl(addr->scale()));
}
} else {
assert(addr->scale() == 0,
"expected for immediate operand, was: %d", addr->scale());
ptrdiff_t offset = ptrdiff_t(addr->disp());
// NOTE: Does not handle any 16 byte vector access.
const uint type_size = type2aelembytes(addr->type(), true);
return __ legitimize_address(Address(base, offset), type_size, tmp);
}
return Address();
}
@@ -283,10 +282,9 @@ void LIR_Assembler::osr_entry() {
__ bind(L);
}
#endif
__ ldr(r19, Address(OSR_buf, slot_offset + 0));
__ ldp(r19, r20, Address(OSR_buf, slot_offset));
__ str(r19, frame_map()->address_for_monitor_lock(i));
__ ldr(r19, Address(OSR_buf, slot_offset + 1*BytesPerWord));
__ str(r19, frame_map()->address_for_monitor_object(i));
__ str(r20, frame_map()->address_for_monitor_object(i));
}
}
}

View File

@@ -148,7 +148,7 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_constant()) {
LIR_Const *constant = index->as_constant_ptr();
if (constant->type() == T_INT) {
large_disp += index->as_jint() << shift;
large_disp += ((intx)index->as_jint()) << shift;
} else {
assert(constant->type() == T_LONG, "should be");
jlong c = index->as_jlong() << shift;
@@ -194,7 +194,7 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (large_disp == 0 && index->is_register()) {
return new LIR_Address(base, index, type);
} else {
assert(Address::offset_ok_for_immed(large_disp, 0), "must be");
assert(Address::offset_ok_for_immed(large_disp, shift), "failed for large_disp: " INTPTR_FORMAT " and shift %d", large_disp, shift);
return new LIR_Address(base, large_disp, type);
}
}
@@ -204,24 +204,7 @@ LIR_Address* LIRGenerator::emit_array_address(LIR_Opr array_opr, LIR_Opr index_o
int offset_in_bytes = arrayOopDesc::base_offset_in_bytes(type);
int elem_size = type2aelembytes(type);
int shift = exact_log2(elem_size);
LIR_Address* addr;
if (index_opr->is_constant()) {
addr = new LIR_Address(array_opr,
offset_in_bytes + (intx)(index_opr->as_jint()) * elem_size, type);
} else {
if (offset_in_bytes) {
LIR_Opr tmp = new_pointer_register();
__ add(array_opr, LIR_OprFact::intConst(offset_in_bytes), tmp);
array_opr = tmp;
offset_in_bytes = 0;
}
addr = new LIR_Address(array_opr,
index_opr,
LIR_Address::scale(type),
offset_in_bytes, type);
}
return addr;
return generate_address(array_opr, index_opr, shift, offset_in_bytes, type);
}
LIR_Opr LIRGenerator::load_immediate(int x, BasicType type) {
@@ -1132,8 +1115,8 @@ void LIRGenerator::do_NewInstance(NewInstance* x) {
CodeEmitInfo* info = state_for(x, x->state());
LIR_Opr reg = result_register_for(x->type());
new_instance(reg, x->klass(), x->is_unresolved(),
FrameMap::r2_oop_opr,
FrameMap::r5_oop_opr,
FrameMap::r10_oop_opr,
FrameMap::r11_oop_opr,
FrameMap::r4_oop_opr,
LIR_OprFact::illegalOpr,
FrameMap::r3_metadata_opr, info);
@@ -1148,8 +1131,8 @@ void LIRGenerator::do_NewTypeArray(NewTypeArray* x) {
length.load_item_force(FrameMap::r19_opr);
LIR_Opr reg = result_register_for(x->type());
LIR_Opr tmp1 = FrameMap::r2_oop_opr;
LIR_Opr tmp2 = FrameMap::r4_oop_opr;
LIR_Opr tmp1 = FrameMap::r10_oop_opr;
LIR_Opr tmp2 = FrameMap::r11_oop_opr;
LIR_Opr tmp3 = FrameMap::r5_oop_opr;
LIR_Opr tmp4 = reg;
LIR_Opr klass_reg = FrameMap::r3_metadata_opr;
@@ -1177,8 +1160,8 @@ void LIRGenerator::do_NewObjectArray(NewObjectArray* x) {
CodeEmitInfo* info = state_for(x, x->state());
LIR_Opr reg = result_register_for(x->type());
LIR_Opr tmp1 = FrameMap::r2_oop_opr;
LIR_Opr tmp2 = FrameMap::r4_oop_opr;
LIR_Opr tmp1 = FrameMap::r10_oop_opr;
LIR_Opr tmp2 = FrameMap::r11_oop_opr;
LIR_Opr tmp3 = FrameMap::r5_oop_opr;
LIR_Opr tmp4 = reg;
LIR_Opr klass_reg = FrameMap::r3_metadata_opr;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. 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
@@ -203,20 +203,24 @@ void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register
}
// preserves obj, destroys len_in_bytes
void C1_MacroAssembler::initialize_body(Register obj, Register len_in_bytes, int hdr_size_in_bytes, Register t1) {
//
// Scratch registers: t1 = r10, t2 = r11
//
void C1_MacroAssembler::initialize_body(Register obj, Register len_in_bytes, int hdr_size_in_bytes, Register t1, Register t2) {
assert(hdr_size_in_bytes >= 0, "header size must be positive or 0");
assert(t1 == r10 && t2 == r11, "must be");
Label done;
// len_in_bytes is positive and ptr sized
subs(len_in_bytes, len_in_bytes, hdr_size_in_bytes);
br(Assembler::EQ, done);
// Preserve obj
if (hdr_size_in_bytes)
add(obj, obj, hdr_size_in_bytes);
zero_memory(obj, len_in_bytes, t1);
if (hdr_size_in_bytes)
sub(obj, obj, hdr_size_in_bytes);
// zero_words() takes ptr in r10 and count in words in r11
mov(rscratch1, len_in_bytes);
lea(t1, Address(obj, hdr_size_in_bytes));
lsr(t2, rscratch1, LogBytesPerWord);
zero_words(t1, t2);
bind(done);
}
@@ -231,6 +235,7 @@ void C1_MacroAssembler::allocate_object(Register obj, Register t1, Register t2,
initialize_object(obj, klass, noreg, object_size * HeapWordSize, t1, t2, UseTLAB);
}
// Scratch registers: t1 = r10, t2 = r11
void C1_MacroAssembler::initialize_object(Register obj, Register klass, Register var_size_in_bytes, int con_size_in_bytes, Register t1, Register t2, bool is_tlab_allocated) {
assert((con_size_in_bytes & MinObjAlignmentInBytesMask) == 0,
"con_size_in_bytes is not multiple of alignment");
@@ -241,45 +246,13 @@ void C1_MacroAssembler::initialize_object(Register obj, Register klass, Register
if (!(UseTLAB && ZeroTLAB && is_tlab_allocated)) {
// clear rest of allocated space
const Register index = t2;
const int threshold = 16 * BytesPerWord; // approximate break even point for code size (see comments below)
if (var_size_in_bytes != noreg) {
mov(index, var_size_in_bytes);
initialize_body(obj, index, hdr_size_in_bytes, t1);
} else if (con_size_in_bytes <= threshold) {
// use explicit null stores
int i = hdr_size_in_bytes;
if (i < con_size_in_bytes && (con_size_in_bytes % (2 * BytesPerWord))) {
str(zr, Address(obj, i));
i += BytesPerWord;
}
for (; i < con_size_in_bytes; i += 2 * BytesPerWord)
stp(zr, zr, Address(obj, i));
initialize_body(obj, index, hdr_size_in_bytes, t1, t2);
} else if (con_size_in_bytes > hdr_size_in_bytes) {
block_comment("zero memory");
// use loop to null out the fields
int words = (con_size_in_bytes - hdr_size_in_bytes) / BytesPerWord;
mov(index, words / 8);
const int unroll = 8; // Number of str(zr) instructions we'll unroll
int remainder = words % unroll;
lea(rscratch1, Address(obj, hdr_size_in_bytes + remainder * BytesPerWord));
Label entry_point, loop;
b(entry_point);
bind(loop);
sub(index, index, 1);
for (int i = -unroll; i < 0; i++) {
if (-i == remainder)
bind(entry_point);
str(zr, Address(rscratch1, i * wordSize));
}
if (remainder == 0)
bind(entry_point);
add(rscratch1, rscratch1, unroll * wordSize);
cbnz(index, loop);
con_size_in_bytes -= hdr_size_in_bytes;
lea(t1, Address(obj, hdr_size_in_bytes));
zero_words(t1, con_size_in_bytes / BytesPerWord);
}
}
@@ -314,8 +287,7 @@ void C1_MacroAssembler::allocate_array(Register obj, Register len, Register t1,
initialize_header(obj, klass, len, t1, t2);
// clear rest of allocated space
const Register len_zero = len;
initialize_body(obj, arr_size, header_size * BytesPerWord, len_zero);
initialize_body(obj, arr_size, header_size * BytesPerWord, t1, t2);
membar(StoreStore);

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* Copyright (c) 1999, 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
@@ -48,7 +48,7 @@ using MacroAssembler::null_check;
);
void initialize_header(Register obj, Register klass, Register len, Register t1, Register t2);
void initialize_body(Register obj, Register len_in_bytes, int hdr_size_in_bytes, Register t1);
void initialize_body(Register obj, Register len_in_bytes, int hdr_size_in_bytes, Register t1, Register t2);
void float_cmp(bool is_float, int unordered_result,
FloatRegister f0, FloatRegister f1,

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. 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
@@ -656,9 +656,9 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) &&
!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Label slow_path;
Register obj_size = r2;
Register t1 = r19;
Register t2 = r4;
Register obj_size = r19;
Register t1 = r10;
Register t2 = r11;
assert_different_registers(klass, obj, obj_size, t1, t2);
__ stp(r19, zr, Address(__ pre(sp, -2 * wordSize)));
@@ -769,9 +769,9 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
// allocations.
// Otherwise, just go to the slow path.
if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Register arr_size = r4;
Register t1 = r2;
Register t2 = r5;
Register arr_size = r5;
Register t1 = r10;
Register t2 = r11;
Label slow_path;
assert_different_registers(length, klass, obj, arr_size, t1, t2);
@@ -801,7 +801,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ andr(t1, t1, Klass::_lh_header_size_mask);
__ sub(arr_size, arr_size, t1); // body length
__ add(t1, t1, obj); // body start
__ initialize_body(t1, arr_size, 0, t2);
__ initialize_body(t1, arr_size, 0, t1, t2);
__ membar(Assembler::StoreStore);
__ verify_oop(obj);

View File

@@ -106,7 +106,7 @@ define_pd_global(intx, InlineSmallCode, 1000);
"Use DC ZVA for block zeroing") \
product(intx, BlockZeroingLowLimit, 256, \
"Minimum size in bytes when block zeroing will be used") \
range(1, max_jint) \
range(wordSize, max_jint) \
product(bool, TraceTraps, false, "Trace all traps the signal handler")\
product(int, SoftwarePrefetchHintDistance, -1, \
"Use prfm hint with specified distance in compiled code." \

View File

@@ -52,9 +52,15 @@ void InlineCacheBuffer::assemble_ic_buffer_code(address code_begin, void* cached
address start = __ pc();
Label l;
__ ldr(rscratch2, l);
__ far_jump(ExternalAddress(entry_point));
__ align(wordSize);
int jump_code_size = __ far_jump(ExternalAddress(entry_point));
// IC stub code size is not expected to vary depending on target address.
// We use NOPs to make the [ldr + far_jump + nops + int64] stub size equal to ic_stub_code_size.
for (int size = NativeInstruction::instruction_size + jump_code_size + 8;
size < ic_stub_code_size(); size += NativeInstruction::instruction_size) {
__ nop();
}
__ bind(l);
assert((uintptr_t)__ pc() % wordSize == 0, "");
__ emit_int64((int64_t)cached_value);
// Only need to invalidate the 1st two instructions - not the whole ic stub
ICache::invalidate_range(code_begin, InlineCacheBuffer::ic_stub_code_size());

View File

@@ -29,6 +29,7 @@
#include "jvm.h"
#include "asm/assembler.hpp"
#include "asm/assembler.inline.hpp"
#include "ci/ciEnv.hpp"
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/barrierSetAssembler.hpp"
#include "gc/shared/cardTableBarrierSet.hpp"
@@ -37,6 +38,7 @@
#include "gc/shared/tlab_globals.hpp"
#include "interpreter/bytecodeHistogram.hpp"
#include "interpreter/interpreter.hpp"
#include "compiler/compileTask.hpp"
#include "compiler/disassembler.hpp"
#include "memory/resourceArea.hpp"
#include "memory/universe.hpp"
@@ -382,14 +384,27 @@ void MacroAssembler::set_last_Java_frame(Register last_java_sp,
}
}
static inline bool target_needs_far_branch(address addr) {
// codecache size <= 128M
if (!MacroAssembler::far_branches()) {
return false;
}
// codecache size > 240M
if (MacroAssembler::codestub_branch_needs_far_jump()) {
return true;
}
// codecache size: 128M..240M
return !CodeCache::is_non_nmethod(addr);
}
void MacroAssembler::far_call(Address entry, CodeBuffer *cbuf, Register tmp) {
assert(ReservedCodeCacheSize < 4*G, "branch out of range");
assert(CodeCache::find_blob(entry.target()) != NULL,
"destination of far call not found in code cache");
if (far_branches()) {
if (target_needs_far_branch(entry.target())) {
uint64_t offset;
// We can use ADRP here because we know that the total size of
// the code cache cannot exceed 2Gb.
// the code cache cannot exceed 2Gb (ADRP limit is 4GB).
adrp(tmp, entry, offset);
add(tmp, tmp, offset);
if (cbuf) cbuf->set_insts_mark();
@@ -400,14 +415,15 @@ void MacroAssembler::far_call(Address entry, CodeBuffer *cbuf, Register tmp) {
}
}
void MacroAssembler::far_jump(Address entry, CodeBuffer *cbuf, Register tmp) {
int MacroAssembler::far_jump(Address entry, CodeBuffer *cbuf, Register tmp) {
assert(ReservedCodeCacheSize < 4*G, "branch out of range");
assert(CodeCache::find_blob(entry.target()) != NULL,
"destination of far call not found in code cache");
if (far_branches()) {
address start = pc();
if (target_needs_far_branch(entry.target())) {
uint64_t offset;
// We can use ADRP here because we know that the total size of
// the code cache cannot exceed 2Gb.
// the code cache cannot exceed 2Gb (ADRP limit is 4GB).
adrp(tmp, entry, offset);
add(tmp, tmp, offset);
if (cbuf) cbuf->set_insts_mark();
@@ -416,6 +432,7 @@ void MacroAssembler::far_jump(Address entry, CodeBuffer *cbuf, Register tmp) {
if (cbuf) cbuf->set_insts_mark();
b(entry);
}
return pc() - start;
}
void MacroAssembler::reserved_stack_check() {
@@ -1229,7 +1246,7 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
if (!IS_A_TEMP(r2)) pushed_registers += r2;
if (!IS_A_TEMP(r5)) pushed_registers += r5;
if (super_klass != r0 || UseCompressedOops) {
if (super_klass != r0) {
if (!IS_A_TEMP(r0)) pushed_registers += r0;
}
@@ -1509,48 +1526,43 @@ void MacroAssembler::movptr(Register r, uintptr_t imm64) {
}
// Macro to mov replicated immediate to vector register.
// Vd will get the following values for different arrangements in T
// imm32 == hex 000000gh T8B: Vd = ghghghghghghghgh
// imm32 == hex 000000gh T16B: Vd = ghghghghghghghghghghghghghghghgh
// imm32 == hex 0000efgh T4H: Vd = efghefghefghefgh
// imm32 == hex 0000efgh T8H: Vd = efghefghefghefghefghefghefghefgh
// imm32 == hex abcdefgh T2S: Vd = abcdefghabcdefgh
// imm32 == hex abcdefgh T4S: Vd = abcdefghabcdefghabcdefghabcdefgh
// T1D/T2D: invalid
void MacroAssembler::mov(FloatRegister Vd, SIMD_Arrangement T, uint32_t imm32) {
assert(T != T1D && T != T2D, "invalid arrangement");
if (T == T8B || T == T16B) {
assert((imm32 & ~0xff) == 0, "extraneous bits in unsigned imm32 (T8B/T16B)");
movi(Vd, T, imm32 & 0xff, 0);
// imm64: only the lower 8/16/32 bits are considered for B/H/S type. That is,
// the upper 56/48/32 bits must be zeros for B/H/S type.
// Vd will get the following values for different arrangements in T
// imm64 == hex 000000gh T8B: Vd = ghghghghghghghgh
// imm64 == hex 000000gh T16B: Vd = ghghghghghghghghghghghghghghghgh
// imm64 == hex 0000efgh T4H: Vd = efghefghefghefgh
// imm64 == hex 0000efgh T8H: Vd = efghefghefghefghefghefghefghefgh
// imm64 == hex abcdefgh T2S: Vd = abcdefghabcdefgh
// imm64 == hex abcdefgh T4S: Vd = abcdefghabcdefghabcdefghabcdefgh
// imm64 == hex abcdefgh T1D: Vd = 00000000abcdefgh
// imm64 == hex abcdefgh T2D: Vd = 00000000abcdefgh00000000abcdefgh
// Clobbers rscratch1
void MacroAssembler::mov(FloatRegister Vd, SIMD_Arrangement T, uint64_t imm64) {
assert(T != T1Q, "unsupported");
if (T == T1D || T == T2D) {
int imm = operand_valid_for_movi_immediate(imm64, T);
if (-1 != imm) {
movi(Vd, T, imm);
} else {
mov(rscratch1, imm64);
dup(Vd, T, rscratch1);
}
return;
}
uint32_t nimm32 = ~imm32;
if (T == T4H || T == T8H) {
assert((imm32 & ~0xffff) == 0, "extraneous bits in unsigned imm32 (T4H/T8H)");
imm32 &= 0xffff;
nimm32 &= 0xffff;
}
uint32_t x = imm32;
int movi_cnt = 0;
int movn_cnt = 0;
while (x) { if (x & 0xff) movi_cnt++; x >>= 8; }
x = nimm32;
while (x) { if (x & 0xff) movn_cnt++; x >>= 8; }
if (movn_cnt < movi_cnt) imm32 = nimm32;
unsigned lsl = 0;
while (imm32 && (imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
if (movn_cnt < movi_cnt)
mvni(Vd, T, imm32 & 0xff, lsl);
else
movi(Vd, T, imm32 & 0xff, lsl);
imm32 >>= 8; lsl += 8;
while (imm32) {
while ((imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
if (movn_cnt < movi_cnt)
bici(Vd, T, imm32 & 0xff, lsl);
else
orri(Vd, T, imm32 & 0xff, lsl);
lsl += 8; imm32 >>= 8;
#ifdef ASSERT
if (T == T8B || T == T16B) assert((imm64 & ~0xff) == 0, "extraneous bits (T8B/T16B)");
if (T == T4H || T == T8H) assert((imm64 & ~0xffff) == 0, "extraneous bits (T4H/T8H)");
if (T == T2S || T == T4S) assert((imm64 & ~0xffffffff) == 0, "extraneous bits (T2S/T4S)");
#endif
int shift = operand_valid_for_movi_immediate(imm64, T);
uint32_t imm32 = imm64 & 0xffffffffULL;
if (shift >= 0) {
movi(Vd, T, (imm32 >> shift) & 0xff, shift);
} else {
movw(rscratch1, imm32);
dup(Vd, T, rscratch1);
}
}
@@ -4283,68 +4295,6 @@ void MacroAssembler::eden_allocate(Register obj,
bs->eden_allocate(this, obj, var_size_in_bytes, con_size_in_bytes, t1, slow_case);
}
// Zero words; len is in bytes
// Destroys all registers except addr
// len must be a nonzero multiple of wordSize
void MacroAssembler::zero_memory(Register addr, Register len, Register t1) {
assert_different_registers(addr, len, t1, rscratch1, rscratch2);
#ifdef ASSERT
{ Label L;
tst(len, BytesPerWord - 1);
br(Assembler::EQ, L);
stop("len is not a multiple of BytesPerWord");
bind(L);
}
#endif
#ifndef PRODUCT
block_comment("zero memory");
#endif
Label loop;
Label entry;
// Algorithm:
//
// scratch1 = cnt & 7;
// cnt -= scratch1;
// p += scratch1;
// switch (scratch1) {
// do {
// cnt -= 8;
// p[-8] = 0;
// case 7:
// p[-7] = 0;
// case 6:
// p[-6] = 0;
// // ...
// case 1:
// p[-1] = 0;
// case 0:
// p += 8;
// } while (cnt);
// }
const int unroll = 8; // Number of str(zr) instructions we'll unroll
lsr(len, len, LogBytesPerWord);
andr(rscratch1, len, unroll - 1); // tmp1 = cnt % unroll
sub(len, len, rscratch1); // cnt -= unroll
// t1 always points to the end of the region we're about to zero
add(t1, addr, rscratch1, Assembler::LSL, LogBytesPerWord);
adr(rscratch2, entry);
sub(rscratch2, rscratch2, rscratch1, Assembler::LSL, 2);
br(rscratch2);
bind(loop);
sub(len, len, unroll);
for (int i = -unroll; i < 0; i++)
Assembler::str(zr, Address(t1, i * wordSize));
bind(entry);
add(t1, t1, unroll * wordSize);
cbnz(len, loop);
}
void MacroAssembler::verify_tlab() {
#ifdef ASSERT
if (UseTLAB && VerifyOops) {
@@ -4863,10 +4813,11 @@ void MacroAssembler::string_equals(Register a1, Register a2,
// handle anything smaller than this ourselves in zero_words().
const int MacroAssembler::zero_words_block_size = 8;
// zero_words() is used by C2 ClearArray patterns. It is as small as
// possible, handling small word counts locally and delegating
// anything larger to the zero_blocks stub. It is expanded many times
// in compiled code, so it is important to keep it short.
// zero_words() is used by C2 ClearArray patterns and by
// C1_MacroAssembler. It is as small as possible, handling small word
// counts locally and delegating anything larger to the zero_blocks
// stub. It is expanded many times in compiled code, so it is
// important to keep it short.
// ptr: Address of a buffer to be zeroed.
// cnt: Count in HeapWords.
@@ -4875,32 +4826,45 @@ const int MacroAssembler::zero_words_block_size = 8;
address MacroAssembler::zero_words(Register ptr, Register cnt)
{
assert(is_power_of_2(zero_words_block_size), "adjust this");
assert(ptr == r10 && cnt == r11, "mismatch in register usage");
BLOCK_COMMENT("zero_words {");
cmp(cnt, (u1)zero_words_block_size);
assert(ptr == r10 && cnt == r11, "mismatch in register usage");
RuntimeAddress zero_blocks = RuntimeAddress(StubRoutines::aarch64::zero_blocks());
assert(zero_blocks.target() != NULL, "zero_blocks stub has not been generated");
subs(rscratch1, cnt, zero_words_block_size);
Label around;
br(LO, around);
{
RuntimeAddress zero_blocks = RuntimeAddress(StubRoutines::aarch64::zero_blocks());
assert(zero_blocks.target() != NULL, "zero_blocks stub has not been generated");
if (StubRoutines::aarch64::complete()) {
// Make sure this is a C2 compilation. C1 allocates space only for
// trampoline stubs generated by Call LIR ops, and in any case it
// makes sense for a C1 compilation task to proceed as quickly as
// possible.
CompileTask* task;
if (StubRoutines::aarch64::complete()
&& Thread::current()->is_Compiler_thread()
&& (task = ciEnv::current()->task())
&& is_c2_compile(task->comp_level())) {
address tpc = trampoline_call(zero_blocks);
if (tpc == NULL) {
DEBUG_ONLY(reset_labels(around));
postcond(pc() == badAddress);
return NULL;
}
} else {
bl(zero_blocks);
far_call(zero_blocks);
}
}
bind(around);
// We have a few words left to do. zero_blocks has adjusted r10 and r11
// for us.
for (int i = zero_words_block_size >> 1; i > 1; i >>= 1) {
Label l;
tbz(cnt, exact_log2(i), l);
for (int j = 0; j < i; j += 2) {
stp(zr, zr, post(ptr, 16));
stp(zr, zr, post(ptr, 2 * BytesPerWord));
}
bind(l);
}
@@ -4910,46 +4874,59 @@ address MacroAssembler::zero_words(Register ptr, Register cnt)
str(zr, Address(ptr));
bind(l);
}
BLOCK_COMMENT("} zero_words");
postcond(pc() != badAddress);
return pc();
}
// base: Address of a buffer to be zeroed, 8 bytes aligned.
// cnt: Immediate count in HeapWords.
#define SmallArraySize (18 * BytesPerLong)
void MacroAssembler::zero_words(Register base, uint64_t cnt)
//
// r10, r11, rscratch1, and rscratch2 are clobbered.
address MacroAssembler::zero_words(Register base, uint64_t cnt)
{
BLOCK_COMMENT("zero_words {");
int i = cnt & 1; // store any odd word to start
if (i) str(zr, Address(base));
if (cnt <= SmallArraySize / BytesPerLong) {
assert(wordSize <= BlockZeroingLowLimit,
"increase BlockZeroingLowLimit");
address result = nullptr;
if (cnt <= (uint64_t)BlockZeroingLowLimit / BytesPerWord) {
#ifndef PRODUCT
{
char buf[64];
snprintf(buf, sizeof buf, "zero_words (count = %" PRIu64 ") {", cnt);
BLOCK_COMMENT(buf);
}
#endif
if (cnt >= 16) {
uint64_t loops = cnt/16;
if (loops > 1) {
mov(rscratch2, loops - 1);
}
{
Label loop;
bind(loop);
for (int i = 0; i < 16; i += 2) {
stp(zr, zr, Address(base, i * BytesPerWord));
}
add(base, base, 16 * BytesPerWord);
if (loops > 1) {
subs(rscratch2, rscratch2, 1);
br(GE, loop);
}
}
}
cnt %= 16;
int i = cnt & 1; // store any odd word to start
if (i) str(zr, Address(base));
for (; i < (int)cnt; i += 2) {
stp(zr, zr, Address(base, i * wordSize));
}
BLOCK_COMMENT("} zero_words");
result = pc();
} else {
const int unroll = 4; // Number of stp(zr, zr) instructions we'll unroll
int remainder = cnt % (2 * unroll);
for (; i < remainder; i += 2) {
stp(zr, zr, Address(base, i * wordSize));
}
Label loop;
Register cnt_reg = rscratch1;
Register loop_base = rscratch2;
cnt = cnt - remainder;
mov(cnt_reg, cnt);
// adjust base and prebias by -2 * wordSize so we can pre-increment
add(loop_base, base, (remainder - 2) * wordSize);
bind(loop);
sub(cnt_reg, cnt_reg, 2 * unroll);
for (i = 1; i < unroll; i++) {
stp(zr, zr, Address(loop_base, 2 * i * wordSize));
}
stp(zr, zr, Address(pre(loop_base, 2 * unroll * wordSize)));
cbnz(cnt_reg, loop);
mov(r10, base); mov(r11, cnt);
result = zero_words(r10, r11);
}
BLOCK_COMMENT("} zero_words");
return result;
}
// Zero blocks of memory by using DC ZVA.

View File

@@ -525,7 +525,7 @@ public:
void movptr(Register r, uintptr_t imm64);
void mov(FloatRegister Vd, SIMD_Arrangement T, uint32_t imm32);
void mov(FloatRegister Vd, SIMD_Arrangement T, uint64_t imm64);
void mov(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) {
orr(Vd, T, Vn, Vn);
@@ -907,7 +907,6 @@ public:
Register t2, // temp register
Label& slow_case // continuation point if fast allocation fails
);
void zero_memory(Register addr, Register len, Register t1);
void verify_tlab();
// interface method calling
@@ -1087,13 +1086,18 @@ public:
return ReservedCodeCacheSize > branch_range;
}
// Check if branches to the the non nmethod section require a far jump
static bool codestub_branch_needs_far_jump() {
return CodeCache::max_distance_to_non_nmethod() > branch_range;
}
// Jumps that can reach anywhere in the code cache.
// Trashes tmp.
void far_call(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
void far_jump(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
int far_jump(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
static int far_branch_size() {
if (far_branches()) {
static int far_codestub_branch_size() {
if (codestub_branch_needs_far_jump()) {
return 3 * 4; // adrp, add, br
} else {
return 4;
@@ -1258,7 +1262,7 @@ public:
int elem_size);
void fill_words(Register base, Register cnt, Register value);
void zero_words(Register base, uint64_t cnt);
address zero_words(Register base, uint64_t cnt);
address zero_words(Register ptr, Register cnt);
void zero_dcache_blocks(Register base, Register cnt);

View File

@@ -4752,7 +4752,7 @@ class StubGenerator: public StubCodeGenerator {
__ enter();
Label RET_TRUE, RET_TRUE_NO_POP, RET_FALSE, ALIGNED, LOOP16, CHECK_16, DONE,
Label RET_TRUE, RET_TRUE_NO_POP, RET_FALSE, ALIGNED, LOOP16, CHECK_16,
LARGE_LOOP, POST_LOOP16, LEN_OVER_15, LEN_OVER_8, POST_LOOP16_LOAD_TAIL;
__ cmp(len, (u1)15);
@@ -4894,10 +4894,6 @@ class StubGenerator: public StubCodeGenerator {
__ mov(result, 1);
__ ret(lr);
__ bind(DONE);
__ pop(spilled_regs, sp);
__ leave();
__ ret(lr);
return entry;
}
@@ -6129,6 +6125,7 @@ class StubGenerator: public StubCodeGenerator {
* c_rarg3 - dest_start
* c_rarg4 - dest_offset
* c_rarg5 - isURL
* c_rarg6 - isMIME
*
*/
address generate_base64_decodeBlock() {
@@ -6211,12 +6208,13 @@ class StubGenerator: public StubCodeGenerator {
StubCodeMark mark(this, "StubRoutines", "decodeBlock");
address start = __ pc();
Register src = c_rarg0; // source array
Register soff = c_rarg1; // source start offset
Register send = c_rarg2; // source end offset
Register dst = c_rarg3; // dest array
Register doff = c_rarg4; // position for writing to dest array
Register isURL = c_rarg5; // Base64 or URL character set
Register src = c_rarg0; // source array
Register soff = c_rarg1; // source start offset
Register send = c_rarg2; // source end offset
Register dst = c_rarg3; // dest array
Register doff = c_rarg4; // position for writing to dest array
Register isURL = c_rarg5; // Base64 or URL character set
Register isMIME = c_rarg6; // Decoding MIME block - unused in this implementation
Register length = send; // reuse send as length of source data to process

View File

@@ -266,7 +266,7 @@ void VM_Version::initialize() {
UseAES = true;
}
if (FLAG_IS_DEFAULT(UseAESCTRIntrinsics)) {
FLAG_SET_DEFAULT(UseAESCTRIntrinsics, false);
FLAG_SET_DEFAULT(UseAESCTRIntrinsics, true);
}
} else {
if (UseAES) {

View File

@@ -1483,6 +1483,9 @@ void LIR_Assembler::cmove(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, L
__ mov_double(result->as_double_reg(), c->as_jdouble(), acond);
#endif // __SOFTFP__
break;
case T_METADATA:
__ mov_metadata(result->as_register(), c->as_metadata(), acond);
break;
default:
ShouldNotReachHere();
}

View File

@@ -635,17 +635,17 @@ class StubGenerator: public StubCodeGenerator {
Register result_hi = R1;
Register src = R0;
if (!os::is_MP()) {
__ ldmia(src, RegisterSet(result_lo, result_hi));
__ bx(LR);
} else if (VM_Version::supports_ldrexd()) {
if (VM_Version::supports_ldrexd()) {
__ ldrexd(result_lo, Address(src));
__ clrex(); // FIXME: safe to remove?
__ bx(LR);
} else if (!os::is_MP()) {
// Last-ditch attempt: we are allegedly running on uni-processor.
// Load the thing non-atomically and hope for the best.
__ ldmia(src, RegisterSet(result_lo, result_hi));
} else {
__ stop("Atomic load(jlong) unsupported on this platform");
__ bx(LR);
}
__ bx(LR);
return start;
}
@@ -662,10 +662,7 @@ class StubGenerator: public StubCodeGenerator {
Register scratch_hi = R3; /* After load from stack */
Register result = R3;
if (!os::is_MP()) {
__ stmia(dest, RegisterSet(newval_lo, newval_hi));
__ bx(LR);
} else if (VM_Version::supports_ldrexd()) {
if (VM_Version::supports_ldrexd()) {
__ mov(Rtemp, dest); // get dest to Rtemp
Label retry;
__ bind(retry);
@@ -673,11 +670,14 @@ class StubGenerator: public StubCodeGenerator {
__ strexd(result, R0, Address(Rtemp));
__ rsbs(result, result, 1);
__ b(retry, eq);
__ bx(LR);
} else if (!os::is_MP()) {
// Last-ditch attempt: we are allegedly running on uni-processor.
// Store the thing non-atomically and hope for the best.
__ stmia(dest, RegisterSet(newval_lo, newval_hi));
} else {
__ stop("Atomic store(jlong) unsupported on this platform");
__ bx(LR);
}
__ bx(LR);
return start;
}

View File

@@ -490,29 +490,30 @@ void TemplateTable::ldc2_w() {
__ add(Rtemp, Rtags, tags_offset);
__ ldrb(Rtemp, Address(Rtemp, Rindex));
Label Condy, exit;
#ifdef __ABI_HARD__
Label NotDouble;
Label Done, NotLong, NotDouble;
__ cmp(Rtemp, JVM_CONSTANT_Double);
__ b(NotDouble, ne);
#ifdef __SOFTFP__
__ ldr(R0_tos_lo, Address(Rbase, base_offset + 0 * wordSize));
__ ldr(R1_tos_hi, Address(Rbase, base_offset + 1 * wordSize));
#else // !__SOFTFP__
__ ldr_double(D0_tos, Address(Rbase, base_offset));
#endif // __SOFTFP__
__ push(dtos);
__ b(exit);
__ b(Done);
__ bind(NotDouble);
#endif
__ cmp(Rtemp, JVM_CONSTANT_Long);
__ b(Condy, ne);
__ b(NotLong, ne);
__ ldr(R0_tos_lo, Address(Rbase, base_offset + 0 * wordSize));
__ ldr(R1_tos_hi, Address(Rbase, base_offset + 1 * wordSize));
__ push(ltos);
__ b(exit);
__ b(Done);
__ bind(NotLong);
__ bind(Condy);
condy_helper(exit);
condy_helper(Done);
__ bind(exit);
__ bind(Done);
}

View File

@@ -6834,6 +6834,9 @@ instruct decodeN_Disjoint_notNull_Ex(iRegPdst dst, iRegNsrc src) %{
n2->_opnds[2] = op_dst;
n2->_bottom_type = _bottom_type;
assert(ra_->is_oop(this) == true, "A decodeN node must produce an oop!");
ra_->set_oop(n2, true);
ra_->set_pair(n1->_idx, ra_->get_reg_second(this), ra_->get_reg_first(this));
ra_->set_pair(n2->_idx, ra_->get_reg_second(this), ra_->get_reg_first(this));

View File

@@ -3757,6 +3757,7 @@ class StubGenerator: public StubCodeGenerator {
Register d = R6_ARG4; // destination address
Register dp = R7_ARG5; // destination offset
Register isURL = R8_ARG6; // boolean, if non-zero indicates use of RFC 4648 base64url encoding
Register isMIME = R9_ARG7; // boolean, if non-zero indicates use of RFC 2045 MIME encoding - not used
// Local variables
Register const_ptr = R9; // used for loading constants

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