Compare commits

...

884 Commits
1368 ... 1504

Author SHA1 Message Date
Ivan Lopatin
835874a6a6 JBR-3388: Fixed wrong graphic config in Component on primary display change 2021-11-25 11:18:13 +07:00
Nikita Gubarkov
850687248f JBR-3962 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (Windows, Linux) 2021-11-05 09:10:22 +03:00
Nikita Gubarkov
8654eb2695 JBR-3962 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (macOS) 2021-11-05 09:10:21 +03:00
Vitaly Provodin
b42c7db116 exclude javax/swing/JComboBox/8032878/bug8032878.java failing on Windows because of JDK-8196092, JDK-8196439
(cherry picked from commit aeaf8a9ce5)
2021-11-03 12:30:21 +07:00
Vitaly Provodin
cc158acd6e exclude javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java failing because of JDK-8272105
(cherry picked from commit bff0bbf317)
2021-11-03 11:45:41 +07:00
Vitaly Provodin
3e3bb958fd exclude java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java failing because of JDK-8266059 on macosx
(cherry picked from commit b83787b6ee)
2021-11-03 11:45:40 +07:00
Vitaly Provodin
279a5623ef exclude tests failing because of JDK-8233568 on macosx
(cherry picked from commit a9f8f8fc00)
2021-11-03 11:45:39 +07:00
Vitaly Provodin
f1a7056540 exclude java/awt/Frame/MiscUndecorated/RepaintTest.java failing on macosx-aarch64 because of JDK-8266244
(cherry picked from commit 0a64776695)
2021-11-03 06:47:09 +07:00
Anton Tarasov
cbce834cf5 JBR-3852 crash: +[JavaComponentAccessibility getCAccessible:withEnv:] + 849 (JavaComponentAccessibility.m:269)
(cherry picked from commit aaac75abd1)
2021-11-02 14:30:30 +07:00
Maxim Kartashev
16dd7324bd JBR-3623 SIGSEGV at [libawt_xawt] Java_sun_awt_X11GraphicsDevice_getConfigColormap
This fix addresses two possible causes of crashes:
1. makeDefaultConfig() returning NULL. The fix is to die gracefully
instead of crashing in an attempt to de-reference the NULL pointer.

2. A race condition when the number of screens change (this is only an
issue with the number of xinerama screens; the number of X11 screens is
static for the duration of the X session).

The race scenario: X11GraphisDevice.makeDefaultConfiguration() is called
on EDT so the call can race with X11GraphisDevice.invalidate() that
re-sets the screen number of the device; the latter is invoked on the
"AWT-XAWT" thread from X11GraphicsEnvironment.rebuildDevices(). So by
the time makeDefaultConfiguration() makes a native call with the
device's current screen number, the x11Screens array maintained by the
native code could have become shorter. And the native methods like
Java_sun_awt_X11GraphicsDevice_getConfigColormap() assume that the
screen number passed to them is always current and valid. The AWT lock
only protects against the changes during the native methods invocation,
but does not protect against them being called with an outdated screen
number.

The fix is to eliminate the race by protecting X11GraphisDevice.screen
with the AWT lock.

(cherry picked from commit 0b53cd291f)
2021-10-31 06:39:09 +07:00
Sergey Bylokhov
3188cadbd3 JBR-3114 Deadlock in CGraphicsEnvironment.initDevices
Backport upstream fix:
8252133: The java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java fails if metal pipeline is active

(cherry picked from commit 3f1b524181)
2021-10-31 06:39:02 +07:00
Maxim Kartashev
12c29feacc JBR-3916 Deadlock in pGetBounds() on Linux
The deadlock occurred because one thread was holding the AWT lock and
waiting for boundsCacheLock in resetBoundsCache() and the other vice
versa stuck in pGetBounds() owning boundsCacheLock and waiting for the
AWT lock.

The solution is to get rid of boundsCacheLock altogether. It was
introduced in order to never return null from getBoundsCached() so that
resetBoundsCache() wouldn't interfere. But the same effect can be
achieved by simply using a local variable to hold a copy of the current
bounds. The worst case scenario now is that two threads update
boundsCached immediately one after another (if they both have observed
the null value there at about the same time), but that's harmless as
pGetBounds() grabs the AWT lock when necessary.

(cherry picked from commit dc6ad31524)
2021-10-31 06:38:58 +07:00
Maxim Kartashev
491a68a269 JBR-3813 Regression after fix for JBR-3688
1. Cached bounds and insets must be cloned before return because they
aren't immutable objects.
2. Fixed the deadlock in resetBoundsCache() by synchronizing on a dedicated
lock.

(cherry picked from commit cd5314db8b)
2021-10-31 06:38:47 +07:00
Maxim Kartashev
5ac349d464 JBR-3688 PyCharm incredibly slow with fakexrandr
Cache screen bounds and insets and (conservatively) reset those caches
upon any possibility of a change.
This feature can be disabled with -Dx11.cache.screen.insets=false and
-Dx11.cache.screen.bounds=false.

(cherry picked from commit accef6f21e)
2021-10-31 06:38:43 +07:00
Martin Balao
5b20401197 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Reviewed-by: mbaesken
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
(cherry picked from commit bbe3fec093)
2021-10-28 14:54:21 +07:00
Martin Balao
ab26582433 8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail
Backport-of: cd020a13c9
(cherry picked from commit f9a56f61ef)
2021-10-28 14:54:21 +07:00
Martin Balao
d3abf85977 8157404: Unable to read certain PKCS12 keystores from SequenceInputStream
Backport-of: e0f37c15e4
(cherry picked from commit 619bab5b02)
2021-10-28 14:54:21 +07:00
Clive Verghese
e7fd73526d 8268199: Correct certificate requests
Reviewed-by: yan
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
(cherry picked from commit e072eaa78d)
2021-10-28 14:54:21 +07:00
Alexey Bakhtin
47002e6467 8267712: Better LDAP reference processing
Reviewed-by: mbaesken, mbalao
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
(cherry picked from commit e7288787fe)
2021-10-28 14:54:20 +07:00
Martin Balao
b52983fe36 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
(cherry picked from commit 542846c726)
2021-10-28 14:54:20 +07:00
Andrew Brygin
3963ddebb7 8267735: Better BMP support
Reviewed-by: mbalao
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
(cherry picked from commit f36936e6ca)
2021-10-28 14:54:20 +07:00
Aleksei Voitylov
a143762dff 8270404: Better canonicalization
Reviewed-by: mbaesken
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
(cherry picked from commit bce4848e35)
2021-10-28 14:54:20 +07:00
Aleksei Voitylov
1e5a023f78 8270398: Enhance canonicalization
Reviewed-by: mbaesken
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
(cherry picked from commit b2f452cc12)
2021-10-28 14:54:20 +07:00
Yuri Nesterenko
477be4452a 8266115: More Manifest Jar Loading
Reviewed-by: mbaesken, mbalao
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
(cherry picked from commit 40be42ee97)
2021-10-28 14:54:20 +07:00
Clive Verghese
b5d39d14f1 8269618: Better session identification
Reviewed-by: mbaesken
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
(cherry picked from commit f996257654)
2021-10-28 14:54:20 +07:00
Martin Balao
d821df8d88 8267729: Improve TLS client handshaking
Reviewed-by: mbaesken
Backport-of: 8e4cbf7fd373c5886be1980bed4fa9cd9045f893
(cherry picked from commit 530cffe1d2)
2021-10-28 14:54:20 +07:00
Martin Balao
b29dda48a5 8269624: Enhance method selection support
Reviewed-by: mbaesken, mdoerr
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
(cherry picked from commit c06f606aec)
2021-10-28 14:54:20 +07:00
Sergey Bylokhov
04135e7b71 8269763: The JEditorPane is blank after JDK-8265167
Reviewed-by: mbalao
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
(cherry picked from commit 477f037983)
2021-10-28 14:54:20 +07:00
Sergey Bylokhov
d7af735467 8265167: Richer Text Editors
Reviewed-by: mbalao
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
(cherry picked from commit f2f987e0a9)
2021-10-28 14:54:19 +07:00
Martin Balao
2c7c791d55 8263314: Enhance XML Dsig modes
Reviewed-by: mbaesken
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
(cherry picked from commit f948178daa)
2021-10-28 14:54:19 +07:00
Clive Verghese
8a85d17a9c 8268205: Enhance DTLS client handshake
Reviewed-by: yan, mbalao
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
(cherry picked from commit 04957e59cd)
2021-10-28 14:54:19 +07:00
Clive Verghese
306bc28909 8268193: Improve requests of certificates
Reviewed-by: yan, mbalao
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
(cherry picked from commit 5373b3b10a)
2021-10-28 14:54:19 +07:00
Martin Balao
d4489c295c 8266103: Better specified spec values
Reviewed-by: mbaesken
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
(cherry picked from commit 9ab7ec0539)
2021-10-28 14:54:19 +07:00
Yuri Nesterenko
6176d48c95 8266137: Improve Keystore integrity
Reviewed-by: mbaesken, mbalao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
(cherry picked from commit ea43cdf94b)
2021-10-28 14:54:19 +07:00
Yuri Nesterenko
f4e038aa6a 8266097: Better hashing support
Reviewed-by: mbaesken, mbalao
Backport-of: 35c00175d8fba3fdae4f0bd31e3b416f52fb2283
(cherry picked from commit 9d09f2c707)
2021-10-28 14:54:19 +07:00
Martin Balao
e405fc29ed 8265580: Enhanced style for RTF kit
Reviewed-by: mbaesken
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
(cherry picked from commit c881afa130)
2021-10-28 14:54:19 +07:00
Yuri Nesterenko
2376dd01be 8268506: More Manifest Digests
Reviewed-by: mbaesken
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
(cherry picked from commit 0fa7274198)
2021-10-28 14:54:19 +07:00
Yuri Nesterenko
e603760528 8266109: More Resilient Classloading
Reviewed-by: mbaesken, mbalao
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
(cherry picked from commit 8dad20e8e4)
2021-10-28 14:54:19 +07:00
Aleksei Voitylov
3518fd5230 8265776: Improve Stream handling for SSL
Reviewed-by: yan, mbalao
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
(cherry picked from commit c4ed5ccdab)
2021-10-28 14:54:19 +07:00
Sergey Bylokhov
10454de910 8265574: Improve handling of sheets
Reviewed-by: mbaesken
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
(cherry picked from commit ab4f271c29)
2021-10-28 14:54:18 +07:00
Christoph Langer
4c6b99a9bd 8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration
NetworkConfiguration updated to skip interfaces that have only IPv6 link local addresses.

Reviewed-by: shade
Backport-of: 5ddbcb7a51
(cherry picked from commit 720ef332b4)
2021-10-28 14:54:18 +07:00
Christoph Langer
a3f6ea190c 8212718: Refactor some annotation processor tests to better use collections
Backport-of: 34397c4914
(cherry picked from commit 394b8f734b)
2021-10-28 14:54:18 +07:00
Christoph Langer
4622a0d8cd 8212695: Add explicit timeout to several HTTP Client tests
Reviewed-by: shade
Backport-of: cea4eef60a
(cherry picked from commit 497bc51ca2)
2021-10-28 14:54:18 +07:00
Christoph Langer
88964ce51c 8211325: test/jdk/java/net/Socket/LingerTest.java fails with cleaning up
Reviewed-by: shade
Backport-of: 0cb267ad1c
(cherry picked from commit 71600c7f3b)
2021-10-28 14:54:18 +07:00
Christoph Langer
d2d20752a1 8169246: java/net/DatagramSocket/ReportSocketClosed.java fails intermittently with BindException
Backport-of: 33c9c89bf0
(cherry picked from commit 974b37fa30)
2021-10-28 14:54:18 +07:00
Christoph Langer
92cae3d69e 8199931: java/net/MulticastSocket/UnreferencedMulticastSockets.java fails with "incorrect data received"
Backport-of: f367eb8965
(cherry picked from commit f9c0d0964e)
2021-10-28 14:54:18 +07:00
Toshio Nakamura
bd8127f50a 8263490: [macos] Crash occurs on JPasswordField with activated InputMethod
Reviewed-by: shade
Backport-of: 32c7fcc670
(cherry picked from commit e9aa5a8882)
2021-10-28 14:54:18 +07:00
Severin Gehwolf
8fdc6c79e6 8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
Reviewed-by: shade
Backport-of: 4d6593ce02
(cherry picked from commit b748a5c6b8)
2021-10-28 14:54:18 +07:00
Vladimir Kempik
b30a7f1cbd 8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
Reviewed-by: shade
Backport-of: 7e518f42c9
(cherry picked from commit 34d195ba83)
2021-10-28 14:54:18 +07:00
Bin Liao
442e2979c6 8233790: Forward output from heap dumper to jcmd/jmap
Reviewed-by: phh
Backport-of: b2a9673829
(cherry picked from commit 6a03e58e3d)
2021-10-28 14:54:18 +07:00
Aleksey Shipilev
3a7f980853 8252857: AArch64: Shenandoah C1 CAS is not sequentially consistent
Reviewed-by: rkennke, clanger
Backport-of: 8e87d46f41
(cherry picked from commit d3c843c4fd)
2021-10-28 14:54:17 +07:00
Severin Gehwolf
c07d87e0ca 8261846: [JVMCI] c2v_iterateFrames can get out of sync with the StackFrameStream
Backport-of: 97e1657ba2
(cherry picked from commit bba6998f38)
2021-10-28 14:54:17 +07:00
Severin Gehwolf
9df1c168c5 8264016: [JVMCI] add some thread local fields for use by JVMCI
Reviewed-by: shade
Backport-of: 182b11c31a
(cherry picked from commit c2b5c6e77a)
2021-10-28 14:54:17 +07:00
Severin Gehwolf
4846077ba2 8263776: [JVMCI] add helper to perform Java upcalls
Co-authored-by: Tom Rodriguez <never@openjdk.org>
Reviewed-by: shade
Backport-of: 6b4c654186
(cherry picked from commit 509ee029a8)
2021-10-28 14:54:17 +07:00
Zhengyu Gu
c2a91ef3cc 8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/except/except002 and except003
Backport-of: 90cf7a7d12
(cherry picked from commit ca54fa125c)
2021-10-28 14:54:17 +07:00
Aleksey Shipilev
72c11befd4 8219804: java/net/MulticastSocket/Promiscuous.java fails intermittently due to NumberFormatException
8226683: Remove review suggestion from fix to 8219804

Reviewed-by: clanger
Backport-of: eccfec498d
(cherry picked from commit 762a95f6a6)
2021-10-28 14:54:17 +07:00
Aleksey Shipilev
6cd016806f 8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64)
Reviewed-by: phh, rkennke
Backport-of: c5bb023584
(cherry picked from commit 8fb19cb3c9)
2021-10-28 14:54:17 +07:00
Zhengyu Gu
72ce72ee8d 8249548: backward focus traversal gets stuck in button group
Backport-of: 22bb597d0d
(cherry picked from commit f8dd19075b)
2021-10-28 14:54:17 +07:00
Reka Kovacs
5fbf99908c 8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: f6e26f6f33
(cherry picked from commit 3f126ee438)
2021-10-28 14:54:17 +07:00
Reka Kovacs
819eac41b4 8263136: C4530 was reported from VS 2019 at access bridge
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: d339320e0b
(cherry picked from commit 84845b3d3c)
2021-10-28 14:54:17 +07:00
Aleksey Shipilev
96f7b0b2b4 8272772: Shenandoah: compiler/c2/aarch64/TestVolatilesShenandoah.java fails in 11u
Reviewed-by: rkennke, clanger
(cherry picked from commit 8b68a27d2f)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
4d6dd2a316 8272472: StackGuardPages test doesn't build with glibc 2.34
Backport-of: f77a1a156f
(cherry picked from commit 980cfdf8d0)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
56b36129df 8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
Backport-of: 4f322a9b6c
(cherry picked from commit 1806d95f1b)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
4e30b032b8 8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1
Reviewed-by: zgu, rkennke
Backport-of: 4fb1980fd0
(cherry picked from commit cdf353ef5d)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
ff03d94be4 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
Backport-of: 23d2996fee
(cherry picked from commit 97788712ac)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
b0447c4fcf 8225790: Two NestedDialogs tests fail on Ubuntu
Backport-of: 21e67e5460
(cherry picked from commit b7f4d30774)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
01d5f18218 8213007: Update the link in test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java
Backport-of: ae77ef7d7a
(cherry picked from commit d153de5846)
2021-10-28 14:54:16 +07:00
Severin Gehwolf
fafc162706 8251549: Update docs on building for Git
Reviewed-by: shade, clanger
Backport-of: 042734cc5b
(cherry picked from commit abc17b34f0)
2021-10-28 14:54:16 +07:00
Hui Shi
a98f221343 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
Reviewed-by: phh
(cherry picked from commit a608418642)
2021-10-28 14:54:16 +07:00
Aleksey Shipilev
a641b338df 8272628: Problemlist gc/stress/gcbasher/TestGCBasherWithCMS.java for x86_32
Reviewed-by: sgehwolf
(cherry picked from commit 60182b6a17)
2021-10-28 14:54:16 +07:00
Zhengyu Gu
7aa2460c1e 8226602: Test convenience reactive primitives from java.net.http with RS TCK
Backport-of: 3395bb591b
(cherry picked from commit b93ab61875)
2021-10-28 14:54:16 +07:00
Zhengyu Gu
0f58b76392 8226319: Add forgotten test/jdk/java/net/httpclient/BodySubscribersTest.java
Reviewed-by: shade
Backport-of: d577d9c678
(cherry picked from commit 8caa003fd0)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
41b61ca491 8272197: Update 11u GHA workflow with Shenandoah configurations
Reviewed-by: sgehwolf, clanger
(cherry picked from commit 413967fee8)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
8f26047f95 8225082: Remove IdenTrust certificate that is expiring in September 2021
Reviewed-by: phh
Backport-of: 2ec45dc2dd
(cherry picked from commit 622540cedf)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
b081f4a748 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, clanger
Backport-of: 2d6874b861
(cherry picked from commit d933ff939e)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
c9dca2b0b4 8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test
Backport-of: f095a9ee49
(cherry picked from commit 1bad418274)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
8575295ca5 8213409: Refactor sun.text.IntHashtable:i18n shell tests to plain java tests
Backport-of: e048289d95
(cherry picked from commit c541c4229f)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
bf8e21fefb 8248352: [TEST_BUG] Test test/jdk/java/awt/font/TextLayout/ArabicDiacriticTest.java can leave frame open
Backport-of: aa3862403b
(cherry picked from commit 354c0e9ed6)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
98389c2c83 8214520: [TEST_BUG] sun/security/mscapi/nonUniqueAliases/NonUniqueAliases.java failed with incorrect jtreg tags order
Backport-of: f47bd19cbc
(cherry picked from commit 0c4473c805)
2021-10-28 14:54:15 +07:00
Aleksey Shipilev
056e77863d 8262862: Harden tests sun/security/x509/URICertStore/ExtensionsWithLDAP.java and krb5/canonicalize/Test.java
Backport-of: e1cad97049
(cherry picked from commit 8c5e0dac5e)
2021-10-28 14:54:15 +07:00
Christoph Langer
c0c6547b91 8210802: temp files left by tests in jdk/java/net/httpclient
Reviewed-by: stuefe
Backport-of: 1adaa503bb
(cherry picked from commit 8e448e267a)
2021-10-28 14:54:15 +07:00
Christoph Langer
2cca65b1e1 8210819: Update the host name in CNameTest.java
Backport-of: c1bbf898e4
(cherry picked from commit 0f3394e585)
2021-10-28 14:54:14 +07:00
Christoph Langer
7de240f1d0 8209772: Refactor shell test java/util/ServiceLoader/basic/basic.sh to java
Backport-of: 07392d976a
(cherry picked from commit ec09658594)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
b85f7b9c97 8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test
Reviewed-by: phh
Backport-of: 6ce0aeb00b
(cherry picked from commit 2c82f0bd08)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
02b167141b 8254850: Update terminology in java.awt.GridBagLayout source code comments
Backport-of: 9ed0b76403
(cherry picked from commit df7b71a8a3)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
c1cfd092de 8210406: Refactor java.util.PluggableLocale:i18n shell tests to plain java tests
Backport-of: 3c2c6bce02
(cherry picked from commit 9f5a745718)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
d85f8ae33e 8210407: Refactor java.util.Calendar:i18n shell tests to plain java tests
Backport-of: 533bd0a604
(cherry picked from commit 9dd68088a9)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
e6236e3c4d 8268776: Test ADatagramSocket.java missing /othervm from @run tag
Backport-of: 7d7bdbe135
(cherry picked from commit a9f0f858df)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
34fca045b9 8242882: opening jar file with large manifest might throw NegativeArraySizeException
Reviewed-by: phh
Backport-of: 782d45bdec
(cherry picked from commit 317adfb01e)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
a894067c6a 8211092: test/jdk/sun/net/www/http/HttpClient/MultiThreadTest.java fails intermittently when cleaning up
Reviewed-by: phh
Backport-of: 20f6faa030
(cherry picked from commit 94e8da1502)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
804ecaa93f 8214937: sun/security/tools/jarsigner/warnings/NoTimestampTest.java failed due to unexpected expiration date
Backport-of: 017c702b8a
(cherry picked from commit 2deb6d77e3)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
34d436060b 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

Backport-of: 5eef59d22d
(cherry picked from commit 2a22237cc6)
2021-10-28 14:54:14 +07:00
Aleksey Shipilev
51ae481f29 8246261: TCKLocalTime.java failed due to "AssertionError: expected [18:14:22] but found [18:14:23]"
Backport-of: d347d2ebf9
(cherry picked from commit 57c9a31852)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
e4d57ffe13 8213235: java/nio/channels/SocketChannel/AsyncCloseChannel.java fails with threads that didn't exit
8213576: Make test AsyncCloseChannel.java run in othervm

Reviewed-by: phh
Backport-of: a6f0e10fe8
(cherry picked from commit f33ec7e550)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
1e297d5228 8216532: tools/launcher/Test7029048.java fails (Solaris)
Backport-of: be44ced10a
(cherry picked from commit 32aea3718a)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
d3efc8f716 8210934: Move sun/net/www/protocol/http/GetErrorStream.java to OpenJDK
Repalce internet website dependency with a built-in http server

Backport-of: 3edf95fc44
(cherry picked from commit 54010e6f77)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
8c5bdcdb13 8210669: Some launcher tests assume a pre-JDK 9 run-time image layout
Backport-of: 6bc30c6707
(cherry picked from commit 0aadfe1b2a)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
6b4db1fc78 8258703: Incorrect 512-bit vector registers restore on x86_32
Backport-of: 216c2ec077
(cherry picked from commit 243d2c8ff9)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
95dc4fb1b9 8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException
Backport-of: fab6158c19
(cherry picked from commit 2dd3859caa)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
22a1b229c0 8251361: Potential race between Logger configuration and GCs in HttpURLConWithProxy test
Keep a static reference to the logger to prevent its inadvertent garbage collection while the test is running.

Backport-of: ed5696dd2c
(cherry picked from commit ae8eef47e9)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
530ab11732 8213694: Test Timeout.java should run in othervm mode
Backport-of: 1b20a6781f
(cherry picked from commit 87aac49db1)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
bdafb4d439 8252194: Add automated test for fix done in JDK-8218469
Backport-of: 1ae6b533fb
(cherry picked from commit 279c7fa0a6)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
e85c9ac56e 8251252: Add automated testcase for fix done in JDK-8214253
Backport-of: b6c861f9f8
(cherry picked from commit 9e99f69534)
2021-10-28 14:54:13 +07:00
Aleksey Shipilev
df03d06169 8252825: Add automated test for fix done in JDK-8218479
Backport-of: 55c7e769c8
(cherry picked from commit 4188b23289)
2021-10-28 14:54:12 +07:00
Aleksey Shipilev
7d8ea50658 8251254: Add automated test for fix done in JDK-8218472
Backport-of: 8bf5b1d18b
(cherry picked from commit b4d4e47bd1)
2021-10-28 14:54:12 +07:00
Aleksey Shipilev
1676e11625 8251166: Add automated testcases for changes done in JDK-8214112
Backport-of: a0d6a8a174
(cherry picked from commit 5024eb818d)
2021-10-28 14:54:12 +07:00
Aleksey Shipilev
6b004579e4 8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java
Backport-of: 389a110e56
(cherry picked from commit d0d680bafe)
2021-10-28 14:54:12 +07:00
Martin Balao
f1a91308d5 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
(cherry picked from commit dedb47108a)
2021-10-28 14:54:12 +07:00
Aleksey Shipilev
e4e4fd61f8 8246387: switch to jtreg 5.1
8238943: switch to jtreg 5.0
8235866: bump jtreg requiredVersion to 4.2b16
8219552: bump jtreg requiredVersion to b14 in test/jdk/sanity/client/
8219417: bump jtreg requiredVersion to b14
8236111: narrow allowSmartActionArgs disabling

Reviewed-by: phh, clanger
Backport-of: e47b2bc8c3
(cherry picked from commit a8a1b3c42d)
2021-10-28 14:54:12 +07:00
Evgeny Astigeevich
cd18a3fc89 8268427: Improve AlgorithmConstraints:checkAlgorithm performance
Backport-of: 3b83bc1bc3
(cherry picked from commit d05d406220)
2021-10-28 14:54:12 +07:00
Christoph Langer
e695e858bb 8272078: Wrong Checksums in Temurin BootJDK dependencies
Reviewed-by: shade
(cherry picked from commit cf80e75513)
2021-10-28 14:54:12 +07:00
Bin Liao
dde68d0993 8234510: Remove file seeking requirement for writing a heap dump
Reviewed-by: rschmelter, clanger
Backport-of: 11c073b97e
(cherry picked from commit 2329af3533)
2021-10-28 14:54:12 +07:00
Christoph Langer
9a166ad821 8253424: Add support for running pre-submit testing using GitHub Actions
8253865: Pre-submit testing using GitHub Actions does not detect failures reliably
8254054: Pre-submit testing using GitHub Actions should not use the deprecated set-env command
8254173: Add Zero, Minimal hotspot targets to submit workflow
8254175: Build no-pch configuration in debug mode for submit checks
8254282: Add Linux x86_32 builds to submit workflow
8255373: Submit workflow artifact name is always "test-results_.zip"
8255895: Submit workflow artifacts miss hs_errs/replays due to ZIP include mismatch
8256127: Add cross-compiled foreign architectures builds to submit workflow
8256277: Github Action build on macOS should define OS and Xcode versions
8256354: Github Action build on Windows should define OS and MSVC versions
8256414: add optimized build to submit workflow
8256393: Github Actions build on Linux should define OS and GCC versions
8256747: GitHub Actions: decouple the hotspot build-only jobs from Linux x64 testing
8257056: Submit workflow should apt-get update to avoid package installation errors
8259679: GitHub actions should use MSVC 14.28
8259924: GitHub actions fail on Linux x86_32 with "Could not configure libc6:i386"
8260460: GitHub actions still fail on Linux x86_32 with "Could not configure libc6:i386"
8263667: Avoid running GitHub actions on branches named pr/*
8255305: Add Linux x86_32 tier1 to submit workflow
8255352: Archive important test outputs in submit workflow

Reviewed-by: sgehwolf, shade
(cherry picked from commit a84dba521d)
2021-10-28 14:54:12 +07:00
Christoph Langer
00fdf509d3 8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows
Backport-of: cd4faff0ec
(cherry picked from commit 5182d5add0)
2021-10-28 14:54:11 +07:00
Christoph Langer
e88673207f 8209380: ARM: cleanup maybe-uninitialized and reorder compiler warnings
Backport-of: 1712e272cd
(cherry picked from commit 86af8e5184)
2021-10-28 14:54:11 +07:00
Christoph Langer
5c4c05ab0e 8238930: problem list compiler/c2/Test8004741.java
Backport-of: 93241e5db7
(cherry picked from commit cf0a51ec1b)
2021-10-28 14:54:11 +07:00
Christoph Langer
462b022cb6 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c
Reviewed-by: stuefe
Backport-of: 0b7fba75c1
(cherry picked from commit 4b8d52834d)
2021-10-28 14:54:11 +07:00
Severin Gehwolf
6f517d78aa 8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
Reviewed-by: clanger
Backport-of: 25f00d787c
(cherry picked from commit 843e5bd3dc)
2021-10-28 14:54:11 +07:00
Martin Doerr
c94cd6841f 8263432: javac may report an invalid package/class clash on case insensitive filesystems
Reviewed-by: clanger
Backport-of: 0a4c33826d
(cherry picked from commit 86b92e91cf)
2021-10-28 14:54:11 +07:00
Zhengyu Gu
daeb8ca460 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
(cherry picked from commit 9edf5f7ab6)
2021-10-28 14:54:11 +07:00
Aleksey Shipilev
87ddf6cdf0 8230808: Remove Access::equals()
Reviewed-by: phh
Backport-of: cb50d3b4f3
(cherry picked from commit 1ef3bac766)
2021-10-28 14:54:11 +07:00
Aleksey Shipilev
f9a46d7520 8168304: Make all of DependencyContext_test available in product mode
Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode.

Reviewed-by: phh
Backport-of: 66c8794c81
(cherry picked from commit 4c64d5b46c)
2021-10-28 14:54:11 +07:00
Martin Doerr
bc84c5d18d 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted
Reviewed-by: phh
Backport-of: 2d2cd78bde
(cherry picked from commit 1df5df6158)
2021-10-28 14:54:11 +07:00
Martin Doerr
6cd0097922 8257497: Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280
Reviewed-by: clanger
Backport-of: 05301f5fd2
(cherry picked from commit a57eb33d47)
2021-10-28 14:54:11 +07:00
Jiangli Zhou
42b8141ceb 8230674: Heap dumps should exclude dormant CDS archived objects of unloaded classes
Reviewed-by: phh
Backport-of: e90970b67b
(cherry picked from commit 9058c163f9)
2021-10-28 14:54:10 +07:00
Zhengyu Gu
a31480a58a 8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
Backport-of: 3d090e7ee5
(cherry picked from commit 8bd8ab7a8c)
2021-10-28 14:54:10 +07:00
Severin Gehwolf
b2dfdd8c82 8269668: [aarch64] java.library.path not including /usr/lib64
Reviewed-by: andrew
Backport-of: e14801cdd9
(cherry picked from commit 6fb5337c38)
2021-10-28 14:54:10 +07:00
Zhengyu Gu
e87d156298 8225583: Examine the HttpResponse.BodySubscribers for null handling and multiple subscriptions
Backport-of: af2a46b094
(cherry picked from commit 120313acde)
2021-10-28 14:54:10 +07:00
Martin Doerr
1b8bebb331 8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100%
Backport-of: ddb1d7a163
(cherry picked from commit 80bc31775f)
2021-10-28 14:54:10 +07:00
Martin Doerr
31fcccb0c5 8268775: Password is being converted to String in AccessibleJPasswordField
Reviewed-by: zgu, kizune
Backport-of: 97e0e9e73d
(cherry picked from commit fdde4e06e0)
2021-10-28 14:54:10 +07:00
Alexander Scherbatiy
15ec6c621e 8262470: Printed GlyphVector outline with low DPI has bad quality on Windows
Reviewed-by: clanger
Backport-of: 0228734902
(cherry picked from commit 59b6ebd4df)
2021-10-28 14:54:10 +07:00
Christoph Langer
6920118473 8208363: test/jdk/java/lang/Package/PackageFromManifest.java missing module dependencies declaration
Backport-of: 73477220be
(cherry picked from commit 84def92ba4)
2021-10-28 14:54:10 +07:00
Christoph Langer
09fd9af140 8209773: Refactor shell test javax/naming/module/basic.sh to java
Backport-of: 694380add3
(cherry picked from commit 1be6c972f8)
2021-10-28 14:54:10 +07:00
Christoph Langer
12b193407f 8209930: Refactor java/util/zip/ZipFile/deletetempjar.sh to plain java test
Backport-of: 6c7a19d52f
(cherry picked from commit 6e6cccd956)
2021-10-28 14:54:10 +07:00
Christoph Langer
37c88cd96e 8042902: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails intermittently
Backport-of: 334d64e9a0
(cherry picked from commit 7a96602662)
2021-10-28 14:54:09 +07:00
Christoph Langer
abb2f71191 8209832: Refactor jdk/internal/reflect/Reflection/GetCallerClassTest.sh to plain java test
Backport-of: dc356698b8
(cherry picked from commit 94ee86f39b)
2021-10-28 14:54:09 +07:00
Christoph Langer
5f2f4e09d9 8194230: jdk/internal/jrtfs/remote/RemoteRuntimeImageTest.java fails with java.lang.NullPointerException
Backport-of: b5f939c5db
(cherry picked from commit d0eef7a2ad)
2021-10-28 14:54:09 +07:00
Christoph Langer
ee8f9983d4 8208227: tools/jdeps/DotFileTest.java fails on Win-X64
Backport-of: f0e9643542
(cherry picked from commit 7e60f86127)
2021-10-28 14:54:09 +07:00
Christoph Langer
22d7a75aea 8207316: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed
Backport-of: 069fa394d0
(cherry picked from commit 743ee2c55f)
2021-10-28 14:54:09 +07:00
Aleksey Shipilev
6e7add9600 8252648: Shenandoah: name gang tasks consistently
Reviewed-by: zgu
Backport-of: a1176dc8c9
(cherry picked from commit 32cc09871a)
2021-10-28 14:54:09 +07:00
Aleksey Shipilev
680b990ddd 8256215: Shenandoah: re-organize saving/restoring machine state in assembler code
Reviewed-by: zgu
Backport-of: a97aedff9f
(cherry picked from commit 8222e9545e)
2021-10-28 14:54:09 +07:00
Martin Doerr
47d3e0e501 8255255: Update Apache Santuario (XML Signature) to version 2.2.1
Reviewed-by: clanger
Backport-of: cb742f9560
(cherry picked from commit 06e2ad227e)
2021-10-28 14:54:09 +07:00
Aleksey Shipilev
bf7ec8e8e7 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes
Reviewed-by: clanger
Backport-of: 7b98400c81
(cherry picked from commit 019a534346)
2021-10-28 14:54:09 +07:00
Vladimir Kempik
110009f038 8253899: Make IsClassUnloadingEnabled signature match specification
Reviewed-by: mdoerr
Backport-of: c7f0064062
(cherry picked from commit 6a19b74c22)
2021-10-28 14:54:09 +07:00
Zhengyu Gu
aae6d61f0e 8269661: JNI_GetStringCritical does not lock char array
8269650: Optimize gc-locker in [Get|Release]StringCritical for latin string

Reviewed-by: shade
Backport-of: 0f4e07b7d9
(cherry picked from commit 11dccc18de)
2021-10-28 14:54:08 +07:00
Christoph Langer
a6c3b9f81f 8267666: Add option to jcmd GC.heap_dump to use existing file
Reviewed-by: rschmelter, goetz, stuefe
Backport-of: 7cbb67a3f8
(cherry picked from commit aeb1c883ce)
2021-10-28 14:54:08 +07:00
Martin Doerr
162b6ffefa 8259535: ECDSA SignatureValue do not always have the specified length
Reviewed-by: mbaesken
Backport-of: a4c249610e
(cherry picked from commit 041b0feaba)
2021-10-28 14:54:08 +07:00
Martin Doerr
6e82b78d21 8235211: serviceability/attach/RemovingUnixDomainSocketTest.java fails with AttachNotSupportedException: Unable to open socket file
8244973: serviceability/attach/RemovingUnixDomainSocketTest.java fails "stderr was not empty"

Reviewed-by: mbaesken
Backport-of: 073e095e60
(cherry picked from commit 64ec3f718a)
2021-10-28 14:54:08 +07:00
Alexey Bakhtin
71d93f266f 8268965: TCP Connection Reset when connecting simple socket to SSL server
Reviewed-by: mdoerr
Backport-of: 6f171b9f0d
(cherry picked from commit 0c1b656d4e)
2021-10-28 14:54:08 +07:00
Martin Doerr
23f57b369e 8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134"
Backport-of: 20053ae242
(cherry picked from commit 9e5e54a2dc)
2021-10-28 14:54:08 +07:00
Martin Doerr
120f662cc1 8227815: Minimal VM: set_state is not a member of AttachListener
Reviewed-by: clanger
(cherry picked from commit b7324dbe33)
2021-10-28 14:54:08 +07:00
Martin Doerr
2d25ad89b4 8225690: Multiple AttachListener threads can be created
Reviewed-by: clanger
Backport-of: 2870c9d55e
(cherry picked from commit 252899b636)
2021-10-28 14:54:08 +07:00
Goetz Lindenmaier
083f530277 8245134: test/lib/jdk/test/lib/security/KeyStoreUtils.java should allow to specify aliases
Backport-of: 845799935b
(cherry picked from commit 8e3051745d)
2021-10-28 14:54:08 +07:00
Christoph Langer
c0c128347b 8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales.
Backport-of: 10fca535db
(cherry picked from commit dd6f4b7869)
2021-10-28 14:54:08 +07:00
Christoph Langer
565ca4f2d7 8206083: Make tools/javac/api/T6265137.java robust to JDK version changes
Reviewed-by: mdoerr
Backport-of: 69191fc4cc
(cherry picked from commit e3c75d2bf1)
2021-10-28 14:54:07 +07:00
Martin Doerr
095de785dc 8240983: Incorrect copyright header in Apache Santuario 2.1.3 files
Backport-of: 9d502f648c
(cherry picked from commit 9b99e90225)
2021-10-28 14:54:07 +07:00
Martin Doerr
973930b856 8236671: NullPointerException in JKS keystore
Reviewed-by: clanger
Backport-of: 276a1bf767
(cherry picked from commit 1801949b7c)
2021-10-28 14:54:07 +07:00
Chris Cole
8d1a2f1d0e 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header
Backport-of: 8f2456e5b0
(cherry picked from commit 93251926fa)
2021-10-28 14:54:07 +07:00
Martin Doerr
794821a732 8254967: com.sun.net.HttpsServer spins on TLS session close
Backport-of: 953e472ded
(cherry picked from commit 6fd9be5aed)
2021-10-28 14:54:07 +07:00
Christoph Langer
b18c311d9b 8263531: Remove unused buffer int
Backport-of: ca806ef319
(cherry picked from commit 541bb8af03)
2021-10-28 14:54:07 +07:00
Ichiroh Takiguchi
02a3b0bca5 8267459: Pasting Unicode characters into JShell does not work.
Reviewed-by: clanger
Backport-of: de6472c441
(cherry picked from commit 7464ba015d)
2021-10-28 14:54:07 +07:00
Roland Westrelin
47b9835dd5 8269304: Regression ~5% in 2005 in b27
Backport-of: 8d09596f27
(cherry picked from commit 8d2f8106b0)
2021-10-28 14:54:07 +07:00
Roland Westrelin
0b9be5da42 8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code
Reviewed-by: mdoerr
Backport-of: 4d8b5c70df
(cherry picked from commit 5c641fe1d8)
2021-10-28 14:54:07 +07:00
Roland Westrelin
32f7750cec 8266615: C2 incorrectly folds subtype checks involving an interface array
Backport-of: ce88b33488
(cherry picked from commit 92f67861bb)
2021-10-28 14:54:07 +07:00
Zhengyu Gu
93f7c084d9 8268620: InfiniteLoopException test may fail on x86 platforms
Backport-of: 0b09129fae
(cherry picked from commit 98d4612e67)
2021-10-28 14:54:07 +07:00
Severin Gehwolf
f5f7db567c 8270184: [TESTBUG] Add coverage for jvmci ResolvedJavaType.toJavaName() for lambdas
Backport-of: 6a9bc10873
(cherry picked from commit ee05348c36)
2021-10-28 14:54:06 +07:00
Severin Gehwolf
8f4ef81810 8270196: [11u] [JVMCI] JavaType.toJavaName() returns incorrect type name for lambdas
Reviewed-by: clanger
(cherry picked from commit 9b72415faf)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
bee4bb4982 8249899: jdk/javadoc/tool/InlineTagsWithBraces.java uses @ignore w/o bug-id
8249897: jdk/javadoc/tool/LangVers.java uses @ignore w/o bug-id
8249898: jdk/javadoc/tool/6176978/T6176978.java uses @ignore w/o bug-id

Backport-of: 69d01b6bca
(cherry picked from commit 5fa3f8532d)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
6d56ecb666 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE
Backport-of: a14f02d8e5
(cherry picked from commit d95c16fa82)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
14c80c165c 8217825: Verify @AfterTest is used correctly in WebSocket tests
Remove @AfterTest tags; added in explicit closing of resources e.g. httpServer, webSocket, etc

Backport-of: 11d43732bc
(cherry picked from commit 9b7927c125)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
43f394c9e1 8249773: Upgrade ReceiveISA.java test to be resilient to failure due to stray packets and interference
This fix upgrades java/nio/channels/DatagramChannel/ReceiveISA.java so it can handle interference from stray packets.

Backport-of: d8355e0281
(cherry picked from commit 86d2196175)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
974c0ac47b 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test
Backport-of: 2eaeb20697
(cherry picked from commit 7fc8b00202)
2021-10-28 14:54:06 +07:00
Thomas Stuefe
bae9f38caf 8261238: NMT should not limit baselining by size threshold
Backport-of: 578a0b3c3d
(cherry picked from commit 0c9a13a511)
2021-10-28 14:54:06 +07:00
Ilarion Nakonechnyy
1382d94ddc 8263407: SPARC64 detection fails on Athena (SPARC64-X)
Reviewed-by: mdoerr
(cherry picked from commit 9dbf7fabd0)
2021-10-28 14:54:06 +07:00
Martin Doerr
ffbf51bc92 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop
Reviewed-by: rrich, mbaesken
Backport-of: 3a02578b33
(cherry picked from commit 4db777e3c4)
2021-10-28 14:54:06 +07:00
Dmitry Chuyko
fc0ea1829a 8218145: block_if_requested is not proper inlined due to size
Backport-of: f1fbd69478
(cherry picked from commit 223973dd71)
2021-10-28 14:54:06 +07:00
Aleksey Shipilev
5081f134f8 8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call
Reviewed-by: zgu
Backport-of: 3a8a15b5d0
(cherry picked from commit cd7068dbc2)
2021-10-28 14:54:05 +07:00
Denghui Dong
4ec40754af 8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*)
Reviewed-by: clanger, mgronlun
Backport-of: a9d2267f8d
(cherry picked from commit 0308e4ffa7)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
89dfd212c9 8213922: fix ctw stand-alone build
Reviewed-by: roland
Backport-of: e53852dd51
(cherry picked from commit 4714a43b1e)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
6e08d54641 8267396: Avoid recording "pc" in unhandled oops detector for better performance
Reviewed-by: phh
Backport-of: f67847f52a
(cherry picked from commit a28c351db1)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
f8acf0a30c 8227766: CheckUnhandledOops is broken in MemAllocator
Save oop created in handle more eagerly, so CheckUnhandledOops doesn't bash it.

Reviewed-by: phh
Backport-of: d35c1540e6
(cherry picked from commit 016383cbe3)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
b58ce44c51 8255810: Zero: build fails without JVMTI
Reviewed-by: stuefe
Backport-of: ca216bae1a
(cherry picked from commit c2fe7a3246)
2021-10-28 14:54:05 +07:00
Christoph Langer
f280e8df92 8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test
Reviewed-by: shade
Backport-of: 54f5ffeaad
(cherry picked from commit f550ab8282)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
353a2d28a8 8255718: Zero: VM should know it runs in interpreter-only mode
Backport-of: f0eeca9080
(cherry picked from commit 8cd7309276)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
77fc0b1319 8260923: Add more tests for SSLSocket input/output shutdown
Backport-of: 9bb1863ed7
(cherry picked from commit 3d0fda5bd3)
2021-10-28 14:54:05 +07:00
Aleksey Shipilev
3fdd444434 8253631: Remove unimplemented CompileBroker methods after JEP-165
Backport-of: dc1ef58351
(cherry picked from commit b0e4113b5f)
2021-10-28 14:54:05 +07:00
Zhengyu Gu
613705d514 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report
Reviewed-by: clanger
Backport-of: cd1c17c0a6
(cherry picked from commit 829118ef77)
2021-10-28 14:54:04 +07:00
Martin Doerr
4a4f8c99fc 8269614: [s390] Interpreter checks wrong bit for slow path instance allocation
Backport-of: be0ac92e18
(cherry picked from commit 2703469310)
2021-10-28 14:54:04 +07:00
Christoph Langer
d04b164a13 8262409: sun/security/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions. SSL test failures caused by java failed with "Server reported the wrong exception"
Reviewed-by: stuefe
Backport-of: 3aa7062c3d
(cherry picked from commit 1414c3ef65)
2021-10-28 14:54:04 +07:00
Christoph Langer
68aa458825 8269529: javax/swing/reliability/HangDuringStaticInitialization.java fails in Windows debug build
Backport-of: d042029509
(cherry picked from commit cfb91cf777)
2021-10-28 14:54:04 +07:00
Alexey Bakhtin
630f76bf6f 8163326: Update the default enabled cipher suites preference
Reviewed-by: clanger
Backport-of: d812742d68
(cherry picked from commit 66cba349f0)
2021-10-28 14:54:04 +07:00
Severin Gehwolf
9a36559050 8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image
Backport-of: 7977e381ea
(cherry picked from commit 5eee401997)
2021-10-28 14:54:04 +07:00
Zhengyu Gu
51680db818 8268699: Shenandoah: Add test for JDK-8268127
Backport-of: e59acd9860
(cherry picked from commit 9418a6bb90)
2021-10-28 14:54:04 +07:00
Christoph Langer
265ede1794 8269415: [11u] Remove ea from DEFAULT_PROMOTED_VERSION_PRE in OpenJDK 11u
Reviewed-by: sgehwolf
(cherry picked from commit 5fe5826104)
2021-10-28 14:54:04 +07:00
Pavel Varchenko
6d3bbc72eb 8268771: javadoc -notimestamp option does not work on index.html
Reviewed-by: clanger
(cherry picked from commit b2b899568d)
2021-10-28 14:54:04 +07:00
Alexey Bakhtin
104fdac51d 8140466: ChaCha20 and Poly1305 TLS Cipher Suites
Reviewed-by: mdoerr
Backport-of: 962e755c3a
(cherry picked from commit 4ad0db5e74)
2021-10-28 14:54:04 +07:00
Aleksey Shipilev
c2d9621656 8265335: Epsilon: Minor typo in EpsilonElasticTLABDecay description
Backport-of: 17b6592d8f
(cherry picked from commit 0ad6d36b24)
2021-10-28 14:54:04 +07:00
Alexander Scherbatiy
5acd264b5e 8265761: Font with missed font family name is not properly printed on Windows
Backport-of: e9370a13b6
(cherry picked from commit 116058b8b4)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
edba44fd35 8261496: Shenandoah: reconsider pacing updates memory ordering
Reviewed-by: rkennke, clanger
Backport-of: 4642730b05
(cherry picked from commit c0cb8bd43e)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
9d28367754 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress
Reviewed-by: rkennke
Backport-of: 9c9c47e403
(cherry picked from commit 76e8b08d95)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
cf22c48e9e 8266018: Shenandoah: fix an incorrect assert
Reviewed-by: rkennke
Backport-of: 2dd56676fb
(cherry picked from commit 6e80a5e387)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
b20664e2b2 8210959: JShell fails and exits when statement throws an exception whose message contains a '%'.
Reviewed-by: sgehwolf
Backport-of: dafc483475
(cherry picked from commit 818e833f10)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
225f3b37b5 8247421: [TESTBUG] ReturnBlobToWrongHeapTest.java failed allocating blob
Backport-of: bf300e8d8c
(cherry picked from commit fc211f8525)
2021-10-28 14:54:03 +07:00
Hui Shi
d4370e4411 8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M
8266206: Build failure after JDK-8264752 with older GCCs

Reviewed-by: clanger
Backport-of: 377b346189
(cherry picked from commit 42cad27fc3)
2021-10-28 14:54:03 +07:00
Aleksey Shipilev
76b9046bfb 8193214: Incorrect annotations.without.processors warnings with JDK 9
Backport-of: 19c364592c
(cherry picked from commit 899df7ee84)
2021-10-28 14:54:03 +07:00
Dmitry Chuyko
d1ffc5a9d2 8231717: Improve performance of charset decoding when charset is always compactable
Backport-of: 0dbfc97c05
(cherry picked from commit af094e6e6a)
2021-10-28 14:54:03 +07:00
Alexander Scherbatiy
1259cb8db2 8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API
Backport-of: b3b2bb2875
(cherry picked from commit 0b036e9cdc)
2021-10-28 14:54:03 +07:00
Severin Gehwolf
c371614738 8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly
Backport-of: 9d6c7764b6
(cherry picked from commit 6332b20e25)
2021-10-28 14:54:03 +07:00
Severin Gehwolf
a9310c161c 8267751: (test) jtreg.SkippedException has no serial VersionUID
Backport-of: 0fc7c8d101
(cherry picked from commit 6388d1ad5a)
2021-10-28 14:54:02 +07:00
Zhengyu Gu
3f52a0df28 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers"
Backport-of: 08a5a5c6d6
(cherry picked from commit dc1d389f05)
2021-10-28 14:54:02 +07:00
Zhengyu Gu
185acb3031 8233989: Create an IPv4 version of java/net/MulticastSocket/SetLoopbackMode.java
This fix adds an IPv4 version of test SetLoopbackMode.java that calls SetLoopbackMode in IPv4 only mode, and runs only if IPv4 is enabled.

Backport-of: 78accb5602
(cherry picked from commit 0fa236f7a0)
2021-10-28 14:54:02 +07:00
Paul Hohensee
bfd73e2ed0 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5
Backport-of: dedddd5ab2
(cherry picked from commit a8e3d0fc46)
2021-10-28 14:54:02 +07:00
Severin Gehwolf
9f6492cef8 8024368: private methods are allocated vtable indices
Stop allocating vtable slots for  private methods

Reviewed-by: adinn
Backport-of: 4904980886
(cherry picked from commit 4b632d4ffe)
2021-10-28 14:54:02 +07:00
Severin Gehwolf
b2b77542a8 8241353: NPE in ToolProvider.getSystemJavaCompiler
Backport-of: 6b4b676550
(cherry picked from commit 844db0cd85)
2021-10-28 14:54:02 +07:00
Severin Gehwolf
632df97585 8181313: SA: Remove libthread_db dependency on Linux
Reviewed-by: clanger
Backport-of: ef3336ec27
(cherry picked from commit 87ea689c77)
2021-10-28 14:54:02 +07:00
Aleksey Shipilev
85374b8341 8262000: jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java failed with "OutOfMemoryError: Java heap space"
Backport-of: d2c4ed08a2
(cherry picked from commit 12d326afb6)
2021-10-28 14:54:02 +07:00
Aleksey Shipilev
e5c7ace1c8 8266288: assert root method not found in witnessed_reabstraction_in_supers is too strong
Backport-of: 49d04586ed
(cherry picked from commit 7156f480d0)
2021-10-28 14:54:02 +07:00
Zhengyu Gu
200e16d96f 8268127: Shenandoah: Heap size may be too small for region to align to large page size
Reviewed-by: rkennke, shade
Backport-of: 5ad4a91c3d
(cherry picked from commit b80006b16e)
2021-10-28 14:54:02 +07:00
Severin Gehwolf
d61142a36d 8268103: JNI functions incorrectly return a double after JDK-8265836
Backport-of: 2963c9e677
(cherry picked from commit 63858e87db)
2021-10-28 14:54:02 +07:00
Severin Gehwolf
2891fbeebb 8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container
Backport-of: ef368b32bc
(cherry picked from commit 0e30bb4ccf)
2021-10-28 14:54:01 +07:00
Dmitry Chuyko
22e2bd6835 8254244: Some code emitted by TemplateTable::branch is unused when running TieredCompilation
Reviewed-by: adinn
Backport-of: 9cecc16747
(cherry picked from commit 7dc71f3425)
2021-10-28 14:54:01 +07:00
Dmitry Chuyko
f6c89abe33 8253048: AArch64: When CallLeaf, no need to preserve callee-saved registers in caller
Reviewed-by: adinn
Backport-of: ba174af344
(cherry picked from commit b247e082d7)
2021-10-28 14:54:01 +07:00
Zhengyu Gu
45dcaa574f 8262392: Update Mesa 3-D Headers to version 21.0.3
Backport-of: 138d573c35
(cherry picked from commit 3d0c9d5b47)
2021-10-28 14:54:01 +07:00
Severin Gehwolf
29281eb778 8247469: getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available
Backport-of: 3341d36131
(cherry picked from commit 03afcdf15d)
2021-10-28 14:54:01 +07:00
Aditya Mandaleeka
8f41fb52fe 8210495: compiler crashes because of illegal signature in otherwise legal code
Disable strict verification of compiler signatures when they do not affect generated bytecode

Reviewed-by: clanger
Backport-of: c0d51dc514
(cherry picked from commit 12f8e812fd)
2021-10-28 14:54:01 +07:00
Denghui Dong
aefdd84a17 8266642: Improve ResolvedMethodTable hash function
Backport-of: 83b3607290
(cherry picked from commit f15a892f5d)
2021-10-28 14:54:01 +07:00
Vladimir Kempik
0daf099839 8261652: Remove some dead comments from os_bsd_x86
Reviewed-by: phh
Backport-of: 28163a9e98
(cherry picked from commit 232aa679f7)
2021-10-28 14:54:01 +07:00
Zhengyu Gu
18a0e03a72 8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821
Reviewed-by: phh
Backport-of: d1b28e7ad0
(cherry picked from commit 4cb15a6983)
2021-10-28 14:54:01 +07:00
Goetz Lindenmaier
3066bc6721 8267695: Bump update version for OpenJDK: jdk-11.0.13
Reviewed-by: sgehwolf, erikj
(cherry picked from commit 4ba47da3b9)
2021-10-28 14:54:01 +07:00
Aleksey Shipilev
10a3995572 8158066: SourceDebugExtensionTest fails to rename file
Backport-of: b979952d62
(cherry picked from commit e116ccd2c3)
2021-10-28 14:54:00 +07:00
Christoph Langer
843130100f 8257913: Add more known library locations to simplify Linux cross-compilation
Reviewed-by: shade
Backport-of: 61cff4da90
(cherry picked from commit a150d49f71)
2021-10-28 14:54:00 +07:00
Martin Doerr
6ac4e2cd41 8212040: Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12
Backport-of: a7c90c5400
(cherry picked from commit e4f4544f92)
2021-10-28 14:54:00 +07:00
Christoph Langer
904e69b4ef 8221988: add possibility to build with Visual Studio 2019
Reviewed-by: mdoerr
Backport-of: 2a00db0b2e
(cherry picked from commit 037804f4e6)
2021-10-28 14:54:00 +07:00
Christoph Langer
c3140d00e7 8220445: Support for side by side MSVC Toolset versions
Reviewed-by: stuefe
Backport-of: 9833d2a1cd
(cherry picked from commit a034aab600)
2021-10-28 14:53:59 +07:00
Martin Doerr
e46fa13ecf 8211055: Provide print to a file (PDF) feature even when printer was not connected
Reviewed-by: clanger
Backport-of: 9b0d241a16
(cherry picked from commit 69c524ad35)
2021-10-28 14:53:59 +07:00
Vladimir Kempik
8bd8db8c6d 8257620: Do not use objc_msgSend_stret to get macOS version
Backport-of: d4c7db5060
(cherry picked from commit 8bd3b8fe7d)
2021-10-28 14:53:59 +07:00
Roger Riggs
91154ba38a 8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
Reviewed-by: naoto, clanger
(cherry picked from commit 3b1b8fc646)
(AKA JBR-3804 Cherry-pick 8269850 from OpenJDK11)
(cherry picked from commit 4d01bcc46e)
2021-10-28 14:53:59 +07:00
Christoph Langer
d61f2f3375 8270556: Exclude security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA
Reverted part of 8233569: [TESTBUG] JTextComponent test bug6361367.java fails on macos (6036eb3c81)
not intended in 11u
Backport-of: 1350e2bd22

(cherry picked from commit 14ef4bbb6f)
2021-10-28 14:53:59 +07:00
Alan Hayward
c600e7bd33 8266749: AArch64: Backtracing broken on PAC enabled systems
Reviewed-by: phh
Backport-of: ae986bc8df
(cherry picked from commit 5685dd0da3)
2021-10-28 14:53:59 +07:00
Ilarion Nakonechnyy
f1152463d9 8268617: [11u REDO] - WebSocket over authenticating proxy fails with NPE
Reviewed-by: clanger
(cherry picked from commit 60ef15b303)
2021-10-28 14:53:59 +07:00
Severin Gehwolf
ca15a47640 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods
Reviewed-by: adinn
Backport-of: c18ffd6a79
(cherry picked from commit f9c016a47e)
2021-10-28 14:53:58 +07:00
Alexey Ushakov
d81e8af7be JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added java stack of the exception to jbr_err_* log

(cherry picked from commit e97f728e93)
2021-10-15 18:06:10 +07:00
Alexey Ushakov
0634b367ad JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added exception.toString() to jbr_err_* log

(cherry picked from commit 478bd6cdd7)
2021-10-15 18:06:03 +07:00
Maxim Kartashev
99273a0bc3 8269223: -Xcheck:jni WARNINGs working with fonts on Linux
Reviewed-by: prr, serb

(AKA JBR-3542 Fix -Xcheck:jni warnings)
(Based on commit 9bc023220f, includes additional fixes for JBR-specific code)

(cherry picked from commit 0a81e49d9e)
2021-10-15 18:05:49 +07:00
Artem Semenov
1ddf70057f JBR-3808 SIGSEGV at [libjvm] -[_JavaComponentAccessibility accessibilityHitTest:]
(cherry picked from commit d2a8adb14f)
2021-10-05 06:41:25 +07:00
Artem Semenov
84994f7b93 JBR-3825 Fixed memory leaks in -[JavaComboboxAccessibility accessibilityValue]
(cherry picked from commit 5170990d7b)
2021-10-04 10:52:07 +07:00
Artem Semenov
1e44e79ace JBR-3761 : Native call to non-existent getAccessibleSelection method dl - [JavaComboboxAccessibility accessibilityValue]
(cherry picked from commit 9ceee497ef)
2021-10-04 10:51:55 +07:00
Anton Tarasov
4d8a4c3326 JBR-3722 macOS: SIGSEGV at [libjvm] _ZN14AccessInternal19PostRuntimeDispatchIN12G1BarrierSet13AccessBarrierILy1097844ES1_EELNS_11BarrierTypeE2ELy1097844EE18oop_access_barrierEPv
(cherry picked from commit a38b7a22fe)
2021-09-23 15:48:01 +07:00
Dmitry Batrak
03472dfe02 JBR-3799 Broken input of supplementary plane Unicode characters on macOS
apply upstream fix (JDK-8272602)

(cherry picked from commit 7d915be754)
2021-09-22 19:54:56 +07:00
Artem Bochkarev
e9e9816ae5 JBR-3715: partial cherry-pick of PR "Windows AArch64 Support"
implemented correct r18 usage
fixed JBR-3715
patch from V.Kempik

(cherry picked from commit a08c2a715b)
2021-09-20 16:29:26 +07:00
Artem Bochkarev
ca49a70b7f JBR-3715: revert "ZULU-17387: Port X18 exclusion patch from win_aarch64 jep"
patch from V.Kempik

(cherry picked from commit ba7eef6063)
2021-09-20 16:29:22 +07:00
Artem Semenov
00c3661751 JBR-3722 : macOS: SIGSEGV at [libjvm] _ZN14AccessInternal19PostRuntimeDispatchIN12G1BarrierSet13AccessBarrierILy1097844ES1_EELNS_11BarrierTypeE2ELy1097844EE18oop_access_barrierEPv
(cherry picked from commit 55c69787cf)
2021-09-03 10:56:33 +07:00
Artem Semenov
5c5c10f8b4 JBR-3724 : macOS: SIGSEGV at [libjvm.dylib+0x3fc074] jni_CallStaticObjectMethod / +[JavaComponentAccessibility childrenOfParent:withEnv:withChildrenCode:allowIgnored:recursive:]
(cherry picked from commit 70015b02b4)
2021-09-03 10:56:01 +07:00
Vitaly Provodin
1c92b5ba71 exclude sun/security/tools/keytool/ListKeychainStore.sh due to 8156889 2021-09-01 05:59:16 +07:00
Vitaly Provodin
7e5bbc8f87 JBR-3713 fix checkBlockingAndOrder signature in native invocation 2021-08-31 08:22:18 +07:00
Vladimir Kempik
34810c0bad 8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs (follow up) 2021-08-23 15:18:57 +07:00
Vitaly Provodin
a391d4294b fix compilation issue appeared after updating to 11.0.12
8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
2021-08-20 18:11:46 +07:00
Dmitry Batrak
f9d5d35a2e JBR-3695 JNF removal issue
(cherry picked from commit 83556f56e7)
2021-08-20 15:15:48 +07:00
sercher
eb73bc720e more to fix the regressions after pull/73
(cherry picked from commit 86b51437b3)
2021-08-20 11:23:25 +07:00
sercher
c3b314283e fix regression after pull/73
(cherry picked from commit 39e0a6125f)
2021-08-20 11:23:15 +07:00
Alexey Ushakov
f3a37ebc30 JBR-3667 Remove JNF from JBR_11.0.12
Applied code from jbr-dev

(cherry picked from commit 690a416aae)
2021-08-20 11:22:20 +07:00
clanger
aa53dd4907 Added tag jdk-11.0.12-ga for changeset f412f2537f15
(cherry picked from commit b4d4104e40)
2021-08-20 11:11:19 +07:00
mbalao
7304bc7ed9 8264079: Improve abstractions
Reviewed-by: yan

(cherry picked from commit 9b5cfa7ac2)
2021-08-20 11:10:37 +07:00
mbalao
2d2233cd1e 8262967: Improve Zip file support
Reviewed-by: mbaesken

(cherry picked from commit 499d9f8e49)
2021-08-20 11:10:35 +07:00
mbalao
81778e095f 8264066: Enhance compiler validation
Reviewed-by: mbaesken, mdoerr

(cherry picked from commit fb5f776caf)
2021-08-20 11:10:11 +07:00
yan
4fb1e1e9fa 8264460: Improve NTLM support
Reviewed-by: mbalao

(cherry picked from commit 067d4d500d)
2021-08-20 11:09:47 +07:00
avoitylov
ded83bb877 8262380: Enhance XML processing passes
Reviewed-by: mbalao

(cherry picked from commit 76a279920c)
2021-08-20 11:09:24 +07:00
mbalao
38ff8aaa22 8256491: Better HTTP transport
Reviewed-by: mbaesken

(cherry picked from commit d1dda7f5a6)
2021-08-20 11:08:40 +07:00
mbalao
92319cc599 8256157: Improve bytecode assembly
Reviewed-by: mbaesken

(cherry picked from commit 4c1030df6f)
2021-08-20 11:08:13 +07:00
alvdavi
f9e6f36984 8258432: Improve file transfers
Reviewed-by: mbaesken, mbalao

(cherry picked from commit 6ae43c6a0e)
2021-08-20 11:08:04 +07:00
mbalao
f41d453537 8260967: Better jar file validation
Reviewed-by: yan

(cherry picked from commit 7e34e95d11)
2021-08-20 11:07:31 +07:00
alvdavi
881569d8aa 8262477: Enhance String Conclusions
Reviewed-by: mbaesken, mbalao

(cherry picked from commit 332b9ab801)
2021-08-20 11:07:08 +07:00
yan
5655c7edb6 8262410: Enhanced rules for zones
Reviewed-by: mbaesken, mbalao

(cherry picked from commit e0b84005e4)
2021-08-20 11:06:46 +07:00
yan
2a7f961138 8262403: Enhanced data transfer
Reviewed-by: mbaesken, mbalao

(cherry picked from commit 471cfeb793)
2021-08-20 11:06:23 +07:00
alvdavi
6e169c080a 8260453: Improve Font Bounding
Reviewed-by: mbaesken, mbalao

(cherry picked from commit 94ab10baf3)
2021-08-20 11:06:21 +07:00
avoitylov
4c60edfb0a 8260960: Signs of jarsigner signing
Reviewed-by: mbaesken, mbalao

(cherry picked from commit d60f0153e7)
2021-08-20 11:05:59 +07:00
rhalade
b012f20f27 8268678: LetsEncryptCA.java test fails as Let’s Encrypt Authority X3 is retired
Reviewed-by: xuelei

(cherry picked from commit 2b6110f6e3)
2021-08-20 11:05:35 +07:00
egahlin
fd0ee12ca3 8255992: JFR EventWriter does not use first string from StringPool with id 0
Reviewed-by: egahlin
Contributed-by: Jie Kang <jkang@openjdk.org>

(cherry picked from commit 63ddfb5221)
2021-08-20 11:05:33 +07:00
mgronlun
ea6ff0e2f5 8258414: OldObjectSample events too expensive
Reviewed-by: jbachorik
Contributed-by: florian.david@datadoghq.com

(cherry picked from commit 4d1ff852af)
2021-08-20 11:04:44 +07:00
mdoerr
b47696b266 8267599: Revert the change to the default PKCS12 macAlgorithm and macIterationCount props for 11u/8u/7u
Summary: Undo pkcs12.macAlgorithm and macIterationCount changes from JDK-8153005 backport. They were postponed for interoperability reasons.
Reviewed-by: coffeys

(cherry picked from commit 7db2687b73)
2021-08-20 11:04:20 +07:00
weijun
00df84cdb6 8237804: sun/security/mscapi tests fail with "Key pair not generated, alias <nnnnnn> already exists"
Reviewed-by: mullan

(cherry picked from commit 59f4085080)
2021-08-20 11:03:55 +07:00
abakhtin
19dbdd151a 8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93)
Reviewed-by: jnimeh, xuelei, mdoerr

(cherry picked from commit 9b94493edd)
2021-08-20 11:03:28 +07:00
phh
fd25cfc1d3 8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64
Reviewed-by: phh
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>

(cherry picked from commit c47f2057c5)
2021-08-20 11:02:58 +07:00
ysuenaga
a9963d915c 8249875: GCC 10 warnings -Wtype-limits with JFR code
Reviewed-by: mgronlun

(cherry picked from commit ba539e832c)
2021-08-20 11:02:54 +07:00
mbalao
80024baeaf 8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod
Reviewed-by: valeriep

(cherry picked from commit f7ba738641)
2021-08-20 11:02:31 +07:00
serb
c9229dd2e9 8196100: javax/swing/text/JTextComponent/5074573/bug5074573.java fails
Reviewed-by: kizune

(cherry picked from commit c00eb55594)
2021-08-20 11:01:41 +07:00
zgu
640d6bb1be 8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC
Reviewed-by: rkennke

(cherry picked from commit a275ab6f48)
2021-08-20 11:00:53 +07:00
sgehwolf
1d319a7e2c 8266929: Unable to use algorithms from 3p providers
Summary: Delay initializtion of AID cache table until after jar verification
Reviewed-by: phh

(cherry picked from commit 27de8b0ff6)
2021-08-20 11:00:51 +07:00
jlahoda
1fbd8148c0 8242919: Paste locks up jshell
Summary: Not waiting until the full block is available while reading from input.
Reviewed-by: rfield

(cherry picked from commit 5d9d0a9a75)
2021-08-20 11:00:27 +07:00
vkempik
298b40d7fa 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
Reviewed-by: akozlov, aph

(cherry picked from commit 18a8fd31e5)
2021-08-20 10:59:09 +07:00
jbachorik
7b19c72d18 8261354: SIGSEGV at MethodIteratorHost
Reviewed-by: mgronlun

(cherry picked from commit faf6484a2b)
2021-08-20 10:59:06 +07:00
shade
32de11b627 8266802: Shenandoah: Round up region size to page size unconditionally
Reviewed-by: zgu

(cherry picked from commit b59a15193e)
2021-08-20 10:58:41 +07:00
vromero
9348cc2789 8207160: ClassReader::adjustMethodParams can potentially return null if the args list is empty
Reviewed-by: mcimadamore, cushon

(cherry picked from commit 81c4587cf7)
2021-08-20 10:58:11 +07:00
aleonard
3d177f08fa 8265666: Enable AIX build platform to make external debug symbols
Reviewed-by: erikj, mdoerr

(cherry picked from commit 7ca96684b5)
2021-08-20 10:57:40 +07:00
weijun
91c7d8cbf8 8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified
Reviewed-by: coffeys, hchao

(cherry picked from commit 55d40c666d)
2021-08-20 10:57:15 +07:00
weijun
2f91606d91 8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long"
Reviewed-by: valeriep

(cherry picked from commit bd0b236c4a)
2021-08-20 10:56:53 +07:00
ysuenaga
12f96ed3ba 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
Reviewed-by: serb

(cherry picked from commit 5acffe72ad)
2021-08-20 10:56:51 +07:00
mbaesken
9094154dee 8261422: Adjust problematic String.format calls in jdk/internal/util/Preconditions.java outOfBoundsMessage
Reviewed-by: clanger

(cherry picked from commit fd3ce84413)
2021-08-20 10:56:29 +07:00
stuefe
bd0ad34039 8260030: Improve stringStream buffer handling
Reviewed-by: iklam, kbarrett

(cherry picked from commit 3a700c8e6b)
2021-08-20 10:56:06 +07:00
stuefe
d0eb176bdd 8185734: [Windows] Structured Exception Catcher missing around gtest execution
Reviewed-by: dholmes, ihse

(cherry picked from commit 2247fa9602)
2021-08-20 10:55:41 +07:00
jiefu
c9e5ef3def 8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits
Reviewed-by: dholmes, cjplummer, sspitsyn

(cherry picked from commit 79d5f9c769)
2021-08-20 10:55:18 +07:00
mbaesken
92f9d75b04 8220074: Clean up GCC 8.3 errors in LittleCMS
Reviewed-by: prr

(cherry picked from commit e6584954f5)
2021-08-20 10:54:55 +07:00
mbaesken
e417ba2955 8232084: HotSpot build failed with GCC 9.2.1
Reviewed-by: sspitsyn, cjplummer, dholmes, iklam

(cherry picked from commit 0478b4e54c)
2021-08-20 10:54:53 +07:00
mbaesken
d3fb06784b 8266892: avoid maybe-uninitialized gcc warnings on linux s390x
Reviewed-by: shade, lucy

(cherry picked from commit 308ba715a8)
2021-08-20 10:54:08 +07:00
bulasevich
3fe8216909 8252311: AArch64: save two words in itable lookup stub
Reviewed-by: adinn, aph

(cherry picked from commit 60a9d39d0e)
2021-08-20 10:54:06 +07:00
egahlin
a9af1d397a 8243452: JFR: Could not create chunk in repository with over 200 recordings
Reviewed-by: mgronlun

(cherry picked from commit 201bc8380c)
2021-08-20 10:53:42 +07:00
valeriep
bb3ac74a78 8263404: RsaPrivateKeySpec is always recognized as RSAPrivateCrtKeySpec in RSAKeyFactory.engineGetKeySpec
Reviewed-by: valeriep
Contributed-by: Greg Rubin <rubin@amazon.com>, Ziyi Luo <luoziyi@openjdk.org>

(cherry picked from commit 0ed41e9ef2)
2021-08-20 10:52:59 +07:00
jnimeh
b51a734fa0 8254717: isAssignableFrom checks in KeyFactorySpi.engineGetKeySpec appear to be backwards
Reviewed-by: jnimeh
Contributed-by: Ziyi Luo <luoziyi@openjdk.org>

(cherry picked from commit 0e3a3cc87a)
2021-08-20 10:52:34 +07:00
ccheung
e8fa2322e0 8216184: CDS/appCDS tests failed on Windows due to long path to a classlist file
Summary: use os::open() instead of fopen()
Reviewed-by: iklam, dholmes

(cherry picked from commit b85ab67807)
2021-08-20 10:52:32 +07:00
weijun
362ccdde33 8153005: Upgrade the default PKCS12 encryption/MAC algorithms
Reviewed-by: mullan

(cherry picked from commit a30e884f47)
2021-08-20 10:52:08 +07:00
sgehwolf
d3d5b0f5a9 8266713: [AIX] Build failure after 11u backport of JDK-8247753
Summary: Add local implementation of strcasestr for AIX
Reviewed-by: mdoerr, stuefe, mbaesken, rpatil

(cherry picked from commit 77447ab9da)
2021-08-20 10:51:44 +07:00
aeubanks
a67e793c02 8223667: ASAN build broken
Reviewed-by: erikj, manc

(cherry picked from commit d649015cab)
2021-08-20 10:51:18 +07:00
zgu
47e0618fa0 8265239: Shenandoah: Shenandoah heap region count could be off by 1
Reviewed-by: shade

(cherry picked from commit 1408d4104c)
2021-08-20 10:50:55 +07:00
dholmes
5be87aa775 8218458: [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output
Reviewed-by: cjplummer, zgu

(cherry picked from commit 2bce0bab8a)
2021-08-20 10:50:30 +07:00
stuefe
1eb4dc737e 8262163: Extend settings printout in jcmd VM.metaspace
Reviewed-by: lucy

(cherry picked from commit bbc63ddc5a)
2021-08-20 10:50:29 +07:00
stuefe
28f30af5b7 8260926: Trace resource exhausted events unconditionally
Reviewed-by: dholmes, coleenp

(cherry picked from commit 1a1cf92ea6)
2021-08-20 10:50:04 +07:00
stuefe
a60738cb95 8260707: java/lang/instrument/PremainClass/InheritAgent0100.java times out
Reviewed-by: dholmes, sspitsyn, dcubed

(cherry picked from commit b40243f499)
2021-08-20 10:49:40 +07:00
bulasevich
701b629c1d 8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr
Reviewed-by: kvn

(cherry picked from commit 27130a7ad2)
2021-08-20 10:49:16 +07:00
bulasevich
c2acadbdef 8247408: IdealGraph bit check expression canonicalization
Reviewed-by: aph, kvn, adinn

(cherry picked from commit efe3d8c9fa)
2021-08-20 10:48:32 +07:00
mikael
57ea547a1f 8219142: Remove unused JIMAGE_ResourcePath
Reviewed-by: dholmes, alanb

(cherry picked from commit afa82f7acd)
2021-08-20 10:48:08 +07:00
mbaesken
afe04605fe 8214854: JDWP: Unforseen output truncation in logging
Reviewed-by: cjplummer, dholmes

(cherry picked from commit c465836189)
2021-08-20 10:47:44 +07:00
mbaesken
99421cf875 8215009: GCC 8 compilation error in libjli
Reviewed-by: dholmes, mikael, rriggs

(cherry picked from commit 07cb8849b7)
2021-08-20 10:47:18 +07:00
rpatil
1247589dad 8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32
Reviewed-by: sgehwolf

(cherry picked from commit 7dbbb71015)
2021-08-20 10:46:56 +07:00
ddong
5a7ae5ca09 8261020: Wrong format parameter in create_emergency_chunk_path
Reviewed-by: goetz

(cherry picked from commit 008119aa29)
2021-08-20 10:46:54 +07:00
snazarki
3ba652b0f0 8264821: DirectIOTest fails on a system with large block size
Reviewed-by: mdoerr

(cherry picked from commit 6ea789002e)
2021-08-20 10:46:10 +07:00
rhalade
7cbf020d24 8264190: Harden TLS interop tests
Reviewed-by: rhalade
Contributed-by: Fernando Guallini <fguallini@openjdk.org>

(cherry picked from commit e005989a5f)
2021-08-20 10:45:45 +07:00
serb
3a38a99184 7106851: Test should not use System.exit
Reviewed-by: aivanov, psadhukhan, kaddepalli

(cherry picked from commit 33f88d585e)
2021-08-20 10:45:24 +07:00
rriggs
9c4f691111 8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1
Reviewed-by: lancea, iignatyev

(cherry picked from commit 3438de2060)
2021-08-20 10:45:01 +07:00
shade
a7480ba332 8265421: java/lang/String/StringRepeat.java test is missing a memory requirement
Reviewed-by: jlaskey, shade, ryadav
Contributed-by: christoph.goettschkes@microdoc.com

(cherry picked from commit cf77ddd67d)
2021-08-20 10:44:59 +07:00
tschatzl
61a7c8bd42 8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC
Summary: Discount humongous object eager reclaim in IHOP allocation rate.
Reviewed-by: tschatzl, sjohanss
Contributed-by: luoziyi@amazon.com, kemperw@amazon.com

(cherry picked from commit 382c68f8b6)
2021-08-20 10:44:35 +07:00
phh
c97d5edc48 8246274: G1 old gen allocation tracking is not in a separate class
Summary: Add G1OldGenAllocationTracker
Reviewed-by: tschatzl, phh
Contributed-by: luoziyi@amazon.com, kemperw@amazon.com

(cherry picked from commit abadd05c98)
2021-08-20 10:43:50 +07:00
shade
63250dd16d 8265690: Use the latest Ubuntu base image version in Docker testing
Reviewed-by: sgehwolf, iignatyev, mseledtsov

(cherry picked from commit b61d1ec0b2)
2021-08-20 10:43:47 +07:00
serb
4ca792816e 6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit
Reviewed-by: prr

(cherry picked from commit 667524ec99)
2021-08-20 10:43:24 +07:00
jlahoda
a172bc2efb 8262900: ToolBasicTest fails to access HTTP server it starts
Reviewed-by: sundar, vromero

(cherry picked from commit c7bb9526c4)
2021-08-20 10:42:59 +07:00
psadhukhan
b941f14bae 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
Reviewed-by: serb

(cherry picked from commit 1984e4ea7f)
2021-08-20 10:42:36 +07:00
jbachorik
397673fc0e 8265750: Fatal error in safepoint.cpp after backport of 8258414
Reviewed-by: mdoerr, sgehwolf

(cherry picked from commit 7c8bed75ad)
2021-08-20 10:42:12 +07:00
lucy
619c7adfd0 8264173: [s390] Improve Hardware Feature Detection And Reporting
Reviewed-by: goetz, mdoerr

(cherry picked from commit d8f671e3ee)
2021-08-20 10:41:55 +07:00
lucy
599784c33d 8263260: [s390] Support latest hardware (z14 and z15)
Reviewed-by: goetz, mdoerr

(cherry picked from commit ba42c17ea7)
2021-08-20 10:41:25 +07:00
lucy
2c479c790b 8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string
Reviewed-by: stuefe, mdoerr, clanger

(cherry picked from commit ce82bfa392)
2021-08-20 10:41:00 +07:00
shade
fe98815ead 8265537: x86 version string truncated after JDK-8249672 11u backport
Reviewed-by: neugens

(cherry picked from commit 2624b2a7d7)
2021-08-20 10:40:41 +07:00
serb
17626ad6d8 8225116: Test OwnedWindowsLeak.java intermittently fails
Reviewed-by: pbansal

(cherry picked from commit 974a06e94c)
2021-08-20 10:40:14 +07:00
serb
81ab252fe9 8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers
Reviewed-by: prr

(cherry picked from commit ad3b5d11d7)
2021-08-20 10:40:12 +07:00
jiefu
42bc849a6d 8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32
Reviewed-by: kvn

(cherry picked from commit b71bcabdc5)
2021-08-20 10:39:48 +07:00
jiefu
4aa8fee98f 8222302: [TESTBUG]test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU
Reviewed-by: kvn, dlong

(cherry picked from commit 977d41835c)
2021-08-20 10:39:26 +07:00
kbarrett
eaa1c8c5df 8253167: ARM32 builds fail after JDK-8247910
8213483: ARM32: runtime/ErrorHandling/ShowRegistersOnAssertTest.java jtreg test fail
Summary: Removed platform-dependent definitions of BREAKPOINT as asm(breakpoint instruction).
Reviewed-by: coleenp, mikael, bulasevich

(cherry picked from commit c630859af5)
2021-08-20 10:39:03 +07:00
hshi
c8c051fc3e 8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test
Reviewed-by: lucy, shade

(cherry picked from commit 63720c9e21)
2021-08-20 10:38:39 +07:00
stuefe
ebd146dc7b 8257604: JNI_ArgumentPusherVaArg leaks valist
Reviewed-by: dcubed, coleenp

(cherry picked from commit c65f7c3364)
2021-08-20 10:38:16 +07:00
weijun
6b7f6fe925 8076190: Customizing the generation of a PKCS12 keystore
Reviewed-by: mullan

(cherry picked from commit a64f9674c9)
2021-08-20 10:37:52 +07:00
thartmann
7c7ebbf820 8209459: TestSHA512MultiBlockIntrinsics failed on AArch64
Summary: Prevent classloading to avoid generation of SHA stubs.
Reviewed-by: kvn, thartmann
Contributed-by: Joshua Zhu <joshua.zhu@arm.com>

(cherry picked from commit e929f1d15e)
2021-08-20 10:37:07 +07:00
serb
072fc06f6d 8264328: Broken license in javax/swing/JComboBox/8072767/bug8072767.java
Reviewed-by: kizune, trebari, pbansal

(cherry picked from commit 733e2667a3)
2021-08-20 10:36:22 +07:00
ssahoo
b552922490 8225438: javax/net/ssl/TLSCommon/TestSessionLocalPrincipal.java failed with Read timed out
Reviewed-by: xuelei, rhalade, hchao

(cherry picked from commit 0979251517)
2021-08-20 10:36:20 +07:00
aivanov
c988f9862e 8263311: Watch registry changes for remote printers update instead of polling
Reviewed-by: psadhukhan, serb

(cherry picked from commit bdc30661cb)
2021-08-20 10:36:19 +07:00
dfuchs
8bdc8cc032 8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected
Summary: The key used in the HTTP/2 connection pool is updated to take into account the proxy address in case of tunnel connections
Reviewed-by: chegar

(cherry picked from commit e7fb17ebca)
2021-08-20 10:36:18 +07:00
dfuchs
a3e466ec88 8244031: HttpClient should have more tests for HEAD requests
Summary: Http2TestExchangeImpl.java updated to support HEAD responses; ForbiddenHeadTest.java added.
Reviewed-by: chegar, michaelm

(cherry picked from commit ade01055d1)
2021-08-20 10:35:44 +07:00
jboes
425d668038 8233185: HttpServer.stop() blocks indefinitely when called on dispatch thread
Summary: Skip dispatcherThread.join() if current thread is the dispatcherThread
Reviewed-by: dfuchs, msheppar, vtewari

(cherry picked from commit 2bb749dca2)
2021-08-20 10:30:40 +07:00
trebari
78e6f1f2c6 8190763: Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()
Reviewed-by: psadhukhan, pbansal, serb

(cherry picked from commit 535c3bd567)
2021-08-20 10:30:39 +07:00
xuelei
85a86bdaec 8258753: StartTlsResponse.close() hangs due to synchronization issues
Reviewed-by: xuelei
Contributed-by: Prajwal Kumaraswamy <pkumaraswamy@openjdk.org>

(cherry picked from commit 03dd08df32)
2021-08-20 10:30:37 +07:00
rriggs
40d138a9f4 8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test
Reviewed-by: stuefe, iklam

(cherry picked from commit c6c1be68b6)
2021-08-20 10:30:36 +07:00
rhalade
5af47ef8aa 8225081: Remove Telia Company CA certificate expiring in April 2021
Reviewed-by: mullan

(cherry picked from commit b5cf4ef17e)
2021-08-20 10:30:33 +07:00
stuefe
7ec6aeeb22 8253572: [windows] CDS archive may fail to open with long file names
Reviewed-by: ccheung, iklam

(cherry picked from commit 38ee00073d)
2021-08-20 10:30:32 +07:00
rrich
7cc6b11114 8244847: Linux/PPC: runtime/CompressedOops/CompressedClassPointers: smallHeapTest fails
Reviewed-by: stuefe, mdoerr

(cherry picked from commit a7735759aa)
2021-08-20 10:30:31 +07:00
hseigel
add3430061 8207779: Method::is_valid_method() compares 'this' with NULL
Summary: Add Method* parameter and make method static to avoid 'thi's comparison with NULL
Reviewed-by: lfoltan, coleenp

(cherry picked from commit beb4d8cd85)
2021-08-20 10:30:28 +07:00
kvn
f669b6d9cb 8252779: compiler/graalunit/HotspotTest.java failed after 8251525
Summary: updated CheckGraalIntrinsics.java test
Reviewed-by: dcubed

(cherry picked from commit c0c32d8bfe)
2021-08-20 10:30:27 +07:00
jzhu
27b43550c3 8252259: AArch64: Adjust default value of FLOATPRESSURE
Reviewed-by: aph

(cherry picked from commit 93606dbe3f)
2021-08-20 10:30:24 +07:00
lucy
7287ff3b80 8261447: MethodInvocationCounters frequently run into overflow
Reviewed-by: mdoerr, thartmann, kvn, iveresov

(cherry picked from commit 1080bdd980)
2021-08-20 10:30:19 +07:00
prr
3279baa769 8261170: Upgrade to freetype 2.10.4
Reviewed-by: serb, psadhukhan, jdv, kizune

(cherry picked from commit b3e3c0b89d)
2021-08-20 10:30:16 +07:00
clanger
5b8afc0096 8207404: MulticastSocket tests failing on AIX
Reviewed-by: chegar, sgroeger

(cherry picked from commit 830e654595)
2021-08-20 10:30:14 +07:00
neliasso
3cc063a15c 8263361: Incorrect arraycopy stub selected by C2 for SATB collectors
Reviewed-by: eosterlund, vlivanov

(cherry picked from commit 47e3150fad)
2021-08-20 10:30:13 +07:00
kvn
1a38624191 8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node"
Reviewed-by: thartmann

(cherry picked from commit 39608ad69a)
2021-08-20 10:30:11 +07:00
naoto
e43aca7513 8262110: DST starts from incorrect time in 2038
8073446: TimeZone getOffset API does not  return a dst offset between years 2038-2137
Reviewed-by: rriggs

(cherry picked from commit 76e123778d)
2021-08-20 10:30:09 +07:00
bulasevich
1083eedff1 8214128: ARM32: wrong stack alignment on Deoptimization::unpack_frames
Reviewed-by: dsamersoff

(cherry picked from commit 4f61ac98d5)
2021-08-20 10:30:08 +07:00
prr
4286a7f5a1 8260380: Upgrade to LittleCMS 2.12
Reviewed-by: jdv, serb

(cherry picked from commit 90e76c380b)
2021-08-20 10:30:06 +07:00
jiangli
f9785a657b 8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode.
Summary: Allow resizing for all system dictionaries except for the shared dictionary at runtime.
Reviewed-by: iklam, gziemski

(cherry picked from commit 85a088f9f1)
2021-08-20 10:30:05 +07:00
lucy
bf96b39ce3 8264846: [macos] libjvm.dylib linker warning due to macOS version mismatch
Reviewed-by: erikj, dcubed, clanger

(cherry picked from commit 381de93173)
2021-08-20 10:30:03 +07:00
sgehwolf
6630a7f3b7 8264047: Duplicate global variable 'jvm' in libjavajpeg and libawt
Reviewed-by: serb

(cherry picked from commit 5d2684022e)
2021-08-20 10:30:02 +07:00
mbalao
3793d40f27 8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding
Reviewed-by: valeriep

(cherry picked from commit 49c77556ab)
2021-08-20 10:30:00 +07:00
bulasevich
c04e8e637a 8213845: ARM32: Interpreter doesn't call result handler after native calls
Summary: Fix mapping of native jboolean result to 0..1 on ARM32
Reviewed-by: aph, phh
Contributed-by: christoph.goettschkes@microdoc.com

(cherry picked from commit 7970c912fa)
2021-08-20 10:29:59 +07:00
shade
b14a9fff9b 8207247: AARCH64: Enable Minimal and Client VM builds
Reviewed-by: aph
Contributed-by: christoph.goettschkes@microdoc.com

(cherry picked from commit 897fed57dd)
2021-08-20 10:29:57 +07:00
rehn
afc0034b14 8261262: Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION
Reviewed-by: dcubed, sspitsyn

(cherry picked from commit 6a6ae5c6ed)
2021-08-20 10:29:56 +07:00
xuelei
06d833d164 8226374: Restrict TLS signature schemes and named groups
Reviewed-by: mullan

(cherry picked from commit 89ec9bc1e2)
2021-08-20 10:29:54 +07:00
ngasson
07643c5fd0 8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop
Reviewed-by: adinn

(cherry picked from commit 5404c7fe70)
2021-08-20 10:29:53 +07:00
yzhang
34309539ef 8242429: Better implementation for sign extract
Reviewed-by: vlivanov, thartmann
Contributed-by: eric.c.liu@arm.com

(cherry picked from commit 1315b55c19)
2021-08-20 10:29:51 +07:00
shade
2f32b0fbe0 8264923: PNGImageWriter.write_zTXt throws Exception with a typo
Reviewed-by: aivanov, jdv, azvegint, kizune

(cherry picked from commit 3a9131614b)
2021-08-20 10:29:50 +07:00
shade
65b74ad054 8256523: Streamline Java SHA2 implementation
Reviewed-by: valeriep

(cherry picked from commit d0b370c6b8)
2021-08-20 10:29:48 +07:00
zgu
deadbe368a 8253948: Memory leak in ImageFileReader
Reviewed-by: alanb

(cherry picked from commit e7bb9fd8d7)
2021-08-20 10:29:46 +07:00
smonteith
045a24a963 8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns
Summary: Adds missing line for aarch64 to debug.cpp help() for pns
Reviewed-by: adinn
Contributed-by: alan.hayward@arm.com

(cherry picked from commit dc43f7063d)
2021-08-20 10:29:45 +07:00
weijun
db7d11e7de 8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler
Reviewed-by: mullan

(cherry picked from commit d7e1f938e7)
2021-08-20 10:29:43 +07:00
jdv
14a5edace1 8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen
Reviewed-by: serb, prr

(cherry picked from commit ad56416ad9)
2021-08-20 10:29:42 +07:00
jdv
296d7de9d5 8242557: Add length limit for strings in PNGImageWriter
Reviewed-by: prr, psadhukhan

(cherry picked from commit 50412155f9)
2021-08-20 10:29:40 +07:00
iveresov
4d16375a3d 8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state
Reviewed-by: dlong, kvn

(cherry picked from commit 3e47d86db7)
2021-08-20 10:29:39 +07:00
hseigel
70a810918f 8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class
Summary: Replace the assert with a logging message saying that the class is not a subclass of java.lang.Throwable
Reviewed-by: dholmes, coleenp

(cherry picked from commit 871cb53015)
2021-08-20 10:29:37 +07:00
neliasso
b4f5bc184d 8262465: Very long compilation times and high memory consumption in C2 debug builds
Reviewed-by: kvn, thartmann

(cherry picked from commit a7c4f72f75)
2021-08-20 10:29:36 +07:00
stuefe
16c57ac204 8263558: Possible NULL dereference in fast path arena free if ZapResourceArea is true
Reviewed-by: kbarrett, coleenp

(cherry picked from commit 1ee8a9a528)
2021-08-20 10:29:34 +07:00
thartmann
a685c3f197 8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies
Reviewed-by: neliasso, chagedorn

(cherry picked from commit 56c4e379af)
2021-08-20 10:29:33 +07:00
apangin
8a18d1914c 8249719: MethodHandle performance suffers from bad ResolvedMethodTable hash function
Reviewed-by: simonis, stuefe, coleenp

(cherry picked from commit 0535ead40d)
2021-08-20 10:29:31 +07:00
yzhang
2f95f86896 8243240: AArch64: Add support for MulVB
Reviewed-by: aph

(cherry picked from commit c64efbc559)
2021-08-20 10:29:29 +07:00
jcm
e038f46789 8226627: assert(t->singleton()) failed: must be a constant
Summary: Implemented constant folding for MaxFD, MinFD.
Reviewed-by: thartmann, bsrbnd, pli

(cherry picked from commit d6f04ca27b)
2021-08-20 10:29:28 +07:00
xuelei
ff9c88bc28 8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl
Reviewed-by: xuelei
Contributed-by: Clive Verghese <cverghese@openjdk.org>

(cherry picked from commit 13af04a640)
2021-08-20 10:29:26 +07:00
fyang
33dd9fa96b 8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()
Reviewed-by: adinn

(cherry picked from commit 893f2d4fbc)
2021-08-20 10:29:24 +07:00
dtitov
800d53c2a2 8217348: assert(thread->is_Java_thread()) failed: just checking
Reviewed-by: sspitsyn, dholmes, amenkov, jcbeyler

(cherry picked from commit 63895cc7cd)
2021-08-20 10:29:23 +07:00
shade
3659acb85a 8263504: Some OutputMachOpcodes fields are uninitialized
Reviewed-by: kvn

(cherry picked from commit 592583006f)
2021-08-20 10:29:21 +07:00
rraghavan
0c872d3b15 8238812: assert(false) failed: bad AD file
Reviewed-by: thartmann, chagedorn, roland

(cherry picked from commit 31344224c6)
2021-08-20 10:29:19 +07:00
rcastanedalo
fe5841f5c2 8261730: C2 compilation fails with assert(store->find_edge(load) != -1) failed: missing precedence edge
Summary: Relax assertion in PhaseCFG::verify() to accept the case where a store is used to implement an implicit null check and a load is placed in the null block.
Reviewed-by: thartmann, kvn

(cherry picked from commit 15123efa60)
2021-08-20 10:29:17 +07:00
naoto
1ce767d903 8247432: Update IANA Language Subtag Registry to Version 2020-09-29
Reviewed-by: joehw

(cherry picked from commit 760f73a671)
2021-08-20 10:29:15 +07:00
naoto
3b90704c08 8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01
Reviewed-by: rriggs, joehw

(cherry picked from commit 923bef0b1e)
2021-08-20 10:29:13 +07:00
xuelei
aed4f27513 8206925: Support the certificate_authorities extension
Reviewed-by: mullan

(cherry picked from commit 39cd51acab)
2021-08-20 10:29:11 +07:00
joehw
8a14a1c9c4 8235368: Update BCEL to Version 6.4.1
Reviewed-by: lancea, dfuchs, forax

(cherry picked from commit c7afe8d09b)
2021-08-20 10:29:09 +07:00
mli
fffe65d806 8210443: Migrate Locale matching tests to JDK Repo.
Reviewed-by: naoto
Contributed-by: dan.z.zhou@oracle.com

(cherry picked from commit ace76c89eb)
2021-08-20 10:29:07 +07:00
ngasson
3a85c2ec3d 8236992: AArch64: remove redundant load_klass in itable stub
Reviewed-by: aph, adinn

(cherry picked from commit 641d5af861)
2021-08-20 10:29:05 +07:00
thartmann
252ca5fb21 8230428: Cleanup dead CastIP node code in formssel.cpp
Summary: Removed dead code.
Reviewed-by: roland

(cherry picked from commit 808c4a4a73)
2021-08-20 10:29:04 +07:00
jdowland
80ce17f2bc 8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll
Reviewed-by: chegar, dfuchs, aph

(cherry picked from commit ff2f0003c3)
2021-08-20 10:29:02 +07:00
kvn
05ad846591 8262837: handle split_USE correctly
Reviewed-by: kvn
Contributed-by: Kuai Wei <kuaiwei.kw@alibaba-inc.com>

(cherry picked from commit 3cd3b00fb7)
2021-08-20 10:28:58 +07:00
naoto
db8ce9719e 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version
Reviewed-by: joehw

(cherry picked from commit 64fe99dbec)
2021-08-20 10:28:56 +07:00
bulasevich
126bde2f9e 8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32
Reviewed-by: dholmes
Contributed-by: christoph.goettschkes@microdoc.com

(cherry picked from commit 17b9e61404)
2021-08-20 10:28:54 +07:00
jzhu
9764757432 8233948: AArch64: Incorrect mapping between OptoReg and VMReg for high 64 bits of Vector Register
Reviewed-by: adinn

(cherry picked from commit c0e32c3fca)
2021-08-20 10:28:52 +07:00
pli
eb46701e9e 8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl
Reviewed-by: aph

(cherry picked from commit 2c9e087a17)
2021-08-20 10:28:50 +07:00
mbaesken
3b6c83aedb 8262461: handle wcstombsdmp return value correctly in unix awt_InputMethod.c
Reviewed-by: psadhukhan, azvegint, aivanov

(cherry picked from commit dba304d265)
2021-08-20 10:28:48 +07:00
chagedorn
a0e8a527d2 8260284: C2: assert(_base == Int) failed: Not an Int
Reviewed-by: thartmann, kvn

(cherry picked from commit 2022e3d2f2)
2021-08-20 10:28:46 +07:00
stuefe
ff971881cf 8263557: Possible NULL dereference in Arena::destruct_contents()
Reviewed-by: kbarrett, coleenp

(cherry picked from commit 1f7b350fe7)
2021-08-20 10:28:45 +07:00
thartmann
bd7d3de46d 8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it
Summary: Remove assertion that is too general, that is, it can fail on compilations where C2 generates correct code otherwise.
Reviewed-by: chagedorn, thartmann, kvn
Contributed-by: Roberto Castaneda Lozano <rcastanedalo@openjdk.org>

(cherry picked from commit eadcad1393)
2021-08-20 10:28:43 +07:00
shade
86b46050c6 8261505: Test test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java killed by Linux OOM Killer
Reviewed-by: sjohanss, tschatzl

(cherry picked from commit ec4b14d493)
2021-08-20 10:28:41 +07:00
jlahoda
ec49082a99 8239536: Can't use java.util.List object after importing java.awt.List
Summary: Using full qualified names for synthetic types; ensuring the user is warned when a variable becomes undefined due to a dependency change.
Reviewed-by: rfield

(cherry picked from commit 298401f392)
2021-08-20 10:28:39 +07:00
rkennke
616e512bd9 8257621: JFR StringPool misses cached items across consecutive recordings
Reviewed-by: egahlin

(cherry picked from commit 29eed33b90)
2021-08-20 10:28:37 +07:00
bsrbnd
a743ea20a6 8220407: compiler/intrinsics/math/TestFpMinMaxIntrinsics.java timedout
Reviewed-by: kvn

(cherry picked from commit 6cc66f7ff5)
2021-08-20 10:28:36 +07:00
jbhateja
a539b0a79b 8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java failed XMM register should be 0-15
Reviewed-by: thartmann, vlivanov, ctornqvi, bsrbnd

(cherry picked from commit f5c06010c4)
2021-08-20 10:28:34 +07:00
xuelei
e7bb86ad57 8259886: Improve SSL session cache performance and scalability
Reviewed-by: erikj, xuelei
Contributed-by: djelinski <djelinski1@gmail.com>

(cherry picked from commit 293045e187)
2021-08-20 10:28:33 +07:00
ngasson
29a606cb9c 8263425: AArch64: two potential bugs in C1 LIRGenerator::generate_address()
Reviewed-by: aph

(cherry picked from commit 886f5885ff)
2021-08-20 10:28:32 +07:00
chagedorn
85dd451ecc 8255763: C2: OSR miscompilation caused by invalid memory instruction placement
Summary: Disable GCM hoisting of memory-writing nodes for irreducible CFGs.
Reviewed-by: kvn, chagedorn
Contributed-by: Roberto Castaneda Lozano <rcastanedalo@openjdk.org>

(cherry picked from commit 05703a8824)
2021-08-20 10:28:30 +07:00
fguallini
ab19a0f94c 8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset
Reviewed-by: dfuchs, rhalade

(cherry picked from commit 27738b9bc1)
2021-08-20 10:28:28 +07:00
roland
431edbee11 8257574: C2: "failed: parsing found no loops but there are some" assert failure
Reviewed-by: thartmann, neliasso, chagedorn

(cherry picked from commit 4dc032eb32)
2021-08-20 10:28:27 +07:00
mbaesken
c7ca473b70 8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection
Reviewed-by: kbarrett, lucy

(cherry picked from commit ceb27707a6)
2021-08-20 10:28:25 +07:00
aivanov
c6b3fa8052 8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames()
Reviewed-by: prr, psadhukhan, serb

(cherry picked from commit fcce5a2b3c)
2021-08-20 10:28:23 +07:00
ewhelan
1e12055bd2 8252883: AccessDeniedException caused by delayed file deletion on Windows
Reviewed-by: dfuchs

(cherry picked from commit 27fce84573)
2021-08-20 10:28:21 +07:00
weijun
5b267d67b0 8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur
Reviewed-by: mullan

(cherry picked from commit b50153e0b1)
2021-08-20 10:28:19 +07:00
mullan
7d10803c96 8243559: Remove root certificates with 1024-bit keys
Reviewed-by: weijun

(cherry picked from commit 32ba7b1af9)
2021-08-20 10:28:17 +07:00
jiefu
7ea05a2dbf 8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/PortUnreachable.java fails due to the hard coded threshold is small
Reviewed-by: shade, aefimov

(cherry picked from commit 67c4fc1a4d)
2021-08-20 10:28:16 +07:00
goetz
cf6ba1ed11 8262121: [11u] Redo 8244287: JFR: Methods samples have line number 0
Summary: In addition to previous fix attempt add constructor that takes method and line.
Reviewed-by: mdoerr, clanger

(cherry picked from commit e612e43ec0)
2021-08-20 10:28:14 +07:00
mbaesken
17d6682519 8261791: (sctp) handleSendFailed in SctpChannelImpl.c potential leaks
Reviewed-by: chegar, alanb

(cherry picked from commit 07bf95c9ad)
2021-08-20 10:28:12 +07:00
mbaesken
4518da0d2f 8261601: free memory in early return in Java_sun_nio_ch_sctp_SctpChannelImpl_receive0
Reviewed-by: clanger, dfuchs, bpb

(cherry picked from commit eef3676722)
2021-08-20 10:28:11 +07:00
lucy
6279241e65 8231460: Performance issue (CodeHeap) with large free blocks
Reviewed-by: adinn, stuefe

(cherry picked from commit 15b77b797b)
2021-08-20 10:28:09 +07:00
lucy
18491abf9d 8223444: Improve CodeHeap Free Space Management
Reviewed-by: kvn, thartmann

(cherry picked from commit 5cb1684f14)
2021-08-20 10:28:07 +07:00
fyang
fa4c7693dc 8223020: aarch64: expand minI_rReg and maxI_rReg patterns into separate instructions
Reviewed-by: aph

(cherry picked from commit 0a087ecb13)
2021-08-20 10:28:05 +07:00
serb
c04fa7866c 8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux
Reviewed-by: prr, psadhukhan, kcr

(cherry picked from commit 9c693b5575)
2021-08-20 10:28:03 +07:00
serb
577c8aa1a6 8241829: Cleanup the code for PrinterJob on windows
Reviewed-by: prr, aivanov

(cherry picked from commit 30b018b55c)
2021-08-20 10:28:02 +07:00
rfield
3e1d4afb98 8213725: JShell NullPointerException due to class file with unexpected package
Reviewed-by: jlahoda

(cherry picked from commit 7840ab7e3d)
2021-08-20 10:28:00 +07:00
rfield
b37b490362 8247438: JShell: When FailOverExecutionControlProvider fails the proximal cause is not shown
8237743: test/langtools/jdk/jshell/FailOverExecutionControlTest.java fails No ExecutionControlProvider with name 'nonExistent' and parameter keys: []
8199646: JShell tests: jdk/jshell/FailOverDirectExecutionControlTest.java failed with java.lang.UnsupportedOperationException
Reviewed-by: jlahoda

(cherry picked from commit 0a4ab7ae9a)
2021-08-20 10:27:58 +07:00
mbaesken
94af9f1199 8260236: better init AnnotationCollector _contended_group
Reviewed-by: coleenp, shade

(cherry picked from commit 4a9b9ddd48)
2021-08-20 10:27:56 +07:00
coleenp
149e923598 8234355: Buffer overflow in jcmd GC.class_stats due to too many classes
Summary: Remove use of GC.class_stats in testing and failure analysis (plan to deprecate)
Reviewed-by: dcubed

(cherry picked from commit f4c17f8b6c)
2021-08-20 10:27:54 +07:00
stuefe
ba33163b44 8259710: Inlining trace leaks memory
Reviewed-by: thartmann, neliasso

(cherry picked from commit b868dea5db)
2021-08-20 10:27:52 +07:00
thartmann
e3f2b7d3f4 8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted
Summary: Added error handling.
Reviewed-by: neliasso

(cherry picked from commit f0a90c039a)
2021-08-20 10:27:50 +07:00
vtewari
9db9ee4c83 8260925: HttpsURLConnection does not work with other JSSE provider.
Reviewed-by: xuelei

(cherry picked from commit f4615088ac)
2021-08-20 10:27:48 +07:00
cgo
9755333d0e 8261752: Multiple GC test are missing memory requirements
Reviewed-by: phh
Contributed-by: christoph.goettschkes@microdoc.com

(cherry picked from commit 838eb2387f)
2021-08-20 10:27:46 +07:00
abakhtin
0b4844fc05 8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned
Summary: Fix sun.security.provider.SHA3 class to correctly clone its lanes field
Reviewed-by: valeriep

(cherry picked from commit 76c6dc4591)
2021-08-20 10:27:44 +07:00
vlivanov
0625eaf445 8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization
Reviewed-by: dlong, kvn, thartmann

(cherry picked from commit 07161d961a)
2021-08-20 10:27:42 +07:00
mgronlun
8839e72867 8257569: Failure observed with JfrVirtualMemory::initialize
Reviewed-by: egahlin, poonam

(cherry picked from commit 1b113cbc3f)
2021-08-20 10:27:41 +07:00
jbhateja
661c96a48b 8259777: Incorrect predication condition generated by ADLC
Reviewed-by: vlivanov

(cherry picked from commit 2892ad6bc0)
2021-08-20 10:27:38 +07:00
roland
8e1ce1b92c 8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload
Reviewed-by: kvn, shade

(cherry picked from commit 3ab381bd9b)
2021-08-20 10:27:37 +07:00
skuksenko
ba2f6dcee9 8223504: Improve performance of forall loops by better inlining of "iterator()" methods
Reviewed-by: vlivanov, shade

(cherry picked from commit 55b5776d7f)
2021-08-20 10:27:34 +07:00
mbaesken
c516843bc5 8261167: print_process_memory_info add a close call after fopen
Reviewed-by: stuefe, dholmes

(cherry picked from commit 37e13f2348)
2021-08-20 10:27:33 +07:00
mbaesken
cd9c72ec52 8259786: initialize last parameter of getpwuid_r
Reviewed-by: mdoerr, hseigel

(cherry picked from commit f5a8794c07)
2021-08-20 10:27:31 +07:00
stuefe
8cecb9a931 8256287: [windows] add loop fuse to map_or_reserve_memory_aligned
Reviewed-by: luhenry, iklam, minqi

(cherry picked from commit 61b424d747)
2021-08-20 10:27:28 +07:00
roland
ecab1b2e4c 8253923: C2 doesn't always run loop opts for compilations that include loops
Reviewed-by: neliasso, thartmann

(cherry picked from commit a8560f5352)
2021-08-20 10:27:26 +07:00
naoto
e31fcc9a03 8255086: Update the root locale display names
Reviewed-by: bchristi, joehw

(cherry picked from commit 641a44d288)
2021-08-20 10:27:24 +07:00
erikj
89d15c4130 8261261: The version extra fields needs to be overridable in jib-profiles.js
Reviewed-by: ihse

(cherry picked from commit b406b996f9)
2021-08-20 10:27:22 +07:00
mbaesken
f3bc086bac 8260432: allocateSpaceForGP in freetypeScaler.c might leak memory
Reviewed-by: shade, stuefe

(cherry picked from commit 1f189822f0)
2021-08-20 10:27:20 +07:00
mbaesken
a60b20f0dc 8260426: awt debug_mem.c DMem_AllocateBlock might leak memory
Reviewed-by: psadhukhan, aivanov

(cherry picked from commit deeaf56fa3)
2021-08-20 10:27:18 +07:00
mbaesken
ea79186e5c 8259843: initialize dli_fname array before calling dll_address_to_library_name
Reviewed-by: lucy, dholmes

(cherry picked from commit ed04be67c7)
2021-08-20 10:27:16 +07:00
ngasson
7b394470cd 8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack
Reviewed-by: aph

(cherry picked from commit 5d54d23310)
2021-08-20 10:27:15 +07:00
goetz
0d8bf68f3b 8257580: Bump update version for OpenJDK: jdk-11.0.12
Reviewed-by: mdoerr

(cherry picked from commit 1f320da262)
2021-08-20 10:27:13 +07:00
AlexanderScherbatiy
60478c037c Add stubs for JNFObtainEnv/JNFReleaseEnv methods in Dispatch.m file
(cherry picked from commit 3fb01ee26b)
2021-08-20 10:27:11 +07:00
AlexanderScherbatiy
456fa0055d Fix DECLARE_CLASS/METHOD return values
(cherry picked from commit b8fc7b2e91)
2021-08-20 10:27:10 +07:00
AlexanderScherbatiy
eff2e8e4dc Return NSWindowTabbingModeDisallowed from GET_CPLATFORM_WINDOW_CLASS_RETURN
(cherry picked from commit b8add67ee4)
2021-08-20 10:27:09 +07:00
AlexanderScherbatiy
e548473171 Use GET_CPLATFORM_WINDOW_CLASS_RETURN for method with return value from AWTWindow.m
(cherry picked from commit b00ea1cfbc)
2021-08-20 10:27:08 +07:00
Alexander Zuev
49b5757f82 8263846: Bad JNI lookup getFocusOwner in accessibility code on Mac OS X
Reviewed-by: azvegint, prr
(cherry picked from commit d597ddafbd)
2021-08-20 10:26:43 +07:00
Phil Race
3b4c865a48 8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code
Reviewed-by: serb, psadhukhan
(cherry picked from commit 6625f22474)
2021-08-20 10:26:19 +07:00
Alexander Zuev
4ac53729b8 8259585: Accessible actions do not work on mac os x
Reviewed-by: serb
(cherry picked from commit 01f4133f22)
2021-08-20 10:25:57 +07:00
Phil Race
7bd42c147a 8259232: Bad JNI lookup during printing
Reviewed-by: psadhukhan
(cherry picked from commit b7bd90fe90)
2021-08-20 10:25:33 +07:00
Vladimir Kempik
f5c8e28dbe 8260616: Removing remaining JNF dependencies in the java.desktop module 8259729: Missed JNFInstanceOf -> IsInstanceOf conversion
Reviewed-by: mdoerr
(cherry picked from commit e5c9468191)
2021-08-20 10:25:09 +07:00
Vladimir Kempik
dffda7d41a 8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs
Reviewed-by: mdoerr

(cherry-picked from commit 6bb87f14a8)
2021-08-20 10:25:07 +07:00
Vladimir Kempik
9cc26f24aa 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
Reviewed-by: mdoerr

(cherry-picked from commit 57a8722fbe)
2021-08-20 07:35:12 +07:00
Vladimir Kempik
0756efacbd 8259343: [macOS] Update JNI error handling in Cocoa code
Reviewed-by: mdoerr
(cherry picked from commit 436382c220)
2021-08-20 07:29:13 +07:00
Vladimir Kempik
fcb7a8c841 8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
Reviewed-by: mdoerr
(cherry picked from commit a826a12210)
2021-08-20 07:28:07 +07:00
vkempik
e3328128e7 8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m
Reviewed-by: ihse, cjplummer

(cherry picked from commit e7daf93c85)
2021-08-20 06:21:18 +07:00
vkempik
d1a0ab7b57 8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m
8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m
Reviewed-by: mdoerr

(cherry picked from commit 282a9485b8)
2021-08-20 06:20:53 +07:00
vkempik
0311ad754d 8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched
Reviewed-by: phh

(cherry picked from commit f265ba1086)
2021-08-20 06:20:29 +07:00
phh
4b4443e719 8267641: [11u] 8227609 backport typo
Summary: Remove extraneous "8227609"
Reviewed-by: yan, mdoerr, sgehwolf

(cherry picked from commit 6644278e8a)
2021-08-20 06:20:04 +07:00
bpb
d09e03ff30 8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size
Reviewed-by: alanb, lancea, fweimer

(cherry picked from commit 87ca21711a)
2021-08-20 06:19:40 +07:00
bulasevich
0fd22a273d 8249189: AARCH64: more L2I conversions can be skipped
Reviewed-by: aph

(cherry picked from commit ba81371932)
2021-08-20 06:19:16 +07:00
bulasevich
2e017abfbf 8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values
Reviewed-by: aph

(cherry picked from commit 2c3cdba88b)
2021-08-20 06:18:52 +07:00
bulasevich
31e8616677 8248043: Need to eliminate excessive i2l conversions
Reviewed-by: redestad, kvn, iveresov

(cherry picked from commit dc7595ea2b)
2021-08-20 06:18:25 +07:00
yzhang
eb06c872e1 8243155: AArch64: Add support for SqrtVF
Reviewed-by: aph

(cherry picked from commit 2dfaf4d229)
2021-08-20 06:18:23 +07:00
shade
9fbef2250f 8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint)
Reviewed-by: kvn

(cherry picked from commit 0036e174ad)
2021-08-20 06:17:58 +07:00
neliasso
502cc0c7bd 8226721: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: neliasso, vlivanov, ecaspole
Contributed-by: Jatin Bhateja <jatin.bhateja@intel.com>

(cherry picked from commit 073f57ae6d)
2021-08-20 06:17:33 +07:00
bsrbnd
e468ac3c4a 8217561: X86: Add floating-point Math.min/max intrinsics
Summary: Implementation taking care of +/-0.0 and NaN which uses a specific pattern for reductions
Reviewed-by: aph, kvn, neliasso, sviswanathan, adinn
Contributed-by: Jatin Bhateja <jatin.bhateja@intel.com>

(cherry picked from commit 290bc74830)
2021-08-20 06:17:04 +07:00
dlemmond
6b0f66239e 8239386: handle ContendedPaddingWidth in vm_version_aarch64
Reviewed-by: aph, phh

(cherry picked from commit f5f49b6e44)
2021-08-20 06:16:59 +07:00
dongbo
2ce8ecc571 8255625: AArch64: Implement Base64.encodeBlock accelerator/intrinsic
Reviewed-by: aph

(cherry picked from commit 06383fee91)
2021-08-20 06:16:58 +07:00
roland
5c5802f2bb 8261812: C2 compilation fails with assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann

(cherry picked from commit 7b69e23a4f)
2021-08-20 06:16:31 +07:00
dchuyko
02628f3abc 8251525: AARCH64: Faster Math.signum(fp)
Reviewed-by: aph, vlivanov, adinn

(cherry picked from commit 046a5eca42)
2021-08-20 06:16:04 +07:00
vkempik
fee5c9e756 8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files
Reviewed-by: phh

(cherry picked from commit 08ab93fe2b)
2021-08-20 06:15:40 +07:00
phh
4bc6930b7f 8265099: Revert backport to 11u of 8236859: WebSocket over authenticating proxy fails with NPE
Summary: Revert https://hg.openjdk.java.net/jdk-updates/jdk11u-dev/rev/57e3fa3574ec
Reviewed-by: clanger

(cherry picked from commit 86c315b268)
2021-08-20 06:15:14 +07:00
yzhang
b2bae0b252 8243597: AArch64: Add support for integer vector abs
Reviewed-by: aph

(cherry picked from commit 95ffcc0b19)
2021-08-20 06:14:48 +07:00
pli
1eee0ac2f1 8241475: AArch64: Add missing support for PopCountVI node
Reviewed-by: aph, njian

(cherry picked from commit c43bcc5456)
2021-08-20 06:14:14 +07:00
pli
e5466e8b30 8214922: Add vectorization support for fmin/fmax
Reviewed-by: adinn, roland

(cherry picked from commit ff0303d69c)
2021-08-20 06:13:47 +07:00
wetmore
ef25e1e50d 8254631: Better support ALPN byte wire values in SunJSSE
Reviewed-by: xuelei, dfuchs

(cherry picked from commit 230e3ce141)
2021-08-20 06:13:45 +07:00
vkempik
a472dece99 8261397: try catch Method failing to work when dividing an integer by 0
Reviewed-by: phh

(cherry picked from commit 8c83c11efa)
2021-08-20 06:13:44 +07:00
dpochepk
8897ca3b37 8222412: AARCH64: multiple instructions encoding issues
Reviewed-by: aph

(cherry picked from commit f5d030fee1)
2021-08-20 06:13:10 +07:00
pli
a65ada92d3 8216259: AArch64: Vectorize Adler32 intrinsics
Reviewed-by: aph

(cherry picked from commit 902d29380e)
2021-08-20 06:13:07 +07:00
aph
03ec3a2493 8261649: AArch64: Optimize LSE atomics in C++ code
Reviewed-by: adinn

(cherry picked from commit f31624f8c4)
2021-08-20 06:13:04 +07:00
aph
374efcae15 8261027: AArch64: Support for LSE atomics C++ HotSpot code
Reviewed-by: adinn, phh

(cherry picked from commit f754b686b5)
2021-08-20 06:13:02 +07:00
serb
8d4eff8463 8257414: Drag n Drop target area is wrong on high DPI systems
Reviewed-by: serb
Contributed-by: Olga Mikhaltsova <omikhaltcova@openjdk.org>

(cherry picked from commit 072ee00a51)
2021-08-20 06:10:08 +07:00
bell-sw
825e86e55a Revert "JBR-1414 DnD on linux (XToolkit) does not honor HIDPI scale"
This reverts commit db6c43b6

(cherry picked from commit 90c1966233)
2021-08-20 06:10:07 +07:00
Aleksey Shipilev
b14059f1c1 8265718: Build failure after JDK-8258414 11u backport
Reviewed-by: stuefe, goetz
(cherry picked from commit 767fcf1bdd)
2021-08-20 05:58:32 +07:00
Igor Ignatyev
ef8ef71f02 8225756: [testbug] compiler/loopstripmining/CheckLoopStripMining.java sets too short a SafepointTimeoutDelay
Reviewed-by: kvn, epavlova, roland, mdoerr
(cherry picked from commit b47e5a002c)
2021-08-20 05:58:09 +07:00
Jan Lahoda
f27bfc24e5 8177068: incomplete classpath causes NPE in Flow
Undo completions that failed during speculative attribution, so that the appropriate CompletionFailures are thrown again and properly reported.

Reviewed-by: vromero
(cherry picked from commit fcf05919b8)
2021-08-20 05:57:52 +07:00
Florian David
9860025d33 8258414: OldObjectSample events too expensive
Reviewed-by: jbachorik
(cherry picked from commit e521037ae5)
2021-08-20 05:57:50 +07:00
Thomas Stuefe
c7e76154d0 8265417: Backport of JDK-8249672 breaks Solaris x86 build
Reviewed-by: shade
(cherry picked from commit c1411113b3)
2021-08-20 05:57:49 +07:00
Nick Gasson
137447cd0f 8214512: ARM32: Jtreg test compiler/c2/Test8062950.java fails on ARM
Co-authored-by: Christoph Goettschkes <christoph.goettschkes@microdoc.com>
Reviewed-by: dlong, enevill, bulasevich
(cherry picked from commit 240477270b)
2021-08-20 05:57:14 +07:00
Artem Semenov
bb9c361271 JBR-3609: Eliminate regressions caused by JBR-3437
(cherry picked from commit 390fc567ef)
2021-07-18 06:10:28 +07:00
Vitaly Provodin
b332bf7743 return back security tests into exclude list
(cherry picked from commit ba57c58ac7)
2021-07-09 15:01:44 +07:00
Maxim Kartashev
e7dee1d17b JBR-3573 (8257828) Apply fixes for hotspot crashes to JBR11
8257828: SafeFetch may crash if invoked in non-JavaThreads

Reviewed-by: mdoerr, kbarrett, coleenp, dholmes
(cherry picked from commit 84baaca0e7)
2021-07-09 14:22:26 +07:00
Maxim Kartashev
07f7b1d1ea JBR-3573 (8260653) Apply fixes for hotspot crashes to JBR11
8260653: Unreachable nodes keep speculative types alive

Reviewed-by: vlivanov, thartmann
(cherry picked from commit 555feccdb1)
2021-07-09 14:22:21 +07:00
Maxim Kartashev
383ff25172 JBR-3573 (8265938) Apply fixes for hotspot crashes to JBR11
8265938: C2's conditional move optimization does not handle top Phi

Reviewed-by: chagedorn, kvn, iignatyev
(cherry picked from commit fc6d53e035)
2021-07-09 14:22:20 +07:00
Maxim Kartashev
81a326e22a JBR-3573 (8265784) Apply fixes for hotspot crashes to JBR11
8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind

Reviewed-by: kvn, goetz
(cherry picked from commit 3b62f02c8a)
2021-07-09 14:22:17 +07:00
Maxim Kartashev
e782275baf JBR-3573 (8264640) Apply fixes for hotspot crashes to JBR11
8264640: CMS ParScanClosure misses a barrier

Reviewed-by: yan, johnc
(cherry picked from commit 4f93d1c06e)
2021-07-09 14:22:12 +07:00
Maxim Kartashev
b8060da551 JBR-3573 (8219586) Apply fixes for hotspot crashes to JBR11
8219586: CodeHeap State Analytics processes dead nmethods

Reviewed-by: thartmann, eosterlund
(cherry picked from commit d85849294a)
2021-07-09 14:22:10 +07:00
Maxim Kartashev
a71edc801b JBR-3573 (8250635) Apply fixes for hotspot crashes to JBR11
8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks

Reviewed-by: mdoerr, thartmann
(cherry picked from commit 65fd106b1a)
2021-07-09 14:22:06 +07:00
Maxim Kartashev
3757a693eb JBR-3573 (8217465) Apply fixes for hotspot crashes to JBR11
8217465: [REDO] - Optimize CodeHeap Analytics

Reviewed-by: kvn, thartmann
(cherry picked from commit 888350261c)
2021-07-09 14:22:00 +07:00
Maxim Kartashev
0b53033c1b JBR-3573 (8216314) Apply fixes for hotspot crashes to JBR11
8216314: SIGILL in CodeHeapState::print_names()

Reviewed-by: thartmann, kvn
(cherry picked from commit 923a103580)
2021-07-09 14:21:57 +07:00
Maxim Kartashev
7bb09f92e5 JBR-3573 (8217918) Apply fixes for hotspot crashes to JBR11
8217918: C2: -XX:+AggressiveUnboxing is broken

Reviewed-by: kvn
(cherry picked from commit 2797ba7b4a)
2021-07-09 14:21:55 +07:00
Maxim Kartashev
ad2cf2bd28 JBR-3573 (8262295) Apply fixes for hotspot crashes to JBR11
8262295: C2: Out-of-Bounds Array Load from Clone Source

Reviewed-by: kvn, roland, neliasso, thartmann
(cherry picked from commit 8be8b407c9)
2021-07-09 14:21:50 +07:00
Maxim Kartashev
cdc1d0eda7 JBR-3573 (8265154) Apply fixes for hotspot crashes to JBR11
8265154: vinserti128 operand mix up for KNL platforms

Reviewed-by: thartmann, kvn
(cherry picked from commit ff4546ee49)
2021-07-09 14:21:45 +07:00
Maxim Kartashev
6142537e88 JBR-3573 (8264958) Apply fixes for hotspot crashes to JBR11
8264958: C2 compilation fails with assert "n is later than its clone"

Reviewed-by: neliasso, thartmann
(cherry picked from commit 6c9bc39e15)
2021-07-09 14:21:42 +07:00
Maxim Kartashev
7f07c24546 JBR-3573 (8259227) Apply fixes for hotspot crashes to JBR11
8259227: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
(cherry picked from commit 5e0f7c7a2b)
2021-07-09 14:21:40 +07:00
Maxim Kartashev
4d84fed5e2 JBR-3573 (8258505) Apply fixes for hotspot crashes to JBR11
8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions

Reviewed-by: thartmann, kvn, dcubed
(cherry picked from commit b7b0c8be3b)
2021-07-09 14:21:38 +07:00
Maxim Kartashev
924a4f7b12 JBR-3573 (8257822) Apply fixes for hotspot crashes to JBR11
8257822: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
(cherry picked from commit 34472d7aaa)
2021-07-09 14:21:35 +07:00
Maxim Kartashev
d1e107ebce JBR-3573 (8260420) Apply fixes for hotspot crashes to JBR11
8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, roland, chagedorn
(cherry picked from commit c607177336)
2021-07-09 14:21:33 +07:00
Maxim Kartashev
f526543fd6 JBR-3573 (8264626) Apply fixes for hotspot crashes to JBR11
8264626: C1 should be able to inline excluded methods

Reviewed-by: iveresov, thartmann
(cherry picked from commit 9be32d1854)
2021-07-09 14:21:29 +07:00
Maxim Kartashev
ee5d15ae4f JBR-3573 (8263448) Apply fixes for hotspot crashes to JBR11
8263448: CTW: fatal error: meet not symmetric

Reviewed-by: roland
(cherry picked from commit ec223b32be)
2021-07-09 14:21:27 +07:00
Maxim Kartashev
e619422779 JBR-3573 (8260255) Apply fixes for hotspot crashes to JBR11
8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized

Reviewed-by: neliasso, thartmann
(cherry picked from commit fe329e72bc)
2021-07-09 14:21:26 +07:00
Maxim Kartashev
7741b227aa JBR-3573 (8262298) Apply fixes for hotspot crashes to JBR11
8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape"

Reviewed-by: kvn, vlivanov
(cherry picked from commit 2918bd4f51)
2021-07-09 14:21:22 +07:00
Maxim Kartashev
a11759d358 JBR-3573 (8264360) Apply fixes for hotspot crashes to JBR11
8264360: Loop strip mining verification fails with "should be on the backedge"

Reviewed-by: kvn, thartmann
(cherry picked from commit 48fbbd929e)
2021-07-09 14:21:20 +07:00
Maxim Kartashev
4f75bb70b7 JBR-3573 (8264096) Apply fixes for hotspot crashes to JBR11
8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported

Reviewed-by: thartmann
(cherry picked from commit fa340f35b0)
2021-07-09 14:21:18 +07:00
Anton Tarasov
637994112c JBR-3525 SIGSEGV at sun.lwawt.macosx.CAccessible.unregisterFromCocoaAXSystem with enabled VO
(cherry picked from commit 995e2643c6)
2021-07-09 07:10:54 +07:00
Artem Semenov
65a0f96428 JBR-3566: macOS: SIGILL at [libsystem_kernel] NPE in +[JavaComponentAccessibility createWithParent:accessible:role:index:withEnv:withView:isWrapped]:
(cherry picked from commit ff7ca94ca3)
2021-07-08 16:08:03 +07:00
Artem Semenov
3e0aa5eb9f JBR-3548 macOS: SIGILL at [libsystem_kernel] __kill NPE / +[JavaComponentAccessibility createWithAccessible:withEnv:withView:isCurrent:]
(cherry picked from commit 4a393c0243)
2021-07-08 16:07:49 +07:00
Nikita Gubarkov
8480c514af JBR-3591 check for zero subpixel glyph resolution and fallback to 1x1
(cherry picked from commit 504f91d4d1)
2021-07-07 10:49:04 +03:00
Mikhail Grishchenko
a010ad3ade updated JTreg exclude list
exclude some tests from security/infra/java/security/cert/CertPathValidator
JBR-3500 exclude sun/java2d/ClassCastExceptionForInvalidSurface.java for linux-all

(cherry picked from commit a2a2572f78)
2021-07-02 19:30:13 +07:00
Maxim Kartashev
b534647f1d JBR-3568 Backport JDK-8261812 to JBR11
(cherry picked from commit 7b992c7cd7)
2021-07-02 19:23:00 +07:00
Anton Tarasov
1f7adfe26c JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser"
(cherry picked from commit 8678f41971)
2021-06-24 10:51:24 +07:00
Denis Konoplev
e31fc34ea5 JBR-3544: Generate popup invoked instead of New in this directory
Fix logical error

(cherry picked from commit 752c0e5a49)
2021-06-24 10:51:17 +07:00
Denis Konoplev
24eb3d3a8d JBR-3544: Generate popup invoked instead of New in this directory
CR: change duplicate Ctrl to Cmd
(cherry picked from commit 3ea7913eaf)
2021-06-24 10:51:13 +07:00
Anton Tarasov
d1f250c392 JBR-3545 Window.setMinimumSize does not respect DPI scaling
(cherry picked from commit 9b4f72ad18)
2021-06-24 10:51:09 +07:00
Denis Konoplev
89b91d7e52 JBR-3544: Generate popup invoked instead of New in this directory
Fix duplicate system shortcut

(cherry picked from commit d5fa37b63f)
2021-06-24 10:49:51 +07:00
Denis Fokin
984a42b026 JRE-408 JBR-3515 fix NullPointerException in MetalRootPaneUI.installWindowListeners
(cherry picked from commit 584d554af529cff445b0f09bc2d57be55e138b7a)
(cherry picked from commit 6a42bb54bd)
2021-06-24 10:48:05 +07:00
Alexey Ushakov
43d13df4c3 JBR-2207 TitledBorder leaks PropertyChangeListener
Added a separate pass with sending setVisible(false) to the frames holding TitledBorder references in order to get WINDOW_DEACTIVATED (to clear KeyBoardFocusManager.activeWindow field)

(cherry picked from commit 3b03c698ce)
2021-06-24 10:47:44 +07:00
Vitaly Provodin
fb941dd3b7 exclude the test failing because of JDK-8268678
(cherry picked from commit a56060d465)
2021-06-15 05:31:05 +07:00
Maxim Kartashev
97ddad2e99 JBR-3516 IDEA doesn't start when located in folder with cyrillic characters
Fix failing Windows x86 builds.
Fixes commit cad1ad4ba1
2021-06-11 11:40:28 +03:00
Maxim Kartashev
01ea54d751 JBR-3520 Correct stack-use-after-scope in jni_NewObjectA
Casting a variable to a non-reference type technically makes the
resulting expression a prvalue, which then gets bound to a reference
that is alive up until the end of the function. The prvalue is then
touched in the destructor of DTraceReturnProbeMark_NewObjectA and this
is detected by Address Sanitizer as stack-use-after-scope.

The fix is to cast to a reference type thus avoiding the creation of the
prvalue and lifetime issues connected with that.
2021-06-09 11:48:37 +03:00
Maxim Kartashev
cad1ad4ba1 JBR-3516 IDEA doesn't start when located in folder with cyrillic characters
Make JVM_LoadLibrary() use new os::dll_load_utf8() interface that
supports UTF-8 path names, leaving other users of os::dll_load()
unaffected.
2021-06-08 12:21:53 +03:00
Alexey Ushakov
c0be778e20 JBR-3344 "Exit Full Screen" action doesn't work, the only way is mouse click on window's native "green" button.
Restored JBR-1931 fix partially reverted by JBR-1718
2021-06-07 20:54:10 +03:00
Vitaly Provodin
0b659fef1b JBR-3500 exclude ClassCastExceptionForInvalidSurface test only causing Xwayland crash 2021-06-01 04:44:33 +07:00
Vitaly Provodin
e62fb2762f JBR-3500 exclude ClassCastExceptionForInvalidSurface test only causing Xwayland crash 2021-06-01 04:43:20 +07:00
Vitaly Provodin
90fff7bb1e JBR-3500 exclude tests related to JBR-3167 causing Xwayland crash 2021-06-01 04:40:40 +07:00
Nikita Gubarkov
f117b0e8ff JBR-3376 Added check for -1 glyph info pointer in OGLTextRenderer.c 2021-05-24 23:41:25 +03:00
Maxim Kartashev
5a2da540da JBR-2755 IDE UI became slow via remote X Server connection from Windows
When XGetImage() calls become slow in a remote X11 session, fake
XGetImage() with client-side XCreateImage() that is filled with some
background color. The color is chosen from several top left corner
pixels of the "slow" images obtained with XGetImage().

This feature activates in a remote X11 session only and is
controlled with -Dremote.x11.workaround={true|false|auto}.
2021-05-21 17:10:04 +03:00
Denis Konoplev
23a7dbd486 EA-252361: Check window for null 2021-05-20 14:14:38 +03:00
Maxim Kartashev
104ef7a512 JBR-3448 Crash when using -Dsun.java2d.trace=count 2021-05-19 15:39:45 +03:00
Artem Semenov
55c667055e JBR-3469: SIGILL at [libsystem_kernel] __kill in -[AWTView accessibleSelectedText]: unrecognized selector sent to instance 2021-05-19 13:43:25 +03:00
Artem Semenov
bc024f9af1 JBR-3437: Refactoring the a11y code 2021-05-18 18:51:34 +03:00
Vitaly Provodin
dbcbc5cf36 exclude tests related to 8233568 and 8258945 2021-05-18 04:44:17 +07:00
Vitaly Provodin
19aa9c5ab2 JBR-3459 Fix race condition in ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.
2021-05-17 07:21:59 +07:00
Vitaly Provodin
4038661a40 JBR-3458 Skip dynamic proxy classes based on com.sun.proxy 2021-05-17 07:21:58 +07:00
Vitaly Provodin
f3f243e15e Support for redefinition of Well Known classses (java.*,jdk.*, sun.*) 2021-05-17 07:21:58 +07:00
Vitaly Provodin
967eca8d1d JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
2021-05-17 07:21:58 +07:00
Vitaly Provodin
c011487364 JBR-3111 Update class in all dictionaries where it was already defined
This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.
2021-05-17 07:21:57 +07:00
Vitaly Provodin
e90312b97a DCEVM Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
2021-05-17 07:21:57 +07:00
Vitaly Provodin
3cc4c7947b JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
2021-05-17 07:21:57 +07:00
Vitaly Provodin
92948257a6 JBR-3106 Check InstanceKlass::has_nestmate_access_to with active classes 2021-05-17 07:21:56 +07:00
Nikita Gubarkov
fcd5fd2fe9 JBR-2924 Added test for SFNS italic font inclination on MacOS 2021-05-16 00:35:45 +03:00
Denis Konoplev
403ad1569a JBR-3409: Fix non-visible dead chars shortcuts on macOS 2021-05-14 02:04:20 +03:00
Denis Konoplev
01ad15e61c JBR-3444: Return NullSurfaceData when gc == null 2021-05-13 15:43:05 +03:00
Alexander Lobas
f10e324538 JBR-3443 Native file dialog on OSX enable filename filter by VM option 2021-05-13 10:11:25 +03:00
Alexander Lobas
7d8cc524ca JBR-3442 Native file dialog on OSX (for open file) doesn't allow pasting path 2021-05-13 10:11:25 +03:00
Anton Tarasov
74252c6df6 JBR-3441 SIGILL at [libsystem_kernel] NPE in +[JavaBaseAccessibility createWithAccessible:withEnv:withView:isCurrent:] 2021-05-12 19:55:49 +03:00
Anton Tarasov
7b3fa30b6b JBR-3359 [followup] SIGILL at [libsystem_kernel] __kill in Internal JNF Error: failed calling Throwable.toString() / -[NSApplication(JCEFApplication) _swizzled_sendEvent:] 2021-05-12 11:31:35 +03:00
Anton Tarasov
90f1b0812e JBR-3359 SIGILL at [libsystem_kernel] __kill in Internal JNF Error: failed calling Throwable.toString() / -[NSApplication(JCEFApplication) _swizzled_sendEvent:] 2021-05-12 10:48:48 +03:00
Maxim Kartashev
a7a678d491 JBR-3416 Introduce new client property for Linux: linux.awt.windowTitleVisible 2021-05-12 00:08:33 -07:00
Artem Semenov
7998f964fa JBR-3432: SIGSEGV at [libjvm] AccessInternal::PostRuntimeDispatch / -[JavaComboBoxAccessibility accessibleSelectedText] 2021-05-11 15:47:01 +03:00
Alexey Ushakov
04ab8b2f04 JBR-3415 bkp from JDK17: 8076313 GraphicsEnvironment does not detect changes in count of monitors on Linux OS
Backport of 8076313: GraphicsEnvironment does not detect changes in count of monitors on Linux OS
Authored-by: serb
Reviewed-by: kizune
2021-05-05 21:07:26 +03:00
Anton Tarasov
3b9e5c41db JBR-3413 [followup] use timeout in CAccessibility.invokeAndWait 2021-05-05 16:35:28 +03:00
Anton Tarasov
e7009db076 JBR-3413 use timeout in CAccessibility.invokeAndWait 2021-05-05 01:05:42 +03:00
Maxim Kartashev
43ac82fc82 JBR-1430: Force test to use UTF-8 file name encoding
Fixes commit 216bf92575.
2021-05-04 15:11:34 +03:00
Artem Semenov
9e6d718281 JBR-3379: IDEA crashes at -[PlatformAxElement isAccessibilityElement] with macOS diagnostic report 2021-04-30 21:09:34 +03:00
Erik Helin
14d64f6e0a 8213231: ThreadSnapshot::_threadObj can become stale
Reviewed-by: dcubed, dholmes, rehn

(cherry-picked from ba5be80bb2)
2021-04-28 15:33:47 +03:00
Maxim Kartashev
744d5d12d0 8256641: CDS VM operations do not lock the heap
Reviewed-by: kbarrett, iklam
(based on commit bacf22b907 by Thomas Schatzl <tschatzl@openjdk.org>)
2021-04-28 15:33:47 +03:00
clanger
292902fa77 Added tag jdk-11.0.11-ga for changeset 15862747ee15 2021-04-28 10:47:04 +07:00
mbalao
3820e0b62a 8257001: Improve Http Client Support
Reviewed-by: clanger
2021-04-28 10:47:03 +07:00
avoitylov
8c55979d40 8249906: Enhance opening JARs
8258247: Couple of issues in fix for JDK-8249906
8259428: AlgorithmId.getEncodedParams() should return copy
Reviewed-by: mbalao
2021-04-28 10:47:02 +07:00
yan
5c275d0a0c 8261183: Follow on to Make lists of normal filenames
Reviewed-by: mbalao
2021-04-28 10:47:01 +07:00
yan
ce154c9ad4 8253799: Make lists of normal filenames
Reviewed-by: mbalao
2021-04-28 10:47:00 +07:00
avoitylov
6d6ab9dfd9 8250568: Less ambiguous processing
Reviewed-by: mbaesken, mbalao
2021-04-28 10:46:59 +07:00
alvdavi
16158c2eef 8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543
Reviewed-by: clanger
2021-04-28 10:46:59 +07:00
alvdavi
f4d0b285c3 8244543: Enhanced handling of abstract classes
Reviewed-by: mbaesken, mbalao
2021-04-28 10:46:58 +07:00
mbalao
071c02b771 8244473: Contextualize registration for JNDI
Reviewed-by: clanger
2021-04-28 10:46:57 +07:00
clanger
448fa17a19 8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator
Reviewed-by: mbaesken
2021-04-28 10:46:56 +07:00
darcy
bfb3674430 8253409: Double-rounding possibility in float fma
Reviewed-by: bpb
2021-04-28 10:46:55 +07:00
itakiguchi
95857dcfaf 8261920: [AIX] jshell command throws java.io.IOError on non English locales
Reviewed-by: stuefe
2021-04-28 10:46:54 +07:00
abakhtin
5520a4df6d 8259707: LDAP channel binding does not work with StartTLS extension
Reviewed-by: mullan, dfuchs, aefimov
2021-04-28 10:46:53 +07:00
abakhtin
e906af61a5 8245527: LDAP Channel Binding support for Java GSS/Kerberos
Reviewed-by: dfuchs, aefimov, mullan
2021-04-28 10:46:52 +07:00
rkennke
750fbac5eb 8261413: Shenandoah: Disable class-unloading in I-U mode
Reviewed-by: shade, zgu
2021-04-28 10:46:51 +07:00
shade
c5f48bf2cf 8261912: Code IfNode::fold_compares_helper more defensively
Reviewed-by: kvn, thartmann
2021-04-28 10:46:50 +07:00
poonam
630fe55f4b 8257746: Regression introduced with JDK-8250984 - memory might be null in some machines
Reviewed-by: hseigel, mbaesken
2021-04-28 10:46:50 +07:00
iignatyev
1084ca8699 8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java fails
Reviewed-by: kvn, dlong
2021-04-28 10:46:48 +07:00
psadhukhan
9d5c1c0c7e 8213116: javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java fails in Windows
Reviewed-by: prr
2021-04-28 10:46:48 +07:00
sviswanathan
352882d1dc 8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms
Reviewed-by: darcy, kvn
Contributed-by: Xubo Zhang <xubo.zhang@intel.com>
2021-04-28 10:46:47 +07:00
pconcannon
500634c24c 8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel
Summary: This fix addresses an issue where an AsynchronousCloseException was being thrown instead of a ChannelClosedException when SocketChannel.write() is called on a closed SocketChannel.
Reviewed-by: alanb, chegar, dfuchs, clanger
Contributed-by: Conor Cleary <conor.cleary@oracle.com>
2021-04-28 10:46:46 +07:00
clanger
49822836b8 8262018: Wrong format in SAP copyright header of OsVersionTest
Reviewed-by: mdoerr
2021-04-28 10:46:45 +07:00
pli
fb9c2372f6 8261022: Fix incorrect result of Math.abs() with char type
Reviewed-by: thartmann, neliasso
2021-04-28 10:46:44 +07:00
psadhukhan
9e669bf6b7 8259007: This test printed a blank page
Reviewed-by: prr, serb
2021-04-28 10:46:43 +07:00
prr
6d2a2255f9 8255387: Japanese characters were printed upside down on AIX
Reviewed-by: prr, serb
Contributed-by: Toshio Nakamura <tnakamura@openjdk.org>
2021-04-28 10:46:42 +07:00
dmarkov
e22809895c 8261231: Windows IME was disabled after DnD operation
Reviewed-by: kizune, serb
2021-04-28 10:46:41 +07:00
clanger
5339faf796 8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u
Reviewed-by: mdoerr
2021-04-28 10:46:40 +07:00
clanger
9ee13893b0 8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702
Reviewed-by: rriggs
2021-04-28 10:46:39 +07:00
rhalade
3808264809 8256421: Add 2 HARICA roots to cacerts truststore
Reviewed-by: mullan
2021-04-28 10:46:39 +07:00
mdoerr
b8929acd83 8261522: [PPC64] AES intrinsics write beyond the destination array
Reviewed-by: lucy
2021-04-28 10:46:38 +07:00
clanger
f203865ad7 8261534: Test sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined
Reviewed-by: mbaesken
2021-04-28 10:46:37 +07:00
rriggs
3c53281d4a 8253702: BigSur version number reported as 10.16, should be 11.nn
Reviewed-by: bpb, kcr
2021-04-28 10:46:36 +07:00
kravikumar
add8207c6f 8260356: (tz) Upgrade time-zone data to tzdata2021a
Reviewed-by: naoto
2021-04-28 10:46:35 +07:00
pli
f3dd1882e0 8218550: Add test omitted from JDK-8212043
Summary: Add test case omitted from fix for JDK-8212043
Reviewed-by: shade
2021-04-28 10:46:35 +07:00
pli
8cbf021a42 8212043: Add floating-point Math.min/max intrinsics
Summary: Floating-point Math.min() and Math.max() intrinsics are enabled on AArch64 platform
Reviewed-by: adinn, aph
2021-04-28 10:46:34 +07:00
kvn
69c0011bad 8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043
Summary: add check for new intrinsics
Reviewed-by: iveresov, iignatyev
2021-04-28 10:46:33 +07:00
ihse
4be94ec941 8214741: docs/index.html has no title or copyright
Reviewed-by: erikj
2021-04-28 10:46:32 +07:00
rkennke
21117cb19e 8261251: Shenandoah: Use object size for full GC humongous compaction
Reviewed-by: aph, shade
2021-04-28 10:46:31 +07:00
rkennke
a9367e1c03 8260497: Shenandoah: Improve SATB flushing
Reviewed-by: shade, zgu
2021-04-28 10:46:30 +07:00
kbarrett
efeb4ae758 8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region"
Summary: Use load_acquire to order reads of top and end.
Reviewed-by: tschatzl, iwalulya, eosterlund
2021-04-28 10:46:29 +07:00
kbarrett
94f8e8c89f 8260704: ParallelGC: oldgen expansion needs release-store for _end
Summary: Move JDK-8257999 barrier to correct location.
Reviewed-by: tschatzl, sjohanss
2021-04-28 10:46:28 +07:00
alexsch
700429b2a7 8256264: Printed GlyphVector outline with low DPI has bad quality on Windows
Reviewed-by: serb
2021-04-28 10:46:27 +07:00
andrew
7526030be1 8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags
Summary: Use -march=i686 instead of -march=i586 if -fcf-protection is passed to the build as CMOV is required
Reviewed-by: erikj
2021-04-28 10:46:26 +07:00
shade
c2a8422d7f 8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false
Reviewed-by: sgehwolf, cjplummer
2021-04-28 10:46:26 +07:00
dfuchs
9e21248180 8257707: Fix incorrect format string in Http1HeaderParser
Reviewed-by: shade
Contributed-by: Andrey Turbanov <turbanoff@gmail.com>
2021-04-28 10:46:25 +07:00
shade
cd103bbab8 8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg
Reviewed-by: chagedorn
2021-04-28 10:46:24 +07:00
shade
44fc8d89d3 8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined
Reviewed-by: stuefe, iklam
2021-04-28 10:46:23 +07:00
poonam
0a01980897 8211150: G1 Full GC not purging code root memory and hence causing memory leak
Reviewed-by: tschatzl, sjohanss
2021-04-28 10:46:21 +07:00
stuefe
7d74096fbc 8261334: NMT: tuning statistic shows incorrect hash distribution
Reviewed-by: zgu, shade
2021-04-28 10:46:20 +07:00
dholmes
2220a431e0 8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS
Reviewed-by: shade, stuefe
2021-04-28 10:46:19 +07:00
egahlin
e74bee8349 8245283: JFR: Can't handle constant dynamic used by Jacoco agent
Reviewed-by: mgronlun
2021-04-28 10:46:19 +07:00
mgronlun
50483f3c81 8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant
Reviewed-by: egahlin
2021-04-28 10:46:18 +07:00
dholmes
8387ea9380 8222518: Remove unnecessary caching of Parker object in java.lang.Thread
Reviewed-by: dcubed, rehn
2021-04-28 10:46:17 +07:00
shade
60d66beaf7 8260632: Build failures after JDK-8253353
Reviewed-by: stuefe, thartmann, kvn
2021-04-28 10:46:17 +07:00
kvn
56acccd6a6 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Reviewed-by: vlivanov, neliasso
Contributed-by: Fei Yang <fyang@openjdk.org>
2021-04-28 10:46:16 +07:00
sgehwolf
f6d3a8b591 8261089: [TESTBUG] native library of test TestCheckedReleaseCriticalArray.java fails to compile with gcc 4.x
Reviewed-by: sgehwolf
Contributed-by: Jayashree Huttanagoudar <jhuttana@redhat.com>
2021-04-28 10:46:15 +07:00
jjiang
db9b7f2787 8246709: sun/security/tools/jarsigner/TsacertOptionTest.java compilation failed after JDK-8244683
Reviewed-by: weijun
2021-04-28 10:46:14 +07:00
jjiang
25e7ea9c8b 8244683: A TSA server used by tests
Reviewed-by: weijun
2021-04-28 10:46:14 +07:00
stefank
d5523eb04d 8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier
Reviewed-by: pliden, eosterlund
2021-04-28 10:46:13 +07:00
rkennke
b4d463e431 8259849: Shenandoah: Rename store-val to IU-barrier
Reviewed-by: zgu, shade
2021-04-28 10:46:12 +07:00
iignatyev
565ff2f838 8243618: compiler/rtm/cli tests can be run w/o WhiteBox
Reviewed-by: thartmann
2021-04-28 10:46:12 +07:00
shade
4d8238cd7b 8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32
Reviewed-by: mcimadamore
2021-04-28 10:46:11 +07:00
zgu
a26821d6e2 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier
Reviewed-by: shade
2021-04-28 10:46:10 +07:00
coleenp
0f9df78ac9 8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing
Summary: Make the test reserve 1G rather than 3G, so it is more reliable.
Reviewed-by: hseigel, stuefe
2021-04-28 10:46:10 +07:00
ysuenaga
abfc410137 8260338: Some fields in HaltNode is not cloned
Reviewed-by: xliu, neliasso, thartmann
2021-04-28 10:46:09 +07:00
jbhateja
56c8a4b903 8259773: Incorrect encoding of AVX-512 kmovq instruction
Reviewed-by: vlivanov
2021-04-28 10:46:08 +07:00
cjplummer
d3f7396d47 7107012: sun.jvm.hostspot.code.CompressedReadStream readDouble() conversion to long mishandled
Reviewed-by: sspitsyn, dcubed
2021-04-28 10:46:07 +07:00
zgu
78e8501e6f 8237392: Shenandoah: Remove unreliable assertion
Reviewed-by: shade
2021-04-28 10:46:07 +07:00
zgu
7c281c4e71 8237369: Shenandoah: failed vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java test
Reviewed-by: rkennke
2021-04-28 10:46:06 +07:00
stefank
5aac53496f 8235324: Dying objects are published from users of CollectedHeap::object_iterate
Reviewed-by: pliden, eosterlund, sjohanss, rkennke
2021-04-28 10:46:05 +07:00
rkennke
be5409fd7e 8249787: Make TestGCLocker more resilient with concurrent GCs
Reviewed-by: eosterlund, tschatzl
2021-04-28 10:46:05 +07:00
shade
853c9a1c18 8259580: Shenandoah: uninitialized label in VerifyThreadGCState
Reviewed-by: zgu, rkennke
2021-04-28 10:46:04 +07:00
shade
d5bb0ebb7e 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp
Reviewed-by: rkennke, zgu
2021-04-28 10:46:04 +07:00
rkennke
77dc0c8a0d 8249543: Force DirectBufferAllocTest to run with -ExplicitGCInvokesConcurrent
Reviewed-by: alanb
2021-04-28 10:46:03 +07:00
shade
0f4ce76379 8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect
Reviewed-by: chagedorn, kvn
2021-04-28 10:46:03 +07:00
shade
7aae705e03 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java
Reviewed-by: rkennke, adityam
2021-04-28 10:46:02 +07:00
rkennke
257c2089b9 8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop()
Reviewed-by: roland
2021-04-28 10:46:02 +07:00
sgehwolf
4673cad7a7 8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive
Reviewed-by: dcubed, shade
2021-04-28 10:46:01 +07:00
sgehwolf
070af3dd26 8258836: JNI local refs exceed capacity getDiagnosticCommandInfo
Reviewed-by: cjplummer, shade
2021-04-28 10:46:00 +07:00
mdoerr
88a99dacaa 8260502: [s390] NativeMovRegMem::verify() fails because it's too strict
Reviewed-by: lucy, rrich
2021-04-28 10:46:00 +07:00
iignatyev
a74d89f57b 8260308: Update LogCompilation junit to 4.13.1
Reviewed-by: ecaspole, iignatyev
Contributed-by: Dan Lutker <lutkerd@amazon.com>
2021-04-28 10:45:59 +07:00
dholmes
daf57531ef 8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event
Reviewed-by: dholmes, dcubed
Contributed-by: robbin.ehn@oracle.com, stefan.karlsson@oracle.com
2021-04-28 10:45:59 +07:00
fyang
875447134f 8210413: AArch64: Optimize div/rem by constant in C1
Summary: Remove div-by-zero check for non-zero divisor and generate cheap instructions if divisor is power-of-2
Reviewed-by: aph
Contributed-by: pengfei.li@arm.com
2021-04-28 10:45:58 +07:00
mbalao
d0d25416fc 8258833: Cancel multi-part cipher operations in SunPKCS11 after failures
Reviewed-by: valeriep
2021-04-28 10:45:57 +07:00
dholmes
e36b430f9a 8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234
8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty
Reviewed-by: dcubed, hseigel
2021-04-28 10:45:56 +07:00
yzheng
8a6d4acb9f 8257910: [JVMCI] Set exception_seen accordingly in the runtime.
Reviewed-by: kvn
2021-04-28 10:45:55 +07:00
jpai
71181df1ac 7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection
Reviewed-by: alanb, chegar
2021-04-28 10:45:55 +07:00
fyang
2f663089b0 8260029: aarch64: fix typo in verify_oop_array
Reviewed-by: shade, aph
Contributed-by: Fei Yang <fyang@openjdk.org>, Zhuxuan Ni <nizhuxuan@huawei.com>
2021-04-28 10:45:54 +07:00
weijun
a16fcfdf93 8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown
Reviewed-by: mullan
2021-04-28 10:45:54 +07:00
dmarkov
f22e1413f4 8258805: Japanese characters not entered by mouse click on Windows 10
Reviewed-by: aivanov
2021-04-28 10:45:53 +07:00
mbalao
521828f6d1 8259319: Illegal package access when SunPKCS11 requires SunJCE's classes
Reviewed-by: valeriep, mullan, goetz
2021-04-28 10:45:52 +07:00
kravikumar
7229b67238 8259048: (tz) Upgrade time-zone data to tzdata2020f
Reviewed-by: naoto, erikj
2021-04-28 10:45:51 +07:00
skodandarama
cb7f1ffe07 8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test
Reviewed-by: aivanov, serb
2021-04-28 10:45:51 +07:00
ysuenaga
7513798519 8223186: HotSpot compile warnings from GCC 9
Reviewed-by: dholmes, aeubanks, sgehwolf
2021-04-28 10:45:50 +07:00
vlivanov
8939e85fb2 8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers
Reviewed-by: kvn
2021-04-28 10:45:49 +07:00
vlivanov
35cab2f35d 8256056: Deoptimization stub doesn't save vector registers on x86
Reviewed-by: redestad, kvn
2021-04-28 10:45:48 +07:00
dfuchs
bc95f47b02 8248865: Document JNDI/LDAP timeout properties
Summary: documentation added in the module-info of java.naming
Reviewed-by: chegar, aefimov, mullan
2021-04-28 10:45:47 +07:00
erikj
2706d5cb2b 8257633: Missing -mmacosx-version-min=X flag when linking libjvm
Reviewed-by: mikael
2021-04-28 10:45:47 +07:00
valeriep
80be66ba39 8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files
Reviewed-by: weijun
2021-04-28 10:45:46 +07:00
weijun
d38ecb09d1 8258419: RSA cipher buffer cleanup
Reviewed-by: valeriep
2021-04-28 10:45:45 +07:00
serb
9adaec3e08 8258373: Update the text handling in the JPasswordField
Reviewed-by: kizune, prr, psadhukhan
2021-04-28 10:45:45 +07:00
jjiang
e1738f3d47 8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID
Reviewed-by: xuelei, goetz
2021-04-28 10:45:44 +07:00
pconcannon
a07704dcde 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS)
Summary: Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS.
Reviewed-by: alanb, dfuchs
2021-04-28 10:45:43 +07:00
mbaesken
c5ec465255 8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe
Reviewed-by: shade
2021-04-28 10:45:42 +07:00
mbaesken
910d41f4f8 8255681: print callstack in error case in runAWTLoopWithApp
Reviewed-by: clanger, serb
2021-04-28 10:45:42 +07:00
thartmann
f20aec9544 8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value
Reviewed-by: lucy, chagedorn
2021-04-28 10:45:40 +07:00
thartmann
d0ff9f7830 8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input
Reviewed-by: kvn, chagedorn
2021-04-28 10:45:40 +07:00
prr
5be0724dda 8256888: Client manual test problem list update
Reviewed-by: serb
2021-04-28 10:45:39 +07:00
mullan
71bf0b2560 8257083: Security infra test failures caused by JDK-8202343
Reviewed-by: xuelei
2021-04-28 10:45:39 +07:00
mullan
40ec3a2df9 8256682: JDK-8202343 is incomplete
Reviewed-by: dfuchs
2021-04-28 10:45:38 +07:00
mullan
1a889b37c0 8202343: Disable TLS 1.0 and 1.1
Reviewed-by: xuelei, dfuchs, coffeys
2021-04-28 10:45:37 +07:00
kvn
3d4a4b22b9 8257561: Some code is not vectorized after 8251925 and 8250607
Reviewed-by: chagedorn, vlivanov, thartmann
2021-04-28 10:45:36 +07:00
redestad
579c394338 8241649: Optimize Character.toString
Reviewed-by: redestad, rriggs
Contributed-by: sergei.tsypanov@yandex.ru
2021-04-28 10:45:35 +07:00
chagedorn
2efe368304 8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected
Reviewed-by: roland, kvn
2021-04-28 10:45:35 +07:00
roland
df62d74c8f 8257575: C2: "failed: only phis" assert failure in loop strip mining verification
Reviewed-by: thartmann, neliasso
2021-04-28 10:45:34 +07:00
shade
53b11621ca 8259231: Epsilon: improve performance under contention during virtual space expansion
Reviewed-by: shade
Contributed-by: Lehua Ding <lehuading@tencent.com>
2021-04-28 10:45:33 +07:00
jiefu
cdbc7c5ef6 8258534: Epsilon: clean up unused includes
Reviewed-by: shade, jiefu
Contributed-by: Lehua Ding <lehuading@tencent.com>
2021-04-28 10:45:33 +07:00
iklam
64d5b87d66 8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler
Reviewed-by: kbarrett, stuefe, shade
2021-04-28 10:45:32 +07:00
shade
1272dd6232 8253220: Epsilon: clean up unused code/declarations
Reviewed-by: tschatzl
2021-04-28 10:45:31 +07:00
erikj
85a7a9efb2 8257547: Handle multiple prereqs on the same line in deps files
8256810: Incremental rebuild broken on Macosx
Reviewed-by: ihse, tbell
2021-04-28 10:45:31 +07:00
alitvinov
eef6aa8e58 8255880: UI of Swing components is not redrawn after their internal state changed
Reviewed-by: prr, serb
2021-04-28 10:45:30 +07:00
mullan
11f619cc8b 8242565: Policy initialization issues when the denyAfter constraint is enabled
Reviewed-by: weijun
2021-04-28 10:45:29 +07:00
aivanov
e11674028b 8256187: [TEST_BUG] Automate bug4275046.java test
Reviewed-by: aivanov, psadhukhan
Contributed-by: skodanda <70650887+skodanda@users.noreply.github.com>
2021-04-28 10:45:29 +07:00
rhalade
4895f13846 8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days
Reviewed-by: mullan
2021-04-28 10:45:28 +07:00
srukmannagar
88b60f34ec 8245512: CRC32 optimization using AVX512 instructions
Reviewed-by: kvn
2021-04-28 10:45:27 +07:00
asotona
7acf76118c 8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file
Summary: Fixed java.lang.ArrayIndexOutOfBoundsException in com.sun.tools.classfile.Code_attribute.getInstructions() for methods with no instructions
Reviewed-by: vromero
2021-04-28 10:45:26 +07:00
shade
a6b6b17282 8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
Reviewed-by: jiefu, kvn
2021-04-28 10:45:26 +07:00
roland
85ba8dd702 8253524: C2: Refactor code that clones predicates during loop unswitching
Reviewed-by: chagedorn, kvn, thartmann
2021-04-28 10:45:25 +07:00
chagedorn
38ddd2a2cd 8259049: Uninitialized variable after JDK-8257513
Reviewed-by: kvn, thartmann
2021-04-28 10:45:25 +07:00
chagedorn
89a087236a 8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset())
Reviewed-by: kvn, thartmann
2021-04-28 10:45:24 +07:00
eliu
224fa7de7d 8256387: Unexpected result if patching an entire instruction on AArch64
Reviewed-by: shade, aph
2021-04-28 10:45:23 +07:00
erikj
990802f817 8256751: Incremental rebuild with precompiled header fails when touching a header file
Reviewed-by: ihse
2021-04-28 10:45:22 +07:00
burban
6c186a9959 8256633: Fix product build on Windows+Arm64
Reviewed-by: shade
2021-04-28 10:45:22 +07:00
jbachorik
cf03ac79a4 8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk()
Reviewed-by: mgronlun
2021-04-28 10:45:21 +07:00
chagedorn
9a78559379 8256807: C2: Not marking stores correctly as mismatched in string opts
Reviewed-by: vlivanov, roland, thartmann
2021-04-28 10:45:20 +07:00
thartmann
2a455e32ea 8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle
Reviewed-by: roland, vlivanov
2021-04-28 10:45:19 +07:00
simonis
4d1917144c 8255742: PrintInlining as compiler directive doesn't print virtual calls
Reviewed-by: thartmann, kvn
2021-04-28 10:45:18 +07:00
sjohanss
03d9a10203 8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused
Reviewed-by: sjohanss, pliden
Contributed-by: Joakim Nordstrom <joakim.nordstrom@oracle.com>
2021-04-28 10:45:17 +07:00
kbarrett
46bc0d7b50 8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region
Reviewed-by: sjohanss, tschatzl
2021-04-28 10:45:17 +07:00
aph
f388b74894 8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails
Reviewed-by: shade, adinn
2021-04-28 10:45:15 +07:00
clanger
bd0c3e2eb0 8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884
Reviewed-by: mbaesken
2021-04-28 10:45:14 +07:00
clanger
f002bd9ae6 8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test
Reviewed-by: xuelei
2021-04-28 10:45:14 +07:00
xuelei
963e4ddaba 8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks
Reviewed-by: jnimeh
2021-04-28 10:45:13 +07:00
clanger
6e7767c92a 8256818: SSLSocket that is never bound or connected leaks socket resources
Reviewed-by: xuelei
2021-04-28 10:45:12 +07:00
rehn
f8f9621456 8234742: Improve handshake logging
Reviewed-by: dholmes, pchilanomate
2021-04-28 10:45:11 +07:00
mdoerr
6671330e27 8257798: [PPC64] undefined reference to Klass::vtable_start_offset()
Reviewed-by: goetz
2021-04-28 10:45:11 +07:00
mdoerr
ce5d7b61a2 8257423: [PPC64] Support -XX:-UseInlineCaches
Reviewed-by: stuefe, rrich
2021-04-28 10:45:10 +07:00
chagedorn
1710c8869f 8255058: C1: assert(is_virtual()) failed: type check
Reviewed-by: neliasso, kvn
2021-04-28 10:45:10 +07:00
pkumaraswamy
1ae8aba390 8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI()
Reviewed-by: weijun
2021-04-28 10:45:09 +07:00
serb
371ceba9ab 8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7
Reviewed-by: kizune
2021-04-28 10:45:09 +07:00
aph
695abc55e5 8255544: Create a checked cast
Reviewed-by: adinn, iklam
2021-04-28 10:45:08 +07:00
roland
0b12caa57b 8254734: "dead loop detected" assert failure with patch from 8223051
Reviewed-by: chagedorn, kvn
2021-04-28 10:45:08 +07:00
serb
c9f8cd4421 8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
Reviewed-by: shade
2021-04-28 10:45:07 +07:00
serb
44228aa152 8253274: The CycleDMImagetest brokes the system
Reviewed-by: prr
2021-04-28 10:45:06 +07:00
ngasson
1801b1f7d6 8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls
Reviewed-by: aph
2021-04-28 10:45:06 +07:00
ngasson
3107c6adbc 8237483: AArch64 C1 OopMap inserted twice fatal error
Reviewed-by: aph
2021-04-28 10:45:05 +07:00
phedlin
e8e2ccc347 8248901: Signed immediate support in .../share/assembler.hpp is broken.
Reviewed-by: neliasso, kvn, thartmann
2021-04-28 10:45:04 +07:00
fyang
54a0e73af1 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
Reviewed-by: thartmann, roland
Contributed-by: zhouyong44@huawei.com
2021-04-28 10:45:03 +07:00
clanger
0979d4f31b 8242030: Wrong package declarations in jline classes after JDK-8241598
Reviewed-by: jlahoda
2021-04-28 10:45:02 +07:00
jlahoda
8be76d512c 8241598: Upgrade JLine to 3.14.0
Summary: Upgrading to JLine 3.14.0
Reviewed-by: psandoz, rfield
2021-04-28 10:45:01 +07:00
roland
10ffe89144 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: kvn, thartmann
2021-04-28 10:44:59 +07:00
roland
b0e6a142bc 8253756: C2 CompilerThread0 crash in Node::add_req(Node*)
Reviewed-by: vlivanov, thartmann
2021-04-28 10:44:59 +07:00
aph
ee1b5a8eec 8248336: AArch64: C2: offset overflow in BoxLockNode::emit
Reviewed-by: adinn
2021-04-28 10:44:58 +07:00
phedlin
ede272d863 8247200: assert((unsigned)fpargs < 32)
Reviewed-by: aph, neliasso
2021-04-28 10:44:58 +07:00
yzhang
1cf05bcb67 8241911: AArch64: Fix a potential register clash issue in reduce_add2I
Reviewed-by: aph
2021-04-28 10:44:57 +07:00
sgehwolf
f32b2bccc3 8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem
Reviewed-by: clanger
2021-04-28 10:44:57 +07:00
chagedorn
de8c05df2a 8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance
Reviewed-by: kvn, thartmann
2021-04-28 10:44:56 +07:00
kvn
a82f6ed257 8251992: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X
Reviewed-by: shade, redestad
2021-04-28 10:44:55 +07:00
kvn
75558a1f13 8249749: modify a primitive array through a stream and a for cycle causes jre crash
Summary: Check align_to_ref for NULL early and bailout SuperWord optimization.
Reviewed-by: vlivanov, thartmann
2021-04-28 10:44:55 +07:00
iveresov
0b23870353 8254104: MethodCounters must exist before nmethod is installed
Reviewed-by: dnsimon, kvn
2021-04-28 10:44:54 +07:00
ysuenaga
3d9761fe49 8205992: jhsdb cannot attach to Java processes running in Docker containers
Reviewed-by: cjplummer, jgeorge
2021-04-28 10:44:54 +07:00
alanb
b361e49c5d 8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module
Reviewed-by: mchung
2021-04-28 10:44:53 +07:00
mchung
1b4521f76e 8225773: jdeps --check produces NPE if there are missing module dependences
Reviewed-by: alanb
2021-04-28 10:44:53 +07:00
mchung
578c46d142 8229396: jdeps ignores multi-release when generate-module-info used on command line
Reviewed-by: alanb
2021-04-28 10:44:52 +07:00
thartmann
8b938e54a8 8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain
Summary: Use _src_type/_dest_type as address types for the loads and stores.
Reviewed-by: vlivanov, roland
2021-04-28 10:44:51 +07:00
mchung
63a2f90347 8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag
Reviewed-by: alanb
2021-04-28 10:44:50 +07:00
jjiang
0dbd0d0d9e 8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant
Reviewed-by: xuelei
2021-04-28 10:44:50 +07:00
ysuenaga
5eea5ec4c4 8258471: "search codecache" clhsdb command does not work
Reviewed-by: cjplummer, sspitsyn
2021-04-28 10:44:49 +07:00
ehelin
04536355c3 8214230: Classes generated by SystemModulesPlugin.java are not reproducable
Reviewed-by: alanb, redestad, mchung, phh
2021-04-28 10:44:48 +07:00
rehn
0e2c5fff47 8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure
Reviewed-by: dholmes, pliden, coleenp
2021-04-28 10:44:47 +07:00
hseigel
972b5a8bc1 8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities
Reviewed-by: bobv, coleenp
2021-04-28 10:44:47 +07:00
psadhukhan
70965577c5 8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system
Reviewed-by: serb, prr
2021-04-28 10:44:46 +07:00
serb
d1b89469dd 8232225: Rework the fix for JDK-8071483
Reviewed-by: prr
2021-04-28 10:44:39 +07:00
dpochepk
7a1da1450c 8221995: AARCH64: problems with CAS instructions encoding
Reviewed-by: aph
2021-04-28 10:44:30 +07:00
mchung
1c855a3f78 8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file
Reviewed-by: lancea, alanb
2021-04-28 10:43:30 +07:00
mchung
d298ac8fcb 8213909: jdeps --print-module-deps should report missing dependences
8168869: jdeps: localized messages don't use proper line breaks
Reviewed-by: sundar
2021-04-28 10:43:28 +07:00
mchung
e0f416a338 8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar
Reviewed-by: sundar
2021-04-28 10:43:27 +07:00
alanb
06cff86e4b 8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module
Reviewed-by: mchung
2021-04-28 10:43:26 +07:00
cushon
b89faecc44 8211057: Gensrc step CompileProperties generates unstable CompilerProperties output
Reviewed-by: mcimadamore, vromero
2021-04-28 10:43:25 +07:00
rehn
4fa4b49893 8244340: Handshake processing thread lacks yielding
Reviewed-by: pchilanomate, dholmes, dcubed
2021-04-28 10:43:24 +07:00
rehn
eda0c03828 8214180: Need better granularity for sleeping
Reviewed-by: eosterlund, dcubed, dholmes
2021-04-28 10:43:23 +07:00
jlaskey
d975512709 8255845: Memory leak in imageFile.cpp
Reviewed-by: jlaskey, sundar
Contributed-by: Evan Whelan <ewhelan@openjdk.org>
2021-04-28 10:43:23 +07:00
rriggs
98022ef10f 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
Reviewed-by: dfuchs
2021-04-28 10:43:22 +07:00
rschmelter
f60744a073 8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners
Reviewed-by: dholmes, clanger
2021-04-28 10:43:21 +07:00
serb
1d260966a9 8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI
Reviewed-by: serb
Contributed-by: Jayashree S Kumar <jayashreesk@in.ibm.com>
2021-04-28 10:43:21 +07:00
pbansal
030badde79 8225805: Java Access Bridge does not close the logger
Reviewed-by: dmarkov, jdv
2021-04-28 10:43:20 +07:00
adinn
8dcb78499d 8210578: AArch64: Invalid encoding for fmlsvs instruction
Summary: sub_op code for fmslvs should be 1 not 0
Reviewed-by: roland
2021-04-28 10:43:19 +07:00
fyang
a9996adfe0 8233912: aarch64: minor improvements of atomic operations
Reviewed-by: aph
2021-04-28 10:43:19 +07:00
zgu
f75bbf78b7 8229474: Shenandoah: Cleanup CM::update_roots()
Reviewed-by: rkennke
2021-04-28 10:43:18 +07:00
simonis
1f3e9d5788 8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on
Reviewed-by: simonis
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:18 +07:00
simonis
2c94df2c6e 8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory
Reviewed-by: simonis
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:17 +07:00
kvn
e6b04f49a7 8255351: Add detection for Graviton 2 CPUs
Reviewed-by: simonis, kvn
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:16 +07:00
stuefe
418536236c 8254748: Bad Copyright header format after JDK-8212218
Reviewed-by: shade, dholmes
2021-04-28 10:43:15 +07:00
stuefe
5bbd7111dc 8254799: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java fails with release VMs
Reviewed-by: dholmes, dcubed, stuefe
2021-04-28 10:43:15 +07:00
stuefe
c96537700e 8212218: [TESTBUG] runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryErrorInMetaspace.java timed out
Reviewed-by: iklam, lmesnik
2021-04-28 10:43:14 +07:00
stuefe
9d2cd63c99 8255734: VM should ignore SIGXFSZ on ppc64, s390 too
Reviewed-by: mdoerr, lucy
2021-04-28 10:43:13 +07:00
stuefe
5159453642 8251255: [linux] Add process-memory information to hs-err and VM.info
Reviewed-by: dholmes, mdoerr
2021-04-28 10:43:13 +07:00
stuefe
2ff1def28c 8250911: [windows] os::pd_map_memory() error detection broken
Reviewed-by: iklam, kbarrett
2021-04-28 10:43:12 +07:00
mbaesken
a102540dc8 8249588: libwindowsaccessbridge issues on 64bit Windows
Reviewed-by: arapte, prr
2021-04-28 10:43:12 +07:00
shade
76dbf04010 8240751: Shenandoah: fold ShenandoahTracer definition
Reviewed-by: adityam, zgu
2021-04-28 10:43:11 +07:00
shade
8b3a1a7fec 8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test
Reviewed-by: rkennke
2021-04-28 10:43:10 +07:00
thartmann
67e137705d 8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Reviewed-by: neliasso, thartmann
Contributed-by: Roberto Castaneda Lozano <roberto.castaneda.lozano@oracle.com>
2021-04-28 10:43:10 +07:00
goetz
026be596a2 8257408: Bump update version for OpenJDK: jdk-11.0.11
Reviewed-by: mdoerr
2021-04-28 10:43:09 +07:00
joehw
363dde6d63 8261209: isStandalone property: remove dependency on pretty-print
Reviewed-by: lancea, naoto
2021-04-28 10:43:09 +07:00
joehw
3802d6d3de 8249867: xml declaration is not followed by a newline
Reviewed-by: rriggs, naoto, lancea, dfuchs
2021-04-28 10:43:08 +07:00
jiefu
481be2e7d2 8261585: Restore HandleArea used in Deoptimization::uncommon_trap
Reviewed-by: coleenp, jiefu
Contributed-by: Hui Shi <hshi@openjdk.org>
2021-04-28 10:43:08 +07:00
ngasson
fb951c5840 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1
Reviewed-by: aph
2021-04-28 10:43:07 +07:00
Evan Whelan
e83d029605 8226810: Failed to launch JVM because of NullPointerException occured on System.props
Reviewed-by: alanb, naoto
(cherry picked from commit 49f70da99f)
2021-04-28 10:41:28 +07:00
Vitaly Provodin
4f45175c4e Revert "JBR-1694: java.lang.IllegalArgumentException: Null charset name"
This reverts commit 588cfef576.

reverted in order to apply original commit JDK-8226810: Failed to launch JVM because of NullPointerException
2021-04-28 10:40:03 +07:00
tschatzl
837ebbeebf 8209193: Fix aarch64-linux compilation after -Wreorder changes
Reviewed-by: shade, drwhite
2021-04-28 10:38:50 +07:00
phedlin
008d0b3165 8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity
Reviewed-by: aph, neliasso
2021-04-28 10:38:47 +07:00
erikj
133c22376c 8256501: libTestMainKeyWindow fails to build with Xcode 12.2
Reviewed-by: ihse, serb
2021-04-28 10:38:47 +07:00
phedlin
9b93e0a26c 8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn.
Reviewed-by: neliasso, aph
2021-04-28 10:38:47 +07:00
fyang
599e47907e 8222785: aarch64: add necessary masking for immediate shift counts
Reviewed-by: aph
2021-04-28 10:38:46 +07:00
Vitaly Provodin
66dc0156fb Revert "Revert "JBR-3214: CR: remove double negation""
This reverts commit db9032755a.

revert (db903275) was made by mistake
restore the commit "JBR-3214: CR: remove double negation" (03280552)
2021-04-28 07:07:32 +07:00
Robbin Ehn
f9e9170415 8218543: ThreadsList handling during error reporting can crash
Reviewed-by: dcubed, dholmes
(cherry picked from commit 9de8d240ff)
2021-04-23 19:20:24 +03:00
Gerard Ziemski
9caca35a6f 8245509: Crash handler itself crashes when reporting Unsafe.putInt(0) crash
Added ResourceMarker

Reviewed-by: coleenp, dholmes
(cherry picked from commit 5f67125ba6)
2021-04-23 18:44:42 +03:00
Artem Semenov
0c3b4bf9b7 JBR-3182: transfer of JBR to a11y protocol based on roles 2021-04-23 15:53:08 +03:00
Maxim Kartashev
216bf92575 JBR-1430: Windows: use UTF16 version of Win32 API to load DLL
Also correct library name encoding in exception messages.
2021-04-23 11:13:48 +03:00
Dmitry Batrak
4c6f3e4510 JBR-3353 Sibling popup window is shown below dialog on macOS 2021-04-22 15:06:10 +03:00
Dmitry Batrak
8d74e8e30b JBR-3339 Window requests focus on horizontal scroll (on Linux) 2021-04-21 21:05:22 +03:00
Nikita Gubarkov
f4a8e51d4a JBR-2910 Make java2d.font.subpixelResolution=4x1 by default 2021-04-21 19:45:25 +03:00
Vitaly Provodin
db9032755a Revert "JBR-3214: CR: remove double negation"
This reverts commit 258184b4
2021-04-21 11:12:42 +07:00
Prasanta Sadhukhan
db017fbd56 8196092: javax/swing/JComboBox/8032878/bug8032878.java fails
Reviewed-by: serb, pbansal

(cherry picked from commit 2ee795d9e4)
2021-04-21 05:55:22 +07:00
Vitaly Provodin
479ceadb35 JBR-3314 reduce number of iterations in regression test 2021-04-20 11:18:51 +07:00
Nikita Gubarkov
ad1d5061a9 JBR-2924 Do not try to create native italic font when we're going to make it fake italic 2021-04-20 01:04:44 +03:00
Vitaly Provodin
ff0a538ebd JBR-3314 unify shell script in regression test 2021-04-19 14:09:39 +07:00
Vitaly Provodin
c81adfed61 JBR-3314 add regression test 2021-04-15 15:57:11 +07:00
Dmitry Batrak
2ccf6b65a7 JBR-3307 First character is dropped when editing a table cell 2021-04-13 15:52:30 +03:00
Alexey Ushakov
a34eeb7735 JBR-3295 Fix error handling in Toolkit — do not ignore error and pass it as a cause
Wrapped original exception
2021-04-13 01:20:54 +03:00
Dmitry Batrak
ba6b9c085e JBR-3291 Input of characters using Alt+<NumPad> stopped working on Windows 2021-04-12 16:30:55 +03:00
Artem Semenov
04f1cf9b47 JBR-3241: MAke a11y element for combobox 2021-04-07 17:23:49 +03:00
Jim Laskey
80c6e03ec4 JBR-2607 backport the fix for crash in [libjimage] ImageStrings::find from OpenJDK
backported from OpenJDK - 8166727: javac crashed: [jimage.dll+0x1942] ImageStrings::find+0x28

Reviewed-by: iklam, alanb
2021-04-07 14:33:38 +07:00
Artem Semenov
9001a78701 JBR-3274: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxNavigableText accessibilitySelectedTextAttribute] 2021-04-05 14:47:34 +03:00
Artem Semenov
703cab8d0d JBR-3240: MAke a11y element for TabGroup 2021-04-02 15:51:57 +03:00
Nikita Gubarkov
3c9cdc9251 JBR-3269 Disabled subpixel antialiasing for MacOS Big Sur and newer 2021-04-02 01:24:57 +03:00
Denis Konoplev
032805520d JBR-3214: CR: remove double negation 2021-04-01 16:54:47 +03:00
Dmitry Batrak
b37f7cfdb1 JBR-3255 Applying 'incline' transform might change character's advance 2021-03-30 18:37:21 +03:00
Denis Konoplev
3668d631ca JBR-3214: Reuse openjdk logic and add unicode keycodes 2021-03-30 16:12:29 +03:00
Denis Konoplev
7fa3ea24ac JBR-2509: Fix Escape emulation after Cmd . 2021-03-30 16:05:16 +03:00
Artem Semenov
8a521cbf64 JR-CR-776: JBR-3239: MAke a11y component for ScrollView 2021-03-30 13:43:22 +03:00
Denis Konoplev
fe9601aa6d JBR-3214: Initialize stack variables to fix dead key prefix and enable support on aarch64 2021-03-29 20:06:22 +03:00
Artem Semenov
65e8162d67 JR-CR-775: JBR-3188: NSAccessibilityNavigableStaticText 2021-03-26 14:35:34 +03:00
Artem Semenov
b99be427ce JR-CR-774: JBR-3218: IDEA crash with opening drop down menu and click whatever next. 2021-03-24 18:38:32 +03:00
Denis Konoplev
6b3b011d0b Revert "JBR-2509: Fix Escape emulation after Cmd ."
This reverts commit f096bd2b
2021-03-24 14:01:10 +03:00
Denis Konoplev
b53ef867e4 Revert "JBR-2509: Remove Fokin code."
This reverts commit 99a8e455
2021-03-24 14:01:10 +03:00
Denis Konoplev
215fd32738 Revert "JBR-2509: Turn on option on M1"
This reverts commit 542ee611
2021-03-24 14:01:10 +03:00
Artem Semenov
921603e356 JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
JR-CR-773: JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
2021-03-23 21:04:25 +03:00
Denis Konoplev
542ee611fc JBR-2509: Turn on option on M1 2021-03-23 19:38:58 +03:00
Denis Konoplev
99a8e45598 JBR-2509: Remove Fokin code.
Reuse openjdk logic and add unicode keycodes
2021-03-23 16:45:33 +03:00
Denis Konoplev
f096bd2b0d JBR-2509: Fix Escape emulation after Cmd . 2021-03-23 16:45:33 +03:00
Ivan Migalev
26dd87ab7c JBR-3227 Reload type of required native file dialogs each time a file dialog is requested 2021-03-23 16:00:08 +03:00
Alexey Ushakov
a6ea081ba2 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Initiate move/resize event on first appearance of window having FULL_WINDOW_CONTENT property set
2021-03-23 00:44:30 +03:00
Artem Semenov
2e87610593 JR-CR-771: JBR-3187: NSAccessibilityStaticText 2021-03-22 20:26:07 +03:00
Artem Semenov
1c336fc03a JR-CR-768: Test for JBR-3187 and JBR-3188
Test for JBR-3187 and JBR-3188
2021-03-22 20:26:07 +03:00
Dmitry Batrak
8eafcaab24 JBR-3215 'deriveFont(float)' can return a different font (not just change the size) 2021-03-22 15:56:46 +03:00
Vitaly Provodin
c096f12994 updated JTreg exclude list 2021-03-22 06:40:23 +07:00
Alexey Ushakov
5cfc8b3629 JBR-3217 [bkp to JBR11] JDK-8262446 DragAndDrop hangs on Windows
backported JDK-8262446 without any conflicts
2021-03-20 00:26:45 +03:00
Denis Konoplev
65b3d32eca JBR-1718: Fix regression java/awt/MenuBar/DefaultMenuBarDispose.java 2021-03-19 21:30:41 +03:00
Alexey Ushakov
61de3c3065 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Review: disable coretext for now, cleanup
2021-03-18 13:33:55 +03:00
Nikita Gubarkov
3b101f673b JBR-2910 Fixed font size computation (extended glyph cache for MacOS) 2021-03-18 03:59:42 +03:00
Phil Race
bd79159249 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
Reviewed-by: serb
2021-03-18 05:47:50 +07:00
Alexey Ushakov
ca4425cb21 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Backported fix with some minor corrections
2021-03-17 20:50:22 +03:00
Alexey Ushakov
b386e44bf5 Revert "JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine"
This reverts commit e03c9829, 97c0e96a, 746affd7, e766df4b, 847705dc, f10e7aca, 9ee15508, 553e5ca6
2021-03-17 16:31:05 +03:00
Nikita Gubarkov
03995a0327 JBR-2910 Implemented extended glyph cache for MacOS 2021-03-17 01:25:08 +03:00
Vitaly Provodin
bd6a088aaf remove links to bintray - download zulu as BOOT JDK 2021-03-17 04:46:44 +07:00
Denis Konoplev
c2582f8e03 JBR-1718: Add backward compatibility 2021-03-15 16:00:58 +03:00
Denis Konoplev
c122e27068 JBR-1718: Fix MacOs handlers 2021-03-15 16:00:58 +03:00
Dmitry Batrak
52a2428c28 use GPL copyright header 2021-03-15 14:53:42 +03:00
Konstantin Bulenkov
87b60afdf7 Remove links to bintray 2021-03-14 13:03:11 +01:00
Vitaly Provodin
10069846d5 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
fix the misprint
2021-03-12 15:47:01 +07:00
Roman Shevchenko
f06f9fe734 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
... for a reason other that ERROR_INVALID_PARAMETER.
2021-03-11 12:16:11 +03:00
Vitaly Provodin
348e538d10 updated JTreg exclude list
JBR-3167 excluding java2d tests causing Xwayland crash
2021-03-09 06:37:34 +07:00
Dmitry Batrak
5b9ff9a29e JBR-2766 java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java: Wrong size 2021-03-02 19:42:44 +03:00
Dmitry Batrak
62b04983f2 JBR-3157 Maximized window with custom decorations isn't focused on showing 2021-03-02 19:00:15 +03:00
Vitaly Provodin
c40b9c8b9e JBR-1505 add jdk.jcmd module into JBR 2021-03-02 05:43:59 +07:00
Artem Semenov
46dfaeecc9 JR-CR-760:
JBR-3144 Extend test for list with list nested in Heavy Weight Window popup
2021-02-24 14:25:30 +03:00
Alexey Ushakov
e03c9829e3 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 06:57:05 -08:00
Alexey Ushakov
97c0e96a5a JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 02:57:25 -08:00
2815 changed files with 89460 additions and 36430 deletions

1513
.github/workflows/submit.yml vendored Normal file

File diff suppressed because it is too large Load Diff

18
.hgtags
View File

@@ -623,3 +623,21 @@ c45f74d45787a857d35b5a66c9b0304c91a9c5d0 jdk-11.0.10+7
43428f69099f6f87f6e1922deacbf13e1adb751f jdk-11.0.10+8
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10+9
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10-ga
4ed322bf6b0098353ceaecf35662fadf457cd81d jdk-11.0.11+1
b68647c6ecc1e73111d8047448d75966f255460f jdk-11.0.11+2
14cc036b17a5f4be5b0643e6b24ed32563684ab9 jdk-11.0.11+3
c4405735470a92e2c45490b89a8099252f3481d2 jdk-11.0.11+4
38430a8a4488582612c6a87ab58d109cc5217e8b jdk-11.0.11+5
e41ae00add1d76a8f25adb558933382947ea840d jdk-11.0.11+6
14f9928caac31368d27f13e4e21ca25c1e0be950 jdk-11.0.11+7
9f0347b029d3a0349f23befcfb68ee02d85d9034 jdk-11.0.11+8
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11+9
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11-ga
5720ffa08f8514b9f0ea8b3a49e05a872c9c0efe jdk-11.0.12+1
70a4031a8bef3e693f34864fdd482429c73dc76a jdk-11.0.12+2
873a691b1ae4fa8b55ca5d08fa21aca3a4904fb8 jdk-11.0.12+3
40d1e784e1937aaea696a9654cc2d944d3d78996 jdk-11.0.12+4
6aa6f6860508fca3a97aea1de7a36574498d22bf jdk-11.0.12+5
91e81ac088545abdc3eaaa707853d31a6cf99af3 jdk-11.0.12+6
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12+7
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12-ga

View File

@@ -1,9 +1,7 @@
<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="allowReplaceRegexp" value="JetBrains" />
<option name="notice" value="Copyright 2000-&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="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -1,2 +1,31 @@
project=jdk10
bugids=dup
[general]
project=jdk-updates
jbs=JDK
version=11.0.13
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
branches=
[census]
version=0
domain=openjdk.org
[checks "whitespace"]
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java
[checks "merge"]
message=Merge
[checks "reviewers"]
reviewers=1
ignore=duke
[checks "committer"]
role=committer
[checks "issues"]
pattern=^([124-8][0-9]{6}): (\S.*)$

View File

@@ -1,12 +1,5 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Downloads
|Windows-x64 |macOS |Linux-x64 |
|-------------|-------------|-------------|
|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-windows-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-windows-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-osx-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-osx-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-linux-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-linux-x64/_latestVersion)|
# How JetBrains Runtime is organised
## Workspaces

View File

@@ -93,12 +93,10 @@
<li><a href="#getting-help">Getting Help</a></li>
</ul></li>
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
<li><a href="#setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</a></li>
<li><a href="#bash-completion">Bash Completion</a></li>
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
<li><a href="#handling-reconfigurations">Handling Reconfigurations</a></li>
<li><a href="#using-fine-grained-make-targets">Using Fine-Grained Make Targets</a></li>
<li><a href="#learn-about-mercurial">Learn About Mercurial</a></li>
</ul></li>
<li><a href="#understanding-the-build-system">Understanding the Build System</a><ul>
<li><a href="#configurations">Configurations</a></li>
@@ -112,10 +110,10 @@
</ul>
</nav>
<h2 id="tldr-instructions-for-the-impatient">TL;DR (Instructions for the Impatient)</h2>
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Mercurial (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Git (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
<ol type="1">
<li><p><a href="#getting-the-source-code">Get the complete source code</a>:<br />
<code>hg clone http://hg.openjdk.java.net/jdk/jdk</code></p></li>
<code>git clone https://git.openjdk.java.net/jdk/</code></p></li>
<li><p><a href="#running-configure">Run configure</a>:<br />
<code>bash configure</code></p>
<p>If <code>configure</code> fails due to missing dependencies (to either the <a href="#native-compiler-toolchain-requirements">toolchain</a>, <a href="#build-tools-requirements">build tools</a>, <a href="#external-library-requirements">external libraries</a> or the <a href="#boot-jdk-requirements">boot JDK</a>), most of the time it prints a suggestion on how to resolve the situation on your platform. Follow the instructions, and try running <code>bash configure</code> again.</p></li>
@@ -131,8 +129,8 @@
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<h2 id="getting-the-source-code">Getting the Source Code</h2>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner's Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="https://git.openjdk.java.net/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>If you are new to Git, a good place to start is the book <a href="https://git-scm.com/book/en/v2">Pro Git</a>. The rest of this document assumes a working knowledge of Git.</p>
<h3 id="special-considerations">Special Considerations</h3>
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
<ul>
@@ -143,7 +141,11 @@
<ul>
<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it's children will inherit those attributes.</p></li>
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
<li><p>Clone the JDK repository using the Cygwin command line <code>hg</code> client as instructed in this document. That is, do <em>not</em> use another Mercurial client such as TortoiseHg.</p></li>
<li><p>You need to install a git client. You have two choices, Cygwin git or Git for Windows. Unfortunately there are pros and cons with each choice.</p>
<ul>
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
<li><p>The <a href="https://gitforwindows.org">Git for Windows</a> client has issues with line endings, and do not understand Cygwin paths. It does work well with the Skara CLI tooling, however. To alleviate the line ending problems, make sure you set <code>core.autocrlf</code> to <code>false</code> (this is asked during installation).</p></li>
</ul></li>
</ul>
<p>Failure to follow this procedure might result in hard-to-debug build problems.</p></li>
</ul>
@@ -193,7 +195,7 @@
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
<p><strong>Note:</strong> Cygwin has a model of continuously updating all packages without any easy way to install or revert to a specific version of a package. This means that whenever you add or update a package in Cygwin, you might (inadvertently) update tools that are used by the JDK build process, and that can cause unexpected build problems.</p>
@@ -355,7 +357,7 @@ cc: Sun C 5.13 SunOS_i386 2014/10/20
$ CC -V
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2017. Versions older than 2017 are unlikely to continue working for long.</p>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
@@ -577,27 +579,27 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Supported devkit targets</th>
<th>Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86_64-linux-gnu</td>
<td>x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64-linux-gnu</td>
<td>ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc64le-linux-gnu</td>
<td>ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
@@ -700,8 +702,8 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
<th style="text-align: left;">Target</th>
<th style="text-align: left;"><code>CC</code></th>
<th style="text-align: left;"><code>CXX</code></th>
<th style="text-align: left;"><code>--arch=...</code></th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
<th><code>--arch=...</code></th>
<th><code>--openjdk-target=...</code></th>
</tr>
</thead>
<tbody>
@@ -709,36 +711,36 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
<td>i386</td>
<td>i386-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>armhf</td>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>arm64</td>
<td>aarch64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
<td>ppc64el</td>
<td>powerpc64le-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
<td style="text-align: left;">g++-s390x-linux-gnu</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
@@ -789,14 +791,14 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_psMemoryPool.o:
/localhome/hg/jdk9-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: &#39;failhere&#39; does not name a type
/localhome/git/jdk-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: &#39;failhere&#39; does not name a type
... (rest of output omitted)
* All command lines available in /localhome/hg/jdk9-sandbox/build/linux-x64/make-support/failure-logs.
* All command lines available in /localhome/git/jdk-sandbox/build/linux-x64/make-support/failure-logs.
=== End of repeated output ===
=== Make failed targets repeated here ===
lib/CompileJvm.gmk:207: recipe for target &#39;/localhome/hg/jdk9-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o&#39; failed
lib/CompileJvm.gmk:207: recipe for target &#39;/localhome/git/jdk-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o&#39; failed
make/Main.gmk:263: recipe for target &#39;hotspot-server-libs&#39; failed
=== End of repeated output ===
@@ -819,11 +821,11 @@ Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code>
<p>Verify that the summary at the end looks correct. Are you indeed using the Boot JDK and native toolchain that you expect?</p>
<p>By default, the JDK has a strict approach where warnings from the compiler is considered errors which fail the build. For very new or very old compiler versions, this can trigger new classes of warnings, which thus fails the build. Run <code>configure</code> with <code>--disable-warnings-as-errors</code> to turn of this behavior. (The warnings will still show, but not make the build fail.)</p>
<h4 id="problems-with-incremental-rebuilds">Problems with Incremental Rebuilds</h4>
<p>Incremental rebuilds mean that when you modify part of the product, only the affected parts get rebuilt. While this works great in most cases, and significantly speed up the development process, from time to time complex interdependencies will result in an incorrect build result. This is the most common cause for unexpected build problems, together with inconsistencies between the different Mercurial repositories in the forest.</p>
<p>Incremental rebuilds mean that when you modify part of the product, only the affected parts get rebuilt. While this works great in most cases, and significantly speed up the development process, from time to time complex interdependencies will result in an incorrect build result. This is the most common cause for unexpected build problems.</p>
<p>Here are a suggested list of things to try if you are having unexpected build problems. Each step requires more time than the one before, so try them in order. Most issues will be solved at step 1 or 2.</p>
<ol type="1">
<li><p>Make sure your forest is up-to-date</p>
<p>Run <code>bash get_source.sh</code> to make sure you have the latest version of all repositories.</p></li>
<li><p>Make sure your repository is up-to-date</p>
<p>Run <code>git pull origin master</code> to make sure you have the latest changes.</p></li>
<li><p>Clean build results</p>
<p>The simplest way to fix incremental rebuild issues is to run <code>make clean</code>. This will remove all build results, but not the configuration or any build system support artifacts. In most cases, this will solve build errors resulting from incremental build mismatches.</p></li>
<li><p>Completely clean the build directory.</p>
@@ -832,8 +834,8 @@ Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code>
make dist-clean
bash configure $(cat current-configuration)
make</code></pre></li>
<li><p>Re-clone the Mercurial forest</p>
<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the &quot;sledgehammer approach&quot;: delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
<li><p>Re-clone the Git repository</p>
<p>Sometimes the Git repository gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the &quot;sledgehammer approach&quot;: delete the entire repository, and re-clone it. If you have local changes, save them first to a different location using <code>git format-patch</code>.</p></li>
</ol>
<h3 id="specific-build-issues">Specific Build Issues</h3>
<h4 id="clock-skew">Clock Skew</h4>
@@ -852,28 +854,9 @@ cannot create ... Permission denied
spawn failed</code></pre>
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
<h3 id="getting-help">Getting Help</h3>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <script type="text/javascript">
<!--
h='&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#46;&#106;&#x61;&#118;&#x61;&#46;&#110;&#x65;&#116;';a='&#64;';n='&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;';e=n+a+h;
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
// -->
</script><noscript>&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;&#32;&#x61;&#116;&#32;&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#32;&#100;&#x6f;&#116;&#32;&#106;&#x61;&#118;&#x61;&#32;&#100;&#x6f;&#116;&#32;&#110;&#x65;&#116;</noscript>. Please include the relevant parts of the configure and/or build log.</p>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
<p>To help you prepare a proper push path for a Mercurial repository, there exists a useful tool known as <a href="http://openjdk.java.net/projects/code-tools/defpath">defpath</a>. It will help you setup a proper push path for pushing changes to the JDK.</p>
<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here's one way to do this:</p>
<pre><code>cd ~
mkdir hg-ext
cd hg-ext
hg clone http://hg.openjdk.java.net/code-tools/defpath
cat &lt;&lt; EOT &gt;&gt; ~/.hgrc
[extensions]
defpath=~/hg-ext/defpath/defpath.py
EOT</code></pre>
<p>You can now setup a proper push path using:</p>
<pre><code>hg defpath -d -u &lt;your OpenJDK username&gt;</code></pre>
<p>If you also have the <code>trees</code> extension installed in Mercurial, you will automatically get a <code>tdefpath</code> command, which is even more useful. By running <code>hg tdefpath -du &lt;username&gt;</code> in the top repository of your forest, all repos will get setup automatically. This is the recommended usage.</p>
<h3 id="bash-completion">Bash Completion</h3>
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code>&lt;tab&gt;</code> or <code>&lt;tab&gt;&lt;tab&gt;</code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
<p>Make completion will work out of the box, and will complete valid make targets. For instance, typing <code>make jdk-i&lt;tab&gt;</code> will complete to <code>make jdk-image</code>.</p>
@@ -927,14 +910,6 @@ sudo mv /tmp/configure /usr/local/bin</code></pre>
<h4 id="rebuilding-part-of-java.base-jdk_filter">Rebuilding Part of java.base (JDK_FILTER)</h4>
<p>If you are modifying files in <code>java.base</code>, which is the by far largest module in the JDK, then you need to rebuild all those files whenever a single file has changed. (This inefficiency will hopefully be addressed in JDK 10.)</p>
<p>As a hack, you can use the make control variable <code>JDK_FILTER</code> to specify a pattern that will be used to limit the set of files being recompiled. For instance, <code>make java.base JDK_FILTER=javax/crypto</code> (or, to combine methods, <code>make java.base-java-only JDK_FILTER=javax/crypto</code>) will limit the compilation to files in the <code>javax.crypto</code> package.</p>
<h3 id="learn-about-mercurial">Learn About Mercurial</h3>
<p>To become an efficient JDK developer, it is recommended that you invest in learning Mercurial properly. Here are some links that can get you started:</p>
<ul>
<li><a href="http://www.mercurial-scm.org/wiki/GitConcepts">Mercurial for git users</a></li>
<li><a href="http://www.mercurial-scm.org/wiki/Tutorial">The official Mercurial tutorial</a></li>
<li><a href="http://hginit.com/">hg init</a></li>
<li><a href="http://hgbook.red-bean.com/read/">Mercurial: The Definitive Guide</a></li>
</ul>
<h2 id="understanding-the-build-system">Understanding the Build System</h2>
<p>This section will give you a more technical description on the details of the build system.</p>
<h3 id="configurations">Configurations</h3>

View File

@@ -3,11 +3,11 @@
## TL;DR (Instructions for the Impatient)
If you are eager to try out building the JDK, these simple steps works most of
the time. They assume that you have installed Mercurial (and Cygwin if running
the time. They assume that you have installed Git (and Cygwin if running
on Windows) and cloned the top-level JDK repository that you want to build.
1. [Get the complete source code](#getting-the-source-code): \
`hg clone http://hg.openjdk.java.net/jdk/jdk`
`git clone https://git.openjdk.java.net/jdk/`
2. [Run configure](#running-configure): \
`bash configure`
@@ -47,14 +47,14 @@ JDK.
Make sure you are getting the correct version. As of JDK 10, the source is no
longer split into separate repositories so you only need to clone one single
repository. At the [OpenJDK Mercurial server](http://hg.openjdk.java.net/) you
can see a list of all available forests. If you want to build an older version,
repository. At the [OpenJDK Git site](https://git.openjdk.java.net/) you
can see a list of all available repositories. If you want to build an older version,
e.g. JDK 8, it is recommended that you get the `jdk8u` forest, which contains
incremental updates, instead of the `jdk8` forest, which was frozen at JDK 8 GA.
If you are new to Mercurial, a good place to start is the [Mercurial Beginner's
Guide](http://www.mercurial-scm.org/guide). The rest of this document assumes a
working knowledge of Mercurial.
If you are new to Git, a good place to start is the book [Pro
Git](https://git-scm.com/book/en/v2). The rest of this document
assumes a working knowledge of Git.
### Special Considerations
@@ -89,9 +89,21 @@ on where and how to check out the source code.
directory. This is especially important if your user name contains
spaces and/or mixed upper and lower case letters.
* Clone the JDK repository using the Cygwin command line `hg` client
as instructed in this document. That is, do *not* use another Mercurial
client such as TortoiseHg.
* You need to install a git client. You have two choices, Cygwin git or
Git for Windows. Unfortunately there are pros and cons with each choice.
* The Cygwin `git` client has no line ending issues and understands
Cygwin paths (which are used throughout the JDK build system).
However, it does not currently work well with the Skara CLI tooling.
Please see the [Skara wiki on Git clients](
https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git) for
up-to-date information about the Skara git client support.
* The [Git for Windows](https://gitforwindows.org) client has issues
with line endings, and do not understand Cygwin paths. It does work
well with the Skara CLI tooling, however. To alleviate the line ending
problems, make sure you set `core.autocrlf` to `false` (this is asked
during installation).
Failure to follow this procedure might result in hard-to-debug build
problems.
@@ -171,7 +183,7 @@ supported due to a too old bash; msys2 and the new Windows Subsystem for Linux
require effort to implement.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/hg/jdk9/Makefile` rather than `C:\hg\jdk9\Makefile`. This
e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
rule also applies to input to the build system, e.g. in arguments to
`configure`. So, use `--with-msvcr-dll=/cygdrive/c/msvcr100.dll` rather than
`--with-msvcr-dll=c:\msvcr100.dll`. For details on this conversion, see the section
@@ -371,7 +383,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30
The minimum accepted version of Visual Studio is 2010. Older versions will not
be accepted by `configure`. The maximum accepted version of Visual Studio is
2017. Versions older than 2017 are unlikely to continue working for long.
2019. Versions older than 2017 are unlikely to continue working for long.
If you have multiple versions of Visual Studio installed, `configure` will by
default pick the latest. You can request a specific version to be used by
@@ -1261,14 +1273,14 @@ ERROR: Build failed for target 'hotspot' in configuration 'linux-x64' (exit code
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_psMemoryPool.o:
/localhome/hg/jdk9-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: 'failhere' does not name a type
/localhome/git/jdk-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: 'failhere' does not name a type
... (rest of output omitted)
* All command lines available in /localhome/hg/jdk9-sandbox/build/linux-x64/make-support/failure-logs.
* All command lines available in /localhome/git/jdk-sandbox/build/linux-x64/make-support/failure-logs.
=== End of repeated output ===
=== Make failed targets repeated here ===
lib/CompileJvm.gmk:207: recipe for target '/localhome/hg/jdk9-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o' failed
lib/CompileJvm.gmk:207: recipe for target '/localhome/git/jdk-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o' failed
make/Main.gmk:263: recipe for target 'hotspot-server-libs' failed
=== End of repeated output ===
@@ -1358,17 +1370,15 @@ Incremental rebuilds mean that when you modify part of the product, only the
affected parts get rebuilt. While this works great in most cases, and
significantly speed up the development process, from time to time complex
interdependencies will result in an incorrect build result. This is the most
common cause for unexpected build problems, together with inconsistencies
between the different Mercurial repositories in the forest.
common cause for unexpected build problems.
Here are a suggested list of things to try if you are having unexpected build
problems. Each step requires more time than the one before, so try them in
order. Most issues will be solved at step 1 or 2.
1. Make sure your forest is up-to-date
1. Make sure your repository is up-to-date
Run `bash get_source.sh` to make sure you have the latest version of all
repositories.
Run `git pull origin master` to make sure you have the latest changes.
2. Clean build results
@@ -1393,13 +1403,13 @@ order. Most issues will be solved at step 1 or 2.
make
```
4. Re-clone the Mercurial forest
4. Re-clone the Git repository
Sometimes the Mercurial repositories themselves gets in a state that causes
the product to be un-buildable. In such a case, the simplest solution is
often the "sledgehammer approach": delete the entire forest, and re-clone
it. If you have local changes, save them first to a different location
using `hg export`.
Sometimes the Git repository gets in a state that causes the product
to be un-buildable. In such a case, the simplest solution is often the
"sledgehammer approach": delete the entire repository, and re-clone it.
If you have local changes, save them first to a different location using
`git format-patch`.
### Specific Build Issues
@@ -1450,38 +1460,6 @@ contact the Adoption Group. See the section on [Contributing to OpenJDK](
## Hints and Suggestions for Advanced Users
### Setting Up a Forest for Pushing Changes (defpath)
To help you prepare a proper push path for a Mercurial repository, there exists
a useful tool known as [defpath](
http://openjdk.java.net/projects/code-tools/defpath). It will help you setup a
proper push path for pushing changes to the JDK.
Install the extension by cloning
`http://hg.openjdk.java.net/code-tools/defpath` and updating your `.hgrc` file.
Here's one way to do this:
```
cd ~
mkdir hg-ext
cd hg-ext
hg clone http://hg.openjdk.java.net/code-tools/defpath
cat << EOT >> ~/.hgrc
[extensions]
defpath=~/hg-ext/defpath/defpath.py
EOT
```
You can now setup a proper push path using:
```
hg defpath -d -u <your OpenJDK username>
```
If you also have the `trees` extension installed in Mercurial, you will
automatically get a `tdefpath` command, which is even more useful. By running
`hg tdefpath -du <username>` in the top repository of your forest, all repos
will get setup automatically. This is the recommended usage.
### Bash Completion
The `configure` and `make` commands tries to play nice with bash command-line
@@ -1624,16 +1602,6 @@ instance, `make java.base JDK_FILTER=javax/crypto` (or, to combine methods,
`make java.base-java-only JDK_FILTER=javax/crypto`) will limit the compilation
to files in the `javax.crypto` package.
### Learn About Mercurial
To become an efficient JDK developer, it is recommended that you invest in
learning Mercurial properly. Here are some links that can get you started:
* [Mercurial for git users](http://www.mercurial-scm.org/wiki/GitConcepts)
* [The official Mercurial tutorial](http://www.mercurial-scm.org/wiki/Tutorial)
* [hg init](http://hginit.com/)
* [Mercurial: The Definitive Guide](http://hgbook.red-bean.com/read/)
## Understanding the Build System
This section will give you a more technical description on the details of the

View File

@@ -4,9 +4,9 @@ RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 11
RUN wget https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_3-linux-x64-b360.2.tar.gz \
RUN wget https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /jbrsdk
ENV JAVA_HOME /zulu11.45.27-ca-jdk11.0.10-linux_x64
ENV PATH $JAVA_HOME/bin:/opt/rh/devtoolset-8/root/usr/bin:$PATH
RUN git config --global user.email "teamcity@buildserver.intellij.net"
RUN git config --global user.name "builduser"

View File

@@ -1,18 +1,18 @@
diff --git modules.list modules.list
index e23d793..368d022 100644
index 33375b527c4..76539cbc0e0 100644
--- modules.list
+++ modules.list
@@ -54,4 +54,7 @@ jdk.security.jgss,
jdk.unsupported,
@@ -55,4 +55,7 @@ jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
-jdk.hotspot.agent
+jdk.hotspot.agent,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index b663b38..3e9acdc 100644
index b663b382f52..3e9acdc0c27 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -109,7 +109,11 @@ module java.desktop {

View File

@@ -1,7 +1,7 @@
From d75ca6d0d1799ffde4199f6ef5047699b98d3ff2 Mon Sep 17 00:00:00 2001
From 07373a8bd65d7c2663024709f0d5b7e0e41aba40 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 14 Nov 2018 21:09:39 +0100
Subject: [PATCH 01/18] Apply basic dcevm11 patch
Subject: [PATCH 01/28] Apply basic dcevm11 patch
---
src/hotspot/share/ci/ciObjectFactory.cpp | 25 +
@@ -449,10 +449,10 @@ index d26f1f11fb4..fd4b134d7a7 100644
// An entry in the class loader data dictionaries, this describes a class as
diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp
index fc4efecc6e7..903979c9ef2 100644
index e4f1b934afc..ef4011c1292 100644
--- a/src/hotspot/share/classfile/javaClasses.cpp
+++ b/src/hotspot/share/classfile/javaClasses.cpp
@@ -2446,6 +2446,8 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, const methodHand
@@ -2428,6 +2428,8 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, const methodHand
skip_throwableInit_check = true;
}
}
@@ -461,7 +461,7 @@ index fc4efecc6e7..903979c9ef2 100644
if (method->is_hidden()) {
if (skip_hidden) continue;
}
@@ -3628,6 +3630,62 @@ void java_lang_invoke_DirectMethodHandle::serialize_offsets(SerializeClosure* f)
@@ -3610,6 +3612,62 @@ void java_lang_invoke_DirectMethodHandle::serialize_offsets(SerializeClosure* f)
}
#endif
@@ -524,7 +524,7 @@ index fc4efecc6e7..903979c9ef2 100644
// Support for java_lang_invoke_MethodHandle
int java_lang_invoke_MethodHandle::_type_offset;
@@ -3814,6 +3872,11 @@ void java_lang_invoke_ResolvedMethodName::set_vmtarget(oop resolved_method, Meth
@@ -3796,6 +3854,11 @@ void java_lang_invoke_ResolvedMethodName::set_vmtarget(oop resolved_method, Meth
resolved_method->address_field_put(_vmtarget_offset, (address)m);
}
@@ -537,7 +537,7 @@ index fc4efecc6e7..903979c9ef2 100644
// lookup ResolvedMethod oop in the table, or create a new one and intern it
oop resolved_method = ResolvedMethodTable::find_method(m());
diff --git a/src/hotspot/share/classfile/javaClasses.hpp b/src/hotspot/share/classfile/javaClasses.hpp
index bd9cdca3fe3..da004d1b307 100644
index 910bb084b63..89a46264553 100644
--- a/src/hotspot/share/classfile/javaClasses.hpp
+++ b/src/hotspot/share/classfile/javaClasses.hpp
@@ -67,6 +67,8 @@
@@ -561,7 +561,7 @@ index bd9cdca3fe3..da004d1b307 100644
static void allocate_fixup_lists();
static void compute_offsets();
@@ -1055,6 +1057,55 @@ class java_lang_invoke_DirectMethodHandle: AllStatic {
@@ -1048,6 +1050,55 @@ class java_lang_invoke_DirectMethodHandle: AllStatic {
static int member_offset_in_bytes() { return _member_offset; }
};
@@ -617,7 +617,7 @@ index bd9cdca3fe3..da004d1b307 100644
// Interface to java.lang.invoke.LambdaForm objects
// (These are a private interface for managing adapter code generation.)
@@ -1106,6 +1157,7 @@ class java_lang_invoke_ResolvedMethodName : AllStatic {
@@ -1099,6 +1150,7 @@ class java_lang_invoke_ResolvedMethodName : AllStatic {
static Method* vmtarget(oop resolved_method);
static void set_vmtarget(oop resolved_method, Method* method);
@@ -977,7 +977,7 @@ index 05239c57866..c1357bde0ed 100644
methodHandle _method; // current method being verified
VerificationType _this_type; // the verification type of the current class
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 44cf2583eb9..41e9a84cd69 100644
index 8955dd0b366..26ff6ee9853 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -286,6 +286,8 @@
@@ -1684,10 +1684,10 @@ index 81998728f66..b9ccdee8cca 100644
}
}
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 77c28924b0d..84891b48c2a 100644
index 6cf7aec68f8..61a406377ee 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1467,6 +1467,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
@@ -1471,6 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
NULL, // host klass
NULL, // cp_patches
ClassFileParser::INTERNAL, // internal visibility
@@ -2260,7 +2260,7 @@ index 21e7f652652..e9cc3de9652 100644
if (log_is_enabled(Debug, class, resolve) && k != NULL) {
diff --git a/src/hotspot/share/prims/jvm.cpp b/src/hotspot/share/prims/jvm.cpp
index 378dcce8cf5..f92d2697e0e 100644
index 0d686d85fc7..70b525533cd 100644
--- a/src/hotspot/share/prims/jvm.cpp
+++ b/src/hotspot/share/prims/jvm.cpp
@@ -936,6 +936,7 @@ static jclass jvm_define_class_common(JNIEnv *env, const char *name,
@@ -2273,7 +2273,7 @@ index 378dcce8cf5..f92d2697e0e 100644
if (log_is_enabled(Debug, class, resolve) && k != NULL) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
new file mode 100644
index 00000000000..80c31135487
index 00000000000..83c0952de37
--- /dev/null
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -0,0 +1,2255 @@
@@ -4534,7 +4534,7 @@ index 00000000000..80c31135487
+}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
new file mode 100644
index 00000000000..3f95cf42645
index 00000000000..b712d69a193
--- /dev/null
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -0,0 +1,202 @@
@@ -4819,7 +4819,7 @@ index 6600848e2d3..9337b6ab585 100644
if (_code_blobs != NULL) {
for (int i=0; i<_code_blobs->length(); i++) {
diff --git a/src/hotspot/share/prims/jvmtiExport.hpp b/src/hotspot/share/prims/jvmtiExport.hpp
index cc5868f1e93..a6cbac03bb2 100644
index b8246554f74..be2c373aba7 100644
--- a/src/hotspot/share/prims/jvmtiExport.hpp
+++ b/src/hotspot/share/prims/jvmtiExport.hpp
@@ -176,6 +176,7 @@ class JvmtiExport : public AllStatic {

View File

@@ -1,7 +1,7 @@
From ebd5c9df33771ad5181a225cccc0cca3881a4dbe Mon Sep 17 00:00:00 2001
From 41093b9513718c3122f3ff36da7fc2eeca224a10 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 14 Nov 2018 21:18:22 +0100
Subject: [PATCH 02/18] dcevm11 fixes
Subject: [PATCH 02/28] dcevm11 fixes
1. We need to set classRedefinitionCount on new class, not old class.
@@ -463,7 +463,7 @@ index 2cc98b636f1..e8107a39813 100644
// link this class into the implementors list of every interface it implements
void process_interfaces(Thread *thread);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 80c31135487..43d761cdbb2 100644
index 83c0952de37..92ce6c27b8a 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1,4 +1,4 @@
@@ -1394,7 +1394,7 @@ index 80c31135487..43d761cdbb2 100644
ResourceMark mark(THREAD);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 3f95cf42645..a48e07e3a6a 100644
index b712d69a193..60b62c3170a 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -16,6 +16,8 @@

View File

@@ -1,7 +1,7 @@
From aaefe6f66a8d363eb35fcdc8ce29bb25be67fe1c Mon Sep 17 00:00:00 2001
From caa877d9126bd91d6719675a83928ba01bffb69a Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 12 Dec 2018 19:38:28 +0100
Subject: [PATCH 03/18] Support for Concurrent Mark Sweep (CMS) collector
Subject: [PATCH 03/28] Support for Concurrent Mark Sweep (CMS) collector
---
.../share/gc/cms/compactibleFreeListSpace.cpp | 139 ++++++++++++------
@@ -422,7 +422,7 @@ index 6b109fcd2e5..8c255d6d428 100644
Klass* new_version = oop(cur_obj)->klass()->new_version();
if (new_version->update_information() == NULL) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 43d761cdbb2..14af1aad21b 100644
index 92ce6c27b8a..41e82ae7a69 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -54,6 +54,7 @@

View File

@@ -1,7 +1,7 @@
From 002ad1880190d0749f8f8d325c587fd9275bdab2 Mon Sep 17 00:00:00 2001
From 93373779a1d44181ca07498faa8a0e8d7fc6b608 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@mailprofiler.com>
Date: Wed, 11 Mar 2020 14:19:34 +0100
Subject: [PATCH 04/18] Fix class cast exception on redefinition of class A,
Subject: [PATCH 04/28] Fix class cast exception on redefinition of class A,
that is superclass of B that has anonymous class C
---

View File

@@ -1,7 +1,7 @@
From a00292280f4e3754bffc7a0c562dca1d7552eb39 Mon Sep 17 00:00:00 2001
From c8850725d4c84f93beaee3c05f9d8f9862fe6159 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 14 Nov 2018 21:20:08 +0100
Subject: [PATCH 05/18] HotswapAgent integration
Date: Thu, 15 Nov 2018 03:20:08 +0700
Subject: [PATCH 05/28] HotswapAgent integration
It include:
@@ -37,7 +37,7 @@ old DCEVM
make/launcher/Launcher-jdk.jartool.gmk | 2 +
make/launcher/Launcher-jdk.javadoc.gmk | 3 +-
make/launcher/Launcher-jdk.jcmd.gmk | 13 +++-
make/launcher/Launcher-jdk.jconsole.gmk | 3 +-
make/launcher/Launcher-jdk.jconsole.gmk | 1 +
make/launcher/Launcher-jdk.jdeps.gmk | 3 +
make/launcher/Launcher-jdk.jdi.gmk | 1 +
make/launcher/Launcher-jdk.jlink.gmk | 5 +-
@@ -55,7 +55,7 @@ old DCEVM
.../classes/com/sun/beans/package-info.java | 26 +++++++
.../com/sun/beans/util/package-info.java | 26 +++++++
.../share/classes/module-info.java | 3 +
28 files changed, 209 insertions(+), 11 deletions(-)
28 files changed, 208 insertions(+), 10 deletions(-)
create mode 100644 src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/util/package-info.java
@@ -259,16 +259,14 @@ index 7117fa78059..761a52d8466 100644
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.jconsole.gmk b/make/launcher/Launcher-jdk.jconsole.gmk
index 575b9e0595b..9b38683a489 100644
index 575b9e0595b..2f442f69113 100644
--- a/make/launcher/Launcher-jdk.jconsole.gmk
+++ b/make/launcher/Launcher-jdk.jconsole.gmk
@@ -29,7 +29,8 @@ $(eval $(call SetupBuildLauncher, jconsole, \
MAIN_CLASS := sun.tools.jconsole.JConsole, \
@@ -30,6 +30,7 @@ $(eval $(call SetupBuildLauncher, jconsole, \
JAVA_ARGS := --add-opens java.base/java.io=jdk.jconsole \
-Djconsole.showOutputViewer \
- -Djdk.attach.allowAttachSelf=true, \
+ -Djdk.attach.allowAttachSelf=true \
+ -XX:+DisableHotswapAgent, \
-Djdk.attach.allowAttachSelf=true, \
+ -XX:+DisableHotswapAgent, \
CFLAGS_windows := -DJAVAW, \
LIBS_windows := user32.lib, \
))
@@ -392,7 +390,7 @@ index 82311e69fd6..bd39f8595b2 100644
CFLAGS := -DENABLE_ARG_FILES, \
))
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 41e9a84cd69..1f67eb202b5 100644
index 26ff6ee9853..2409af9b06e 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -342,6 +342,7 @@

View File

@@ -1,7 +1,7 @@
From 62f3578e0a73913c1262a1612a464d19abfeb626 Mon Sep 17 00:00:00 2001
From 1552e3854e11fb835452aa531ef53b78bb4588a5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 4 Oct 2020 21:12:12 +0200
Subject: [PATCH 06/18] Support for Lambda class redefinition
Subject: [PATCH 06/28] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
@@ -111,7 +111,7 @@ index 06f6c869d63..1dbbffa197f 100644
TRAPS);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 14af1aad21b..0b239b2ff6d 100644
index 41e82ae7a69..b94caa39562 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -488,6 +488,8 @@ void VM_EnhancedRedefineClasses::doit() {
@@ -208,7 +208,7 @@ index 14af1aad21b..0b239b2ff6d 100644
// Sort the affected klasses such that a supertype is always on a smaller array index than its subtype.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index a48e07e3a6a..3551b06ecde 100644
index 60b62c3170a..d8a11b51fe9 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,6 +116,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
@@ -242,7 +242,7 @@ index af2ec48c2e1..7741328979f 100644
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
assert(old_method != newer_method, "sanity check");
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index c071f8b7cc6..e484b8991d1 100644
index 1983b4f45f0..5e7aca092eb 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -820,6 +820,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,

View File

@@ -1,7 +1,7 @@
From 4b445e7a7f77f82f757c12010e3c88b2eb4698f9 Mon Sep 17 00:00:00 2001
From 83c2efaeb6ea9ee29c6d9eb779991db787c036ac Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 23 May 2020 10:02:15 +0200
Subject: [PATCH 07/18] Fix "no original bytecode found" error if method with
Subject: [PATCH 07/28] Fix "no original bytecode found" error if method with
bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
@@ -102,7 +102,7 @@ index 4533476ff8f..193e1845b23 100644
void set_breakpoint(int bci);
void clear_breakpoint(int bci);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 0b239b2ff6d..aba99bb60fa 100644
index b94caa39562..1fbba406087 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1356,14 +1356,16 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {

View File

@@ -1,7 +1,7 @@
From c022124c6e0680d2dfc174f66fc858b0eb2591dc Mon Sep 17 00:00:00 2001
From f9e238b9bf2cc3ae0c437fa3ebb1703c35f575cf Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 24 May 2020 12:07:42 +0200
Subject: [PATCH 08/18] Replace deleted method with
Subject: [PATCH 08/28] Replace deleted method with
Universe::throw_no_such_method_error
---

View File

@@ -1,7 +1,7 @@
From aa1d291c7349e5cecf9d93e817d0866460deb903 Mon Sep 17 00:00:00 2001
From a579caf20ac76a5d7cc159d5fed2efa074380f0f Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 12 Jun 2020 17:43:52 +0200
Subject: [PATCH 09/18] Support for G1 gc
Subject: [PATCH 09/28] Support for G1 gc
---
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 20 +++
@@ -31,10 +31,10 @@ Subject: [PATCH 09/18] Support for G1 gc
create mode 100644 src/hotspot/share/gc/shared/dcevmSharedGC.hpp
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index dea8d9fdb0e..33664a30519 100644
index a15b400c8e4..985fbad581b 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -2108,6 +2108,21 @@ public:
@@ -2111,6 +2111,21 @@ public:
}
};
@@ -56,7 +56,7 @@ index dea8d9fdb0e..33664a30519 100644
void G1CollectedHeap::object_iterate(ObjectClosure* cl) {
IterateObjectClosureRegionClosure blk(cl);
heap_region_iterate(&blk);
@@ -2117,6 +2132,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
@@ -2124,6 +2139,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
_hrm.iterate(cl);
}
@@ -69,7 +69,7 @@ index dea8d9fdb0e..33664a30519 100644
HeapRegionClaimer *hrclaimer,
uint worker_id) const {
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
index 8a171dc6b52..05a068bb2e0 100644
index be160d04bfe..9e92ee4a1fa 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
@@ -144,6 +144,7 @@ class G1CollectedHeap : public CollectedHeap {
@@ -1040,7 +1040,7 @@ index d0a6d665aa0..3dc4cc1323c 100644
SystemDictionary::oops_do(oopClosure);
}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index aba99bb60fa..8b6fad2128e 100644
index 1fbba406087..e67fc2dd58f 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -36,7 +36,6 @@
@@ -1244,7 +1244,7 @@ index aba99bb60fa..8b6fad2128e 100644
ResourceMark mark(THREAD);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 3551b06ecde..62a0fbf54d4 100644
index d8a11b51fe9..9755944d70b 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -86,9 +86,10 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {

View File

@@ -1,7 +1,7 @@
From b6ea0ee6fcc376f575be0f461c494664d55ed986 Mon Sep 17 00:00:00 2001
From 8d14e792d9849beedc74de690cf4d208ac384878 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 13 Jun 2020 18:50:59 +0200
Subject: [PATCH 10/18] Change log level in advanced redefinition
Subject: [PATCH 10/28] Change log level in advanced redefinition
- Change log level for "Comparing different class ver.." to debug
- Fix adjust_method_entries_dcevm logging levels and severity
@@ -11,7 +11,7 @@ Subject: [PATCH 10/18] Change log level in advanced redefinition
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 8b6fad2128e..a8adfa5af47 100644
index e67fc2dd58f..5be9bb74305 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -915,7 +915,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {

View File

@@ -1,7 +1,7 @@
From ef1098751c596a03fd1721affc20d221b3544d37 Mon Sep 17 00:00:00 2001
From 5c437ade174426dbaf99a53823597ac7d3b1b4da Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Tue, 6 Oct 2020 22:15:31 +0200
Subject: [PATCH 11/18] AllowEnhancedClassRedefinition is false (disabled) by
Subject: [PATCH 11/28] AllowEnhancedClassRedefinition is false (disabled) by
default
---

View File

@@ -1,7 +1,7 @@
From 6a78dda15c66cbba1ca6a2d7f3df3a55fc087f50 Mon Sep 17 00:00:00 2001
From 8b1c8178e66af30012fdda3e7f1076309daaf6c4 Mon Sep 17 00:00:00 2001
From: Artem Khvastunov <artem.khvastunov@jetbrains.com>
Date: Tue, 14 Apr 2020 19:11:35 +0200
Subject: [PATCH 12/18] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
Subject: [PATCH 12/28] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
---
jb/project/hotspot-cmake/CMakeLists.txt | 2 ++

View File

@@ -1,14 +1,14 @@
From 80c1cd01b45735928e3b3e9283b5484ea6a70a7f Mon Sep 17 00:00:00 2001
From 5e7a1218684556596677f39ae01b2ec13ff68a19 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Mon, 19 Oct 2020 20:00:04 +0200
Subject: [PATCH 13/18] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
Subject: [PATCH 13/28] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
---
make/autoconf/version-numbers | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/make/autoconf/version-numbers b/make/autoconf/version-numbers
index 1d08f6a80dc..88b4d460ee8 100644
index b9440902d34..c487ac6f047 100644
--- a/make/autoconf/version-numbers
+++ b/make/autoconf/version-numbers
@@ -44,7 +44,7 @@ PRODUCT_NAME=OpenJDK

View File

@@ -1,7 +1,7 @@
From 122562d31005edd3573a645c3a02c1d8fe843c5e Mon Sep 17 00:00:00 2001
From c2a4abf7d01ecd7bd262e824338d6235a584086b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 11 Oct 2020 10:43:28 +0200
Subject: [PATCH 14/18] Fix G1 nmethod registration
Subject: [PATCH 14/28] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
@@ -9,7 +9,7 @@ Subject: [PATCH 14/18] Fix G1 nmethod registration
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index a8adfa5af47..4ee12b7021f 100644
index 5be9bb74305..f4bde7504c8 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -217,7 +217,14 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
@@ -53,7 +53,7 @@ index a8adfa5af47..4ee12b7021f 100644
log_trace(redefine, class, obsolete, metadata)("After updating instances");
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 62a0fbf54d4..d00109a0b92 100644
index 9755944d70b..4c0412d343d 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,7 +116,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {

View File

@@ -1,7 +1,7 @@
From 0156b2084be20579b407e112a00ba15f54248003 Mon Sep 17 00:00:00 2001
From f0b7253294f14a64a5a4d0ef825e5377da03efa5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Thu, 22 Oct 2020 20:15:20 +0200
Subject: [PATCH 15/18] Initialize method's _new_version/_old_version to NULL
Subject: [PATCH 15/28] Initialize method's _new_version/_old_version to NULL
---
src/hotspot/share/oops/method.cpp | 3 ++-

View File

@@ -1,7 +1,7 @@
From 81ba8f1d120e158a7b0cfa09b5dd51295d51901f Mon Sep 17 00:00:00 2001
From 0550e70425054a77e32fb96770d416b077720857 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 23 Oct 2020 10:20:26 +0200
Subject: [PATCH 16/18] Clear dcevm code separation
Subject: [PATCH 16/28] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 4 ++--
@@ -93,10 +93,10 @@ index 9dc184d02f5..bff1c3627b0 100644
is_static ? "static" : "non-static", resolved_klass->external_name(), fd.name()->as_C_string(),
current_klass->external_name());
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 84891b48c2a..6f19e2939a2 100644
index 61a406377ee..da9df7a21a2 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1467,7 +1467,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
@@ -1471,7 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
NULL, // host klass
NULL, // cp_patches
ClassFileParser::INTERNAL, // internal visibility

View File

@@ -1,7 +1,7 @@
From a022248d12e37084c8f8987a44d567ba0e02fb6d Mon Sep 17 00:00:00 2001
From fde9f15ed4fdb5139b6b81238d0a667327b552bb Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 23 Oct 2020 11:07:40 +0200
Subject: [PATCH 17/18] Fix metadataOnStack bug
Subject: [PATCH 17/28] Fix metadataOnStack bug
---
.../share/classfile/classLoaderData.cpp | 7 +-

View File

@@ -0,0 +1,25 @@
From 5b5f620932894e807956b45653d153d001be9fb1 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 1 Nov 2020 21:19:00 +0100
Subject: [PATCH 18/28] Ignore MetadataOnStackMark if redefining_gc_run
---
src/hotspot/share/classfile/classLoaderData.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index bba5ce0511f..8b2deb70e1b 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1401,7 +1401,7 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
bool walk_all_metadata = clean_previous_versions &&
JvmtiExport::has_redefined_a_class() &&
InstanceKlass::has_previous_versions_and_reset();
- MetadataOnStackMark md_on_stack(walk_all_metadata, AllowEnhancedClassRedefinition);
+ MetadataOnStackMark md_on_stack(walk_all_metadata, Universe::is_redefining_gc_run());
// Save previous _unloading pointer for CMS which may add to unloading list before
// purging and we don't want to rewalk the previously unloaded class loader data.
--
2.23.0

View File

@@ -1,7 +1,7 @@
From 46795cd6c086e2008b270f89971bb07ad34ac355 Mon Sep 17 00:00:00 2001
From 29ac3233d58d9a1a30160ae13a895ff70e504022 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Wed, 11 Nov 2020 18:45:15 +0100
Subject: [PATCH 18/18] Fix LoadedClassesClosure - fixes problems with remote
Subject: [PATCH 19/28] Fix LoadedClassesClosure - fixes problems with remote
debugging
---

View File

@@ -1,7 +1,7 @@
From 62fc66fa74886bd8bb15cd3e2084175f7ad5d0c7 Mon Sep 17 00:00:00 2001
From 99e8f8d420dd09d6fb7f035d4baf7ef4816177e8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Feb 2021 23:30:49 +0100
Subject: [PATCH 19/19] Disable AllowEnhancedClassRedefinition in flight
Subject: [PATCH 20/28] Disable AllowEnhancedClassRedefinition in flight
recorder
---

View File

@@ -0,0 +1,41 @@
From 1bb55ff9f91733e45dd6f87eb4201a989b3338e3 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 12:33:11 +0100
Subject: [PATCH 21/28] JBR-3106 Check InstanceKlass::has_nestmate_access_to
with active classes
Dcevm can leave old host in nested class if nested class is not
redefined together with host class
---
src/hotspot/share/oops/instanceKlass.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 710e0ddc930..24eb3ed68a6 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -327,11 +327,21 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
return false;
}
+ // (DCEVM) cur_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ cur_host = InstanceKlass::cast(cur_host->active_version());
+ }
+
Klass* k_nest_host = k->nest_host(icce, CHECK_false);
if (k_nest_host == NULL) {
return false;
}
+ // (DCEVM) k_nest_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ k_nest_host = InstanceKlass::cast(k_nest_host->active_version());
+ }
+
bool access = (cur_host == k_nest_host);
if (log_is_enabled(Trace, class, nestmates)) {
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 52427060aba227d09dce4bd14410e1e626d64e46 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 7 Feb 2021 12:08:58 +0100
Subject: [PATCH 22/28] JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
---
src/hotspot/share/classfile/metadataOnStackMark.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/metadataOnStackMark.cpp b/src/hotspot/share/classfile/metadataOnStackMark.cpp
index 9d7bdbde74b..66049f11629 100644
--- a/src/hotspot/share/classfile/metadataOnStackMark.cpp
+++ b/src/hotspot/share/classfile/metadataOnStackMark.cpp
@@ -49,10 +49,11 @@ NOT_PRODUCT(bool MetadataOnStackMark::_is_active = false;)
MetadataOnStackMark::MetadataOnStackMark(bool redefinition_walk, bool ignore) : _ignore(ignore) {
assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
assert(_used_buffers == NULL, "sanity check");
- assert(!_is_active, "MetadataOnStackMarks do not nest");
- NOT_PRODUCT(_is_active = true;)
if (!ignore) {
+ assert(!_is_active, "MetadataOnStackMarks do not nest");
+ NOT_PRODUCT(_is_active = true;)
+
Threads::metadata_handles_do(Metadata::mark_on_stack);
if (redefinition_walk) {
--
2.23.0

View File

@@ -0,0 +1,78 @@
From 93cea8d61ef395a1ef9e308b0d3a8f9409b108d0 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 12 Feb 2021 11:27:39 +0100
Subject: [PATCH 23/28] Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
---
src/hotspot/share/classfile/dictionary.cpp | 6 +++---
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/memory/universe.hpp | 5 -----
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index dda5188c370..4e361d439f4 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -381,7 +381,7 @@ InstanceKlass* Dictionary::find(unsigned int hash, Symbol* name,
int index = hash_to_index(hash);
DictionaryEntry* entry = get_entry(index, hash, name);
if (entry != NULL && entry->is_valid_protection_domain(protection_domain)) {
- return old_if_redefined(entry->instance_klass());
+ return old_if_redefining(entry->instance_klass());
} else {
return NULL;
}
@@ -394,7 +394,7 @@ InstanceKlass* Dictionary::find_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
@@ -406,7 +406,7 @@ InstanceKlass* Dictionary::find_shared_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index 5eaa741d500..f6e08e7bfd5 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -120,7 +120,7 @@ public:
void rollback_redefinition();
// (DCEVM) return old class if redefining in AllowEnhancedClassRedefinition, otherwise return "k"
- static InstanceKlass* old_if_redefined(InstanceKlass* k) {
+ static InstanceKlass* old_if_redefining(InstanceKlass* k) {
return (k != NULL && k->is_redefining()) ? ((InstanceKlass* )k->old_version()) : k;
}
};
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index b32db16b9cf..742dada0e8f 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -52,13 +52,8 @@ class LatestMethodCache : public CHeapObj<mtClass> {
Klass* _klass;
int _method_idnum;
- static bool _is_redefining_gc_run;
-
public:
- static bool is_redefining_gc_run() { return _is_redefining_gc_run; }
- static void set_redefining_gc_run(bool b) { _is_redefining_gc_run = b; }
-
LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
~LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
--
2.23.0

View File

@@ -0,0 +1,95 @@
From dcb44f0e56dbc63b90d655b694a3f7751744fe53 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 13 Feb 2021 20:47:52 +0100
Subject: [PATCH 24/28] JBR-3111 Update class in all dictionaries where it was
already defined
This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.
---
src/hotspot/share/classfile/classLoaderData.cpp | 9 +++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 3 +++
src/hotspot/share/classfile/dictionary.cpp | 2 +-
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/classfile/systemDictionary.cpp | 4 +++-
5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 8b2deb70e1b..4e06b09e7d5 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1274,6 +1274,15 @@ void ClassLoaderDataGraph::rollback_redefinition() {
}
}
+// (DCEVM) - iterate over all classes in all dictionaries
+bool ClassLoaderDataGraph::dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
+ bool ok = false;
+ FOR_ALL_DICTIONARY(cld) {
+ ok = cld->dictionary()->update_klass(name, k, old_klass) || ok;
+ }
+ return ok;
+}
+
// Walks all entries in the dictionary including entries initiated by this class loader.
void ClassLoaderDataGraph::dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*)) {
Thread* thread = Thread::current();
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 00a84610b43..16711dca237 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -130,6 +130,9 @@ class ClassLoaderDataGraph : public AllStatic {
// Enhanced class redefinition
static void rollback_redefinition();
+ // Enhanced class redefinition
+ static bool dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
+
// Iterate all classes and their class loaders, including initiating class loaders.
static void dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*));
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 4e361d439f4..6c072407fd9 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -345,7 +345,7 @@ DictionaryEntry* Dictionary::get_entry(int index, unsigned int hash,
}
// (DCEVM) replace old_class by new class in dictionary
-bool Dictionary::update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass) {
+bool Dictionary::update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
// There are several entries for the same class in the dictionary: One extra entry for each parent classloader of the classloader of the class.
bool found = false;
for (int index = 0; index < table_size(); index++) {
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index f6e08e7bfd5..2932cc9c320 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -115,7 +115,7 @@ public:
void free_entry(DictionaryEntry* entry);
// Enhanced class redefinition
- bool update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass);
+ bool update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
void rollback_redefinition();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 9e0f4dd3c96..789b5fb1e6d 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1606,7 +1606,9 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, InstanceKlass* ol
Dictionary* dictionary = loader_data->dictionary();
unsigned int d_hash = dictionary->compute_hash(name_h);
if (is_redefining) {
- bool ok = dictionary->update_klass(d_hash, name_h, loader_data, k, old_klass);
+ // Update all dictionaries containing old_class to new_class
+ // outcome must be same as result of standard redefinition, that does not create a new Klass
+ bool ok = ClassLoaderDataGraph::dictionary_classes_do_update_klass(name_h, k, old_klass);
assert (ok, "must have found old class and updated!");
}
check_constraints(d_hash, k, class_loader_h, !is_redefining, CHECK);
--
2.23.0

View File

@@ -0,0 +1,527 @@
From b9692c48bdbad8474251cfe72ac85e5c7ff2847e Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Thu, 18 Jun 2020 18:40:11 +0200
Subject: [PATCH 25/28] JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
---
make/launcher/Launcher-java.base.gmk | 1 -
make/launcher/Launcher-java.rmi.gmk | 2 -
make/launcher/Launcher-java.scripting.gmk | 3 +-
make/launcher/Launcher-java.security.jgss.gmk | 3 --
make/launcher/Launcher-jdk.aot.gmk | 2 -
make/launcher/Launcher-jdk.compiler.gmk | 5 +-
make/launcher/Launcher-jdk.hotspot.agent.gmk | 1 -
make/launcher/Launcher-jdk.jartool.gmk | 2 -
make/launcher/Launcher-jdk.javadoc.gmk | 3 +-
make/launcher/Launcher-jdk.jcmd.gmk | 13 +----
make/launcher/Launcher-jdk.jdeps.gmk | 3 --
make/launcher/Launcher-jdk.jdi.gmk | 1 -
make/launcher/Launcher-jdk.jlink.gmk | 5 +-
make/launcher/Launcher-jdk.jshell.gmk | 1 -
make/launcher/Launcher-jdk.jstatd.gmk | 1 -
make/launcher/Launcher-jdk.pack.gmk | 1 -
make/launcher/Launcher-jdk.rmic.gmk | 1 -
.../Launcher-jdk.scripting.nashorn.shell.gmk | 3 +-
src/hotspot/share/runtime/arguments.cpp | 48 +++++++++++--------
.../runtime/flags/jvmFlagConstraintList.cpp | 23 +++++++++
.../runtime/flags/jvmFlagConstraintList.hpp | 1 +
.../flags/jvmFlagConstraintsRuntime.cpp | 10 ++++
.../flags/jvmFlagConstraintsRuntime.hpp | 1 +
src/hotspot/share/runtime/globals.hpp | 12 ++++-
24 files changed, 81 insertions(+), 65 deletions(-)
diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk
index 38ba29530d8..f6d4aa28fe6 100644
--- a/make/launcher/Launcher-java.base.gmk
+++ b/make/launcher/Launcher-java.base.gmk
@@ -52,7 +52,6 @@ endif
$(eval $(call SetupBuildLauncher, keytool, \
MAIN_CLASS := sun.security.tools.keytool.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-java.rmi.gmk b/make/launcher/Launcher-java.rmi.gmk
index 07046232275..a69a90bcc81 100644
--- a/make/launcher/Launcher-java.rmi.gmk
+++ b/make/launcher/Launcher-java.rmi.gmk
@@ -27,10 +27,8 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmid, \
MAIN_CLASS := sun.rmi.server.Activation, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, rmiregistry, \
MAIN_CLASS := sun.rmi.registry.RegistryImpl, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-java.scripting.gmk b/make/launcher/Launcher-java.scripting.gmk
index cf100e20789..057d2bf3aca 100644
--- a/make/launcher/Launcher-java.scripting.gmk
+++ b/make/launcher/Launcher-java.scripting.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jrunscript, \
MAIN_CLASS := com.sun.tools.script.shell.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
))
diff --git a/make/launcher/Launcher-java.security.jgss.gmk b/make/launcher/Launcher-java.security.jgss.gmk
index 2b856bfccb4..7411e1a21c4 100644
--- a/make/launcher/Launcher-java.security.jgss.gmk
+++ b/make/launcher/Launcher-java.security.jgss.gmk
@@ -28,16 +28,13 @@ include LauncherCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows)
$(eval $(call SetupBuildLauncher, kinit, \
MAIN_CLASS := sun.security.krb5.internal.tools.Kinit, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, klist, \
MAIN_CLASS := sun.security.krb5.internal.tools.Klist, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, ktab, \
MAIN_CLASS := sun.security.krb5.internal.tools.Ktab, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
endif
diff --git a/make/launcher/Launcher-jdk.aot.gmk b/make/launcher/Launcher-jdk.aot.gmk
index 2c52c31a555..10717a5e1c5 100644
--- a/make/launcher/Launcher-jdk.aot.gmk
+++ b/make/launcher/Launcher-jdk.aot.gmk
@@ -31,7 +31,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jaotc, \
MAIN_CLASS := jdk.tools.jaotc.Main, \
EXTRA_JAVA_ARGS := -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI \
- -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
@@ -41,7 +40,6 @@ $(eval $(call SetupBuildLauncher, jaotc, \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
, \
JAVA_ARGS := --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
- -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
diff --git a/make/launcher/Launcher-jdk.compiler.gmk b/make/launcher/Launcher-jdk.compiler.gmk
index 744969546de..f71c37adf74 100644
--- a/make/launcher/Launcher-jdk.compiler.gmk
+++ b/make/launcher/Launcher-jdk.compiler.gmk
@@ -27,14 +27,12 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javac, \
MAIN_CLASS := com.sun.tools.javac.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, serialver, \
MAIN_CLASS := sun.tools.serialver.SerialVer, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
@@ -43,7 +41,6 @@ ifeq ($(ENABLE_SJAVAC), yes)
# into any real images
$(eval $(call SetupBuildLauncher, sjavac, \
MAIN_CLASS := com.sun.tools.sjavac.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
OUTPUT_DIR := $(JDK_OUTPUTDIR)/bin, \
))
diff --git a/make/launcher/Launcher-jdk.hotspot.agent.gmk b/make/launcher/Launcher-jdk.hotspot.agent.gmk
index 9f12b05b172..76da3600368 100644
--- a/make/launcher/Launcher-jdk.hotspot.agent.gmk
+++ b/make/launcher/Launcher-jdk.hotspot.agent.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jhsdb, \
MAIN_CLASS := sun.jvm.hotspot.SALauncher, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
diff --git a/make/launcher/Launcher-jdk.jartool.gmk b/make/launcher/Launcher-jdk.jartool.gmk
index 647d82b65b1..f74e82bfdae 100644
--- a/make/launcher/Launcher-jdk.jartool.gmk
+++ b/make/launcher/Launcher-jdk.jartool.gmk
@@ -27,10 +27,8 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jar, \
MAIN_CLASS := sun.tools.jar.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jarsigner, \
MAIN_CLASS := sun.security.tools.jarsigner.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.javadoc.gmk b/make/launcher/Launcher-jdk.javadoc.gmk
index c3d2093be04..889028a2b17 100644
--- a/make/launcher/Launcher-jdk.javadoc.gmk
+++ b/make/launcher/Launcher-jdk.javadoc.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javadoc, \
MAIN_CLASS := jdk.javadoc.internal.tool.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jcmd.gmk b/make/launcher/Launcher-jdk.jcmd.gmk
index 761a52d8466..7117fa78059 100644
--- a/make/launcher/Launcher-jdk.jcmd.gmk
+++ b/make/launcher/Launcher-jdk.jcmd.gmk
@@ -30,7 +30,6 @@ $(eval $(call SetupBuildLauncher, jinfo, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
-Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
- -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
@@ -38,36 +37,28 @@ $(eval $(call SetupBuildLauncher, jmap, \
MAIN_CLASS := sun.tools.jmap.JMap, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
- -XX:+DisableHotswapAgent, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jps, \
MAIN_CLASS := sun.tools.jps.Jps, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jstack, \
MAIN_CLASS := sun.tools.jstack.JStack, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
- -XX:+DisableHotswapAgent, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jstat, \
MAIN_CLASS := sun.tools.jstat.Jstat, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jcmd, \
MAIN_CLASS := sun.tools.jcmd.JCmd, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.jdeps.gmk b/make/launcher/Launcher-jdk.jdeps.gmk
index 5448278dae7..217523c48cc 100644
--- a/make/launcher/Launcher-jdk.jdeps.gmk
+++ b/make/launcher/Launcher-jdk.jdeps.gmk
@@ -27,18 +27,15 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javap, \
MAIN_CLASS := com.sun.tools.javap.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeps, \
MAIN_CLASS := com.sun.tools.jdeps.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeprscan, \
MAIN_CLASS := com.sun.tools.jdeprscan.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jdi.gmk b/make/launcher/Launcher-jdk.jdi.gmk
index 27bd448e3ae..fcce98cf430 100644
--- a/make/launcher/Launcher-jdk.jdi.gmk
+++ b/make/launcher/Launcher-jdk.jdi.gmk
@@ -27,5 +27,4 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jdb, \
MAIN_CLASS := com.sun.tools.example.debug.tty.TTY, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.jlink.gmk b/make/launcher/Launcher-jdk.jlink.gmk
index 9e61edeb2c8..df2173996d7 100644
--- a/make/launcher/Launcher-jdk.jlink.gmk
+++ b/make/launcher/Launcher-jdk.jlink.gmk
@@ -27,21 +27,18 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jimage,\
MAIN_CLASS := jdk.tools.jimage.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES, \
))
$(eval $(call SetupBuildLauncher, jlink,\
MAIN_CLASS := jdk.tools.jlink.internal.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jmod,\
MAIN_CLASS := jdk.tools.jmod.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jshell.gmk b/make/launcher/Launcher-jdk.jshell.gmk
index 7287f8f998a..349eb88e9eb 100644
--- a/make/launcher/Launcher-jdk.jshell.gmk
+++ b/make/launcher/Launcher-jdk.jshell.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jshell, \
MAIN_CLASS := jdk.internal.jshell.tool.JShellToolProvider, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jstatd.gmk b/make/launcher/Launcher-jdk.jstatd.gmk
index e1657910c67..e9286d63094 100644
--- a/make/launcher/Launcher-jdk.jstatd.gmk
+++ b/make/launcher/Launcher-jdk.jstatd.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jstatd, \
MAIN_CLASS := sun.tools.jstatd.Jstatd, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.pack.gmk b/make/launcher/Launcher-jdk.pack.gmk
index 64bbbb7c949..a93fd2a9017 100644
--- a/make/launcher/Launcher-jdk.pack.gmk
+++ b/make/launcher/Launcher-jdk.pack.gmk
@@ -28,7 +28,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, pack200, \
MAIN_MODULE := java.base, \
MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-jdk.rmic.gmk b/make/launcher/Launcher-jdk.rmic.gmk
index b8a55900b0e..d60c3d9b60b 100644
--- a/make/launcher/Launcher-jdk.rmic.gmk
+++ b/make/launcher/Launcher-jdk.rmic.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmic, \
MAIN_CLASS := sun.rmi.rmic.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
index bd39f8595b2..82311e69fd6 100644
--- a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
+++ b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jjs, \
MAIN_CLASS := jdk.nashorn.tools.jjs.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DENABLE_ARG_FILES, \
))
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index c5635bb8537..d7fee6a8c95 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -4310,11 +4310,17 @@ void Arguments::setup_hotswap_agent() {
if (DumpSharedSpaces)
return;
- if (!AllowEnhancedClassRedefinition)
+ if (HotswapAgent == NULL || strcmp(HotswapAgent, "disabled") == 0)
return;
+ // Force AllowEnhancedClassRedefinition if HA is enabled
+ AllowEnhancedClassRedefinition = true;
+
+ bool ha_fatjar = strcmp(HotswapAgent, "fatjar") == 0;
+ bool ha_core = strcmp(HotswapAgent, "core") == 0;
+
// Set HotswapAgent
- if (!DisableHotswapAgent) {
+ if (ha_fatjar || ha_core) {
char ext_path_str[JVM_MAXPATHLEN];
@@ -4333,23 +4339,27 @@ void Arguments::setup_hotswap_agent() {
}
}
if (ext_path_length < JVM_MAXPATHLEN - 10) {
- jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
- "%shotswap%shotswap-agent.jar", os::file_separator(), os::file_separator());
- }
-
- int fd = ::open(ext_path_str, O_RDONLY);
- if (fd >= 0) {
- os::close(fd);
- size_t length = strlen(ext_path_str) + 1;
- char *options = NEW_C_HEAP_ARRAY(char, length, mtArguments);
- jio_snprintf(options, length, "%s", ext_path_str);
- add_init_agent("instrument", ext_path_str, false);
- jio_fprintf(defaultStream::output_stream(), "Starting HotswapAgent '%s'\n", ext_path_str);
- }
-// else
-// {
-// jio_fprintf(defaultStream::error_stream(), "HotswapAgent not found on path:'%s'\n", ext_path_str);
-// }
+ if (ha_fatjar) {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
+ "%shotswap%shotswap-agent.jar", os::file_separator(), os::file_separator());
+ } else {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
+ "%shotswap%shotswap-agent-core.jar", os::file_separator(), os::file_separator());
+ }
+ int fd = ::open(ext_path_str, O_RDONLY);
+ if (fd >= 0) {
+ os::close(fd);
+ size_t length = strlen(ext_path_str) + 1;
+ char *options = NEW_C_HEAP_ARRAY(char, length, mtArguments);
+ jio_snprintf(options, length, "%s", ext_path_str);
+ add_init_agent("instrument", ext_path_str, false);
+ jio_fprintf(defaultStream::output_stream(), "Starting HotswapAgent '%s'\n", ext_path_str);
+ }
+ else
+ {
+ jio_fprintf(defaultStream::error_stream(), "HotswapAgent not found on path:'%s'!\n", ext_path_str);
+ }
+ }
}
// TODO: open it only for org.hotswap.agent module
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
index 16d8030fd1c..94044c4831c 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
@@ -199,6 +199,26 @@ public:
}
};
+class JVMFlagConstraint_ccstr : public JVMFlagConstraint {
+ JVMFlagConstraintFunc_ccstr _constraint;
+ const ccstr* _ptr;
+
+public:
+ // the "name" argument must be a string literal
+ JVMFlagConstraint_ccstr(const char* name, const ccstr* ptr,
+ JVMFlagConstraintFunc_ccstr func,
+ ConstraintType type) : JVMFlagConstraint(name, type), _constraint(func), _ptr(ptr) {}
+
+ JVMFlag::Error apply(bool verbose) {
+ ccstr value = *_ptr;
+ return _constraint(value, verbose);
+ }
+
+ JVMFlag::Error apply_ccstr(ccstr value, bool verbose) {
+ return _constraint(value, verbose);
+ }
+};
+
// No constraint emitting
void emit_constraint_no(...) { /* NOP */ }
@@ -239,6 +259,9 @@ void emit_constraint_size_t(const char* name, const size_t* ptr, JVMFlagConstrai
void emit_constraint_double(const char* name, const double* ptr, JVMFlagConstraintFunc_double func, JVMFlagConstraint::ConstraintType type) {
JVMFlagConstraintList::add(new JVMFlagConstraint_double(name, ptr, func, type));
}
+void emit_constraint_ccstr(const char* name, ccstr* ptr, JVMFlagConstraintFunc_ccstr func, JVMFlagConstraint::ConstraintType type) {
+ JVMFlagConstraintList::add(new JVMFlagConstraint_ccstr(name, ptr, func, type));
+}
// Generate code to call emit_constraint_xxx function
#define EMIT_CONSTRAINT_PRODUCT_FLAG(type, name, value, doc) ); emit_constraint_##type(#name,&name
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
index 9c27f1db955..b644f7b817a 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
@@ -47,6 +47,7 @@ typedef JVMFlag::Error (*JVMFlagConstraintFunc_uintx)(uintx value, bool verbose)
typedef JVMFlag::Error (*JVMFlagConstraintFunc_uint64_t)(uint64_t value, bool verbose);
typedef JVMFlag::Error (*JVMFlagConstraintFunc_size_t)(size_t value, bool verbose);
typedef JVMFlag::Error (*JVMFlagConstraintFunc_double)(double value, bool verbose);
+typedef JVMFlag::Error (*JVMFlagConstraintFunc_ccstr)(ccstr value, bool verbose);
class JVMFlagConstraint : public CHeapObj<mtArguments> {
public:
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
index 6559d4252f0..21afac72a2e 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
@@ -140,3 +140,13 @@ JVMFlag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose) {
}
return JVMFlag::SUCCESS;
}
+
+JVMFlag::Error HotswapAgentConstraintFunc(char const* value, bool verbose) {
+ if (value != NULL) {
+ if (strcmp("disabled", value) != 0 && strcmp("fatjar", value) != 0 && strcmp("core", value) != 0 && strcmp("external", value) != 0) {
+ JVMFlag::printError(verbose, "HotswapAgent(%s) must be one of disabled,fatjar,core or external.\n", value);
+ return JVMFlag::VIOLATES_CONSTRAINT;
+ }
+ }
+ return JVMFlag::SUCCESS;
+}
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
index 8763b83fd37..c9ed15a89e1 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
@@ -46,5 +46,6 @@ JVMFlag::Error PerfDataSamplingIntervalFunc(intx value, bool verbose);
JVMFlag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose);
+JVMFlag::Error HotswapAgentConstraintFunc(char const* value, bool verbose);
#endif /* SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSRUNTIME_HPP */
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index d4453de1ff5..8c41f0af888 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2686,8 +2686,16 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
"Allow enhanced class redefinition beyond swapping method " \
"bodies") \
\
- product(bool, DisableHotswapAgent, DISABLED_HOTSWAP_AGENT, \
- "Disable integrated Hotswap Agent (HotswapVM only)")
+ product(ccstr, HotswapAgent, "disabled", \
+ "Specify HotswapAgent image to be used." \
+ "disabled: hotswap agent is disabled (default)" \
+ "fatjar: full HA. Use integrated hotswap-agent.jar" \
+ "core: core HA. Use integrated hotswap-agent-core.jar" \
+ "external: external HA. use external HA, open required JDK " \
+ "modules.") \
+ constraint(HotswapAgentConstraintFunc, AfterErgo)
+
+
#define VM_FLAGS(develop, \
develop_pd, \
product, \
--
2.23.0

View File

@@ -0,0 +1,333 @@
From f279999a412cc87c6f4a7eed7e1e2ad34655b4fe Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 8 Mar 2021 02:22:54 +0700
Subject: [PATCH 26/28] Support for redefinition of Well Known classses
(java.*,jdk.*, sun.*)
---
src/hotspot/share/ci/ciKlass.hpp | 1 +
src/hotspot/share/ci/ciObjectFactory.cpp | 34 +++++++++++
src/hotspot/share/ci/ciObjectFactory.hpp | 6 ++
.../share/classfile/systemDictionary.cpp | 10 +++
.../share/classfile/systemDictionary.hpp | 2 +
src/hotspot/share/classfile/vmSymbols.hpp | 2 +
src/hotspot/share/compiler/compileBroker.cpp | 11 ++++
src/hotspot/share/memory/universe.cpp | 8 +++
src/hotspot/share/memory/universe.hpp | 3 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 61 ++++++++++++++++++-
.../prims/jvmtiEnhancedRedefineClasses.hpp | 2 +
11 files changed, 139 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/ci/ciKlass.hpp b/src/hotspot/share/ci/ciKlass.hpp
index 896f489453a..c610c365aba 100644
--- a/src/hotspot/share/ci/ciKlass.hpp
+++ b/src/hotspot/share/ci/ciKlass.hpp
@@ -129,6 +129,7 @@ public:
void print_name_on(outputStream* st);
const char* external_name() const;
+ Klass* new_version() { return get_Klass()->new_version(); }
};
#endif // SHARE_VM_CI_CIKLASS_HPP
diff --git a/src/hotspot/share/ci/ciObjectFactory.cpp b/src/hotspot/share/ci/ciObjectFactory.cpp
index 66bbe835e7b..107c16fa5cf 100644
--- a/src/hotspot/share/ci/ciObjectFactory.cpp
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp
@@ -70,7 +70,10 @@ GrowableArray<ciMetadata*>* ciObjectFactory::_shared_ci_metadata = NULL;
ciSymbol* ciObjectFactory::_shared_ci_symbols[vmSymbols::SID_LIMIT];
int ciObjectFactory::_shared_ident_limit = 0;
volatile bool ciObjectFactory::_initialized = false;
+volatile bool ciObjectFactory::_reinitialize_wk_klasses = false;
+// TODO: review...
+Arena* ciObjectFactory::_initial_arena = NULL;
// ------------------------------------------------------------------
// ciObjectFactory::ciObjectFactory
@@ -112,6 +115,7 @@ void ciObjectFactory::initialize() {
// compiler thread that initializes the initial ciObjectFactory which
// creates the shared ciObjects that all later ciObjectFactories use.
Arena* arena = new (mtCompiler) Arena(mtCompiler);
+ ciObjectFactory::_initial_arena = arena;
ciEnv initial(arena);
ciEnv* env = ciEnv::current();
env->_factory->init_shared_objects();
@@ -120,6 +124,36 @@ void ciObjectFactory::initialize() {
}
+// (DCEVM) wk classes could be modified
+void ciObjectFactory::reinitialize_wk_classes() {
+ ASSERT_IN_VM;
+ JavaThread* thread = JavaThread::current();
+ HandleMark handle_mark(thread);
+
+ // This Arena is long lived and exists in the resource mark of the
+ // compiler thread that initializes the initial ciObjectFactory which
+ // creates the shared ciObjects that all later ciObjectFactories use.
+ // Arena* arena = new (mtCompiler) Arena(mtCompiler);
+ ciEnv initial(ciObjectFactory::_initial_arena);
+ ciEnv* env = ciEnv::current();
+ env->_factory->do_reinitialize_wk_classes();
+ _reinitialize_wk_klasses = false;
+}
+
+// (DCEVM) wk classes could be modified
+void ciObjectFactory::do_reinitialize_wk_classes() {
+#define WK_KLASS_DEFN(name, ignore_s, opt) \
+ if (ciEnv::_##name != NULL && ciEnv::_##name->new_version() != NULL) { \
+ int old_ident = ciEnv::_##name->ident(); \
+ ciEnv::_##name = get_metadata(SystemDictionary::name())->as_instance_klass(); \
+ ciEnv::_##name->compute_nonstatic_fields(); \
+ ciEnv::_##name->set_ident(old_ident); \
+ }
+
+ WK_KLASSES_DO(WK_KLASS_DEFN)
+#undef WK_KLASS_DEFN
+}
+
void ciObjectFactory::init_shared_objects() {
_next_ident = 1; // start numbering CI objects at 1
diff --git a/src/hotspot/share/ci/ciObjectFactory.hpp b/src/hotspot/share/ci/ciObjectFactory.hpp
index 3e9d48c4cdc..79059f6e2e8 100644
--- a/src/hotspot/share/ci/ciObjectFactory.hpp
+++ b/src/hotspot/share/ci/ciObjectFactory.hpp
@@ -41,9 +41,11 @@ class ciObjectFactory : public ResourceObj {
private:
static volatile bool _initialized;
+ static volatile bool _reinitialize_wk_klasses;
static GrowableArray<ciMetadata*>* _shared_ci_metadata;
static ciSymbol* _shared_ci_symbols[];
static int _shared_ident_limit;
+ static Arena* _initial_arena;
Arena* _arena;
GrowableArray<ciMetadata*>* _ci_metadata;
@@ -89,10 +91,14 @@ private:
ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
static int compare_cimetadata(ciMetadata** a, ciMetadata** b);
+ void do_reinitialize_wk_classes();
public:
static bool is_initialized() { return _initialized; }
+ static bool is_reinitialize_wk_klasses() { return _reinitialize_wk_klasses; }
+ static void set_reinitialize_wk_klasses() { _reinitialize_wk_klasses = true; }
static void initialize();
+ static void reinitialize_wk_classes();
void init_shared_objects();
void remove_symbols();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 789b5fb1e6d..25e577a664c 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1983,6 +1983,16 @@ bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
}
#endif
+bool SystemDictionary::update_well_known_klass(InstanceKlass* old_klass, InstanceKlass* new_klass) {
+ for (int id = FIRST_WKID; id < WKID_LIMIT; id++) {
+ if (well_known_klass((WKID) id) == old_klass) {
+ *well_known_klass_addr((WKID)id) = new_klass;
+ return true;
+ }
+ }
+ return false;
+}
+
bool SystemDictionary::resolve_wk_klass(WKID id, int init_opt, TRAPS) {
assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
int info = wk_init_info[id - FIRST_WKID];
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 1dbbffa197f..4220978a025 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -467,6 +467,8 @@ public:
static bool is_well_known_klass(Symbol* class_name);
#endif
+ static bool update_well_known_klass(InstanceKlass* new_klass, InstanceKlass* old_klass);
+
// Enhanced class redefinition
static void remove_from_hierarchy(InstanceKlass* k);
static void update_constraints_after_redefinition();
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 2409af9b06e..daaa8d12375 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -355,6 +355,8 @@
template(exit_method_name, "exit") \
template(add_method_name, "add") \
template(remove_method_name, "remove") \
+ template(registerNatives_method_name, "registerNatives") \
+ template(initIDs_method_name, "initIDs") \
template(parent_name, "parent") \
template(threads_name, "threads") \
template(groups_name, "groups") \
diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp
index 765b8ffa4dc..25271feb41f 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -1877,6 +1877,17 @@ void CompileBroker::compiler_thread_loop() {
if (method()->number_of_breakpoints() == 0) {
// Compile the method.
if ((UseCompiler || AlwaysCompileLoopMethods) && CompileBroker::should_compile_new_jobs()) {
+
+ // TODO: review usage of CompileThread_lock (DCEVM)
+ if (ciObjectFactory::is_reinitialize_wk_klasses())
+ {
+ ASSERT_IN_VM;
+ MutexLocker only_one (CompileThread_lock, thread);
+ if (ciObjectFactory::is_reinitialize_wk_klasses()) {
+ ciObjectFactory::reinitialize_wk_classes();
+ }
+ }
+
invoke_compiler_on_method(task);
thread->start_idle_timer();
} else {
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 3dc4cc1323c..6b88271b5ef 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -1030,6 +1030,14 @@ void Universe::initialize_known_methods(TRAPS) {
vmSymbols::doStackWalk_signature(), false, CHECK);
}
+void Universe::reinitialize_loader_addClass_method(TRAPS) {
+ // Set up method for registering loaded classes in class loader vector
+ initialize_known_method(_loader_addClass_cache,
+ SystemDictionary::ClassLoader_klass(),
+ "addClass",
+ vmSymbols::class_void_signature(), false, CHECK);
+}
+
void universe2_init() {
EXCEPTION_MARK;
Universe::genesis(CATCH);
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index 742dada0e8f..d1af82b5fa7 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -349,6 +349,9 @@ class Universe: AllStatic {
// Function to initialize these
static void initialize_known_methods(TRAPS);
+ // Enhanced class redefinition
+ static void reinitialize_loader_addClass_method(TRAPS);
+
static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; }
static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; }
static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; }
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index f4bde7504c8..80d4e68ccae 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -497,6 +497,16 @@ void VM_EnhancedRedefineClasses::doit() {
redefine_single_class(_new_classes->at(i), thread);
}
+ // Update possible redefinition of well-known classes (like ClassLoader)
+ for (int i = 0; i < _new_classes->length(); i++) {
+ InstanceKlass* cur = _new_classes->at(i);
+ if (cur->old_version() != NULL && SystemDictionary::update_well_known_klass(InstanceKlass::cast(cur->old_version()), cur))
+ {
+ log_trace(redefine, class, obsolete, metadata)("Well known class updated %s", cur->external_name());
+ ciObjectFactory::set_reinitialize_wk_klasses();
+ }
+ }
+
// Deoptimize all compiled code that depends on this class (do only once, because it clears whole cache)
// if (_max_redefinition_flags > Klass::ModifyClass) {
flush_dependent_code(NULL, thread);
@@ -672,12 +682,56 @@ void VM_EnhancedRedefineClasses::doit() {
_timer_vm_op_doit.stop();
}
+void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
+ if (!_new_classes->is_empty()) {
+ ResourceMark rm(Thread::current());
+
+ for (int i = 0; i < _new_classes->length(); i++) {
+ InstanceKlass* cur = _new_classes->at(i);
+
+ if (cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/")) {
+
+ if (cur == SystemDictionary::ClassLoader_klass()) {
+ // ClassLoader.addClass method is cached in Universe, we must redefine
+ Universe::reinitialize_loader_addClass_method(Thread::current());
+ log_trace(redefine, class, obsolete, metadata)("Reinitialize ClassLoade addClass method cache.");
+ }
+
+ // naive assumptions that only JDK classes has native static "registerNative" and "initIDs" methods
+ int end;
+ Symbol* signature = vmSymbols::registerNatives_method_name();
+ int midx = cur->find_method_by_name(signature, &end);
+ if (midx == -1) {
+ signature = vmSymbols::initIDs_method_name();
+ midx = cur->find_method_by_name(signature, &end);
+ }
+ Method* m = NULL;
+ if (midx != -1) {
+ m = cur->methods()->at(midx);
+ }
+ if (m != NULL && m->is_static() && m->is_native()) {
+ // call static registerNative if present
+ JavaValue result(T_VOID);
+ JavaCalls::call_static(&result,
+ cur,
+ signature,
+ vmSymbols::void_method_signature(),
+ Thread::current());
+ log_trace(redefine, class, obsolete, metadata)("Reregister natives of JDK class %s", cur->external_name());
+ }
+ }
+ }
+ }
+}
+
// Cleanup - runs in JVM thread
// - free used memory
// - end GC
void VM_EnhancedRedefineClasses::doit_epilogue() {
VM_GC_Operation::doit_epilogue();
+ reinitializeJDKClasses();
+
if (_new_classes != NULL) {
delete _new_classes;
}
@@ -1589,7 +1643,12 @@ void VM_EnhancedRedefineClasses::check_methods_and_mark_as_obsolete() {
// obsolete methods need a unique idnum so they become new entries in
// the jmethodID cache in InstanceKlass
- assert(old_method->method_idnum() == new_method->method_idnum(), "must match");
+ if (old_method->method_idnum() != new_method->method_idnum()) {
+ log_error(redefine, class, normalize)
+ ("Method not matched: %d != %d old: %s = new: %s", old_method->method_idnum(), new_method->method_idnum(),
+ old_method->name_and_sig_as_C_string(), new_method->name_and_sig_as_C_string());
+ // assert(old_method->method_idnum() == new_method->method_idnum(), "must match");
+ }
// u2 num = InstanceKlass::cast(_the_class_oop)->next_method_idnum();
// if (num != ConstMethod::UNSET_IDNUM) {
// old_method->set_method_idnum(num);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 4c0412d343d..79ea17b0d47 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -141,6 +141,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void flush_dependent_code(InstanceKlass* k_h, TRAPS);
+ void reinitializeJDKClasses();
+
static void check_class(InstanceKlass* k_oop, TRAPS);
static void dump_methods();
--
2.23.0

View File

@@ -0,0 +1,27 @@
From 416d06e7e5f3517e9303b0b5a705888e4db740bd Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 19 Mar 2021 19:13:38 +0100
Subject: [PATCH 27/28] JBR-3458: Skip dynamic proxy classes based on
com.sun.proxy
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 80d4e68ccae..10c375d601c 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -689,7 +689,8 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
for (int i = 0; i < _new_classes->length(); i++) {
InstanceKlass* cur = _new_classes->at(i);
- if (cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/")) {
+ if ((cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/"))
+ && cur->name()->index_of_at(0, "$$") == -1) { // skip dynamic proxies
if (cur == SystemDictionary::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
--
2.23.0

View File

@@ -0,0 +1,79 @@
From 88e0325768b074607f5f9edfbb7f8e4a76159942 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 20 Mar 2021 20:51:08 +0100
Subject: [PATCH 28/28] JBR-3459: Fix race condition in
ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.
---
src/hotspot/share/classfile/classLoaderData.cpp | 10 ++++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 4 ++++
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 13 +++++++++++--
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 4e06b09e7d5..f319cca3b2b 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1166,6 +1166,16 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
+void ClassLoaderDataGraph::anonymous_classes_do(KlassClosure* klass_closure) {
+ Thread* thread = Thread::current();
+ for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
+ if (cld->is_anonymous()) {
+ Handle holder(thread, cld->holder_phantom());
+ cld->classes_do(klass_closure);
+ }
+ }
+}
+
void ClassLoaderDataGraph::classes_do(void f(Klass* const)) {
Thread* thread = Thread::current();
for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 16711dca237..b10fafa01e5 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -108,6 +108,10 @@ class ClassLoaderDataGraph : public AllStatic {
// for redefinition. These classes are removed during the next class unloading.
// Walking the ClassLoaderDataGraph also includes anonymous classes.
static void classes_do(KlassClosure* klass_closure);
+
+ // Enhanced class redefinition
+ static void anonymous_classes_do(KlassClosure* klass_closure);
+
static void classes_do(void f(Klass* const));
static void methods_do(void f(Method*));
static void modules_do(void f(ModuleEntry*));
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 10c375d601c..5de5f78aea0 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2130,8 +2130,17 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::classes_do(&closure);
- //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+ // 0. we can't use ClassLoaderDataGraph::classes_do since classes can be uninitialized in cld,
+ // fully initialized class is in system dictionary
+ // ClassLoaderDataGraph::classes_do(&closure);
+
+ // 1. Scan over dictionaries
+ ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ // 2. Anonymous class is not in dictionary, we have to iterate anonymous cld directly, but there is race cond...
+ // TODO: review ... anonymous class is added to cld before InstanceKlass initialization,
+ // find out how to check if the InstanceKlass is initialized
+ ClassLoaderDataGraph::anonymous_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -168,14 +168,6 @@ JAVADOC_TOP := \
font-family: DejaVu Sans, Arial, Helvetica, sans-serif; \
font-weight: normal;">$(DRAFT_TEXT)</div>
JDK_INDEX_CONTENT := \
<!DOCTYPE html> \
<html lang="en"> \
<head> \
<meta http-equiv="refresh" content="0;url=api/index.html"> \
</head> \
</html>
################################################################################
# JDK javadoc titles/text snippets
@@ -485,14 +477,7 @@ $(eval $(call SetupApiDocsGeneration, REFERENCE_API, \
################################################################################
JDK_INDEX_HTML := $(DOCS_OUTPUTDIR)/index.html
$(JDK_INDEX_HTML):
$(ECHO) '$(JDK_INDEX_CONTENT)' > $@
JDK_INDEX_TARGETS += $(JDK_INDEX_HTML)
# Copy the global resources
# Copy the global resources, including the top-level redirect index.html
GLOBAL_SPECS_RESOURCES_DIR := $(TOPDIR)/make/data/docs-resources/
$(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \
SRC := $(GLOBAL_SPECS_RESOURCES_DIR), \

View File

@@ -532,6 +532,7 @@ define SetupRunGtestTestBody
$$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \
-jdk $(JDK_IMAGE_DIR) $$($1_GTEST_FILTER) \
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \
--gtest_catch_exceptions=0 \
$$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \
$$(GTEST_JAVA_OPTIONS) $$($1_AOT_OPTIONS) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \

View File

@@ -715,9 +715,21 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# CFLAGS PER CPU
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
AC_MSG_CHECKING([if $1 is x86])
if test "x$FLAGS_CPU" = xx86; then
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if control flow protection is enabled by additional compiler flags])
if echo "${EXTRA_CFLAGS}${EXTRA_CXXFLAGS}${EXTRA_ASFLAGS}" | ${GREP} -q 'fcf-protection' ; then
# cf-protection requires CMOV and thus i686
$1_CFLAGS_CPU="-march=i686"
AC_MSG_RESULT([yes, forcing ${$1_CFLAGS_CPU}])
else
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([no, forcing ${$1_CFLAGS_CPU}])
fi
else
AC_MSG_RESULT([no])
fi
fi

View File

@@ -118,7 +118,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Assume clang or gcc.
# FIXME: We should really generalize SET_SHARED_LIBRARY_ORIGIN instead.
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
OS_LDFLAGS_JDK_ONLY="-mmacosx-version-min=$MACOSX_VERSION_MIN"
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN"
fi
fi
@@ -209,13 +209,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
# Export variables according to old definitions, prefix with $2 if present.
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
$OS_LDFLAGS_JDK_ONLY $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS"
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
${$1_CPU_EXECUTABLE_LDFLAGS}"
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS_JVM_ONLY \
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS $OS_LDFLAGS_JVM_ONLY \
$DEBUGLEVEL_LDFLAGS $DEBUGLEVEL_LDFLAGS_JVM_ONLY $BASIC_LDFLAGS_ONLYCXX \
${$1_CPU_LDFLAGS} ${$1_CPU_LDFLAGS_JVM_ONLY} ${$2EXTRA_LDFLAGS}"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -107,6 +107,16 @@ AC_DEFUN([FLAGS_SETUP_ASFLAGS],
[
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
JVM_BASIC_ASFLAGS="-x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16"
# Fix linker warning.
# Code taken from make/autoconf/flags-cflags.m4 and adapted.
JVM_BASIC_ASFLAGS+="-DMAC_OS_X_VERSION_MIN_REQUIRED=$MACOSX_VERSION_MIN_NODOTS \
-mmacosx-version-min=$MACOSX_VERSION_MIN"
if test -n "$MACOSX_VERSION_MAX"; then
JVM_BASIC_ASFLAGS+="$OS_CFLAGS \
-DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS"
fi
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -291,11 +291,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[AS_HELP_STRING([--with-native-debug-symbols],
[set the native debug symbol configuration (none, internal, external, zipped) @<:@varying@:>@])],
[
if test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
fi
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
if test "x$OPENJDK_TARGET_OS" = xwindows; then
if test "x$withval" = xinternal; then
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
fi
@@ -305,12 +301,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
else
with_native_debug_symbols="external"
fi
with_native_debug_symbols="external"
fi
])
AC_MSG_RESULT([$with_native_debug_symbols])

View File

@@ -173,6 +173,16 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
FREETYPE_BASE_DIR="$SYSROOT/usr"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
fi
if (test "x$FOUND_FREETYPE" != "xyes"); then
FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])

View File

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

View File

@@ -209,6 +209,33 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
esac
])
# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
# Converts autoconf style OS name to OpenJDK style, into
# VAR_ABI.
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_ABI],
[
case "$1" in
*linux*-musl)
VAR_ABI=musl
;;
*linux*-gnu)
VAR_ABI=gnu
;;
*linux*-gnueabi)
VAR_ABI=gnueabi
;;
*linux*-gnueabihf)
VAR_ABI=gnueabihf
;;
*linux*-gnuabi64)
VAR_ABI=gnuabi64
;;
*)
VAR_ABI=default
;;
esac
])
# Expects $host_os $host_cpu $build_os and $build_cpu
# and $with_target_bits to have been setup!
#
@@ -229,6 +256,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu, $build_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($build_os)
# ..and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then
@@ -245,6 +273,8 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_BUILD_CPU_AUTOCONF="$build_cpu"
OPENJDK_BUILD_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_BUILD_OS)
AC_SUBST(OPENJDK_BUILD_OS_TYPE)
AC_SUBST(OPENJDK_BUILD_OS_ENV)
@@ -252,6 +282,8 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
AC_SUBST(OPENJDK_BUILD_CPU_AUTOCONF)
AC_SUBST(OPENJDK_BUILD_ABI)
AC_MSG_CHECKING([openjdk-build os-cpu])
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
@@ -259,6 +291,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu, $host_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($host_os)
# ... and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then
@@ -275,7 +308,9 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_TARGET_CPU_AUTOCONF="$host_cpu"
OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
OPENJDK_TARGET_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_TARGET_OS)
AC_SUBST(OPENJDK_TARGET_OS_TYPE)
@@ -285,6 +320,8 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
AC_SUBST(OPENJDK_TARGET_CPU_AUTOCONF)
AC_SUBST(OPENJDK_TARGET_ABI)
AC_MSG_CHECKING([openjdk-target os-cpu])
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])

View File

@@ -382,7 +382,7 @@ GCOV_ENABLED=@GCOV_ENABLED@
export ASAN_ENABLED:=@ASAN_ENABLED@
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
ifeq ($(ASAN_ENABLED), yes)
export ASAN_OPTIONS="handle_segv=0 detect_leaks=0"
export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
ifneq ($(DEVKIT_LIB_DIR),)
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -87,6 +87,7 @@ VS_SDK_INSTALLDIR_2017=
VS_VS_PLATFORM_NAME_2017="v141"
VS_SDK_PLATFORM_NAME_2017=
VS_SUPPORTED_2017=true
VS_TOOLSET_SUPPORTED_2017=true
################################################################################
@@ -98,7 +99,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VS_BASE)
# In VS 2017, the default installation is in a subdir named after the edition.
# In VS 2017 and VS 2019, the default installation is in a subdir named after the edition.
# Find the first one present and use that.
if test "x$VS_EDITIONS" != x; then
for edition in $VS_EDITIONS; do
@@ -177,6 +178,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
# build environment and assigns it to VS_ENV_CMD
AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
[
# VS2017 provides the option to install previous minor versions of the MSVC
# toolsets. It is not possible to directly download earlier minor versions of
# VS2017 and in order to build with a previous minor compiler toolset version,
# it is now possible to compile with earlier minor versions by passing
# -vcvars_ver=<toolset_version> argument to vcvarsall.bat.
AC_ARG_WITH(msvc-toolset-version, [AS_HELP_STRING([--with-msvc-toolset-version],
[specific MSVC toolset version to use, passed as -vcvars_ver argument to
pass to vcvarsall.bat (Windows only)])])
VS_VERSION="$1"
eval VS_COMNTOOLS_VAR="\${VS_ENVVAR_${VS_VERSION}}"
eval VS_COMNTOOLS="\$${VS_COMNTOOLS_VAR}"
@@ -184,6 +194,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
eval VS_EDITIONS="\${VS_EDITIONS_${VS_VERSION}}"
eval SDK_INSTALL_DIR="\${VS_SDK_INSTALLDIR_${VS_VERSION}}"
eval VS_ENV_ARGS="\${VS_ENV_ARGS_${VS_VERSION}}"
eval VS_TOOLSET_SUPPORTED="\${VS_TOOLSET_SUPPORTED_${VS_VERSION}}"
VS_ENV_CMD=""
@@ -241,6 +252,12 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[C:/Program Files (x86)/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$VS_TOOLSET_SUPPORTED" != x; then
if test "x$with_msvc_toolset_version" != x; then
VS_ENV_ARGS="$VS_ENV_ARGS -vcvars_ver=$with_msvc_toolset_version"
fi
fi
])
################################################################################
@@ -397,6 +414,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VCToolsRedistDir="'\"$VCToolsRedistDir \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' \
@@ -442,6 +461,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
VCToolsRedistDir=`$ECHO "$VCToolsRedistDir" | $SED 's/\\\\* *$//'`
WindowsSdkDir=`$ECHO "$WindowsSdkDir" | $SED 's/\\\\* *$//'`
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
if test -z "$WINDOWSSDKDIR"; then
@@ -561,6 +581,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
fi
else
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
BASIC_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
# Probe: Using well-known location from VS 2017
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_INSTALL_DIR/Redist/MSVC/*/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"

View File

@@ -28,16 +28,16 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=10
DEFAULT_VERSION_UPDATE=13
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2021-01-19
DEFAULT_VERSION_DATE=2021-10-19
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
DEFAULT_PROMOTED_VERSION_PRE=ea
DEFAULT_PROMOTED_VERSION_PRE=
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -239,15 +239,30 @@ ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
) \
)
# When compiling with relative paths, the deps file comes out with relative
# paths.
# When compiling with relative paths, the deps file may come out with relative
# paths, and that path may start with './'. First remove any leading ./, then
# add WORKSPACE_ROOT to any line not starting with /, while allowing for
# leading spaces. There may also be multiple entries on the same line, so start
# with splitting such lines.
# Non GNU sed (BSD on macosx) cannot substitue in literal \n using regex.
# Instead use a bash escaped literal newline. To avoid having unmatched quotes
# ruin the ability for an editor to properly syntax highlight this file, define
# that newline sequence as a separate variable and add the closing quote behind
# a comment.
sed_newline := \'$$'\n''#'
ifeq ($(TOOLCHAIN_TYPE), solstudio)
define fix-deps-file
$(SED) -e 's|\./|$(WORKSPACE_ROOT)/|g' $1.tmp > $1
endef
else
define fix-deps-file
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
$(SED) \
-e 's|\([^ ]\) \{1,\}\([^\\:]\)|\1 \\$(sed_newline) \2|g' \
$1.tmp \
| $(SED) \
-e 's|^\([ ]*\)\./|\1|' \
-e '/^[ ]*[^/ ]/s|^\([ ]*\)|\1$(WORKSPACE_ROOT)/|' \
> $1
endef
endif
else
@@ -823,13 +838,15 @@ define SetupNativeCompilationBody
-include $$($1_PCH_DEPS_TARGETS_FILE)
$1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEPS_FILE)
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) \
$$(addsuffix .tmp, $$($1_PCH_DEPS_FILE))
$$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
$$(call LogInfo, Generating precompiled header)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_PCH_COMMAND) $$< -o $$@))
$$(call fix-deps-file, $$($1_PCH_DEPS_FILE))
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEPS_FILE) \
> $$($1_PCH_DEPS_TARGETS_FILE)
@@ -991,6 +1008,13 @@ define SetupNativeCompilationBody
$(CD) $$($1_OUTPUT_DIR) && \
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
else ifeq ($(OPENJDK_TARGET_OS), aix)
# AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
# so we copy the compiled object with symbols to the .debuginfo file, which
# happens prior to the STRIP_CMD on the original target object file.
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).debuginfo
$1_CREATE_DEBUGINFO_CMDS := $(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES)
else ifeq ($(OPENJDK_TARGET_OS), macosx)
$1_DEBUGINFO_FILES := \
$$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \

View File

@@ -75,7 +75,7 @@ define SetupTestFilesCompilationBody
# Locate all files with the matching prefix
$1_FILE_LIST := \
$$(call FindFiles, $$($1_SOURCE_DIRS), $$($1_PREFIX)*.c)
$$(call FindFiles, $$($1_SOURCE_DIRS), $$($1_PREFIX)*.c $$($1_PREFIX)*.m)
$1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
$1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))

View File

@@ -918,11 +918,12 @@ var getJibProfilesDependencies = function (input, common) {
},
jtreg: {
server: "javare",
revision: "4.2",
build_number: "b13",
server: "jpg",
product: "jtreg",
version: "5.1",
build_number: "b01",
checksum_file: "MD5_VALUES",
file: "jtreg_bin-4.2.zip",
file: "bundles/jtreg_bin-5.1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},
@@ -1160,15 +1161,15 @@ var concatObjects = function (o1, o2) {
* @param patch Override patch version
* @returns {String} The numeric version string
*/
var getVersion = function (feature, interim, update, patch) {
var getVersion = function (feature, interim, update, patch, extra1, extra2, extra3) {
var version_numbers = getVersionNumbers();
var version = (feature != null ? feature : version_numbers.get("DEFAULT_VERSION_FEATURE"))
+ "." + (interim != null ? interim : version_numbers.get("DEFAULT_VERSION_INTERIM"))
+ "." + (update != null ? update : version_numbers.get("DEFAULT_VERSION_UPDATE"))
+ "." + (patch != null ? patch : version_numbers.get("DEFAULT_VERSION_PATCH"))
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA1")
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA2")
+ "." + version_numbers.get("DEFAULT_VERSION_EXTRA3");
+ "." + (extra1 != null ? extra1 : version_numbers.get("DEFAULT_VERSION_EXTRA1"))
+ "." + (extra2 != null ? extra2 : version_numbers.get("DEFAULT_VERSION_EXTRA2"))
+ "." + (extra3 != null ? extra3 : version_numbers.get("DEFAULT_VERSION_EXTRA3"));
while (version.match(".*\\.0$")) {
version = version.substring(0, version.length - 2);
}

View File

@@ -0,0 +1,43 @@
#
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# 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.
#
# Versions and download locations for dependencies used by pre-submit testing.
BOOT_JDK_VERSION=11
JTREG_VERSION=5.1
JTREG_BUILD=b01
GTEST_VERSION=1.8.1
LINUX_X64_BOOT_JDK_FILENAME=openjdk-11_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
LINUX_X64_BOOT_JDK_SHA256=8770f600fc3b89bf331213c7aa21f8eedd9ca5d96036d1cd48cb2748a3dbefd2
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-11_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_windows_hotspot_11.0.12_7.zip
WINDOWS_X64_BOOT_JDK_SHA256=c54123dd4b0d6473221539e7003b8ca1c1757c5588c46465565b03bf8781f807
MACOS_X64_BOOT_JDK_FILENAME=openjdk-11_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.12_7.tar.gz
MACOS_X64_BOOT_JDK_SHA256=13d056ee9a57bf2d5b3af4504c8f8cf7a246c4dff78f96b70dd05dad98075855

View File

@@ -0,0 +1,24 @@
Owner: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Serial number: 0
Valid from: Tue Jul 07 10:37:12 GMT 2015 until: Sat Jun 30 10:37:12 GMT 2040
Signature algorithm name: SHA256withECDSA
Subject Public Key Algorithm: 384-bit EC key
Version: 3
-----BEGIN CERTIFICATE-----
MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN
BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl
bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv
b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ
BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj
YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5
MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0
dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg
QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa
jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi
C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep
lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof
TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
-----END CERTIFICATE-----

View File

@@ -0,0 +1,42 @@
Owner: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Serial number: 0
Valid from: Tue Jul 07 10:11:21 GMT 2015 until: Sat Jun 30 10:11:21 GMT 2040
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix
DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k
IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT
N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v
dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG
A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh
ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx
QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA
4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0
AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10
4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C
ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV
9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD
gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6
Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq
NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko
LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd
ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I
XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI
M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot
9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V
Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea
j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh
X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ
l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf
bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4
pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK
e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0
vm9qp/UsQu0yrbYhnr68
-----END CERTIFICATE-----

View File

@@ -1,27 +0,0 @@
Owner: CN=DST Root CA X3, O=Digital Signature Trust Co.
Issuer: CN=DST Root CA X3, O=Digital Signature Trust Co.
Serial number: 44afb080d6a327ba893039862ef8406b
Valid from: Sat Sep 30 21:12:19 GMT 2000 until: Thu Sep 30 14:01:15 GMT 2021
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

View File

@@ -1,26 +0,0 @@
Owner: CN=Sonera Class2 CA, O=Sonera, C=FI
Issuer: CN=Sonera Class2 CA, O=Sonera, C=FI
Serial number: 1d
Valid from: Fri Apr 06 07:29:40 GMT 2001 until: Tue Apr 06 07:29:40 GMT 2021
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
-----END CERTIFICATE-----

View File

@@ -1,27 +0,0 @@
Owner: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
Issuer: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
Serial number: 36122296c5e338a520a1d25f4cd70954
Valid from: Thu Aug 01 00:00:00 GMT 1996 until: Fri Jan 01 23:59:59 GMT 2021
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIDNjCCAp+gAwIBAgIQNhIilsXjOKUgodJfTNcJVDANBgkqhkiG9w0BAQUFADCB
zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
cnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIxMDEwMTIzNTk1OVow
gc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT
CUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNV
BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRo
YXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1z
ZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560
ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j
+ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBlkKyID1bZ5jA01CbH0FDxkt5r1DmI
CSLGpmODA/eZd9iy5Ri4XWPz1HP7bJyZePFLeH0ZJMMrAoT4vCLZiiLXoPxx7JGH
IPG47LHlVYCsPVLIOQ7C8MAFT9aCdYy9X9LcdpoFEsmvcsPcJX6kTY4XpeCHf+Ga
WuFg3GQjPEIuTQ==
-----END CERTIFICATE-----

View File

@@ -1,26 +0,0 @@
Owner: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Serial number: b92f60cc889fa17a4609b85b706c8aaf
Valid from: Mon May 18 00:00:00 GMT 1998 until: Tue Aug 01 23:59:59 GMT 2028
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1
-----BEGIN CERTIFICATE-----
MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns
YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe
Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX
MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj
IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx
KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM
HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw
DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC
AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji
nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX
rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn
jBJ7xUS0rg==
-----END CERTIFICATE-----

View File

@@ -1,21 +0,0 @@
Owner: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
Issuer: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
Serial number: 3c9131cb1ff6d01b0e9ab8d044bf12be
Valid from: Mon Jan 29 00:00:00 GMT 1996 until: Wed Aug 02 23:59:59 GMT 2028
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
CSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i
2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ
2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ
-----END CERTIFICATE-----

View File

@@ -1,26 +0,0 @@
Owner: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Serial number: 7dd9fe07cfa81eb7107967fba78934c6
Valid from: Mon May 18 00:00:00 GMT 1998 until: Tue Aug 01 23:59:59 GMT 2028
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1
-----BEGIN CERTIFICATE-----
MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg
UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4
pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0
13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID
AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk
U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY
oJ2daZH9
-----END CERTIFICATE-----

View File

@@ -1,24 +0,0 @@
Owner: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
Issuer: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
Serial number: 67c8e1e8e3be1cbdfc913b8ea6238749
Valid from: Wed Jan 01 00:00:00 GMT 1997 until: Fri Jan 01 23:59:59 GMT 2021
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIICsDCCAhmgAwIBAgIQZ8jh6OO+HL38kTuOpiOHSTANBgkqhkiG9w0BAQUFADCB
izELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxML
RHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENl
cnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcN
OTcwMTAxMDAwMDAwWhcNMjEwMTAxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTAT
BgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNV
BAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNV
BAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
MIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u
6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522
FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAS+mqF4EF+3kKMZ/F
QfRWVKvpwuWXjhj+kckMPiZkyaFMJ2SnvQGTVXFuF0853BvcSTUQOSP/ypvIz2Y/
3Ewa1IEGQlIf4SaxFhe65nByMUToTo1b5NP50OOPJWQx5yr4GIg2GlLFDUE1G2m3
JvUXzMEZXkt8XOKDgJH6L/uatxY=
-----END CERTIFICATE-----

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@ public class $NAME_CLZ$ extends Charset implements HistoricallyNamedCharset
}
public CharsetDecoder newDecoder() {
return new SingleByte.Decoder(this, b2c, $ASCIICOMPATIBLE$);
return new SingleByte.Decoder(this, b2c, $ASCIICOMPATIBLE$, $LATIN1DECODABLE$);
}
public CharsetEncoder newEncoder() {

View File

@@ -1,10 +1,13 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -20,21 +23,11 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
<html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;url=api/index.html">
<title>Java API Documentation redirect</title>
</head>
<body>
Verify that high resolution system icons are used JCheckBoxMenuItem
on HiDPI displays.
If the display does not support HiDPI mode press PASS.
1. Run the test on HiDPI Display.
2. Press the Menu in the applet
3. Check that the icon on the JCheckBoxMenuItem is smooth
If so, press PASS, else press FAIL.
<applet code="bug8031573.class" width=250 height=250></applet>
</body>
</html>

View File

@@ -1,4 +1,4 @@
File-Date: 2019-09-16
File-Date: 2020-09-29
%%
Type: language
Subtag: aa
@@ -1530,7 +1530,7 @@ Added: 2005-10-16
%%
Type: language
Subtag: adb
Description: Adabe
Description: Atauran
Added: 2009-07-29
%%
Type: language
@@ -2707,6 +2707,7 @@ Type: language
Subtag: aoh
Description: Arma
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: aoi
@@ -3770,6 +3771,7 @@ Type: language
Subtag: ayy
Description: Tayabas Ayta
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: ayz
@@ -4085,6 +4087,7 @@ Type: language
Subtag: bbz
Description: Babalia Creole Arabic
Added: 2009-07-29
Deprecated: 2020-03-28
Macrolanguage: ar
%%
Type: language
@@ -5755,6 +5758,7 @@ Type: language
Subtag: bpb
Description: Barbacoas
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: bpd
@@ -6011,7 +6015,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: brf
Description: Bera
Description: Bira
Added: 2009-07-29
%%
Type: language
@@ -7374,6 +7378,7 @@ Type: language
Subtag: cca
Description: Cauca
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: ccc
@@ -7480,6 +7485,7 @@ Type: language
Subtag: cdg
Description: Chamari
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: cdh
@@ -7875,6 +7881,11 @@ Description: Cibak
Added: 2009-07-29
%%
Type: language
Subtag: ckm
Description: Chakavian
Added: 2020-03-28
%%
Type: language
Subtag: ckn
Description: Kaang Chin
Added: 2013-09-10
@@ -8121,6 +8132,13 @@ Description: Con
Added: 2009-07-29
%%
Type: language
Subtag: cnp
Description: Northern Ping Chinese
Description: Northern Pinghua
Added: 2020-03-28
Macrolanguage: zh
%%
Type: language
Subtag: cnr
Description: Montenegrin
Added: 2018-01-23
@@ -8564,6 +8582,13 @@ Description: Sochiapan Chinantec
Added: 2009-07-29
%%
Type: language
Subtag: csp
Description: Southern Ping Chinese
Description: Southern Pinghua
Added: 2020-03-28
Macrolanguage: zh
%%
Type: language
Subtag: csq
Description: Croatia Sign Language
Added: 2009-07-29
@@ -9318,6 +9343,7 @@ Macrolanguage: doi
Type: language
Subtag: dgr
Description: Dogrib
Description: Tłı̨chǫ
Added: 2005-10-16
%%
Type: language
@@ -9334,6 +9360,7 @@ Type: language
Subtag: dgu
Description: Degaru
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: dgw
@@ -9720,6 +9747,11 @@ Description: Dugwor
Added: 2009-07-29
%%
Type: language
Subtag: dmf
Description: Medefaidrin
Added: 2020-03-28
%%
Type: language
Subtag: dmg
Description: Upper Kinabatangan
Added: 2009-07-29
@@ -10041,6 +10073,8 @@ Type: language
Subtag: drr
Description: Dororo
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: kzk
%%
Type: language
Subtag: drs
@@ -10330,6 +10364,11 @@ Description: Diri
Added: 2009-07-29
%%
Type: language
Subtag: dwk
Description: Dawik Kui
Added: 2020-03-28
%%
Type: language
Subtag: dwl
Description: Walo Kumbe Dogon
Added: 2009-07-29
@@ -10455,6 +10494,11 @@ Description: Karenggapa
Added: 2013-09-10
%%
Type: language
Subtag: ebc
Description: Beginci
Added: 2020-03-28
%%
Type: language
Subtag: ebg
Description: Ebughu
Added: 2009-07-29
@@ -10576,6 +10620,7 @@ Type: language
Subtag: ekc
Description: Eastern Karnic
Added: 2013-09-10
Deprecated: 2020-03-28
%%
Type: language
Subtag: eke
@@ -11215,6 +11260,11 @@ Description: Fyer
Added: 2009-07-29
%%
Type: language
Subtag: fif
Description: Faifi
Added: 2020-06-08
%%
Type: language
Subtag: fil
Description: Filipino
Description: Pilipino
@@ -11881,6 +11931,7 @@ Added: 2009-07-29
Type: language
Subtag: gdh
Description: Gadjerawang
Description: Gajirrabeng
Added: 2009-07-29
%%
Type: language
@@ -11970,6 +12021,11 @@ Description: Gade
Added: 2009-07-29
%%
Type: language
Subtag: gef
Description: Gerai
Added: 2020-03-28
%%
Type: language
Subtag: geg
Description: Gengle
Added: 2009-07-29
@@ -12381,6 +12437,8 @@ Type: language
Subtag: gli
Description: Guliguli
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: kzk
%%
Type: language
Subtag: glj
@@ -12476,6 +12534,12 @@ Added: 2009-07-29
Scope: collection
%%
Type: language
Subtag: gmr
Description: Mirning
Description: Mirniny
Added: 2020-03-28
%%
Type: language
Subtag: gmu
Description: Gumalu
Added: 2009-07-29
@@ -13155,6 +13219,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: gwc
Description: Gawri
Description: Kalami
Added: 2009-07-29
%%
@@ -13859,6 +13924,11 @@ Description: Chhattisgarhi
Added: 2009-07-29
%%
Type: language
Subtag: hng
Description: Hungu
Added: 2020-03-28
%%
Type: language
Subtag: hnh
Description: ǁAni
Added: 2009-07-29
@@ -14140,6 +14210,7 @@ Added: 2009-07-29
Type: language
Subtag: huc
Description: ǂHua
Description: ǂʼAmkhoe
Added: 2009-07-29
%%
Type: language
@@ -15910,6 +15981,7 @@ Added: 2009-07-29
Type: language
Subtag: kaa
Description: Kara-Kalpak
Description: Karakalpak
Added: 2005-10-16
%%
Type: language
@@ -17067,8 +17139,9 @@ Added: 2009-07-29
%%
Type: language
Subtag: kjf
Description: Khalaj
Description: Khalaj [Indo-Iranian]
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: kjg
@@ -17248,7 +17321,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: kkq
Description: Kaiku
Description: Kaeku
Added: 2009-07-29
%%
Type: language
@@ -17344,7 +17417,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: klj
Description: Turkic Khalaj
Description: Khalaj
Added: 2009-07-29
%%
Type: language
@@ -18497,6 +18570,7 @@ Added: 2009-07-29
Type: language
Subtag: kui
Description: Kuikúro-Kalapálo
Description: Kalapalo
Added: 2009-07-29
%%
Type: language
@@ -18908,6 +18982,8 @@ Type: language
Subtag: kxl
Description: Nepali Kurux
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: kru
%%
Type: language
Subtag: kxm
@@ -18953,6 +19029,8 @@ Type: language
Subtag: kxu
Description: Kui (India)
Added: 2009-07-29
Deprecated: 2020-03-28
Comments: see dwk, uki
%%
Type: language
Subtag: kxv
@@ -20337,6 +20415,7 @@ Type: language
Subtag: lmz
Description: Lumbee
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: lna
@@ -22788,6 +22867,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: moe
Description: Innu
Description: Montagnais
Added: 2009-07-29
%%
@@ -26199,6 +26279,11 @@ Description: Sangtam Naga
Added: 2009-07-29
%%
Type: language
Subtag: nsb
Description: Lower Nossob
Added: 2020-03-28
%%
Type: language
Subtag: nsc
Description: Nshi
Added: 2009-07-29
@@ -26667,6 +26752,8 @@ Type: language
Subtag: nxu
Description: Narau
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: bpp
%%
Type: language
Subtag: nxx
@@ -28166,7 +28253,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: pfe
Description: Peere
Description: Pere
Added: 2009-07-29
%%
Type: language
@@ -28572,6 +28659,7 @@ Type: language
Subtag: plp
Description: Palpa
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: plq
@@ -31132,6 +31220,8 @@ Type: language
Subtag: sdm
Description: Semandang
Added: 2009-07-29
Deprecated: 2020-03-28
Comments: see ebc, gef, sdq
%%
Type: language
Subtag: sdn
@@ -31150,6 +31240,11 @@ Description: Sherdukpen
Added: 2009-07-29
%%
Type: language
Subtag: sdq
Description: Semandang
Added: 2020-03-28
%%
Type: language
Subtag: sdr
Description: Oraon Sadri
Added: 2009-07-29
@@ -33502,6 +33597,7 @@ Type: language
Subtag: tbb
Description: Tapeba
Added: 2009-07-29
Deprecated: 2020-03-28
%%
Type: language
Subtag: tbc
@@ -34219,6 +34315,8 @@ Type: language
Subtag: thw
Description: Thudam
Added: 2009-07-29
Deprecated: 2020-06-08
Preferred-Value: ola
%%
Type: language
Subtag: thx
@@ -36240,6 +36338,11 @@ Description: Ukhwejo
Added: 2009-07-29
%%
Type: language
Subtag: uki
Description: Kui (India)
Added: 2020-03-28
%%
Type: language
Subtag: ukk
Description: Muak Sa-aak
Added: 2017-02-23
@@ -36271,6 +36374,11 @@ Description: Ukue
Added: 2009-07-29
%%
Type: language
Subtag: ukv
Description: Kuku
Added: 2020-03-28
%%
Type: language
Subtag: ukw
Description: Ukwuani-Aboh-Ndoni
Added: 2009-07-29
@@ -37760,6 +37868,11 @@ Description: Kunbarlang
Added: 2009-07-29
%%
Type: language
Subtag: wlh
Description: Welaun
Added: 2020-03-28
%%
Type: language
Subtag: wli
Description: Waioli
Added: 2009-07-29
@@ -39232,6 +39345,11 @@ Description: Nganakarti
Added: 2013-09-10
%%
Type: language
Subtag: xnm
Description: Ngumbarl
Added: 2020-03-28
%%
Type: language
Subtag: xnn
Description: Northern Kankanay
Added: 2009-07-29
@@ -39334,22 +39452,45 @@ Description: Pirriya
Added: 2013-09-10
%%
Type: language
Subtag: xpb
Description: Northeastern Tasmanian
Description: Pyemmairrener
Added: 2020-03-28
%%
Type: language
Subtag: xpc
Description: Pecheneg
Added: 2009-07-29
%%
Type: language
Subtag: xpd
Description: Oyster Bay Tasmanian
Added: 2020-03-28
%%
Type: language
Subtag: xpe
Description: Liberia Kpelle
Added: 2009-07-29
Macrolanguage: kpe
%%
Type: language
Subtag: xpf
Description: Southeast Tasmanian
Description: Nuenonne
Added: 2020-03-28
%%
Type: language
Subtag: xpg
Description: Phrygian
Added: 2009-07-29
%%
Type: language
Subtag: xph
Description: North Midlands Tasmanian
Description: Tyerrenoterpanner
Added: 2020-03-28
%%
Type: language
Subtag: xpi
Description: Pictish
Added: 2009-07-29
@@ -39365,6 +39506,11 @@ Description: Kulina Pano
Added: 2009-07-29
%%
Type: language
Subtag: xpl
Description: Port Sorell Tasmanian
Added: 2020-03-28
%%
Type: language
Subtag: xpm
Description: Pumpokol
Added: 2009-07-29
@@ -39410,11 +39556,34 @@ Description: Punic
Added: 2009-07-29
%%
Type: language
Subtag: xpv
Description: Northern Tasmanian
Description: Tommeginne
Added: 2020-03-28
%%
Type: language
Subtag: xpw
Description: Northwestern Tasmanian
Description: Peerapper
Added: 2020-03-28
%%
Type: language
Subtag: xpx
Description: Southwestern Tasmanian
Description: Toogee
Added: 2020-03-28
%%
Type: language
Subtag: xpy
Description: Puyo
Added: 2009-07-29
%%
Type: language
Subtag: xpz
Description: Bruny Island Tasmanian
Added: 2020-03-28
%%
Type: language
Subtag: xqa
Description: Karakhanid
Added: 2009-07-29
@@ -39468,6 +39637,8 @@ Type: language
Subtag: xrq
Description: Karranga
Added: 2013-09-10
Deprecated: 2020-03-28
Preferred-Value: dmw
%%
Type: language
Subtag: xrr
@@ -39700,6 +39871,8 @@ Type: language
Subtag: xtz
Description: Tasmanian
Added: 2009-07-29
Deprecated: 2020-03-28
Comments: see xpb, xpd, xpf, xph, xpl, xpv, xpw, xpx, xpz
%%
Type: language
Subtag: xua
@@ -39729,6 +39902,7 @@ Added: 2009-07-29
Type: language
Subtag: xul
Description: Ngunawal
Description: Nunukul
Added: 2013-09-10
%%
Type: language
@@ -41321,6 +41495,11 @@ Description: Zari
Added: 2009-07-29
%%
Type: language
Subtag: zba
Description: Balaibalan
Added: 2020-03-28
%%
Type: language
Subtag: zbc
Description: Central Berawan
Added: 2009-07-29
@@ -41486,6 +41665,8 @@ Type: language
Subtag: zir
Description: Ziriya
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: scv
%%
Type: language
Subtag: ziw
@@ -42463,6 +42644,7 @@ Type: extlang
Subtag: bbz
Description: Babalia Creole Arabic
Added: 2009-07-29
Deprecated: 2020-03-28
Preferred-Value: bbz
Prefix: ar
Macrolanguage: ar
@@ -42580,6 +42762,15 @@ Prefix: zh
Macrolanguage: zh
%%
Type: extlang
Subtag: cnp
Description: Northern Ping Chinese
Description: Northern Pinghua
Added: 2020-03-28
Preferred-Value: cnp
Prefix: zh
Macrolanguage: zh
%%
Type: extlang
Subtag: coa
Description: Cocos Islands Malay
Added: 2009-07-29
@@ -42647,6 +42838,15 @@ Preferred-Value: csn
Prefix: sgn
%%
Type: extlang
Subtag: csp
Description: Southern Ping Chinese
Description: Southern Pinghua
Added: 2020-03-28
Preferred-Value: csp
Prefix: zh
Macrolanguage: zh
%%
Type: extlang
Subtag: csq
Description: Croatia Sign Language
Added: 2009-07-29
@@ -44928,6 +45128,11 @@ Description: Tirhuta
Added: 2011-08-16
%%
Type: script
Subtag: Toto
Description: Toto
Added: 2020-05-12
%%
Type: script
Subtag: Ugar
Description: Ugaritic
Added: 2005-10-16
@@ -46630,6 +46835,12 @@ Comments: Denotes conventions established by the Academia Brasileira de
Letras in 1943 and generally used in Brazil until 2009
%%
Type: variant
Subtag: akuapem
Description: Akuapem Twi
Added: 2017-06-05
Prefix: tw
%%
Type: variant
Subtag: alalc97
Description: ALA-LC Romanization, 1997 edition
Added: 2009-12-09
@@ -46648,12 +46859,6 @@ Comments: Aluku dialect of the "Busi Nenge Tongo" English-based Creole
continuum in Eastern Suriname and Western French Guiana
%%
Type: variant
Subtag: akuapem
Description: Akuapem Twi
Added: 2017-06-05
Prefix: tw
%%
Type: variant
Subtag: ao1990
Description: Portuguese Language Orthographic Agreement of 1990 (Acordo
Ortográfico da Língua Portuguesa de 1990)
@@ -47129,6 +47334,16 @@ Comments: Pamaka dialect of the "Busi Nenge Tongo" English-based
Creole continuum in Eastern Suriname and Western French Guiana
%%
Type: variant
Subtag: peano
Description: Latino Sine Flexione
Description: Interlingua de API
Description: Interlingua de Peano
Prefix: la
Comments: Peanos Interlingua, created in 1903 by Giuseppe Peano as an
international auxiliary language
Added: 2020-03-12
%%
Type: variant
Subtag: petr1708
Description: Petrine orthography
Added: 2010-10-10
@@ -47266,6 +47481,23 @@ Comments: The subtag represents Branislau Taraskievic's Belarusian
Miensk 2005).
%%
Type: variant
Subtag: tongyong
Description: Tongyong Pinyin romanization
Added: 2020-06-08
Prefix: zh-Latn
Comments: Former official transcription standard for Mandarin Chinese in
Taiwan.
%%
Type: variant
Subtag: tunumiit
Description: Tunumiisiut
Description: East Greenlandic
Description: Østgrønlandsk
Added: 2020-07-16
Prefix: kl
Comments: Also known as Tunumiit oraasiat
%%
Type: variant
Subtag: uccor
Description: Unified Cornish orthography of Revived Cornish
Added: 2008-10-14
@@ -47318,6 +47550,14 @@ Comments: Vallader is one of the five traditional written standards or
"idioms" of the Romansh language.
%%
Type: variant
Subtag: vecdruka
Description: Latvian orthography used before 1920s ("vecā druka")
Added: 2020-09-26
Prefix: lv
Comments: The subtag represents the old orthography of the Latvian
language used during c. 1600s1920s.
%%
Type: variant
Subtag: vivaraup
Description: Vivaro-Alpine
Added: 2018-04-22

View File

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

View File

@@ -409,36 +409,87 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Ghana
# From Paul Eggert (2018-01-30):
# Whitman says DST was observed from 1931 to "the present";
# Shanks & Pottenger say 1936 to 1942 with 20 minutes of DST,
# with transitions on 09-01 and 12-31 at 00:00.
# Page 33 of Parish GCB, Colonial Reports - Annual. No. 1066. Gold
# Coast. Report for 1919. (March 1921), OCLC 784024077
# http://libsysdigi.library.illinois.edu/ilharvest/africana/books2011-05/5530214/5530214_1919/5530214_1919_opt.pdf
# lists the Determination of the Time Ordinance, 1919, No. 18,
# "to advance the time observed locally by the space of twenty minutes
# during the last four months of each year; the object in view being
# to extend during those months the period of daylight-time available
# for evening recreation after office hours."
# Vanessa Ogle, The Global Transformation of Time, 1870-1950 (2015), p 33,
# writes "In 1919, the Gold Coast (Ghana as of 1957) made Greenwich
# time its legal time and simultaneously legalized a summer time of
# UTC - 00:20 minutes from March to October."; a footnote lists
# the ordinance as being dated 1919-11-24.
# The Crown Colonist, Volume 12 (1942), p 176, says "the Government
# intend advancing Gold Coast time half an hour ahead of G.M.T.
# The actual date of the alteration has not yet been announced."
# These sources are incomplete and contradictory. Possibly what is
# now Ghana observed different DST regimes in different years. For
# lack of better info, use Shanks except treat the minus sign as a
# typo, and assume DST started in 1920 not 1936.
# From P Chan (2020-11-20):
# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
# Interpretation Ordinance, 1876.
#
# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
# This Ordinance removed the previous definition of time and introduced DST.
#
# Time Determination Ordinance (Cap. 214)
# The Laws of the Gold Coast (including Togoland Under British Mandate)
# Vol. II (1937), p 2328
# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
# Revised edition of the 1919 Ordinance.
#
# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1940, p 22
# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
# This Ordinance changed the forward transition from September to May.
#
# Defence (Time Determination Ordinance Amendment) Regulations, 1942
# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1942, p 48
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
# These regulations advanced the [standard] time by thirty minutes.
#
# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
# 1942 (Regulations No. 28 of 1942) [1942-04-25]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1942, p 87
# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
# These regulations abolished DST and changed the time to GMT+0:30.
#
# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
# 1945) [1945-10-24, commenced on 1946-01-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1945, p 256
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
# These regulations revoked the previous two sets of Regulations.
#
# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1945, p 69
# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
# This Ordinance abolished DST.
#
# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
# Annual Volume of the Laws of the Gold Coast:
# Containing All Legislation Enacted During Year 1950, p 35
# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
# This Ordinance restored DST but with thirty minutes offset.
#
# Time Determination Ordinance (Cap. 264)
# The Laws of the Gold Coast, Vol. V (1954), p 380
# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
# Revised edition of the Time Determination Ordinance.
#
# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
# Annual Volume of the Ordinances of the Gold Coast Enacted During the
# Year 1956, p 83
# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
# This Ordinance abolished DST.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Ghana 1920 1942 - Sep 1 0:00 0:20 -
Rule Ghana 1920 1942 - Dec 31 0:00 0 -
Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918
0:00 Ghana GMT/+0020
Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
0:00 Ghana %s 1942 Feb 8
0:30 - +0030 1946 Jan 6
0:00 Ghana %s
# Guinea
# See Africa/Abidjan.
@@ -456,11 +507,54 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
0:00 - GMT
# Kenya
# From P Chan (2020-10-24):
#
# The standard time of GMT+2:30 was adopted in the East Africa Protectorate....
# [The Official Gazette, 1908-05-01, p 274]
# https://books.google.com/books?id=e-cAC-sjPSEC&pg=PA274
#
# At midnight on 30 June 1928 the clocks throughout Kenya was put forward
# half an hour by the Alteration of Time Ordinance, 1928.
# https://gazettes.africa/archive/ke/1928/ke-government-gazette-dated-1928-05-11-no-28.pdf
# [Ordinance No. 11 of 1928, The Offical Gazette, 1928-06-26, p 813]
# https://books.google.com/books?id=2S0S6os32ZUC&pg=PA813
#
# The 1928 ordinance was repealed by the Alteration of Time (repeal) Ordinance,
# 1929 and the time was restored to GMT+2:30 at midnight on 4 January 1930.
# [Ordinance No. 97 of 1929, The Official Gazette, 1929-12-31, p 2701]
# https://books.google.com/books?id=_g18jIZQlwwC&pg=PA2701
#
# The Alteration of Time Ordinance, 1936 changed the time to GMT+2:45
# and repealed the previous ordinance at midnight on 31 December 1936.
# [The Official Gazette, 1936-07-21, p 705]
# https://books.google.com/books?id=K7j41z0aC5wC&pg=PA705
#
# The Defence (Amendment of Laws No. 120) Regulations changed the time
# to GMT+3 at midnight on 31 July 1942.
# [Kenya Official Gazette Supplement No. 32, 1942-07-21, p 331]
# https://books.google.com/books?hl=zh-TW&id=c_E-AQAAIAAJ&pg=PA331
# The provision of the 1936 ordinance was not repealed and was later
# incorporated in the Interpretation and General Clauses Ordinance in 1948.
# Although it was overridden by the 1942 regulations.
# [The Laws of Kenya in force on 1948-09-21, Title I, Chapter 1, 31]
# https://dds.crl.edu/item/217517 (p.101)
# In 1950 the Interpretation and General Clauses Ordinance was amended to adopt
# GMT+3 permanently as the 1942 regulations were due to expire on 10 December.
# https://books.google.com/books?id=jvR8mUDAwR0C&pg=PA787
# [Ordinance No. 44 of 1950, Kenya Ordinances 1950, Vol. XXIX, p 294]
# https://books.google.com/books?id=-_dQAQAAMAAJ&pg=PA294
# From Paul Eggert (2020-10-24):
# The 1908-05-01 announcement does not give an effective date,
# so just say "1908 May".
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - +0230 1940
2:45 - +0245 1960
Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1928 Jun 30 24:00
3:00 - EAT 1930 Jan 4 24:00
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
@@ -1247,8 +1341,69 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# See Africa/Lagos.
# Nigeria
# From P Chan (2020-12-03):
# GMT was adopted as the standard time of Lagos on 1905-07-01.
# Lagos Weekly Record, 1905-06-24, p 3
# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446%2C5221%2C1931%2C1235
# says "It is officially notified that on and after the 1st of July 1905
# Greenwich Mean Solar Time will be adopted thought the Colony and
# Protectorate, and that it will be necessary to put all clocks 13 minutes and
# 35 seconds back, recording local mean time."
#
# It seemed that Lagos returned to LMT on 1908-07-01.
# [The Lagos Standard], 1908-07-01, p 5
# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92%2C3590%2C3944%2C2523
# says "Scarcely have the people become accustomed to this new time, when
# another official notice has now appeared announcing that from and after the
# 1st July next, return will be made to local mean time."
#
# From P Chan (2020-11-27):
# On 1914-01-01, standard time of GMT+0:30 was adopted for the unified Nigeria.
# Colonial Reports - Annual. No. 878. Nigeria. Report for 1914. (April 1916),
# p 27
# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27
# "On January 1st [1914], a universal standard time for Nigeria was adopted,
# viz., half an hour fast on Greenwich mean time, corresponding to the meridian
# 7 [degrees] 30' E. long."
# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos
# was the local mean time. On 1st January, 1914, standard time for the whole of
# Nigeria was introduced ... Lagos time has been advanced about 16 minutes
# accordingly."
#
# In 1919, standard time was changed to GMT+1.
# Interpretation Ordinance (Cap 2)
# The Laws of Nigeria, Containing the Ordinances of Nigeria, in Force on the
# 1st Day of January, 1923, Vol.I [p 16]
# https://books.google.com/books?id=BOMrAQAAMAAJ&pg=PA16
# "The expression 'Standard time' means standard time as used in Nigeria:
# namely, 60 minutes in advance of Greenwich mean time. (As amended by 18 of
# 1919, s. 2.)"
# From Tim Parenti (2020-12-10):
# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first
# reading of this Bill by the Legislative Council of the Colony of Nigeria on
# Thursday 1919-08-28:
# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261%2C3408%2C2994%2C1915
# "The proposal is that the Globe should be divided into twelve zones East and
# West of Greenwich, of one hour each, Nigeria falling into the zone with a
# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is
# now 30 minutes in advance of Greenwich Mean Time ... according to the new
# proposal, standard time will be advanced another 30 minutes". It was further
# proposed that the firing of the time guns likewise be adjusted by 30 minutes
# to compensate.
# From Tim Parenti (2020-12-10), per P Chan (2020-12-11):
# The text of Ordinance 18 of 1919, published in Nigeria Gazette, Vol 6, No 52,
# shows that the change was assented to the following day and took effect "on
# the 1st day of September, 1919."
# Nigeria Gazette and Supplements 1919 Jan-Dec, Reference: 73266B-40,
# img 245-246
# https://microform.digital/boa/collections/77/volumes/539/nigeria-lagos-1887-1919
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
0:00 - GMT 1908 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
@@ -1321,8 +1476,21 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884
# See Africa/Abidjan.
# Seychelles
# From P Chan (2020-11-27):
# Standard Time was adopted on 1907-01-01.
#
# Standard Time Ordinance (Chapter 237)
# The Laws of Seychelles in Force on the 31st December, 1971, Vol. 6, p 571
# https://books.google.com/books?id=efE-AQAAIAAJ&pg=PA571
#
# From Tim Parenti (2020-12-05):
# A footnote on https://books.google.com/books?id=DYdDAQAAMAAJ&pg=PA1689
# confirms that Ordinance No. 9 of 1906 "was brought into force on the 1st
# January, 1907."
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
Zone Indian/Mahe 3:41:48 - LMT 1907 Jan 1 # Victoria
4:00 - +04
# From Paul Eggert (2001-05-30):
# Aldabra, Farquhar, and Desroches, originally dependencies of the
@@ -1382,11 +1550,17 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
3:00 - EAT 2017 Nov 1
2:00 - CAT
# From Steffen Thorsen (2021-01-18):
# "South Sudan will change its time zone by setting the clock back 1
# hour on February 1, 2021...."
# from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
# South Sudan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
3:00 - EAT 2021 Feb 1 00:00
2:00 - CAT
# Tanzania
# See Africa/Nairobi.

View File

@@ -1746,40 +1746,180 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890
# high on my favorite-country list (and not only because my wife's
# family is from India).
# From Shanks & Pottenger:
# From P Chan (2020-10-27), with corrections:
#
# 1940-1946 Supplement No. 2 to the Palestine Gazette
# # issue page Order No. dated start end note
# 1 1010 729 67 of 1940 1940-05-22 1940-05-31* 1940-09-30* revoked by #2
# 2 1013 758 73 of 1940 1940-05-31 1940-05-31 1940-09-30
# 3 1055 1574 196 of 1940 1940-11-06 1940-11-16 1940-12-31
# 4 1066 1811 208 of 1940 1940-12-17 1940-12-31 1941-12-31
# 5 1156 1967 116 of 1941 1941-12-16 1941-12-31 1942-12-31* amended by #6
# 6 1228 1608 86 of 1942 1942-10-14 1941-12-31 1942-10-31
# 7 1256 279 21 of 1943 1943-03-18 1943-03-31 1943-10-31
# 8 1323 249 19 of 1944 1944-03-13 1944-03-31 1944-10-31
# 9 1402 328 20 of 1945 1945-04-05 1945-04-15 1945-10-31
#10 1487 596 14 of 1946 1946-04-04 1946-04-15 1946-10-31
#
# 1948 Iton Rishmi (Official Gazette of the Provisional Government)
# # issue page dated start end
#11 2 7 1948-05-20 1948-05-22 1948-10-31*
# ^This moved timezone to +04, replaced by #12 from 1948-08-31 24:00 GMT.
#12 17 (Annex B) 84 1948-08-22 1948-08-31 1948-10-31
#
# 1949-2000 Kovetz HaTakanot (Collection of Regulations)
# # issue page dated start end note
#13 6 133 1949-03-23 1949-04-30 1949-10-31
#14 80 755 1950-03-17 1950-04-15 1950-09-14
#15 164 782 1951-03-22 1951-03-31 1951-09-29* amended by #16
#16 206 1940 1951-09-23 ---------- 1951-10-22* amended by #17
#17 212 78 1951-10-19 ---------- 1951-11-10
#18 254 652 1952-03-03 1952-04-19 1952-09-27* amended by #19
#19 300 11 1952-09-15 ---------- 1952-10-18
#20 348 817 1953-03-03 1953-04-11 1953-09-12
#21 420 385 1954-02-17 1954-06-12 1954-09-11
#22 497 548 1955-01-14 1955-06-11 1955-09-10
#23 591 608 1956-03-12 1956-06-02 1956-09-29
#24 680 957 1957-02-08 1957-04-27 1957-09-21
#25 3192 1418 1974-06-28 1974-07-06 1974-10-12
#26 3322 1389 1975-04-03 1975-04-19 1975-08-30
#27 4146 2089 1980-07-15 1980-08-02 1980-09-13
#28 4604 1081 1984-02-22 1984-05-05* 1984-08-25* revoked by #29
#29 4619 1312 1984-04-06 1984-05-05 1984-08-25
#30 4744 475 1984-12-23 1985-04-13 1985-09-14* amended by #31
#31 4851 1848 1985-08-18 ---------- 1985-08-31
#32 4932 899 1986-04-22 1986-05-17 1986-09-06
#33 5013 580 1987-02-15 1987-04-18* 1987-08-22* revoked by #34
#34 5021 744 1987-03-30 1987-04-14 1987-09-12
#35 5096 659 1988-02-14 1988-04-09 1988-09-03
#36 5167 514 1989-02-03 1989-04-29 1989-09-02
#37 5248 375 1990-01-23 1990-03-24 1990-08-25
#38 5335 612 1991-02-10 1991-03-09* 1991-08-31 amended by #39
# 1992-03-28 1992-09-05
#39 5339 709 1991-03-04 1991-03-23 ----------
#40 5506 503 1993-02-18 1993-04-02 1993-09-05
# 1994-04-01 1994-08-28
# 1995-03-31 1995-09-03
#41 5731 438 1996-01-01 1996-03-14 1996-09-15
# 1997-03-13* 1997-09-18* overridden by 1997 Temp Prov
# 1998-03-19* 1998-09-17* revoked by #42
#42 5853 1243 1997-09-18 1998-03-19 1998-09-05
#43 5937 77 1998-10-18 1999-04-02 1999-09-03
# 2000-04-14* 2000-09-15* revoked by #44
# 2001-04-13* 2001-09-14* revoked by #44
#44 6024 39 2000-03-14 2000-04-14 2000-10-22* overridden by 2000 Temp Prov
# 2001-04-06* 2001-10-10* overridden by 2000 Temp Prov
# 2002-03-29* 2002-10-29* overridden by 2000 Temp Prov
#
# These are laws enacted by the Knesset since the Minister could only alter the
# transition dates at least six months in advanced under the 1992 Law.
# dated start end
# 1997 Temporary Provisions 1997-03-06 1997-03-20 1997-09-13
# 2000 Temporary Provisions 2000-07-28 ---------- 2000-10-06
# 2001-04-09 2001-09-24
# 2002-03-29 2002-10-07
# 2003-03-28 2003-10-03
# 2004-04-07 2004-09-22
# Note:
# Transition times in 1940-1957 (#1-#24) were midnight GMT,
# in 1974-1998 (#25-#42 and the 1997 Temporary Provisions) were midnight,
# in 1999-April 2000 (#43,#44) were 02:00,
# in the 2000 Temporary Provisions were 01:00.
#
# -----------------------------------------------------------------------------
# Links:
# 1 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=687
# 2 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=716
# 3 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=721
# 4 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=958
# 5 https://findit.library.yale.edu/images_layout/view?parentoid=15537502&increment=558
# 6 https://findit.library.yale.edu/images_layout/view?parentoid=15537511&increment=105
# 7 https://findit.library.yale.edu/images_layout/view?parentoid=15537516&increment=278
# 8 https://findit.library.yale.edu/images_layout/view?parentoid=15537522&increment=248
# 9 https://findit.library.yale.edu/images_layout/view?parentoid=15537530&increment=329
#10 https://findit.library.yale.edu/images_layout/view?parentoid=15537537&increment=601
#11 https://www.nevo.co.il/law_word/law12/er-002.pdf#page=3
#12 https://www.nevo.co.il/law_word/law12/er-017-t2.pdf#page=4
#13 https://www.nevo.co.il/law_word/law06/tak-0006.pdf#page=3
#14 https://www.nevo.co.il/law_word/law06/tak-0080.pdf#page=7
#15 https://www.nevo.co.il/law_word/law06/tak-0164.pdf#page=10
#16 https://www.nevo.co.il/law_word/law06/tak-0206.pdf#page=4
#17 https://www.nevo.co.il/law_word/law06/tak-0212.pdf#page=2
#18 https://www.nevo.co.il/law_word/law06/tak-0254.pdf#page=4
#19 https://www.nevo.co.il/law_word/law06/tak-0300.pdf#page=5
#20 https://www.nevo.co.il/law_word/law06/tak-0348.pdf#page=3
#21 https://www.nevo.co.il/law_word/law06/tak-0420.pdf#page=5
#22 https://www.nevo.co.il/law_word/law06/tak-0497.pdf#page=10
#23 https://www.nevo.co.il/law_word/law06/tak-0591.pdf#page=6
#24 https://www.nevo.co.il/law_word/law06/tak-0680.pdf#page=3
#25 https://www.nevo.co.il/law_word/law06/tak-3192.pdf#page=2
#26 https://www.nevo.co.il/law_word/law06/tak-3322.pdf#page=5
#27 https://www.nevo.co.il/law_word/law06/tak-4146.pdf#page=2
#28 https://www.nevo.co.il/law_word/law06/tak-4604.pdf#page=7
#29 https://www.nevo.co.il/law_word/law06/tak-4619.pdf#page=2
#30 https://www.nevo.co.il/law_word/law06/tak-4744.pdf#page=11
#31 https://www.nevo.co.il/law_word/law06/tak-4851.pdf#page=2
#32 https://www.nevo.co.il/law_word/law06/tak-4932.pdf#page=19
#33 https://www.nevo.co.il/law_word/law06/tak-5013.pdf#page=8
#34 https://www.nevo.co.il/law_word/law06/tak-5021.pdf#page=8
#35 https://www.nevo.co.il/law_word/law06/tak-5096.pdf#page=3
#36 https://www.nevo.co.il/law_word/law06/tak-5167.pdf#page=2
#37 https://www.nevo.co.il/law_word/law06/tak-5248.pdf#page=7
#38 https://www.nevo.co.il/law_word/law06/tak-5335.pdf#page=6
#39 https://www.nevo.co.il/law_word/law06/tak-5339.pdf#page=7
#40 https://www.nevo.co.il/law_word/law06/tak-5506.pdf#page=19
#41 https://www.nevo.co.il/law_word/law06/tak-5731.pdf#page=2
#42 https://www.nevo.co.il/law_word/law06/tak-5853.pdf#page=3
#43 https://www.nevo.co.il/law_word/law06/tak-5937.pdf#page=9
#44 https://www.nevo.co.il/law_word/law06/tak-6024.pdf#page=4
#
# Time Determination (Temporary Provisions) Law, 1997
# https://www.nevo.co.il/law_html/law19/p201_003.htm
#
# Time Determination (Temporary Provisions) Law, 2000
# https://www.nevo.co.il/law_html/law19/p201_004.htm
#
# Time Determination Law, 1992 and amendments
# https://www.nevo.co.il/law_html/law01/p201_002.htm
# https://main.knesset.gov.il/Activity/Legislation/Laws/Pages/LawPrimary.aspx?lawitemid=2001174
# From Paul Eggert (2020-10-27):
# Several of the midnight transitions mentioned above are ambiguous;
# are they 00:00, 00:00s, 24:00, or 24:00s? When resolving these ambiguities,
# try to minimize changes from previous tzdb versions, for lack of better info.
# Commentary from previous versions is included below, to help explain this.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Zion 1940 only - Jun 1 0:00 1:00 D
Rule Zion 1942 1944 - Nov 1 0:00 0 S
Rule Zion 1943 only - Apr 1 2:00 1:00 D
Rule Zion 1944 only - Apr 1 0:00 1:00 D
Rule Zion 1945 only - Apr 16 0:00 1:00 D
Rule Zion 1945 only - Nov 1 2:00 0 S
Rule Zion 1946 only - Apr 16 2:00 1:00 D
Rule Zion 1946 only - Nov 1 0:00 0 S
Rule Zion 1948 only - May 23 0:00 2:00 DD
Rule Zion 1948 only - Sep 1 0:00 1:00 D
Rule Zion 1948 1949 - Nov 1 2:00 0 S
Rule Zion 1949 only - May 1 0:00 1:00 D
Rule Zion 1950 only - Apr 16 0:00 1:00 D
Rule Zion 1950 only - Sep 15 3:00 0 S
Rule Zion 1951 only - Apr 1 0:00 1:00 D
Rule Zion 1951 only - Nov 11 3:00 0 S
Rule Zion 1952 only - Apr 20 2:00 1:00 D
Rule Zion 1952 only - Oct 19 3:00 0 S
Rule Zion 1953 only - Apr 12 2:00 1:00 D
Rule Zion 1953 only - Sep 13 3:00 0 S
Rule Zion 1954 only - Jun 13 0:00 1:00 D
Rule Zion 1954 only - Sep 12 0:00 0 S
Rule Zion 1955 only - Jun 11 2:00 1:00 D
Rule Zion 1955 only - Sep 11 0:00 0 S
Rule Zion 1956 only - Jun 3 0:00 1:00 D
Rule Zion 1956 only - Sep 30 3:00 0 S
Rule Zion 1957 only - Apr 29 2:00 1:00 D
Rule Zion 1957 only - Sep 22 0:00 0 S
Rule Zion 1974 only - Jul 7 0:00 1:00 D
Rule Zion 1974 only - Oct 13 0:00 0 S
Rule Zion 1975 only - Apr 20 0:00 1:00 D
Rule Zion 1975 only - Aug 31 0:00 0 S
Rule Zion 1940 only - May 31 24:00u 1:00 D
Rule Zion 1940 only - Sep 30 24:00u 0 S
Rule Zion 1940 only - Nov 16 24:00u 1:00 D
Rule Zion 1942 1946 - Oct 31 24:00u 0 S
Rule Zion 1943 1944 - Mar 31 24:00u 1:00 D
Rule Zion 1945 1946 - Apr 15 24:00u 1:00 D
Rule Zion 1948 only - May 22 24:00u 2:00 DD
Rule Zion 1948 only - Aug 31 24:00u 1:00 D
Rule Zion 1948 1949 - Oct 31 24:00u 0 S
Rule Zion 1949 only - Apr 30 24:00u 1:00 D
Rule Zion 1950 only - Apr 15 24:00u 1:00 D
Rule Zion 1950 only - Sep 14 24:00u 0 S
Rule Zion 1951 only - Mar 31 24:00u 1:00 D
Rule Zion 1951 only - Nov 10 24:00u 0 S
Rule Zion 1952 only - Apr 19 24:00u 1:00 D
Rule Zion 1952 only - Oct 18 24:00u 0 S
Rule Zion 1953 only - Apr 11 24:00u 1:00 D
Rule Zion 1953 only - Sep 12 24:00u 0 S
Rule Zion 1954 only - Jun 12 24:00u 1:00 D
Rule Zion 1954 only - Sep 11 24:00u 0 S
Rule Zion 1955 only - Jun 11 24:00u 1:00 D
Rule Zion 1955 only - Sep 10 24:00u 0 S
Rule Zion 1956 only - Jun 2 24:00u 1:00 D
Rule Zion 1956 only - Sep 29 24:00u 0 S
Rule Zion 1957 only - Apr 27 24:00u 1:00 D
Rule Zion 1957 only - Sep 21 24:00u 0 S
Rule Zion 1974 only - Jul 6 24:00 1:00 D
Rule Zion 1974 only - Oct 12 24:00 0 S
Rule Zion 1975 only - Apr 19 24:00 1:00 D
Rule Zion 1975 only - Aug 30 24:00 0 S
# From Alois Treindl (2019-03-06):
# http://www.moin.gov.il/Documents/שעון%20קיץ/clock-50-years-7-2014.pdf
@@ -1792,25 +1932,24 @@ Rule Zion 1975 only - Aug 31 0:00 0 S
# From Paul Eggert (2019-03-06):
# Also see this thread about the moin.gov.il URL:
# https://mm.icann.org/pipermail/tz/2018-November/027194.html
Rule Zion 1980 only - Aug 2 0:00 1:00 D
Rule Zion 1980 only - Sep 13 1:00 0 S
Rule Zion 1984 only - May 5 0:00 1:00 D
Rule Zion 1984 only - Aug 25 1:00 0 S
Rule Zion 1980 only - Aug 2 24:00s 1:00 D
Rule Zion 1980 only - Sep 13 24:00s 0 S
Rule Zion 1984 only - May 5 24:00s 1:00 D
Rule Zion 1984 only - Aug 25 24:00s 0 S
# From Shanks & Pottenger:
Rule Zion 1985 only - Apr 14 0:00 1:00 D
Rule Zion 1985 only - Sep 15 0:00 0 S
Rule Zion 1986 only - May 18 0:00 1:00 D
Rule Zion 1986 only - Sep 7 0:00 0 S
Rule Zion 1987 only - Apr 15 0:00 1:00 D
Rule Zion 1987 only - Sep 13 0:00 0 S
Rule Zion 1985 only - Apr 13 24:00 1:00 D
Rule Zion 1985 only - Aug 31 24:00 0 S
Rule Zion 1986 only - May 17 24:00 1:00 D
Rule Zion 1986 only - Sep 6 24:00 0 S
Rule Zion 1987 only - Apr 14 24:00 1:00 D
Rule Zion 1987 only - Sep 12 24:00 0 S
# From Avigdor Finkelstein (2014-03-05):
# I check the Parliament (Knesset) records and there it's stated that the
# [1988] transition should take place on Saturday night, when the Sabbath
# ends and changes to Sunday.
Rule Zion 1988 only - Apr 10 0:00 1:00 D
Rule Zion 1988 only - Sep 4 0:00 0 S
Rule Zion 1988 only - Apr 9 24:00 1:00 D
Rule Zion 1988 only - Sep 3 24:00 0 S
# From Ephraim Silverberg
# (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17, 2000-07-25, 2004-12-22,
@@ -1840,14 +1979,14 @@ Rule Zion 1988 only - Sep 4 0:00 0 S
# (the eve of the 7th of Tishrei in the lunar Hebrew calendar).
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Zion 1989 only - Apr 30 0:00 1:00 D
Rule Zion 1989 only - Sep 3 0:00 0 S
Rule Zion 1990 only - Mar 25 0:00 1:00 D
Rule Zion 1990 only - Aug 26 0:00 0 S
Rule Zion 1991 only - Mar 24 0:00 1:00 D
Rule Zion 1991 only - Sep 1 0:00 0 S
Rule Zion 1992 only - Mar 29 0:00 1:00 D
Rule Zion 1992 only - Sep 6 0:00 0 S
Rule Zion 1989 only - Apr 29 24:00 1:00 D
Rule Zion 1989 only - Sep 2 24:00 0 S
Rule Zion 1990 only - Mar 24 24:00 1:00 D
Rule Zion 1990 only - Aug 25 24:00 0 S
Rule Zion 1991 only - Mar 23 24:00 1:00 D
Rule Zion 1991 only - Aug 31 24:00 0 S
Rule Zion 1992 only - Mar 28 24:00 1:00 D
Rule Zion 1992 only - Sep 5 24:00 0 S
Rule Zion 1993 only - Apr 2 0:00 1:00 D
Rule Zion 1993 only - Sep 5 0:00 0 S
@@ -1876,10 +2015,10 @@ Rule Zion 1995 only - Sep 3 0:00 0 S
# where YYYY is the relevant year.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Zion 1996 only - Mar 15 0:00 1:00 D
Rule Zion 1996 only - Sep 16 0:00 0 S
Rule Zion 1997 only - Mar 21 0:00 1:00 D
Rule Zion 1997 only - Sep 14 0:00 0 S
Rule Zion 1996 only - Mar 14 24:00 1:00 D
Rule Zion 1996 only - Sep 15 24:00 0 S
Rule Zion 1997 only - Mar 20 24:00 1:00 D
Rule Zion 1997 only - Sep 13 24:00 0 S
Rule Zion 1998 only - Mar 20 0:00 1:00 D
Rule Zion 1998 only - Sep 6 0:00 0 S
Rule Zion 1999 only - Apr 2 2:00 1:00 D
@@ -1931,14 +2070,15 @@ Rule Zion 2010 only - Sep 12 2:00 0 S
Rule Zion 2011 only - Oct 2 2:00 0 S
Rule Zion 2012 only - Sep 23 2:00 0 S
# From Ephraim Silverberg (2013-06-27):
# On June 23, 2013, the Israeli government approved changes to the
# Time Decree Law. The next day, the changes passed the First Reading
# in the Knesset. The law is expected to pass the Second and Third
# (final) Readings by the beginning of September 2013.
#
# As of 2013, DST starts at 02:00 on the Friday before the last Sunday
# in March. DST ends at 02:00 on the last Sunday of October.
# From Ephraim Silverberg (2020-10-26):
# The current time law (2013) from the State of Israel can be viewed
# (in Hebrew) at:
# ftp://ftp.cs.huji.ac.il/pub/tz/israel/announcements/2013+law.pdf
# It translates to:
# Every year, in the period from the Friday before the last Sunday in
# the month of March at 02:00 a.m. until the last Sunday of the month
# of October at 02:00 a.m., Israel Time will be advanced an additional
# hour such that it will be UTC+3.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D

View File

@@ -37,16 +37,13 @@
# Please see the notes below for the controversy about "EST" versus "AEST" etc.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Aus 1917 only - Jan 1 0:01 1:00 D
Rule Aus 1917 only - Mar 25 2:00 0 S
Rule Aus 1942 only - Jan 1 2:00 1:00 D
Rule Aus 1942 only - Mar 29 2:00 0 S
Rule Aus 1942 only - Sep 27 2:00 1:00 D
Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
Rule Aus 1943 only - Oct 3 2:00 1:00 D
# Go with Whitman and the Australian National Standards Commission, which
# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that
# 1944/1945 was just like 1943/1944.
Rule Aus 1917 only - Jan 1 2:00s 1:00 D
Rule Aus 1917 only - Mar lastSun 2:00s 0 S
Rule Aus 1942 only - Jan 1 2:00s 1:00 D
Rule Aus 1942 only - Mar lastSun 2:00s 0 S
Rule Aus 1942 only - Sep 27 2:00s 1:00 D
Rule Aus 1943 1944 - Mar lastSun 2:00s 0 S
Rule Aus 1943 only - Oct 3 2:00s 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Northern Territory
@@ -138,8 +135,12 @@ Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
# says King Island didn't observe DST from WWII until late 1971.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule AT 1916 only - Oct Sun>=1 2:00s 1:00 D
Rule AT 1917 only - Mar lastSun 2:00s 0 S
Rule AT 1917 1918 - Oct Sun>=22 2:00s 1:00 D
Rule AT 1918 1919 - Mar Sun>=1 2:00s 0 S
Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 D
Rule AT 1968 only - Mar lastSun 2:00s 0 S
Rule AT 1968 only - Mar Sun>=29 2:00s 0 S
Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 D
Rule AT 1969 1971 - Mar Sun>=8 2:00s 0 S
Rule AT 1972 only - Feb lastSun 2:00s 0 S
@@ -159,15 +160,9 @@ Rule AT 2007 only - Mar lastSun 2:00s 0 S
Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
10:00 - AEST 1916 Oct 1 2:00
10:00 1:00 AEDT 1917 Feb
10:00 AT AE%sT 1919 Oct 24
10:00 Aus AE%sT 1967
10:00 AT AE%sT
Zone Australia/Currie 9:35:28 - LMT 1895 Sep
10:00 - AEST 1916 Oct 1 2:00
10:00 1:00 AEDT 1917 Feb
10:00 Aus AE%sT 1971 Jul
10:00 AT AE%sT
# Victoria
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -896,13 +891,36 @@ Zone Pacific/Wake 11:06:28 - LMT 1901
# Vanuatu
# From P Chan (2020-11-27):
# Joint Daylight Saving Regulation No 59 of 1973
# New Hebrides Condominium Gazette No 336. December 1973
# http://www.paclii.org/vu/other/VUNHGovGaz//1973/11.pdf#page=15
#
# Joint Daylight Saving (Repeal) Regulation No 10 of 1974
# New Hebrides Condominium Gazette No 336. March 1974
# http://www.paclii.org/vu/other/VUNHGovGaz//1974/3.pdf#page=11
#
# Summer Time Act No. 35 of 1982 [commenced 1983-09-01]
# http://www.paclii.org/vu/other/VUGovGaz/1982/32.pdf#page=48
#
# Summer Time Act (Cap 157)
# Laws of the Republic of Vanuatu Revised Edition 1988
# http://www.paclii.org/cgi-bin/sinodisp/vu/legis/consol_act1988/sta147/sta147.html
#
# Summer Time (Amendment) Act No. 6 of 1991 [commenced 1991-11-11]
# http://www.paclii.org/vu/legis/num_act/sta1991227/
#
# Summer Time (Repeal) Act No. 4 of 1993 [commenced 1993-05-03]
# http://www.paclii.org/vu/other/VUGovGaz/1993/15.pdf#page=59
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Vanuatu 1983 only - Sep 25 0:00 1:00 -
Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 -
Rule Vanuatu 1984 only - Oct 23 0:00 1:00 -
Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 -
Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 -
Rule Vanuatu 1973 only - Dec 22 12:00u 1:00 -
Rule Vanuatu 1974 only - Mar 30 12:00u 0 -
Rule Vanuatu 1983 1991 - Sep Sat>=22 24:00 1:00 -
Rule Vanuatu 1984 1991 - Mar Sat>=22 24:00 0 -
Rule Vanuatu 1992 1993 - Jan Sat>=22 24:00 0 -
Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
@@ -981,6 +999,25 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Electronic Journal of Australian and New Zealand History (1997-03-03)
# http://www.jcu.edu.au/aff/history/reviews/davison.htm
# From P Chan (2020-11-20):
# Daylight Saving Act 1916 (No. 40 of 1916) [1916-12-21, commenced 1917-01-01]
# http://classic.austlii.edu.au/au/legis/cth/num_act/dsa1916401916192/
#
# Daylight Saving Repeal Act 1917 (No. 35 of 1917) [1917-09-25]
# http://classic.austlii.edu.au/au/legis/cth/num_act/dsra1917351917243/
#
# Statutory Rules 1941, No. 323 [1941-12-24]
# https://www.legislation.gov.au/Details/C1941L00323
#
# Statutory Rules 1942, No. 392 [1942-09-10]
# https://www.legislation.gov.au/Details/C1942L00392
#
# Statutory Rules 1943, No. 241 [1943-09-29]
# https://www.legislation.gov.au/Details/C1943L00241
#
# All transition times should be 02:00 standard time.
# From Paul Eggert (2005-12-08):
# Implementation Dates of Daylight Saving Time within Australia
# http://www.bom.gov.au/climate/averages/tables/dst_times.shtml
@@ -1373,6 +1410,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Tasmania
# From P Chan (2020-11-20):
# Tasmania observed DST in 1916-1919.
#
# Daylight Saving Act, 1916 (7 Geo V, No 2) [1916-09-22]
# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsa19167gvn2267/
#
# Daylight Saving Amendment Act, 1917 (8 Geo V, No 5) [1917-10-01]
# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsaa19178gvn5347/
#
# Daylight Saving Act Repeal Act, 1919 (10 Geo V, No 9) [1919-10-24]
# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsara191910gvn9339/
#
# King Island is mentioned in the 1967 Act but not the 1968 Act.
# Therefore it possibly observed DST from 1968/69.
#
# Daylight Saving Act 1967 (No. 33 of 1967) [1967-09-22]
# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196733o1967211/
#
# Daylight Saving Act 1968 (No. 42 of 1968) [1968-10-15]
# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196842o1968211/
# The rules for 1967 through 1991 were reported by George Shepherd
# via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ]

View File

@@ -72,6 +72,7 @@ Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Oslo Atlantic/Jan_Mayen
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North

View File

@@ -26,12 +26,11 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# These entries are mostly present for historical reasons, so that
# people in areas not otherwise covered by the tz files could "zic -l"
# to a timezone that was right for their area. These days, the
# tz files cover almost all the inhabited world, and the only practical
# need now for the entries that are not on UTC are for ships at sea
# that cannot use POSIX TZ settings.
# These entries are for uses not otherwise covered by the tz database.
# Their main practical use is for platforms like Android that lack
# support for POSIX-style TZ strings. On such platforms these entries
# can be useful if the timezone database is wrong or if a ship or
# aircraft at sea is not in a timezone.
# Starting with POSIX 1003.1-2001, the entries below are all
# unnecessary as settings for the TZ environment variable. E.g.,

View File

@@ -2915,6 +2915,19 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
# The law has been published today on
# http://publication.pravo.gov.ru/Document/View/0001201810110037
# From Alexander Krivenyshev (2020-11-27):
# The State Duma approved (Nov 24, 2020) the transition of the Volgograd
# region to the Moscow time zone....
# https://sozd.duma.gov.ru/bill/1012130-7
#
# From Stepan Golosunov (2020-12-05):
# Currently proposed text for the second reading (expected on December 8) ...
# changes the date to December 27. https://v1.ru/text/gorod/2020/12/04/69601031/
#
# From Stepan Golosunov (2020-12-22):
# The law was published today on
# http://publication.pravo.gov.ru/Document/View/0001202012220002
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 - +03 1930 Jun 21
4:00 - +04 1961 Nov 11
@@ -2924,7 +2937,8 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2018 Oct 28 2:00s
4:00 - +04
4:00 - +04 2020 Dec 27 2:00s
3:00 - +03
# From Paul Eggert (2016-11-11):
# Europe/Saratov covers:

View File

@@ -29,6 +29,10 @@
# NIST format leap-seconds.list file, which can be copied from
# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
# The NIST file is used instead of its IERS upstream counterpart
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
# because under US law the NIST file is public domain
# whereas the IERS file's copyright and license status is unclear.
# For more about leap-seconds.list, please see
# The NTP Timescale and Leap Seconds
# <https://www.eecis.udel.edu/~mills/leap.html>.
@@ -91,11 +95,11 @@ Leap 2016 Dec 31 23:59:60 + S
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
#Expires 2021 Jun 28 00:00:00
#Expires 2021 Dec 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
#expires 1624838400 (2021-06-28 00:00:00 UTC)
#expires 1640649600 (2021-12-28 00:00:00 UTC)
# Updated through IERS Bulletin C60
# File expires on: 28 June 2021
# Updated through IERS Bulletin C61
# File expires on: 28 December 2021

View File

@@ -2257,7 +2257,7 @@ Zone America/Creston -7:46:04 - LMT 1884
# to say eight hours behind Greenwich Time.
#
# * O.I.C. 1980/02 INTERPRETATION ACT
# [no online source found]
# https://mm.icann.org/pipermail/tz/attachments/20201125/d5adc93b/CAYTOIC1980-02DST1980-01-04-0001.pdf
#
# * Yukon Daylight Saving Time, YOIC 1987/56
# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html
@@ -2958,12 +2958,38 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
#
# For 1899 Milne gives -5:09:29.5; round that.
#
# From P Chan (2020-11-27, corrected on 2020-12-02):
# There were two periods of DST observed in 1942-1945: 1942-05-01
# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
# "midnight" should mean 24:00 from the context.
#
# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
#
# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
#
# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
# 1945. p 160, 247-248
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
#
# From Sue Williams (2006-12-07):
# The Bahamas announced about a month ago that they plan to change their DST
# rules to sync with the U.S. starting in 2007....
# http://www.jonesbahamas.com/?c=45&a=10412
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Bahamas 1942 only - May 1 24:00 1:00 W
Rule Bahamas 1944 only - Dec 31 24:00 0 S
Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule Bahamas 1945 only - Oct 17 24:00 0 S
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -2987,34 +3013,161 @@ Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
-4:00 Barb A%sT
# Belize
# Whitman entirely disagrees with Shanks; go with Shanks & Pottenger.
# From P Chan (2020-11-03):
# Below are some laws related to the time in British Honduras/Belize:
#
# Definition of Time Ordinance, 1927 (No.4 of 1927) [1927-04-01]
# Ordinances of British Honduras Passed in the Year 1927, p 19-20
# https://books.google.com/books?id=LqEpAQAAMAAJ&pg=RA3-PA19
#
# Definition of Time (Amendment) Ordinance, 1942 (No. 5 of 1942) [1942-06-27]
# Ordinances of British Honduras Passed in the Year 1942, p 31-32
# https://books.google.com/books?id=h6MpAQAAMAAJ&pg=RA6-PA95-IA44
#
# Definition of Time Ordinance, 1945 (No. 19 of 1945) [1945-12-15]
# Ordinances of British Honduras Passed in the Year 1945, p 49-50
# https://books.google.com/books?id=xaMpAQAAMAAJ&pg=RA2-PP1
#
# Definition of Time Ordinance, 1947 (No. 1 of 1947) [1947-03-11]
# Ordinances of British Honduras Passed in the Year 1947, p 1-2
# https://books.google.com/books?id=xaMpAQAAMAAJ&pg=RA3-PA1
#
# Time (Definition of) Ordinance (Chapter 180)
# The Laws of British Honduras in Force on the 15th Day of September, 1958 , Volume IV, p 2580
# https://books.google.com/books?id=v5QpAQAAMAAJ&pg=PA2580
#
# Time (Definition of) (Amendment) Ordinance, 1968 (No. 13 of 1968) [1968-08-03]
# https://books.google.com/books?id=xij7KEB_58wC&pg=RA1-PA428-IA9
#
# Definition of Time Act (Chapter 339)
# Law of Belize, Revised Edition 2000
# http://www.belizelaw.org/web/lawadmin/PDF%20files/cap339.pdf
# From Paul Eggert (2020-11-03):
# The transitions below are derived from P Chan's sources, except that the
# 1973 through 1983 transitions are from Shanks & Pottenger since we have
# no better data there.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 -0530
Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 CST
Rule Belize 1918 1941 - Oct Sat>=1 24:00 0:30 -0530
Rule Belize 1919 1942 - Feb Sat>=8 24:00 0 CST
Rule Belize 1942 only - Jun 27 24:00 1:00 CWT
Rule Belize 1945 only - Aug 14 23:00u 1:00 CPT
Rule Belize 1945 only - Dec 15 24:00 0 CST
Rule Belize 1947 1967 - Oct Sat>=1 24:00 0:30 -0530
Rule Belize 1948 1968 - Feb Sat>=8 24:00 0 CST
Rule Belize 1973 only - Dec 5 0:00 1:00 CDT
Rule Belize 1974 only - Feb 9 0:00 0 CST
Rule Belize 1982 only - Dec 18 0:00 1:00 CDT
Rule Belize 1983 only - Feb 12 0:00 0 CST
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Belize -5:52:48 - LMT 1912 Apr
Zone America/Belize -5:52:48 - LMT 1912 Apr 1
-6:00 Belize %s
# Bermuda
# From Paul Eggert (2020-11-24):
# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower,
# Bermuda dockyard, Ireland I; round that.
# Bermuda dockyard, Ireland I. This agrees with standard offset given in the
# Daylight Saving Act, 1917 cited below. Round that to the nearest second.
# It is not known when this time became standard for Bermuda; guess 1890.
# The transition to -04 was specified by:
# 1930: The Time Zone Act, 1929 (1929: No. 39) [1929-11-08]
# https://books.google.com/books?id=7tdMAQAAIAAJ&pg=RA54-PP1
# From P Chan (2020-11-20):
# Most of the information can be found online from the Bermuda National
# Library - Digital Collection which includes The Royal Gazette (RG) until 1957
# https://bnl.contentdm.oclc.org/digital/
# I will cite the ID. For example, [10000] means
# https://bnl.contentdm.oclc.org/digital/collection/BermudaNP02/id/10000
#
# 1917: Apr 5 midnight to Sep 30 midnight
# Daylight Saving Act, 1917 (1917 No. 13) [1917-04-02]
# Bermuda Acts and Resolves 1917, p 37-38
# https://books.google.com/books?id=M-lCAQAAMAAJ&pg=PA36-IA2
# RG, 1917-04-04, p 6 [42340] gives the spring forward date.
#
# 1918: Apr 13 midnight to Sep 15 midnight
# Daylight Saving Act, 1918 (1918 No. 9) [1918-04-06]
# Bermuda Acts and Resolves 1917, p 13
# https://books.google.com/books?id=K-lCAQAAMAAJ&pg=RA1-PA7
#
# Note that local mean time was still used before 1930.
#
# During WWII, DST was introduced by Defence Regulations
# 1942: Jan 11 02:00 to Oct 18 02:00 [113646], [115726]
# 1943: Mar 21 02:00 to Oct 31 02:00 [116704], [118193]
# 1944: Mar 12 02:00 to Nov 5 02:00 [119225], [121593]
# 1945: Mar 11 02:00 to Nov 4 02:00 [122369], [124461]
# RG, 1942-01-08, p 2, 1942-10-12, p 2 , 1943-03-06, p 2, 1943-09-03, p 1,
# 1944-02-29, p 6, 1944-09-20, p 2, 1945-02-13, p 2, 1945-11-03, p 1
#
# In 1946, the House of Assembly rejected DST twice. [128686], [128076]
# RG, 1946-03-16 p 1,1946-04-13 p 1
#
# 1947: third Sunday in May 02:00 to second Sunday in September 02:00
# DST in 1947 was defined in the Daylight Saving Act, 1947 (1947: No. 12)
# which expired at the end of the year. [125784] ,[132405], [144454], [138226]
# RG, 1947-02-27, p 1, 1947-05-15, p 1, 1947-09-13, p 1, 1947-12-30, p 1
#
# 1948-1952: fourth Sunday in May 02:00 to first Sunday in September 02:00
# DST in 1948 was defined in the Daylight Saving Act, 1948 (1948 : No. 12)
# which was set to expired at the end of the year but it was extended until
# the end of 1952 and was not further extended.
# [129802], [139403], [146008], [135240], [144330], [139049], [143309],
# [148271], [149773], [153589], [153802], [155924]
# RG, 1948-04-13, p 1, 1948-05-22, p 1, 1948-09-04, p 1, 1949-05-21, p1,
# 1949-09-03, p 1, 1950-05-27 p 1, 1950-09-02, p 1, 1951-05-27, p 1,
# 1951-09-01, p 1, 1952-05-23, p 1, 1952-09-26, p 1, 1952-12-21, p 8
#
# In 1953-1955, the House of Assembly rejected DST each year. [158996],
# [162620], [166720] RG, 1953-05-02, p 1, 1954-04-01 p 1, 1955-03-12, p 1
#
# 1956: fourth Sunday in May 02:00 to last Sunday in October 02:00
# Time Zone (Seasonal Variation) Act, 1956 (1956: No.44) [1956-05-25]
# Bermuda Public Acts 1956, p 331-332
# https://books.google.com/books?id=Xs1AlmD_cEwC&pg=PA63
#
# The extension of the Act was rejected by the House of Assembly. [176218]
# RG, 1956-12-13, p 1
#
# From the Chronological Table of Public and Private Acts up to 1985, it seems
# that there does not exist other Acts related to DST before 1973.
# https://books.google.com/books?id=r9hMAQAAIAAJ&pg=RA23-PA1
# Public Acts of the Legislature of the Islands of Bermuda, Together with
# Statutory Instruments in Force Thereunder, Vol VII
# From Dan Jones, reporting in The Royal Gazette (2006-06-26):
# Next year, however, clocks in the US will go forward on the second Sunday
# in March, until the first Sunday in November. And, after the Time Zone
# (Seasonal Variation) Bill 2006 was passed in the House of Assembly on
# Friday, the same thing will happen in Bermuda.
# http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Bermuda 1917 only - Apr 5 24:00 1:00 -
Rule Bermuda 1917 only - Sep 30 24:00 0 -
Rule Bermuda 1918 only - Apr 13 24:00 1:00 -
Rule Bermuda 1918 only - Sep 15 24:00 0 S
Rule Bermuda 1942 only - Jan 11 2:00 1:00 D
Rule Bermuda 1942 only - Oct 18 2:00 0 S
Rule Bermuda 1943 only - Mar 21 2:00 1:00 D
Rule Bermuda 1943 only - Oct 31 2:00 0 S
Rule Bermuda 1944 1945 - Mar Sun>=8 2:00 1:00 D
Rule Bermuda 1944 1945 - Nov Sun>=1 2:00 0 S
Rule Bermuda 1947 only - May Sun>=15 2:00 1:00 D
Rule Bermuda 1947 only - Sep Sun>=8 2:00 0 S
Rule Bermuda 1948 1952 - May Sun>=22 2:00 1:00 D
Rule Bermuda 1948 1952 - Sep Sun>=1 2:00 0 S
Rule Bermuda 1956 only - May Sun>=22 2:00 1:00 D
Rule Bermuda 1956 only - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton
-4:00 - AST 1974 Apr 28 2:00
Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
-4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
-4:00 Bermuda A%sT 1974 Apr 28 2:00
-4:00 Canada A%sT 1976
-4:00 US A%sT
@@ -3597,7 +3750,7 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# "Eastern Standard Times Begins 2007
# Clocks are set back one hour at 2:00 a.m. local Daylight Saving Time"
# indicating that the normal ET rules are followed.
#
# From Paul Eggert (2014-08-19):
# The 2014-08-13 Cabinet meeting decided to stay on UT -04 year-round. See:
# http://tcweeklynews.com/daylight-savings-time-to-be-maintained-p5353-127.htm
@@ -3612,19 +3765,42 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# during the summer months and Standard Time, also known as Local
# Time, during the winter months with effect from April 2018 ...
# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3
#
# From Paul Eggert (2017-08-26):
# The date of effect of the spring 2018 change appears to be March 11,
# which makes more sense. See: Hamilton D. Time change back
# by March 2018 for TCI. Magnetic Media. 2017-08-25.
# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/
#
# From P Chan (2020-11-27):
# Standard Time Declaration Order 2015 (L.N. 15/2015)
# http://online.fliphtml5.com/fizd/czin/#p=2
#
# Standard Time Declaration Order 2017 (L.N. 31/2017)
# http://online.fliphtml5.com/fizd/dmcu/#p=2
#
# From Tim Parenti (2020-12-05):
# Although L.N. 31/2017 reads that it "shall come into operation at 2:00 a.m.
# on 11th March 2018", a precise interpretation here poses some problems. The
# order states that "the standard time to be observed throughout the Turks and
# Caicos Islands shall be the same time zone as the Eastern United States of
# America" and further clarifies "[f]or the avoidance of doubt" that it
# "applies to the Eastern Standard Time as well as any changes thereto for
# Daylight Saving Time." However, as clocks in Turks and Caicos approached
# 02:00 -04, and thus the declared implementation time, it was still 01:00 EST
# (-05), as DST in the Eastern US would not start until an hour later.
#
# Since it is unlikely that those on the islands switched their clocks twice in
# the span of an hour, we assume instead that the adoption of EDT actually took
# effect once clocks in the Eastern US had sprung forward, from 03:00 -04.
# This discrepancy only affects the time zone abbreviation and DST flag for the
# intervening hour, not wall clock times, as -04 was maintained throughout.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1979
-5:00 US E%sT 2015 Nov Sun>=1 2:00
-4:00 - AST 2018 Mar 11 3:00
-5:00 US E%sT 2015 Mar 8 2:00
-4:00 - AST 2018 Mar 11 3:00
-5:00 US E%sT
# British Virgin Is

View File

@@ -79,8 +79,7 @@ AS -1416-17042 Pacific/Pago_Pago
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
AU -4253+14719 Australia/Hobart Tasmania (most areas)
AU -3956+14352 Australia/Currie Tasmania (King Island)
AU -4253+14719 Australia/Hobart Tasmania
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales (most areas)
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna)
@@ -153,9 +152,9 @@ CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +6043-13503 America/Whitehorse MST - Yukon (east)
CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
CA +6404-13925 America/Dawson Pacific - Yukon (west)
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
@@ -360,8 +359,8 @@ RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# Programs should use zone1970.tab instead; see above.
UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia

View File

@@ -99,6 +99,16 @@ ifeq ($(call check-jvm-feature, compiler2), true)
ADLCFLAGS += -DAIX=1
else ifeq ($(OPENJDK_TARGET_OS), macosx)
ADLCFLAGS += -D_ALLBSD_SOURCE=1 -D_GNU_SOURCE=1
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
ADLCFLAGS += -DR18_RESERVED=1
endif
else ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetCpuBits, 64), true)
ADLCFLAGS += -D_WIN64=1
endif
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
ADLCFLAGS += -DR18_RESERVED=1
endif
endif
ifneq ($(OPENJDK_TARGET_OS), windows)

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -46,6 +46,7 @@ public class SBCS {
String hisName = cs.hisName;
String pkgName = cs.pkgName;
boolean isASCII = cs.isASCII;
boolean isLatin1Decodable = true;
StringBuilder b2cSB = new StringBuilder();
StringBuilder b2cNRSB = new StringBuilder();
@@ -69,6 +70,9 @@ public class SBCS {
c2bOff += 0x100;
c2bIndex[e.cp>>8] = 1;
}
if (e.cp > 0xFF) {
isLatin1Decodable = false;
}
}
Formatter fm = new Formatter(b2cSB);
@@ -178,6 +182,9 @@ public class SBCS {
if (line.indexOf("$ASCIICOMPATIBLE$") != -1) {
line = line.replace("$ASCIICOMPATIBLE$", isASCII ? "true" : "false");
}
if (line.indexOf("$LATIN1DECODABLE$") != -1) {
line = line.replace("$LATIN1DECODABLE$", isLatin1Decodable ? "true" : "false");
}
if (line.indexOf("$B2CTABLE$") != -1) {
line = line.replace("$B2CTABLE$", b2c);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2020, 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
@@ -33,10 +33,12 @@ import java.nio.file.Paths;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/**
* This tool reads the IANA Language Subtag Registry data file downloaded from
@@ -75,32 +77,49 @@ public class EquivMapsGenerator {
String type = null;
String tag = null;
String preferred = null;
String prefix = null;
for (String line : Files.readAllLines(Paths.get(filename),
Charset.forName("UTF-8"))) {
line = line.toLowerCase(Locale.ROOT);
int index = line.indexOf(' ')+1;
int index = line.indexOf(' ') + 1;
if (line.startsWith("file-date:")) {
LSRrevisionDate = line.substring(index);
} else if (line.startsWith("type:")) {
type = line.substring(index);
} else if (line.startsWith("tag:") || line.startsWith("subtag:")) {
tag = line.substring(index);
} else if (line.startsWith("preferred-value:")
&& !type.equals("extlang")) {
} else if (line.startsWith("preferred-value:")) {
preferred = line.substring(index);
processDeprecatedData(type, tag, preferred);
} else if (line.startsWith("prefix:")) {
prefix = line.substring(index);
} else if (line.equals("%%")) {
processDeprecatedData(type, tag, preferred, prefix);
type = null;
tag = null;
preferred = null;
prefix = null;
}
}
// Last entry
processDeprecatedData(type, tag, preferred, prefix);
}
private static void processDeprecatedData(String type,
String tag,
String preferred) {
String preferred,
String prefix) {
StringBuilder sb;
if (type == null || tag == null || preferred == null) {
return;
}
if (type.equals("extlang") && prefix != null) {
tag = prefix + "-" + tag;
}
if (type.equals("region") || type.equals("variant")) {
if (!initialRegionVariantMap.containsKey(preferred)) {
sb = new StringBuilder("-");
@@ -113,7 +132,7 @@ public class EquivMapsGenerator {
+ " A region/variant subtag \"" + preferred
+ "\" is registered for more than one subtags.");
}
} else { // language, grandfahered, and redundant
} else { // language, extlang, grandfathered, and redundant
if (!initialLanguageMap.containsKey(preferred)) {
sb = new StringBuilder(preferred);
sb.append(',');
@@ -131,7 +150,12 @@ public class EquivMapsGenerator {
private static void generateEquivalentMap() {
String[] subtags;
for (String preferred : initialLanguageMap.keySet()) {
subtags = initialLanguageMap.get(preferred).toString().split(",");
// There are cases where the same tag may appear in two entries, e.g.,
// "yue" is defined both as extlang and redundant. Remove the dup.
subtags = Arrays.stream(initialLanguageMap.get(preferred).toString().split(","))
.distinct()
.collect(Collectors.toList())
.toArray(new String[0]);
if (subtags.length == 2) {
sortedLanguageMap1.put(subtags[0], subtags[1]);
@@ -215,10 +239,7 @@ public class EquivMapsGenerator {
+ " static final Map<String, String[]> multiEquivsMap;\n"
+ " static final Map<String, String> regionVariantEquivMap;\n\n"
+ " static {\n"
+ " singleEquivMap = new HashMap<>();\n"
+ " multiEquivsMap = new HashMap<>();\n"
+ " regionVariantEquivMap = new HashMap<>();\n\n"
+ " // This is an auto-generated file and should not be manually edited.\n";
+ " singleEquivMap = new HashMap<>(";
private static final String footerText =
" }\n\n"
@@ -242,6 +263,12 @@ public class EquivMapsGenerator {
Paths.get(fileName))) {
writer.write(getOpenJDKCopyright());
writer.write(headerText
+ (int)(sortedLanguageMap1.size() / 0.75f + 1) + ");\n"
+ " multiEquivsMap = new HashMap<>("
+ (int)(sortedLanguageMap2.size() / 0.75f + 1) + ");\n"
+ " regionVariantEquivMap = new HashMap<>("
+ (int)(sortedRegionVariantMap.size() / 0.75f + 1) + ");\n\n"
+ " // This is an auto-generated file and should not be manually edited.\n"
+ " // LSR Revision: " + LSRrevisionDate);
writer.newLine();

View File

@@ -25,6 +25,8 @@
package propertiesparser.gen;
import static java.util.stream.Collectors.toList;
import propertiesparser.parser.Message;
import propertiesparser.parser.MessageFile;
import propertiesparser.parser.MessageInfo;
@@ -44,11 +46,12 @@ import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.TreeSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -150,7 +153,11 @@ public class ClassGenerator {
public void generateFactory(MessageFile messageFile, File outDir) {
Map<FactoryKind, List<Map.Entry<String, Message>>> groupedEntries =
messageFile.messages.entrySet().stream()
.collect(Collectors.groupingBy(e -> FactoryKind.parseFrom(e.getKey().split("\\.")[1])));
.collect(
Collectors.groupingBy(
e -> FactoryKind.parseFrom(e.getKey().split("\\.")[1]),
TreeMap::new,
toList()));
//generate nested classes
List<String> nestedDecls = new ArrayList<>();
Set<String> importedTypes = new TreeSet<>();

View File

@@ -245,7 +245,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
LIBS_macosx := -lmlib_image \
-framework Cocoa \
-framework OpenGL \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-framework ApplicationServices \
-framework AudioToolbox, \
@@ -391,7 +390,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
common/awt/debug \
libawt/java2d, \
HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation stringop-truncation, \
DISABLED_WARNINGS_clang := tautological-compare, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
DISABLED_WARNINGS_microsoft := 4819, \
@@ -572,105 +571,43 @@ endif
###########################################################################
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
LIBHARFBUZZ_LIBS := $(HARFBUZZ_LIBS)
LIBFONTMANAGER_EXTRA_SRC =
BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS)
else
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
# This is better than adding EXPORT_ALL_SYMBOLS
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang solstudio), )
HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
endif
LIBFONTMANAGER_EXTRA_SRC = libharfbuzz
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
ifneq ($(OPENJDK_TARGET_OS), windows)
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
-DHB_NO_PRAGMA_GCC_DIAGNOSTIC
endif
ifneq (, $(findstring $(OPENJDK_TARGET_OS), linux macosx))
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
endif
LIBHARFBUZZ_LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN)
ifeq ($(TOOLCHAIN_TYPE), gcc)
ifeq ($(CC_VERSION_NUMBER), 4.4.7)
LIBHARFBUZZ_LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) \
$(call SET_SHARED_LIBRARY_ORIGIN)
endif
endif
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc \
libharfbuzz/hb-coretext.cc
ifneq ($(OPENJDK_TARGET_OS), windows)
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
-DHB_NO_PRAGMA_GCC_DIAGNOSTIC
endif
ifneq (, $(findstring $(OPENJDK_TARGET_OS), linux macosx))
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
endif
ifeq ($(OPENJDK_TARGET_OS), solaris)
HARFBUZZ_CFLAGS += -DHAVE_SOLARIS_ATOMIC_OPS
endif
HARFBUZZ_EXTRA_HEADER_DIRS := \
libharfbuzz/hb-ucdn
LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-coretext.cc
HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing
HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
maybe-uninitialized class-memaccess
HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
tautological-constant-out-of-range-compare int-to-pointer-cast \
undef missing-field-initializers range-loop-analysis
HARFBUZZ_DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-ft.cc
LIBHARFBUZZ_CFLAGS += $(HARFBUZZ_CFLAGS)
# For use by libfontmanager:
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBHARFBUZZ_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjharfbuzz/jharfbuzz.lib
else ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBHARFBUZZ_LIBS := -ljharfbuzz
endif
LIBHARFBUZZ_EXTRA_HEADER_DIRS := \
libjharfbuzz/hb-ucdn \
#
LIBHARFBUZZ_OPTIMIZATION := HIGH
LIBHARFBUZZ_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
$(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \
NAME := jharfbuzz, \
EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
OPTIMIZATION := $(LIBHARFBUZZ_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBHARFBUZZ_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing, \
DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
maybe-uninitialized class-memaccess, \
DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
tautological-constant-out-of-range-compare int-to-pointer-cast \
undef missing-field-initializers, \
DISABLED_WARNINGS_C_solstudio := \
E_INTEGER_OVERFLOW_DETECTED \
E_ARG_INCOMPATIBLE_WITH_ARG_L \
E_ENUM_VAL_OVERFLOWS_INT_MAX, \
DISABLED_WARNINGS_CXX_solstudio := \
truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
hidevf w_novirtualdescr arrowrtn2 unknownpragma, \
DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
LDFLAGS := $(LIBHARFBUZZ_LDFLAGS), \
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
LDFLAGS_aix := -Wl$(COMMA)-berok, \
LIBS := $(BUILD_LIBHARFBUZZ), \
LIBS_unix := $(LIBM) $(LIBCXX), \
LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
LIBS_windows := user32.lib, \
))
ifeq ($(FREETYPE_TO_USE), bundled)
$(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
endif
TARGETS += $(BUILD_LIBHARFBUZZ)
LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
endif
###########################################################################
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
libjharfbuzz \
libharfbuzz \
common/awt \
common/font \
libawt/java2d \
@@ -678,10 +615,10 @@ LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
libawt/java2d/loops \
#
LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) $(HARFBUZZ_FLAGS)
BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS) $(LIBFREETYPE_LIBS)
LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
LIBFONTMANAGER_OPTIMIZATION := HIGH
LIBFONTMANAGER_OPTIMIZATION := HIGHEST
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
@@ -720,18 +657,13 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS) $(HARFBUZZ_EXTRA_HEADER_DIRS), \
EXTRA_SRC := $(LIBFONTMANAGER_EXTRA_SRC), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast, \
DISABLED_WARNINGS_clang := sign-compare, \
DISABLED_WARNINGS_C_solstudio := \
E_INTEGER_OVERFLOW_DETECTED \
E_ARG_INCOMPATIBLE_WITH_ARG_L \
E_ENUM_VAL_OVERFLOWS_INT_MAX, \
DISABLED_WARNINGS_CXX_solstudio := \
truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
hidevf w_novirtualdescr arrowrtn2 unknownpragma, \
DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996 4996 4146 4334 4819 4101 4068 4805 4138, \
DISABLED_WARNINGS_gcc := $(HARFBUZZ_DISABLED_WARNINGS_gcc), \
DISABLED_WARNINGS_CXX_gcc := $(HARFBUZZ_DISABLED_WARNINGS_CXX_gcc), \
DISABLED_WARNINGS_clang := $(HARFBUZZ_DISABLED_WARNINGS_clang), \
DISABLED_WARNINGS_microsoft := $(HARFBUZZ_DISABLED_WARNINGS_microsoft), \
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -739,17 +671,13 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
LDFLAGS_aix := -Wl$(COMMA)-berok, \
LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
LIBS_macosx := -lawt_lwawt, \
LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
$(WIN_AWT_LIB), \
))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
ifeq ($(USE_EXTERNAL_HARFBUZZ), false)
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBHARFBUZZ)
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
endif
@@ -936,8 +864,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
$(LIBM) -lpthread -liconv -losxapp \
-framework ApplicationServices \
-framework Foundation \
-framework Cocoa \
-framework JavaNativeFoundation
-framework Cocoa
else ifeq ($(OPENJDK_TARGET_OS), windows)
LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
else
@@ -1033,7 +960,6 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
-framework Cocoa \
-framework Security \
-framework ExceptionHandling \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-framework OpenGL \
-framework QuartzCore -ljava, \
@@ -1071,7 +997,6 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
-framework Cocoa \
-framework Carbon \
-framework ApplicationServices \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-ljava -ljvm, \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -110,9 +110,9 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := \
-lobjc \
-framework JavaNativeFoundation \
-framework CoreServices \
-framework Security \
-framework Foundation \
$(JDKLIB_LIBS), \
))

View File

@@ -96,6 +96,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := \
-ljava \
-framework Accelerate \
-framework ApplicationServices \
-framework AudioToolbox \
@@ -103,13 +104,14 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
-framework Cocoa \
-framework Security \
-framework ExceptionHandling \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-framework OpenGL \
-framework IOSurface \
-framework QuartzCore, \
))
$(BUILD_LIBOSXAPP): $(call FindLib, java.base, java)
TARGETS += $(BUILD_LIBOSXAPP)
##############################################################################
@@ -127,7 +129,6 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
-losxapp \
-framework Cocoa \
-framework ApplicationServices \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-framework SystemConfiguration \
$(JDKLIB_LIBS), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -78,8 +78,8 @@ ifneq ($(BUILD_CRYPTO), false)
DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := -framework JavaNativeFoundation -framework Cocoa \
-framework SystemConfiguration -framework Kerberos, \
LIBS := -framework Cocoa -framework SystemConfiguration \
-framework Kerberos, \
))
TARGETS += $(BUILD_LIBOSXKRB5)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -65,9 +65,9 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
EXTRA_SRC := $(LIBSA_EXTRA_SRC), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
LIBS_linux := -lthread_db $(LIBDL), \
LIBS_linux := $(LIBDL), \
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \
LIBS_macosx := -framework Foundation -framework JavaNativeFoundation \
LIBS_macosx := -framework Foundation \
-framework JavaRuntimeSupport -framework Security -framework CoreFoundation, \
LIBS_windows := dbgeng.lib, \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -76,11 +76,13 @@ else
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework Cocoa \
-framework JavaNativeFoundation
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := \
-framework Cocoa
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestDynamicStore := \
-framework Cocoa -framework SystemConfiguration
else
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.c
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.m
BUILD_JDK_JTREG_EXCLUDE += libTestDynamicStore.m
endif
ifeq ($(OPENJDK_TARGET_OS), windows)

View File

@@ -54,4 +54,5 @@ jdk.security.jgss,
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent
jdk.hotspot.agent,
jdk.jcmd

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -164,14 +164,11 @@ define(`BFM_INSN',`// This pattern is automatically generated from aarch64_ad.m4
instruct $4$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI lshift_count, immI rshift_count)
%{
match(Set dst EXTEND($1, $3, src, lshift_count, rshift_count));
// Make sure we are not going to exceed what $4 can do.
predicate((unsigned int)n->in(2)->get_int() <= $2
&& (unsigned int)n->in(1)->in(2)->get_int() <= $2);
ins_cost(INSN_COST * 2);
format %{ "$4 $dst, $src, $rshift_count - $lshift_count, #$2 - $lshift_count" %}
ins_encode %{
int lshift = $lshift_count$$constant, rshift = $rshift_count$$constant;
int lshift = $lshift_count$$constant & $2;
int rshift = $rshift_count$$constant & $2;
int s = $2 - lshift;
int r = (rshift - lshift) & $2;
__ $4(as_Register($dst$$reg),
@@ -235,46 +232,44 @@ instruct ubfxIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI rshift, immI_bitmask m
ins_pipe(ialu_reg_shift);
%}
define(`UBFIZ_INSN', `// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
// We can use ubfiz when masking by a positive number and then left shifting the result.
define(`UBFIZ_INSN', `// We can use ubfiz when masking by a positive number and then left shifting the result.
// We know that the mask is positive because imm$1_bitmask guarantees it.
instruct $2$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI lshift, imm$1_bitmask mask)
instruct $3$1$8(iReg$2NoSp dst, iReg$1`'ORL2I($1) src, immI lshift, $7 mask)
%{
match(Set dst (LShift$1 (And$1 src mask) lshift));
predicate((unsigned int)n->in(2)->get_int() <= $3 &&
(exact_log2$5(n->in(1)->in(2)->get_$4()+1) + (unsigned int)n->in(2)->get_int()) <= ($3+1));
ifelse($8,,
match(Set dst (LShift$1 (And$1 src mask) lshift));,
match(Set dst ($8 (LShift$1 (And$1 src mask) lshift)));)
ifelse($8,,
predicate(($6(n->in(1)->in(2)->get_$5() + 1) + (n->in(2)->get_int() & $4)) <= ($4 + 1));,
predicate(($6(n->in(1)->in(1)->in(2)->get_$5() + 1) + (n->in(1)->in(2)->get_int() & $4)) <= 31);)
ins_cost(INSN_COST);
format %{ "$2 $dst, $src, $lshift, $mask" %}
format %{ "$3 $dst, $src, $lshift, $mask" %}
ins_encode %{
int lshift = $lshift$$constant;
int lshift = $lshift$$constant & $4;
intptr_t mask = $mask$$constant;
int width = exact_log2$5(mask+1);
__ $2(as_Register($dst$$reg),
int width = $6(mask+1);
__ $3(as_Register($dst$$reg),
as_Register($src$$reg), lshift, width);
%}
ins_pipe(ialu_reg_shift);
%}
')
UBFIZ_INSN(I, ubfizw, 31, int)
UBFIZ_INSN(L, ubfiz, 63, long, _long)
UBFIZ_INSN(I, I, ubfizw, 31, int, exact_log2, immI_bitmask)
UBFIZ_INSN(L, L, ubfiz, 63, long, exact_log2_long, immL_bitmask)
UBFIZ_INSN(I, L, ubfizw, 31, int, exact_log2, immI_bitmask, ConvI2L)
UBFIZ_INSN(L, I, ubfiz, 63, long, exact_log2_long, immL_positive_bitmaskI, ConvL2I)
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
// If there is a convert I to L block between and AndI and a LShiftL, we can also match ubfiz
instruct ubfizIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI lshift, immI_bitmask mask)
define(`BFX1_INSN', `// If there is a convert $1 to $2 block between and And$1 and a LShift$2, we can also match ubfiz
instruct ubfiz$1Conv$3$9(iReg$2NoSp dst, iReg$1`'ORL2I($1) src, immI lshift, $8 mask)
%{
match(Set dst (LShiftL (ConvI2L(AndI src mask)) lshift));
predicate((unsigned int)n->in(2)->get_int() <= 31 &&
(exact_log2((unsigned int)n->in(1)->in(1)->in(2)->get_int()+1) + (unsigned int)n->in(2)->get_int()) <= 32);
match(Set dst (LShift$2 (Conv$3 (And$1 src mask)) lshift));
predicate(($4(n->in(1)->in(1)->in(2)->$5() + 1) + (n->in(2)->get_int() & $6)) <= $7);
ins_cost(INSN_COST);
format %{ "ubfiz $dst, $src, $lshift, $mask" %}
ins_encode %{
int lshift = $lshift$$constant;
int lshift = $lshift$$constant & $6;
intptr_t mask = $mask$$constant;
int width = exact_log2(mask+1);
__ ubfiz(as_Register($dst$$reg),
@@ -282,7 +277,20 @@ instruct ubfizIConvI2L(iRegLNoSp dst, iRegIorL2I src, immI lshift, immI_bitmask
%}
ins_pipe(ialu_reg_shift);
%}
')dnl
BFX1_INSN(I, L, I2L, exact_log2, get_int, 63, (63 + 1), immI_bitmask)
BFX1_INSN(L, I, L2I, exact_log2_long, get_long, 31, 31, immL_positive_bitmaskI, x)
// Can skip int2long conversions after AND with small bitmask
instruct ubfizIConvI2LAndI(iRegLNoSp dst, iRegI src, immI_bitmask msk)
%{
match(Set dst (ConvI2L (AndI src msk)));
ins_cost(INSN_COST);
format %{ "ubfiz $dst, $src, 0, exact_log2($msk + 1) " %}
ins_encode %{
__ ubfiz(as_Register($dst$$reg), as_Register($src$$reg), 0, exact_log2($msk$$constant + 1));
%}
ins_pipe(ialu_reg_shift);
%}
// Rotations dnl
define(`EXTRACT_INSN',`
@@ -291,7 +299,7 @@ define(`EXTRACT_INSN',`
instruct extr$3$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src1, iReg$1`'ORL2I($1) src2, immI lshift, immI rshift, rFlagsReg cr)
%{
match(Set dst ($3$1 (LShift$1 src1 lshift) (URShift$1 src2 rshift)));
predicate(0 == ((n->in(1)->in(2)->get_int() + n->in(2)->in(2)->get_int()) & $2));
predicate(0 == (((n->in(1)->in(2)->get_int() & $2) + (n->in(2)->in(2)->get_int() & $2)) & $2));
ins_cost(INSN_COST);
format %{ "extr $dst, $src1, $src2, #$rshift" %}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -135,7 +135,20 @@ void AbstractInterpreter::layout_activation(Method* method,
// interpreter_frame_sender_sp interpreter_frame_sender_sp is
// the original sp of the caller (the unextended_sp) and
// sender_sp is fp+8/16 (32bit/64bit) XXX
intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1;
//
// The interpreted method entry on AArch64 aligns SP to 16 bytes
// before generating the fixed part of the activation frame. So there
// may be a gap between the locals block and the saved sender SP. For
// an interpreted caller we need to recreate this gap and exactly
// align the incoming parameters with the caller's temporary
// expression stack. For other types of caller frame it doesn't
// matter.
intptr_t* locals;
if (caller->is_interpreted_frame()) {
locals = caller->interpreter_frame_last_sp() + caller_actual_parameters - 1;
} else {
locals = interpreter_frame->sender_sp() + max_locals - 1;
}
#ifdef ASSERT
if (caller->is_interpreted_frame()) {

File diff suppressed because it is too large Load Diff

View File

@@ -188,7 +188,7 @@ public:
static inline uint32_t extract(uint32_t val, int msb, int lsb) {
int nbits = msb - lsb + 1;
assert_cond(msb >= lsb);
uint32_t mask = (1U << nbits) - 1;
uint32_t mask = checked_cast<uint32_t>(right_n_bits(nbits));
uint32_t result = val >> lsb;
result &= mask;
return result;
@@ -203,7 +203,7 @@ public:
int nbits = msb - lsb + 1;
guarantee(val < (1U << nbits), "Field too big for insn");
assert_cond(msb >= lsb);
unsigned mask = (1U << nbits) - 1;
unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
val <<= lsb;
mask <<= lsb;
unsigned target = *(unsigned *)a;
@@ -217,7 +217,7 @@ public:
int64_t chk = val >> (nbits - 1);
guarantee (chk == -1 || chk == 0, "Field too big for insn");
unsigned uval = val;
unsigned mask = (1U << nbits) - 1;
unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
uval &= mask;
uval <<= lsb;
mask <<= lsb;
@@ -229,9 +229,9 @@ public:
void f(unsigned val, int msb, int lsb) {
int nbits = msb - lsb + 1;
guarantee(val < (1U << nbits), "Field too big for insn");
guarantee(val < (1ULL << nbits), "Field too big for insn");
assert_cond(msb >= lsb);
unsigned mask = (1U << nbits) - 1;
unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
val <<= lsb;
mask <<= lsb;
insn |= val;
@@ -250,7 +250,7 @@ public:
int64_t chk = val >> (nbits - 1);
guarantee (chk == -1 || chk == 0, "Field too big for insn");
unsigned uval = val;
unsigned mask = (1U << nbits) - 1;
unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
uval &= mask;
f(uval, lsb + nbits - 1, lsb);
}
@@ -275,7 +275,7 @@ public:
unsigned get(int msb = 31, int lsb = 0) {
int nbits = msb - lsb + 1;
unsigned mask = ((1U << nbits) - 1) << lsb;
unsigned mask = checked_cast<unsigned>(right_n_bits(nbits)) << lsb;
assert_cond((bits & mask) == mask);
return (insn & mask) >> lsb;
}
@@ -295,7 +295,7 @@ class PrePost {
int _offset;
Register _r;
public:
PrePost(Register reg, int o) : _r(reg), _offset(o) { }
PrePost(Register reg, int o) : _offset(o), _r(reg) { }
int offset() { return _offset; }
Register reg() { return _r; }
};
@@ -306,10 +306,12 @@ public:
};
class Post : public PrePost {
Register _idx;
bool _is_postreg;
public:
Post(Register reg, int o) : PrePost(reg, o) { _idx = NULL; }
Post(Register reg, Register idx) : PrePost(reg, 0) { _idx = idx; }
Post(Register reg, int o) : PrePost(reg, o) { _idx = NULL; _is_postreg = false; }
Post(Register reg, Register idx) : PrePost(reg, 0) { _idx = idx; _is_postreg = true; }
Register idx_reg() { return _idx; }
bool is_postreg() {return _is_postreg; }
};
namespace ext
@@ -330,7 +332,7 @@ class Address {
ext::operation _op;
public:
extend() { }
extend(int s, int o, ext::operation op) : _shift(s), _option(o), _op(op) { }
extend(int s, int o, ext::operation op) : _option(o), _shift(s), _op(op) { }
int option() const{ return _option; }
int shift() const { return _shift; }
ext::operation op() const { return _op; }
@@ -375,32 +377,31 @@ class Address {
Address()
: _mode(no_mode) { }
Address(Register r)
: _mode(base_plus_offset), _base(r), _offset(0), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(0), _mode(base_plus_offset), _target(0) { }
Address(Register r, int o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, long o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, long long o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned int o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long long o)
: _mode(base_plus_offset), _base(r), _offset(o), _index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
#ifdef ASSERT
Address(Register r, ByteSize disp)
: _mode(base_plus_offset), _base(r), _offset(in_bytes(disp)),
_index(noreg), _target(0) { }
: _base(r), _index(noreg), _offset(in_bytes(disp)), _mode(base_plus_offset), _target(0) { }
#endif
Address(Register r, Register r1, extend ext = lsl())
: _mode(base_plus_offset_reg), _base(r), _index(r1),
_ext(ext), _offset(0), _target(0) { }
: _base(r), _index(r1), _offset(0), _mode(base_plus_offset_reg),
_ext(ext), _target(0) { }
Address(Pre p)
: _mode(pre), _base(p.reg()), _offset(p.offset()) { }
: _base(p.reg()), _offset(p.offset()), _mode(pre) { }
Address(Post p)
: _mode(p.idx_reg() == NULL ? post : post_reg), _base(p.reg()),
_offset(p.offset()), _target(0), _index(p.idx_reg()) { }
: _base(p.reg()), _index(p.idx_reg()), _offset(p.offset()),
_mode(p.is_postreg() ? post_reg : post), _target(0) { }
Address(address target, RelocationHolder const& rspec)
: _mode(literal),
_rspec(rspec),
@@ -409,7 +410,7 @@ class Address {
Address(address target, relocInfo::relocType rtype = relocInfo::external_word_type);
Address(Register base, RegisterOrConstant index, extend ext = lsl())
: _base (base),
_ext(ext), _offset(0), _target(0) {
_offset(0), _ext(ext), _target(0) {
if (index.is_register()) {
_mode = base_plus_offset_reg;
_index = index.as_register();
@@ -481,8 +482,7 @@ class Address {
if (size == 0) // It's a byte
i->f(_ext.shift() >= 0, 12);
else {
if (_ext.shift() > 0)
assert(_ext.shift() == (int)size, "bad shift");
assert(_ext.shift() <= 0 || _ext.shift() == (int)size, "bad shift");
i->f(_ext.shift() > 0, 12);
}
i->f(0b10, 11, 10);
@@ -559,14 +559,7 @@ class Address {
void lea(MacroAssembler *, Register) const;
static bool offset_ok_for_immed(int64_t offset, int shift = 0) {
unsigned mask = (1 << shift) - 1;
if (offset < 0 || offset & mask) {
return (uabs((julong)offset) < (1 << (20 - 12))); // Unscaled offset
} else {
return ((offset >> shift) < (1 << (21 - 10 + 1))); // Scaled, unsigned offset
}
}
static bool offset_ok_for_immed(int64_t offset, uint shift = 0);
};
// Convience classes
@@ -609,7 +602,9 @@ class InternalAddress: public Address {
InternalAddress(address target) : Address(target, relocInfo::internal_word_type) {}
};
const int FPUStateSizeInWords = 32 * 2;
const int FPUStateSizeInWords = FloatRegisterImpl::number_of_registers *
FloatRegisterImpl::save_slots_per_register;
typedef enum {
PLDL1KEEP = 0b00000, PLDL1STRM, PLDL2KEEP, PLDL2STRM, PLDL3KEEP, PLDL3STRM,
PSTL1KEEP = 0b10000, PSTL1STRM, PSTL2KEEP, PSTL2STRM, PSTL3KEEP, PSTL3STRM,
@@ -806,32 +801,34 @@ public:
#undef INSN
// Bitfield
#define INSN(NAME, opcode) \
#define INSN(NAME, opcode, size) \
void NAME(Register Rd, Register Rn, unsigned immr, unsigned imms) { \
starti; \
guarantee(size == 1 || (immr < 32 && imms < 32), "incorrect immr/imms");\
f(opcode, 31, 22), f(immr, 21, 16), f(imms, 15, 10); \
zrf(Rn, 5), rf(Rd, 0); \
}
INSN(sbfmw, 0b0001001100);
INSN(bfmw, 0b0011001100);
INSN(ubfmw, 0b0101001100);
INSN(sbfm, 0b1001001101);
INSN(bfm, 0b1011001101);
INSN(ubfm, 0b1101001101);
INSN(sbfmw, 0b0001001100, 0);
INSN(bfmw, 0b0011001100, 0);
INSN(ubfmw, 0b0101001100, 0);
INSN(sbfm, 0b1001001101, 1);
INSN(bfm, 0b1011001101, 1);
INSN(ubfm, 0b1101001101, 1);
#undef INSN
// Extract
#define INSN(NAME, opcode) \
#define INSN(NAME, opcode, size) \
void NAME(Register Rd, Register Rn, Register Rm, unsigned imms) { \
starti; \
guarantee(size == 1 || imms < 32, "incorrect imms"); \
f(opcode, 31, 21), f(imms, 15, 10); \
rf(Rm, 16), rf(Rn, 5), rf(Rd, 0); \
zrf(Rm, 16), zrf(Rn, 5), zrf(Rd, 0); \
}
INSN(extrw, 0b00010011100);
INSN(extr, 0b10010011110);
INSN(extrw, 0b00010011100, 0);
INSN(extr, 0b10010011110, 1);
#undef INSN
@@ -1125,7 +1122,7 @@ public:
Register Rn, enum operand_size sz, int op, bool ordered) {
starti;
f(sz, 31, 30), f(0b001000, 29, 24), f(op, 23, 21);
rf(Rs, 16), f(ordered, 15), rf(Rt2, 10), srf(Rn, 5), zrf(Rt1, 0);
rf(Rs, 16), f(ordered, 15), zrf(Rt2, 10), srf(Rn, 5), zrf(Rt1, 0);
}
void load_exclusive(Register dst, Register addr,
@@ -1218,8 +1215,8 @@ public:
/* The size bit is in bit 30, not 31 */
sz = (operand_size)(sz == word ? 0b00:0b01);
}
f(sz, 31, 30), f(0b001000, 29, 24), f(1, 23), f(a, 22), f(1, 21);
rf(Rs, 16), f(r, 15), f(0b11111, 14, 10), rf(Rn, 5), rf(Rt, 0);
f(sz, 31, 30), f(0b001000, 29, 24), f(not_pair ? 1 : 0, 23), f(a, 22), f(1, 21);
zrf(Rs, 16), f(r, 15), f(0b11111, 14, 10), srf(Rn, 5), zrf(Rt, 0);
}
// CAS
@@ -1254,7 +1251,7 @@ public:
enum operand_size sz, int op1, int op2, bool a, bool r) {
starti;
f(sz, 31, 30), f(0b111000, 29, 24), f(a, 23), f(r, 22), f(1, 21);
rf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), rf(Rn, 5), zrf(Rt, 0);
zrf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), srf(Rn, 5), zrf(Rt, 0);
}
#define INSN(NAME, NAME_A, NAME_L, NAME_AL, op1, op2) \
@@ -1476,6 +1473,7 @@ public:
void NAME(Register Rd, Register Rn, Register Rm, \
enum shift_kind kind = LSL, unsigned shift = 0) { \
starti; \
guarantee(size == 1 || shift < 32, "incorrect shift"); \
f(N, 21); \
zrf(Rm, 16), zrf(Rn, 5), zrf(Rd, 0); \
op_shifted_reg(0b01010, kind, shift, size, op); \
@@ -1538,6 +1536,7 @@ void mvnw(Register Rd, Register Rm,
starti; \
f(0, 21); \
assert_cond(kind != ROR); \
guarantee(size == 1 || shift < 32, "incorrect shift");\
zrf(Rd, 0), zrf(Rn, 5), zrf(Rm, 16); \
op_shifted_reg(0b01011, kind, shift, size, op); \
}
@@ -1566,7 +1565,7 @@ void mvnw(Register Rd, Register Rm,
void add_sub_extended_reg(unsigned op, unsigned decode,
Register Rd, Register Rn, Register Rm,
unsigned opt, ext::operation option, unsigned imm) {
guarantee(imm <= 4, "shift amount must be < 4");
guarantee(imm <= 4, "shift amount must be <= 4");
f(op, 31, 29), f(decode, 28, 24), f(opt, 23, 22), f(1, 21);
f(option, 15, 13), f(imm, 12, 10);
}
@@ -1651,7 +1650,7 @@ void mvnw(Register Rd, Register Rm,
f(o2, 10);
f(o3, 4);
f(nzcv, 3, 0);
f(imm5, 20, 16), rf(Rn, 5);
f(imm5, 20, 16), zrf(Rn, 5);
}
#define INSN(NAME, op) \
@@ -1852,12 +1851,16 @@ public:
INSN(fdivs, 0b000, 0b00, 0b0001);
INSN(fadds, 0b000, 0b00, 0b0010);
INSN(fsubs, 0b000, 0b00, 0b0011);
INSN(fmaxs, 0b000, 0b00, 0b0100);
INSN(fmins, 0b000, 0b00, 0b0101);
INSN(fnmuls, 0b000, 0b00, 0b1000);
INSN(fmuld, 0b000, 0b01, 0b0000);
INSN(fdivd, 0b000, 0b01, 0b0001);
INSN(faddd, 0b000, 0b01, 0b0010);
INSN(fsubd, 0b000, 0b01, 0b0011);
INSN(fmaxd, 0b000, 0b01, 0b0100);
INSN(fmind, 0b000, 0b01, 0b0101);
INSN(fnmuld, 0b000, 0b01, 0b1000);
#undef INSN
@@ -2000,6 +2003,21 @@ public:
#undef INSN
#undef INSN1
// Floating-point compare. 3-registers versions (scalar).
#define INSN(NAME, sz, e) \
void NAME(FloatRegister Vd, FloatRegister Vn, FloatRegister Vm) { \
starti; \
f(0b01111110, 31, 24), f(e, 23), f(sz, 22), f(1, 21), rf(Vm, 16); \
f(0b111011, 15, 10), rf(Vn, 5), rf(Vd, 0); \
} \
INSN(facged, 1, 0); // facge-double
INSN(facges, 0, 0); // facge-single
INSN(facgtd, 1, 1); // facgt-double
INSN(facgts, 0, 1); // facgt-single
#undef INSN
// Floating-point Move (immediate)
private:
unsigned pack(double value);
@@ -2116,7 +2134,12 @@ public:
}
void ld_st(FloatRegister Vt, SIMD_Arrangement T, Register Xn,
int imm, int op1, int op2, int regs) {
guarantee(T <= T1Q && imm == SIMD_Size_in_bytes[T] * regs, "bad offset");
bool replicate = op2 >> 2 == 3;
// post-index value (imm) is formed differently for replicate/non-replicate ld* instructions
int expectedImmediate = replicate ? regs * (1 << (T >> 1)) : SIMD_Size_in_bytes[T] * regs;
guarantee(T < T1Q , "incorrect arrangement");
guarantee(imm == expectedImmediate, "bad offset");
starti;
f(0,31), f((int)T & 1, 30);
f(op1 | 0b100, 29, 21), f(0b11111, 20, 16), f(op2, 15, 12);
@@ -2223,39 +2246,62 @@ public:
#undef INSN
#define INSN(NAME, opc, opc2) \
#define INSN(NAME, opc, opc2, acceptT2D) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm) { \
guarantee(T != T1Q && T != T1D, "incorrect arrangement"); \
if (!acceptT2D) guarantee(T != T2D, "incorrect arrangement"); \
starti; \
f(0, 31), f((int)T & 1, 30), f(opc, 29), f(0b01110, 28, 24); \
f((int)T >> 1, 23, 22), f(1, 21), rf(Vm, 16), f(opc2, 15, 10); \
rf(Vn, 5), rf(Vd, 0); \
}
INSN(addv, 0, 0b100001);
INSN(subv, 1, 0b100001);
INSN(mulv, 0, 0b100111);
INSN(mlav, 0, 0b100101);
INSN(mlsv, 1, 0b100101);
INSN(sshl, 0, 0b010001);
INSN(ushl, 1, 0b010001);
INSN(addv, 0, 0b100001, true); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(subv, 1, 0b100001, true); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(mulv, 0, 0b100111, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(mlav, 0, 0b100101, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(mlsv, 1, 0b100101, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(sshl, 0, 0b010001, true); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(ushl, 1, 0b010001, true); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(umullv, 1, 0b110000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(umlalv, 1, 0b100000, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
#undef INSN
#define INSN(NAME, opc, opc2) \
#define INSN(NAME, opc, opc2, accepted) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) { \
guarantee(T != T1Q && T != T1D, "incorrect arrangement"); \
if (accepted < 3) guarantee(T != T2D, "incorrect arrangement"); \
if (accepted < 2) guarantee(T != T2S, "incorrect arrangement"); \
if (accepted < 1) guarantee(T == T8B || T == T16B, "incorrect arrangement"); \
starti; \
f(0, 31), f((int)T & 1, 30), f(opc, 29), f(0b01110, 28, 24); \
f((int)T >> 1, 23, 22), f(opc2, 21, 10); \
rf(Vn, 5), rf(Vd, 0); \
}
INSN(absr, 0, 0b100000101110);
INSN(negr, 1, 0b100000101110);
INSN(notr, 1, 0b100000010110);
INSN(addv, 0, 0b110001101110);
INSN(cls, 0, 0b100000010010);
INSN(clz, 1, 0b100000010010);
INSN(cnt, 0, 0b100000010110);
INSN(absr, 0, 0b100000101110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(negr, 1, 0b100000101110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(notr, 1, 0b100000010110, 0); // accepted arrangements: T8B, T16B
INSN(addv, 0, 0b110001101110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S
INSN(cls, 0, 0b100000010010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(clz, 1, 0b100000010010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(cnt, 0, 0b100000010110, 0); // accepted arrangements: T8B, T16B
INSN(uaddlp, 1, 0b100000001010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(uaddlv, 1, 0b110000001110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S
#undef INSN
#define INSN(NAME, opc) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) { \
starti; \
assert(T == T4S, "arrangement must be T4S"); \
f(0, 31), f((int)T & 1, 30), f(0b101110, 29, 24), f(opc, 23), \
f(T == T4S ? 0 : 1, 22), f(0b110000111110, 21, 10); rf(Vn, 5), rf(Vd, 0); \
}
INSN(fmaxv, 0);
INSN(fminv, 1);
#undef INSN
@@ -2266,7 +2312,7 @@ public:
starti; \
assert(lsl == 0 || \
((T == T4H || T == T8H) && lsl == 8) || \
((T == T2S || T == T4S) && ((lsl >> 3) < 4)), "invalid shift"); \
((T == T2S || T == T4S) && ((lsl >> 3) < 4) && ((lsl & 7) == 0)), "invalid shift");\
cmode |= lsl >> 2; \
if (T == T4H || T == T8H) cmode |= 0b1000; \
if (!(T == T4H || T == T8H || T == T2S || T == T4S)) { \
@@ -2300,6 +2346,8 @@ public:
INSN(fsub, 0, 1, 0b110101);
INSN(fmla, 0, 0, 0b110011);
INSN(fmls, 0, 1, 0b110011);
INSN(fmax, 0, 0, 0b111101);
INSN(fmin, 0, 1, 0b111101);
#undef INSN
@@ -2359,7 +2407,7 @@ public:
// FMLA/FMLS - Vector - Scalar
INSN(fmlavs, 0, 0b0001);
INSN(fmlsvs, 0, 0b0001);
INSN(fmlsvs, 0, 0b0101);
// FMULX - Vector - Scalar
INSN(fmulxvs, 1, 0b1001);
@@ -2425,7 +2473,22 @@ public:
#undef INSN
void ushll(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, SIMD_Arrangement Tb, int shift) {
#define INSN(NAME, opc, opc2, isSHR) \
void NAME(FloatRegister Vd, FloatRegister Vn, int shift){ \
starti; \
int encodedShift = isSHR ? 128 - shift : 64 + shift; \
f(0b01, 31, 30), f(opc, 29), f(0b111110, 28, 23), \
f(encodedShift, 22, 16); f(opc2, 15, 10), rf(Vn, 5), rf(Vd, 0); \
}
INSN(shld, 0, 0b010101, /* isSHR = */ false);
INSN(sshrd, 0, 0b000001, /* isSHR = */ true);
INSN(ushrd, 1, 0b000001, /* isSHR = */ true);
#undef INSN
private:
void _ushll(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, SIMD_Arrangement Tb, int shift) {
starti;
/* The encodings for the immh:immb fields (bits 22:16) are
* 0001 xxx 8H, 8B/16b shift = xxx
@@ -2438,8 +2501,16 @@ public:
f(0, 31), f(Tb & 1, 30), f(0b1011110, 29, 23), f((1 << ((Tb>>1)+3))|shift, 22, 16);
f(0b101001, 15, 10), rf(Vn, 5), rf(Vd, 0);
}
public:
void ushll(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, SIMD_Arrangement Tb, int shift) {
assert(Tb == T8B || Tb == T4H || Tb == T2S, "invalid arrangement");
_ushll(Vd, Ta, Vn, Tb, shift);
}
void ushll2(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, SIMD_Arrangement Tb, int shift) {
ushll(Vd, Ta, Vn, Tb, shift);
assert(Tb == T16B || Tb == T8H || Tb == T4S, "invalid arrangement");
_ushll(Vd, Ta, Vn, Tb, shift);
}
// Move from general purpose register
@@ -2447,19 +2518,21 @@ public:
void mov(FloatRegister Vd, SIMD_Arrangement T, int index, Register Xn) {
starti;
f(0b01001110000, 31, 21), f(((1 << (T >> 1)) | (index << ((T >> 1) + 1))), 20, 16);
f(0b000111, 15, 10), rf(Xn, 5), rf(Vd, 0);
f(0b000111, 15, 10), zrf(Xn, 5), rf(Vd, 0);
}
// Move to general purpose register
// mov Rd, Vn.T[index]
void mov(Register Xd, FloatRegister Vn, SIMD_Arrangement T, int index) {
guarantee(T >= T2S && T < T1Q, "only D and S arrangements are supported");
starti;
f(0, 31), f((T >= T1D) ? 1:0, 30), f(0b001110000, 29, 21);
f(((1 << (T >> 1)) | (index << ((T >> 1) + 1))), 20, 16);
f(0b001111, 15, 10), rf(Vn, 5), rf(Xd, 0);
}
void pmull(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, FloatRegister Vm, SIMD_Arrangement Tb) {
private:
void _pmull(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, FloatRegister Vm, SIMD_Arrangement Tb) {
starti;
assert((Ta == T1Q && (Tb == T1D || Tb == T2D)) ||
(Ta == T8H && (Tb == T8B || Tb == T16B)), "Invalid Size specifier");
@@ -2467,9 +2540,16 @@ public:
f(0, 31), f(Tb & 1, 30), f(0b001110, 29, 24), f(size, 23, 22);
f(1, 21), rf(Vm, 16), f(0b111000, 15, 10), rf(Vn, 5), rf(Vd, 0);
}
public:
void pmull(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, FloatRegister Vm, SIMD_Arrangement Tb) {
assert(Tb == T1D || Tb == T8B, "pmull assumes T1D or T8B as the second size specifier");
_pmull(Vd, Ta, Vn, Vm, Tb);
}
void pmull2(FloatRegister Vd, SIMD_Arrangement Ta, FloatRegister Vn, FloatRegister Vm, SIMD_Arrangement Tb) {
assert(Tb == T2D || Tb == T16B, "pmull2 assumes T2D or T16B as the second size specifier");
pmull(Vd, Ta, Vn, Vm, Tb);
_pmull(Vd, Ta, Vn, Vm, Tb);
}
void uqxtn(FloatRegister Vd, SIMD_Arrangement Tb, FloatRegister Vn, SIMD_Arrangement Ta) {
@@ -2486,7 +2566,7 @@ public:
starti;
assert(T != T1D, "reserved encoding");
f(0,31), f((int)T & 1, 30), f(0b001110000, 29, 21);
f((1 << (T >> 1)), 20, 16), f(0b000011, 15, 10), rf(Xs, 5), rf(Vd, 0);
f((1 << (T >> 1)), 20, 16), f(0b000011, 15, 10), zrf(Xs, 5), rf(Vd, 0);
}
void dup(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, int index = 0)
@@ -2501,6 +2581,7 @@ public:
// AdvSIMD ZIP/UZP/TRN
#define INSN(NAME, opcode) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm) { \
guarantee(T != T1D && T != T1Q, "invalid arrangement"); \
starti; \
f(0, 31), f(0b001110, 29, 24), f(0, 21), f(0, 15); \
f(opcode, 14, 12), f(0b10, 11, 10); \

View File

@@ -30,4 +30,16 @@
#include "asm/codeBuffer.hpp"
#include "code/codeCache.hpp"
inline bool Address::offset_ok_for_immed(int64_t offset, uint shift) {
uint mask = (1 << shift) - 1;
if (offset < 0 || (offset & mask) != 0) {
// Unscaled signed offset, encoded in a signed imm9 field.
return Assembler::is_simm9(offset);
} else {
// Scaled unsigned offset, encoded in an unsigned imm12:_ field.
return Assembler::is_uimm12(offset >> shift);
}
}
#endif // CPU_AARCH64_VM_ASSEMBLER_AARCH64_INLINE_HPP

View File

@@ -0,0 +1,49 @@
/* Copyright (c) 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef CPU_AARCH64_ATOMIC_AARCH64_HPP
#define CPU_AARCH64_ATOMIC_AARCH64_HPP
// Atomic stub implementation.
// Default implementations are in atomic_linux_aarch64.S
//
// All stubs pass arguments the same way
// x0: src/dest address
// x1: arg1
// x2: arg2 (optional)
// x3, x8, x9: scratch
typedef uint64_t (*aarch64_atomic_stub_t)(volatile void *ptr, uint64_t arg1, uint64_t arg2);
// Pointers to stubs
extern aarch64_atomic_stub_t aarch64_atomic_fetch_add_4_impl;
extern aarch64_atomic_stub_t aarch64_atomic_fetch_add_8_impl;
extern aarch64_atomic_stub_t aarch64_atomic_xchg_4_impl;
extern aarch64_atomic_stub_t aarch64_atomic_xchg_8_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_1_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_4_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_1_relaxed_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_4_relaxed_impl;
extern aarch64_atomic_stub_t aarch64_atomic_cmpxchg_8_relaxed_impl;
#endif // CPU_AARCH64_ATOMIC_AARCH64_HPP

View File

@@ -50,13 +50,13 @@ void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
}
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array)
: _throw_index_out_of_bounds_exception(false), _index(index), _array(array) {
: _index(index), _array(array), _throw_index_out_of_bounds_exception(false) {
assert(info != NULL, "must have info");
_info = new CodeEmitInfo(info);
}
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index)
: _throw_index_out_of_bounds_exception(true), _index(index), _array(NULL) {
: _index(index), _array(NULL), _throw_index_out_of_bounds_exception(true) {
assert(info != NULL, "must have info");
_info = new CodeEmitInfo(info);
}

View File

@@ -44,13 +44,13 @@ enum {
pd_nof_cpu_regs_frame_map = RegisterImpl::number_of_registers, // number of registers used during code emission
pd_nof_fpu_regs_frame_map = FloatRegisterImpl::number_of_registers, // number of registers used during code emission
pd_nof_caller_save_cpu_regs_frame_map = 19 - 2 BSD_ONLY(- 1 /* r18 */), // number of registers killed by calls
pd_nof_caller_save_cpu_regs_frame_map = 19 - 2 /* rscratch1 and rscratch2 */ R18_RESERVED_ONLY(- 1), // number of registers killed by calls
pd_nof_caller_save_fpu_regs_frame_map = 32, // number of registers killed by calls
pd_first_callee_saved_reg = 19 - 2 BSD_ONLY(- 1 /* r18 */),
pd_last_callee_saved_reg = 26 - 2 BSD_ONLY(- 1 /* r18 */),
pd_first_callee_saved_reg = 19 - 2 /* rscratch1 and rscratch2 */ R18_RESERVED_ONLY(- 1),
pd_last_callee_saved_reg = 26 - 2 /* rscratch1 and rscratch2 */ R18_RESERVED_ONLY(- 1),
pd_last_allocatable_cpu_reg = 16 BSD_ONLY(- 1 /* r18 */),
pd_last_allocatable_cpu_reg = 16 R18_RESERVED_ONLY(- 1),
pd_nof_cpu_regs_reg_alloc
= pd_last_allocatable_cpu_reg + 1, // number of registers that are visible to register allocator
@@ -60,9 +60,9 @@ enum {
pd_nof_fpu_regs_linearscan = pd_nof_fpu_regs_frame_map, // number of registers visible to linear scan
pd_nof_xmm_regs_linearscan = 0, // like sparc we don't have any of these
pd_first_cpu_reg = 0,
pd_last_cpu_reg = 16 BSD_ONLY(- 1 /* r18 */),
pd_last_cpu_reg = 16 R18_RESERVED_ONLY(- 1),
pd_first_byte_reg = 0,
pd_last_byte_reg = 16 BSD_ONLY(- 1 /* r18 */),
pd_last_byte_reg = 16 R18_RESERVED_ONLY(- 1),
pd_first_fpu_reg = pd_nof_cpu_regs_frame_map,
pd_last_fpu_reg = pd_first_fpu_reg + 31,

View File

@@ -28,3 +28,4 @@
//--------------------------------------------------------
// No FPU stack on AARCH64
#include "precompiled.hpp"

View File

@@ -181,8 +181,9 @@ void FrameMap::initialize() {
map_register(i, r15); r15_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r16); r16_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r17); r17_opr = LIR_OprFact::single_cpu(i); i++;
#ifndef __APPLE__
map_register(i, r18); r18_opr = LIR_OprFact::single_cpu(i); i++;
#ifndef R18_RESERVED
// See comment in register_aarch64.hpp
map_register(i, r18_reserved); r18_opr = LIR_OprFact::single_cpu(i); i++;
#endif
map_register(i, r19); r19_opr = LIR_OprFact::single_cpu(i); i++;
map_register(i, r20); r20_opr = LIR_OprFact::single_cpu(i); i++;
@@ -201,8 +202,9 @@ void FrameMap::initialize() {
map_register(i, r8); r8_opr = LIR_OprFact::single_cpu(i); i++; // rscratch1
map_register(i, r9); r9_opr = LIR_OprFact::single_cpu(i); i++; // rscratch2
#ifdef __APPLE__
map_register(i, r18); r18_opr = LIR_OprFact::single_cpu(i); i++; // rscratch2
#ifdef R18_RESERVED
// See comment in register_aarch64.hpp
map_register(i, r18_reserved); r18_opr = LIR_OprFact::single_cpu(i); i++;
#endif
rscratch1_opr = r8_opr;
@@ -233,7 +235,8 @@ void FrameMap::initialize() {
_caller_save_cpu_regs[13] = r15_opr;
_caller_save_cpu_regs[14] = r16_opr;
_caller_save_cpu_regs[15] = r17_opr;
#ifndef __APPLE__
#ifndef R18_RESERVED
// See comment in register_aarch64.hpp
_caller_save_cpu_regs[16] = r18_opr;
#endif
@@ -261,7 +264,7 @@ void FrameMap::initialize() {
r15_oop_opr = as_oop_opr(r15);
r16_oop_opr = as_oop_opr(r16);
r17_oop_opr = as_oop_opr(r17);
r18_oop_opr = as_oop_opr(r18);
r18_oop_opr = as_oop_opr(r18_reserved);
r19_oop_opr = as_oop_opr(r19);
r20_oop_opr = as_oop_opr(r20);
r21_oop_opr = as_oop_opr(r21);

View File

@@ -226,6 +226,19 @@ Address LIR_Assembler::as_Address_lo(LIR_Address* addr) {
// FIXME: This needs to be much more clever. See x86.
}
// Ensure a valid Address (base + offset) to a stack-slot. If stack access is
// not encodable as a base + (immediate) offset, generate an explicit address
// calculation to hold the address in a temporary register.
Address LIR_Assembler::stack_slot_address(int index, uint size, Register tmp, int adjust) {
precond(size == 4 || size == 8);
Address addr = frame_map()->address_for_slot(index, adjust);
precond(addr.getMode() == Address::base_plus_offset);
precond(addr.base() == sp);
precond(addr.offset() > 0);
uint mask = size - 1;
assert((addr.offset() & mask) == 0, "scaled offsets only");
return __ legitimize_address(addr, size, tmp);
}
void LIR_Assembler::osr_entry() {
offsets()->set_value(CodeOffsets::OSR_Entry, code_offset());
@@ -436,12 +449,9 @@ int LIR_Assembler::emit_unwind_handler() {
}
if (compilation()->env()->dtrace_method_probes()) {
__ call_Unimplemented();
#if 0
__ movptr(Address(rsp, 0), rax);
__ mov_metadata(Address(rsp, sizeof(void*)), method()->constant_encoding());
__ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit)));
#endif
__ mov(c_rarg0, rthread);
__ mov_metadata(c_rarg1, method()->constant_encoding());
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit), c_rarg0, c_rarg1);
}
if (method()->is_synchronized() || compilation()->env()->dtrace_method_probes()) {
@@ -745,32 +755,38 @@ void LIR_Assembler::reg2reg(LIR_Opr src, LIR_Opr dest) {
}
void LIR_Assembler::reg2stack(LIR_Opr src, LIR_Opr dest, BasicType type, bool pop_fpu_stack) {
precond(src->is_register() && dest->is_stack());
uint const c_sz32 = sizeof(uint32_t);
uint const c_sz64 = sizeof(uint64_t);
if (src->is_single_cpu()) {
int index = dest->single_stack_ix();
if (type == T_ARRAY || type == T_OBJECT) {
__ str(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
__ str(src->as_register(), stack_slot_address(index, c_sz64, rscratch1));
__ verify_oop(src->as_register());
} else if (type == T_METADATA || type == T_DOUBLE || type == T_ADDRESS) {
__ str(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
__ str(src->as_register(), stack_slot_address(index, c_sz64, rscratch1));
} else {
__ strw(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
__ strw(src->as_register(), stack_slot_address(index, c_sz32, rscratch1));
}
} else if (src->is_double_cpu()) {
Address dest_addr_LO = frame_map()->address_for_slot(dest->double_stack_ix(), lo_word_offset_in_bytes);
int index = dest->double_stack_ix();
Address dest_addr_LO = stack_slot_address(index, c_sz64, rscratch1, lo_word_offset_in_bytes);
__ str(src->as_register_lo(), dest_addr_LO);
} else if (src->is_single_fpu()) {
Address dest_addr = frame_map()->address_for_slot(dest->single_stack_ix());
__ strs(src->as_float_reg(), dest_addr);
int index = dest->single_stack_ix();
__ strs(src->as_float_reg(), stack_slot_address(index, c_sz32, rscratch1));
} else if (src->is_double_fpu()) {
Address dest_addr = frame_map()->address_for_slot(dest->double_stack_ix());
__ strd(src->as_double_reg(), dest_addr);
int index = dest->double_stack_ix();
__ strd(src->as_double_reg(), stack_slot_address(index, c_sz64, rscratch1));
} else {
ShouldNotReachHere();
}
}
@@ -855,30 +871,34 @@ void LIR_Assembler::reg2mem(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_Patch
void LIR_Assembler::stack2reg(LIR_Opr src, LIR_Opr dest, BasicType type) {
assert(src->is_stack(), "should not call otherwise");
assert(dest->is_register(), "should not call otherwise");
precond(src->is_stack() && dest->is_register());
uint const c_sz32 = sizeof(uint32_t);
uint const c_sz64 = sizeof(uint64_t);
if (dest->is_single_cpu()) {
int index = src->single_stack_ix();
if (type == T_ARRAY || type == T_OBJECT) {
__ ldr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
__ ldr(dest->as_register(), stack_slot_address(index, c_sz64, rscratch1));
__ verify_oop(dest->as_register());
} else if (type == T_METADATA || type == T_ADDRESS) {
__ ldr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
__ ldr(dest->as_register(), stack_slot_address(index, c_sz64, rscratch1));
} else {
__ ldrw(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
__ ldrw(dest->as_register(), stack_slot_address(index, c_sz32, rscratch1));
}
} else if (dest->is_double_cpu()) {
Address src_addr_LO = frame_map()->address_for_slot(src->double_stack_ix(), lo_word_offset_in_bytes);
int index = src->double_stack_ix();
Address src_addr_LO = stack_slot_address(index, c_sz64, rscratch1, lo_word_offset_in_bytes);
__ ldr(dest->as_register_lo(), src_addr_LO);
} else if (dest->is_single_fpu()) {
Address src_addr = frame_map()->address_for_slot(src->single_stack_ix());
__ ldrs(dest->as_float_reg(), src_addr);
int index = src->single_stack_ix();
__ ldrs(dest->as_float_reg(), stack_slot_address(index, c_sz32, rscratch1));
} else if (dest->is_double_fpu()) {
Address src_addr = frame_map()->address_for_slot(src->double_stack_ix());
__ ldrd(dest->as_double_reg(), src_addr);
int index = src->double_stack_ix();
__ ldrd(dest->as_double_reg(), stack_slot_address(index, c_sz64, rscratch1));
} else {
ShouldNotReachHere();
@@ -1027,37 +1047,17 @@ int LIR_Assembler::array_element_size(BasicType type) const {
return exact_log2(elem_size);
}
void LIR_Assembler::arithmetic_idiv(LIR_Op3* op, bool is_irem) {
Register Rdividend = op->in_opr1()->as_register();
Register Rdivisor = op->in_opr2()->as_register();
Register Rscratch = op->in_opr3()->as_register();
Register Rresult = op->result_opr()->as_register();
int divisor = -1;
/*
TODO: For some reason, using the Rscratch that gets passed in is
not possible because the register allocator does not see the tmp reg
as used, and assignes it the same register as Rdividend. We use rscratch1
instead.
assert(Rdividend != Rscratch, "");
assert(Rdivisor != Rscratch, "");
*/
if (Rdivisor == noreg && is_power_of_2(divisor)) {
// convert division by a power of two into some shifts and logical operations
}
__ corrected_idivl(Rresult, Rdividend, Rdivisor, is_irem, rscratch1);
}
void LIR_Assembler::emit_op3(LIR_Op3* op) {
switch (op->code()) {
case lir_idiv:
arithmetic_idiv(op, false);
break;
case lir_irem:
arithmetic_idiv(op, true);
arithmetic_idiv(op->code(),
op->in_opr1(),
op->in_opr2(),
op->in_opr3(),
op->result_opr(),
op->info());
break;
case lir_fmad:
__ fmaddd(op->result_opr()->as_double_reg(),
@@ -1755,16 +1755,43 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
}
} else if (right->is_constant()) {
jlong c = right->as_constant_ptr()->as_jlong_bits();
jlong c = right->as_constant_ptr()->as_jlong();
Register dreg = as_reg(dest);
assert(code == lir_add || code == lir_sub, "mismatched arithmetic op");
if (c == 0 && dreg == lreg_lo) {
COMMENT("effective nop elided");
return;
}
switch (code) {
case lir_add: __ add(dreg, lreg_lo, c); break;
case lir_sub: __ sub(dreg, lreg_lo, c); break;
case lir_add:
case lir_sub:
if (c == 0 && dreg == lreg_lo) {
COMMENT("effective nop elided");
return;
}
code == lir_add ? __ add(dreg, lreg_lo, c) : __ sub(dreg, lreg_lo, c);
break;
case lir_div:
assert(c > 0 && is_power_of_2_long(c), "divisor must be power-of-2 constant");
if (c == 1) {
// move lreg_lo to dreg if divisor is 1
__ mov(dreg, lreg_lo);
} else {
unsigned int shift = exact_log2_long(c);
// use rscratch1 as intermediate result register
__ asr(rscratch1, lreg_lo, 63);
__ add(rscratch1, lreg_lo, rscratch1, Assembler::LSR, 64 - shift);
__ asr(dreg, rscratch1, shift);
}
break;
case lir_rem:
assert(c > 0 && is_power_of_2_long(c), "divisor must be power-of-2 constant");
if (c == 1) {
// move 0 to dreg if divisor is 1
__ mov(dreg, zr);
} else {
// use rscratch1 as intermediate result register
__ negs(rscratch1, lreg_lo);
__ andr(dreg, lreg_lo, c - 1);
__ andr(rscratch1, rscratch1, c - 1);
__ csneg(dreg, dreg, rscratch1, Assembler::MI);
}
break;
default:
ShouldNotReachHere();
}
@@ -1869,7 +1896,51 @@ void LIR_Assembler::logic_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
void LIR_Assembler::arithmetic_idiv(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr temp, LIR_Opr result, CodeEmitInfo* info) { Unimplemented(); }
void LIR_Assembler::arithmetic_idiv(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr illegal, LIR_Opr result, CodeEmitInfo* info) {
// opcode check
assert((code == lir_idiv) || (code == lir_irem), "opcode must be idiv or irem");
bool is_irem = (code == lir_irem);
// operand check
assert(left->is_single_cpu(), "left must be register");
assert(right->is_single_cpu() || right->is_constant(), "right must be register or constant");
assert(result->is_single_cpu(), "result must be register");
Register lreg = left->as_register();
Register dreg = result->as_register();
// power-of-2 constant check and codegen
if (right->is_constant()) {
int c = right->as_constant_ptr()->as_jint();
assert(c > 0 && is_power_of_2(c), "divisor must be power-of-2 constant");
if (is_irem) {
if (c == 1) {
// move 0 to dreg if divisor is 1
__ movw(dreg, zr);
} else {
// use rscratch1 as intermediate result register
__ negsw(rscratch1, lreg);
__ andw(dreg, lreg, c - 1);
__ andw(rscratch1, rscratch1, c - 1);
__ csnegw(dreg, dreg, rscratch1, Assembler::MI);
}
} else {
if (c == 1) {
// move lreg to dreg if divisor is 1
__ movw(dreg, lreg);
} else {
unsigned int shift = exact_log2(c);
// use rscratch1 as intermediate result register
__ asrw(rscratch1, lreg, 31);
__ addw(rscratch1, lreg, rscratch1, Assembler::LSR, 32 - shift);
__ asrw(dreg, rscratch1, shift);
}
}
} else {
Register rreg = right->as_register();
__ corrected_idivl(dreg, lreg, rreg, is_irem, rscratch1);
}
}
void LIR_Assembler::comp_op(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, LIR_Op2* op) {
@@ -2040,6 +2111,13 @@ void LIR_Assembler::throw_op(LIR_Opr exceptionPC, LIR_Opr exceptionOop, CodeEmit
// get current pc information
// pc is only needed if the method has an exception handler, the unwind code does not need it.
if (compilation()->debug_info_recorder()->last_pc_offset() == __ offset()) {
// As no instructions have been generated yet for this LIR node it's
// possible that an oop map already exists for the current offset.
// In that case insert an dummy NOP here to ensure all oop map PCs
// are unique. See JDK-8237483.
__ nop();
}
int pc_for_athrow_offset = __ offset();
InternalAddress pc_for_athrow(__ pc());
__ adr(exceptionPC->as_register(), pc_for_athrow);
@@ -2773,7 +2851,7 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
}
#endif
// first time here. Set profile type.
__ ldr(tmp, mdo_addr);
__ str(tmp, mdo_addr);
} else {
assert(ciTypeEntries::valid_ciklass(current_klass) != NULL &&
ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "inconsistent");

View File

@@ -45,10 +45,12 @@ friend class ArrayCopyStub;
bool is_literal_address(LIR_Address* addr);
// When we need to use something other than rscratch1 use this
// method.
// When we need to use something other than rscratch1 use this method.
Address as_Address(LIR_Address* addr, Register tmp);
// Ensure we have a valid Address (base+offset) to a stack-slot.
Address stack_slot_address(int index, uint shift, Register tmp, int adjust = 0);
// Record the type of the receiver in ReceiverTypeData
void type_profile_helper(Register mdo,
ciMethodData *md, ciProfileData *data,
@@ -77,8 +79,6 @@ friend class ArrayCopyStub;
_deopt_handler_size = 7 * NativeInstruction::instruction_size
};
void arithmetic_idiv(LIR_Op3* op, bool is_irem);
public:
void store_parameter(Register r, int offset_from_esp_in_words);

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