Compare commits

...

712 Commits
1567 ... 1825

Author SHA1 Message Date
Vitaly Provodin
cc97cc683b experiments with notarization (remove arch in root dir, exclude DSYM) follow up 2021-11-29 14:19:45 +07:00
Vitaly Provodin
e6ada8e483 experiments with notarization (remove arch in root dir, exclude DSYM 2021-11-29 11:22:50 +07:00
Vitaly Provodin
e4d6c39faa Revert "experiments with notarization (fix jbrsdk layout) fix bundle id"
This reverts commit 728905245a.
2021-11-29 04:50:42 +07:00
Vitaly Provodin
0f3abf3c70 Revert "experiments with notarization (fix jbrsdk layout) agjust Info.plist"
This reverts commit 3bf0fef585.
2021-11-29 04:50:36 +07:00
Vitaly Provodin
3bf0fef585 experiments with notarization (fix jbrsdk layout) agjust Info.plist 2021-11-28 08:22:27 +07:00
Vitaly Provodin
728905245a experiments with notarization (fix jbrsdk layout) fix bundle id 2021-11-28 04:35:26 +07:00
Vitaly Provodin
f1dbb8a323 experiments with notarization (fix jbrsdk layout) - copy JBRSDK_BINDLE to PKG_NAME followup 2021-11-27 06:50:06 +07:00
Vitaly Provodin
0bd42dcaef experiments with notarization (fix jbrsdk layout) - copy JBRSDK_BINDLE to PKG_NAME 2021-11-27 05:10:49 +07:00
Vitaly Provodin
4abc514afc experiments with notarization (fix jbrsdk layout) - removed redundant line 2021-11-26 16:57:35 +07:00
Vitaly Provodin
ff84ae237a experiments with notarization (return back APPL, and do not exclude DSYM) 2021-11-26 12:12:23 +07:00
Vitaly Provodin
192817c477 experiments with notarization (add architecture into package name) follow up 2021-11-26 06:47:41 +07:00
Vitaly Provodin
a21512d302 experiments with notarization (add architecture into package name) 2021-11-26 04:11:20 +07:00
Vitaly Provodin
0ee6bbb9dc experiments with notarization (fix jbrsdk layout) 2021-11-25 16:09:04 +07:00
Vitaly Provodin
a4c23ba8a4 experiments with notarization (sign with Developer ID Installer) 2021-11-25 11:57:48 +07:00
Vitaly Provodin
80db271dae experiments with notarization (sign Contents/Home/bin & update entitlements.xml) 2021-11-12 06:06:41 +07:00
Vitaly Provodin
ab84f97e02 experiments with notarization (BNDL was changed to APPL) 2021-11-12 05:35:16 +07:00
Nikita Gubarkov
d7b9b249f3 JBR-2917 select glyph rendering loop depending on actual glyph format instead of antialiasing mode 2021-11-04 07:41:38 +03:00
Nikita Gubarkov
6b3172e632 JBR-2917 disable GDI rendering on Windows for colored fonts 2021-11-04 07:38:46 +03:00
Nikita Gubarkov
1833e198ef JBR-3951 Pass real glyph type from native code instead of guessing it by rowBytes & width 2021-11-03 17:11:31 +03:00
Vitaly Provodin
aeaf8a9ce5 exclude javax/swing/JComboBox/8032878/bug8032878.java failing on Windows because of JDK-8196092, JDK-8196439 2021-11-03 12:15:54 +07:00
Vitaly Provodin
bff0bbf317 exclude javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java failing because of JDK-8272105 2021-11-03 11:44:53 +07:00
Vitaly Provodin
b83787b6ee exclude java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java failing because of JDK-8266059 on macosx 2021-11-03 11:35:42 +07:00
Vitaly Provodin
a9f8f8fc00 exclude tests failing because of JDK-8233568 on macosx 2021-11-03 11:29:55 +07:00
Vitaly Provodin
0a64776695 exclude java/awt/Frame/MiscUndecorated/RepaintTest.java failing on macosx-aarch64 because of JDK-8266244 2021-11-03 06:46:44 +07:00
Nikita Gubarkov
ddf5342684 JBR-2917 Added emoji support for Windows 2021-11-02 21:42:33 +03:00
Nikita Gubarkov
ff285c76f5 JBR-3915 Fix comment about subpixel glyph resolution in freetype implementation 2021-11-02 21:39:14 +03:00
Anton Tarasov
15d208c03f JBR-3946 JavaTableRowAccessibility accessibilityChildren leaks children array 2021-11-02 17:56:42 +03:00
Anton Tarasov
41c4c334d9 JBR-3936 increase ogl blit tile size to achieve better performance 2021-11-02 13:39:22 +03:00
Vitaly Provodin
5f1b8b5ab9 JBR-3937 Fix crashes in C1/C2 compilers
& JBR-3938 - fix race condition in anonymous class loading
2021-11-02 17:36:11 +07:00
Vitaly Provodin
80217db8d0 update the link to JBR for IDEA 2021.3 EAP 2021-11-02 08:57:42 +07:00
Ivan Lopatin
0e16e8140d JBR-3388: Fixed wrong graphic config in Component on primary display change 2021-11-01 19:22:16 +07:00
Pavel
c0e26ff5d5 JBR-3926 make AwtComponent transparent for hit events by default
* JBR-3926 make AwtComponent transparent for hit events by default

* [WIP] pass hittest event to frame only if custom decoration is enabled and frame ready to handle it
2021-11-01 12:56:47 +03:00
Nikita Gubarkov
9255096a66 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (Windows, Linux) 2021-10-29 02:15:09 +03:00
bobpengxie
9c9c6c3fb9 JBR-3929 JBR11 does not compile with Xcode 13.1
Partial backport of
8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
2021-10-28 21:49:07 +02:00
Maxim Kartashev
b40cc1c791 JBR-3896 Abysmally slow input and UI performance since upgrade to IU-213.4928.7 from previous 2021.3 EAP version
The slowness was the result of XWM.getInsetsFromExtents() repeated
attempts to acquire frame extents from a property that under Sway is
simply unavailable. Each attempt added at least 20ms to every re-draw.

Prior to (repeatedly) checking for NET_FRAME_EXTENTS property of a
window, check that the property is supported by the window manager.
2021-10-28 19:27:46 +03:00
Vitaly Provodin
8b06568f22 Merge pull request #93
Update 11.0.13
2021-10-28 05:53:37 +07:00
Artem Bochkarev
0ed1c1c58f Revert "JBR-3575: initial support for new screen menu implementation"
This reverts commit 233bc5fa55.
2021-10-27 19:15:04 +07:00
Artem Bochkarev
53b91d9ee8 Revert "JBR-3575: don't install screen menu via _AppMenuBarHandler.java"
This reverts commit 3c912178f8.
2021-10-27 19:14:58 +07:00
Maxim Kartashev
0b53cd291f 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.
2021-10-27 10:52:27 +03:00
Nikita Gubarkov
324e8a273d JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (macOS) 2021-10-27 02:16:58 +03:00
Alexey Ushakov
52770703ef JBR-3918 JBR11 does not compile with 12.5.1
Corrected a11y code
2021-10-26 23:53:04 +02:00
Artem Bochkarev
5e0e4153dc JBR-3918 JBR11 does not compile with 12.5.1
Backported following fixes:
JBR-2562: fixed invokation of parent method

(cherry picked from commit 93cbab2f2d)

JBR-2562: suppress exceptions from [NSWindow _changeJustMain]

temporary workaround to prevent crashes

(cherry picked from commit dd055b5970)
2021-10-26 18:18:59 +02:00
Sergey Bylokhov
aee5acad59 JBR-3918 JBR11 does not compile with 12.5.1
Backported:
8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5

Reviewed-by: prr, azvegint
(cherry picked from commit dedddd5ab2)
2021-10-26 18:18:58 +02:00
Alexander Lobas
56c8c9ae5f JBR-3918 JBR11 does not compile with 12.5.1
Use @available check to avoid compiler warnings
2021-10-26 18:07:34 +02:00
Sergey Bylokhov
3f1b524181 JBR-3114 Deadlock in CGraphicsEnvironment.initDevices
Backport upstream fix:
8252133: The java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java fails if metal pipeline is active
2021-10-26 17:44:47 +02:00
Maxim Kartashev
dc6ad31524 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.
2021-10-26 18:29:44 +03:00
Dmitry Batrak
a943b850ef log one more focus-related call (for JBR-2696) 2021-10-25 21:03:28 +03:00
Vitaly Provodin
8ea8b95a5a JBR-3905 add incremental JBR building 2021-10-25 07:40:16 +07:00
Vitaly Provodin
8aed05eb0f include TCKDateTimeFormatterBuilder test into regular runs after fixing JBR-2842 2021-10-23 08:25:19 +07:00
Vitaly Provodin
08f2d873cb include a11y test into regular runs after fixing JBR-3730 & JBR-3733 2021-10-23 08:24:12 +07:00
Vitaly Provodin
e2bc78646b add javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java into Commit testing 2021-10-22 19:30:55 +07:00
Mikhail Grishchenko
9b18b6db07 JBR-410 add golden emoji for Linux x64 2021-10-22 13:46:09 +07:00
Christoph Langer
e148413b18 8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos
Backport-of: 823d1d222f
(cherry picked from commit b3926db99e)
2021-10-22 13:45:47 +07:00
Sergey Bylokhov
4f0e658af6 JBR-3693 Backport fix for 8272966 to jbr11
(cherry picked from commit 180bc526b0)
2021-10-22 13:45:45 +07:00
Maxim Kartashev
7cdc3d261d JBR-3862 Implement native WatchService on MacOS
The watch service is based on FSEvents API that notifies about file
system changes at a directory level. It is possible to go back to
using the old polling watch service with -Dwatch.service.polling=true.

Features include:
- support for FILE_TREE option (recursive directory watching),
- minimum necessary I/O (no filesystem access more than once
  unless needed),
- one thread ("run loop") per WatchService instance,
- changes are detected by comparing file modification times with
  millisecond precision,
- a directory tree snapshot is taken at the time of WatchKey creation
  and can take a long time (proportional to the number of files).
2021-10-21 15:43:44 +03:00
Vitaly Provodin
3cb1ff0420 update the link to JBR for IDEA 2021.3 EAP 2021-10-21 15:23:04 +07:00
Vitaly Provodin
ebb7e5b243 update the link to JBR for IDEA 2021.3 EAP 2021-10-21 11:34:03 +07:00
Vitaly Provodin
20e0bd6fe8 JBR-3887 fix M1 dcevm SIGBUS crash by using correct var arg processing 2021-10-21 05:13:47 +07:00
Martin Balao
bbe3fec093 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Reviewed-by: mbaesken
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
2021-10-20 19:02:49 +03:00
Martin Balao
f9a56f61ef 8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail
Backport-of: cd020a13c9
2021-10-20 19:02:48 +03:00
Martin Balao
619bab5b02 8157404: Unable to read certain PKCS12 keystores from SequenceInputStream
Backport-of: e0f37c15e4
2021-10-20 19:02:48 +03:00
Clive Verghese
e072eaa78d 8268199: Correct certificate requests
Reviewed-by: yan
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
2021-10-20 19:02:48 +03:00
Alexey Bakhtin
e7288787fe 8267712: Better LDAP reference processing
Reviewed-by: mbaesken, mbalao
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
2021-10-20 19:02:47 +03:00
Martin Balao
542846c726 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
2021-10-20 19:02:47 +03:00
Andrew Brygin
f36936e6ca 8267735: Better BMP support
Reviewed-by: mbalao
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
2021-10-20 19:02:47 +03:00
Aleksei Voitylov
bce4848e35 8270404: Better canonicalization
Reviewed-by: mbaesken
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
2021-10-20 19:02:46 +03:00
Aleksei Voitylov
b2f452cc12 8270398: Enhance canonicalization
Reviewed-by: mbaesken
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
2021-10-20 19:02:46 +03:00
Yuri Nesterenko
40be42ee97 8266115: More Manifest Jar Loading
Reviewed-by: mbaesken, mbalao
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
2021-10-20 19:02:46 +03:00
Clive Verghese
f996257654 8269618: Better session identification
Reviewed-by: mbaesken
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
2021-10-20 19:02:46 +03:00
Martin Balao
530cffe1d2 8267729: Improve TLS client handshaking
Reviewed-by: mbaesken
Backport-of: 8e4cbf7fd373c5886be1980bed4fa9cd9045f893
2021-10-20 19:02:45 +03:00
Martin Balao
c06f606aec 8269624: Enhance method selection support
Reviewed-by: mbaesken, mdoerr
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
2021-10-20 19:02:45 +03:00
Sergey Bylokhov
477f037983 8269763: The JEditorPane is blank after JDK-8265167
Reviewed-by: mbalao
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
2021-10-20 19:02:45 +03:00
Sergey Bylokhov
f2f987e0a9 8265167: Richer Text Editors
Reviewed-by: mbalao
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
2021-10-20 19:02:44 +03:00
Martin Balao
f948178daa 8263314: Enhance XML Dsig modes
Reviewed-by: mbaesken
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
2021-10-20 19:02:44 +03:00
Clive Verghese
04957e59cd 8268205: Enhance DTLS client handshake
Reviewed-by: yan, mbalao
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
2021-10-20 19:02:44 +03:00
Clive Verghese
5373b3b10a 8268193: Improve requests of certificates
Reviewed-by: yan, mbalao
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
2021-10-20 19:02:43 +03:00
Martin Balao
9ab7ec0539 8266103: Better specified spec values
Reviewed-by: mbaesken
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
2021-10-20 19:02:43 +03:00
Yuri Nesterenko
ea43cdf94b 8266137: Improve Keystore integrity
Reviewed-by: mbaesken, mbalao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
2021-10-20 19:02:43 +03:00
Yuri Nesterenko
9d09f2c707 8266097: Better hashing support
Reviewed-by: mbaesken, mbalao
Backport-of: 35c00175d8fba3fdae4f0bd31e3b416f52fb2283
2021-10-20 19:02:42 +03:00
Martin Balao
c881afa130 8265580: Enhanced style for RTF kit
Reviewed-by: mbaesken
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
2021-10-20 19:02:42 +03:00
Yuri Nesterenko
0fa7274198 8268506: More Manifest Digests
Reviewed-by: mbaesken
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
2021-10-20 19:02:42 +03:00
Yuri Nesterenko
8dad20e8e4 8266109: More Resilient Classloading
Reviewed-by: mbaesken, mbalao
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
2021-10-20 19:02:41 +03:00
Aleksei Voitylov
c4ed5ccdab 8265776: Improve Stream handling for SSL
Reviewed-by: yan, mbalao
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
2021-10-20 19:02:41 +03:00
Sergey Bylokhov
ab4f271c29 8265574: Improve handling of sheets
Reviewed-by: mbaesken
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
2021-10-20 19:02:41 +03:00
Christoph Langer
720ef332b4 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
2021-10-20 19:02:40 +03:00
Christoph Langer
394b8f734b 8212718: Refactor some annotation processor tests to better use collections
Backport-of: 34397c4914
2021-10-20 19:02:40 +03:00
Christoph Langer
497bc51ca2 8212695: Add explicit timeout to several HTTP Client tests
Reviewed-by: shade
Backport-of: cea4eef60a
2021-10-20 19:02:40 +03:00
Christoph Langer
71600c7f3b 8211325: test/jdk/java/net/Socket/LingerTest.java fails with cleaning up
Reviewed-by: shade
Backport-of: 0cb267ad1c
2021-10-20 19:02:39 +03:00
Christoph Langer
974b37fa30 8169246: java/net/DatagramSocket/ReportSocketClosed.java fails intermittently with BindException
Backport-of: 33c9c89bf0
2021-10-20 19:02:39 +03:00
Christoph Langer
f9c0d0964e 8199931: java/net/MulticastSocket/UnreferencedMulticastSockets.java fails with "incorrect data received"
Backport-of: f367eb8965
2021-10-20 19:02:39 +03:00
Toshio Nakamura
e9aa5a8882 8263490: [macos] Crash occurs on JPasswordField with activated InputMethod
Reviewed-by: shade
Backport-of: 32c7fcc670
2021-10-20 19:02:38 +03:00
Severin Gehwolf
b748a5c6b8 8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
Reviewed-by: shade
Backport-of: 4d6593ce02
2021-10-20 19:02:38 +03:00
Vladimir Kempik
34d195ba83 8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
Reviewed-by: shade
Backport-of: 7e518f42c9
2021-10-20 19:02:38 +03:00
Bin Liao
6a03e58e3d 8233790: Forward output from heap dumper to jcmd/jmap
Reviewed-by: phh
Backport-of: b2a9673829
2021-10-20 19:02:37 +03:00
Aleksey Shipilev
d3c843c4fd 8252857: AArch64: Shenandoah C1 CAS is not sequentially consistent
Reviewed-by: rkennke, clanger
Backport-of: 8e87d46f41
2021-10-20 19:02:37 +03:00
Severin Gehwolf
bba6998f38 8261846: [JVMCI] c2v_iterateFrames can get out of sync with the StackFrameStream
Backport-of: 97e1657ba2
2021-10-20 19:02:37 +03:00
Severin Gehwolf
c2b5c6e77a 8264016: [JVMCI] add some thread local fields for use by JVMCI
Reviewed-by: shade
Backport-of: 182b11c31a
2021-10-20 19:02:36 +03:00
Severin Gehwolf
509ee029a8 8263776: [JVMCI] add helper to perform Java upcalls
Co-authored-by: Tom Rodriguez <never@openjdk.org>
Reviewed-by: shade
Backport-of: 6b4c654186
2021-10-20 19:02:36 +03:00
Zhengyu Gu
ca54fa125c 8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/except/except002 and except003
Backport-of: 90cf7a7d12
2021-10-20 19:02:36 +03:00
Aleksey Shipilev
762a95f6a6 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
2021-10-20 19:02:35 +03:00
Aleksey Shipilev
8fb19cb3c9 8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64)
Reviewed-by: phh, rkennke
Backport-of: c5bb023584
2021-10-20 19:02:35 +03:00
Zhengyu Gu
f8dd19075b 8249548: backward focus traversal gets stuck in button group
Backport-of: 22bb597d0d
2021-10-20 19:02:35 +03:00
Reka Kovacs
3f126ee438 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
2021-10-20 19:02:34 +03:00
Reka Kovacs
84845b3d3c 8263136: C4530 was reported from VS 2019 at access bridge
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: d339320e0b
2021-10-20 19:02:34 +03:00
Aleksey Shipilev
8b68a27d2f 8272772: Shenandoah: compiler/c2/aarch64/TestVolatilesShenandoah.java fails in 11u
Reviewed-by: rkennke, clanger
2021-10-20 19:02:34 +03:00
Aleksey Shipilev
980cfdf8d0 8272472: StackGuardPages test doesn't build with glibc 2.34
Backport-of: f77a1a156f
2021-10-20 19:02:33 +03:00
Aleksey Shipilev
1806d95f1b 8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
Backport-of: 4f322a9b6c
2021-10-20 19:02:33 +03:00
Aleksey Shipilev
cdf353ef5d 8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1
Reviewed-by: zgu, rkennke
Backport-of: 4fb1980fd0
2021-10-20 19:02:33 +03:00
Aleksey Shipilev
97788712ac 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
Backport-of: 23d2996fee
2021-10-20 19:02:32 +03:00
Aleksey Shipilev
b7f4d30774 8225790: Two NestedDialogs tests fail on Ubuntu
Backport-of: 21e67e5460
2021-10-20 19:02:32 +03:00
Aleksey Shipilev
d153de5846 8213007: Update the link in test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java
Backport-of: ae77ef7d7a
2021-10-20 19:02:32 +03:00
Severin Gehwolf
abc17b34f0 8251549: Update docs on building for Git
Reviewed-by: shade, clanger
Backport-of: 042734cc5b
2021-10-20 19:02:31 +03:00
Hui Shi
a608418642 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
Reviewed-by: phh
2021-10-20 19:02:31 +03:00
Aleksey Shipilev
60182b6a17 8272628: Problemlist gc/stress/gcbasher/TestGCBasherWithCMS.java for x86_32
Reviewed-by: sgehwolf
2021-10-20 19:02:31 +03:00
Zhengyu Gu
b93ab61875 8226602: Test convenience reactive primitives from java.net.http with RS TCK
Backport-of: 3395bb591b
2021-10-20 19:02:30 +03:00
Zhengyu Gu
8caa003fd0 8226319: Add forgotten test/jdk/java/net/httpclient/BodySubscribersTest.java
Reviewed-by: shade
Backport-of: d577d9c678
2021-10-20 19:02:30 +03:00
Aleksey Shipilev
413967fee8 8272197: Update 11u GHA workflow with Shenandoah configurations
Reviewed-by: sgehwolf, clanger
2021-10-20 19:02:30 +03:00
Aleksey Shipilev
622540cedf 8225082: Remove IdenTrust certificate that is expiring in September 2021
Reviewed-by: phh
Backport-of: 2ec45dc2dd
2021-10-20 19:02:29 +03:00
Aleksey Shipilev
d933ff939e 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, clanger
Backport-of: 2d6874b861
2021-10-20 19:02:29 +03:00
Aleksey Shipilev
1bad418274 8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test
Backport-of: f095a9ee49
2021-10-20 19:02:29 +03:00
Aleksey Shipilev
c541c4229f 8213409: Refactor sun.text.IntHashtable:i18n shell tests to plain java tests
Backport-of: e048289d95
2021-10-20 19:02:28 +03:00
Aleksey Shipilev
354c0e9ed6 8248352: [TEST_BUG] Test test/jdk/java/awt/font/TextLayout/ArabicDiacriticTest.java can leave frame open
Backport-of: aa3862403b
2021-10-20 19:02:28 +03:00
Aleksey Shipilev
0c4473c805 8214520: [TEST_BUG] sun/security/mscapi/nonUniqueAliases/NonUniqueAliases.java failed with incorrect jtreg tags order
Backport-of: f47bd19cbc
2021-10-20 19:02:28 +03:00
Aleksey Shipilev
8c5e0dac5e 8262862: Harden tests sun/security/x509/URICertStore/ExtensionsWithLDAP.java and krb5/canonicalize/Test.java
Backport-of: e1cad97049
2021-10-20 19:02:27 +03:00
Christoph Langer
8e448e267a 8210802: temp files left by tests in jdk/java/net/httpclient
Reviewed-by: stuefe
Backport-of: 1adaa503bb
2021-10-20 19:02:27 +03:00
Christoph Langer
0f3394e585 8210819: Update the host name in CNameTest.java
Backport-of: c1bbf898e4
2021-10-20 19:02:27 +03:00
Christoph Langer
ec09658594 8209772: Refactor shell test java/util/ServiceLoader/basic/basic.sh to java
Backport-of: 07392d976a
2021-10-20 19:02:26 +03:00
Aleksey Shipilev
2c82f0bd08 8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test
Reviewed-by: phh
Backport-of: 6ce0aeb00b
2021-10-20 19:02:26 +03:00
Aleksey Shipilev
df7b71a8a3 8254850: Update terminology in java.awt.GridBagLayout source code comments
Backport-of: 9ed0b76403
2021-10-20 19:02:26 +03:00
Aleksey Shipilev
9f5a745718 8210406: Refactor java.util.PluggableLocale:i18n shell tests to plain java tests
Backport-of: 3c2c6bce02
2021-10-20 19:02:26 +03:00
Aleksey Shipilev
9dd68088a9 8210407: Refactor java.util.Calendar:i18n shell tests to plain java tests
Backport-of: 533bd0a604
2021-10-20 19:02:25 +03:00
Aleksey Shipilev
a9f0f858df 8268776: Test ADatagramSocket.java missing /othervm from @run tag
Backport-of: 7d7bdbe135
2021-10-20 19:02:25 +03:00
Aleksey Shipilev
317adfb01e 8242882: opening jar file with large manifest might throw NegativeArraySizeException
Reviewed-by: phh
Backport-of: 782d45bdec
2021-10-20 19:02:25 +03:00
Aleksey Shipilev
94e8da1502 8211092: test/jdk/sun/net/www/http/HttpClient/MultiThreadTest.java fails intermittently when cleaning up
Reviewed-by: phh
Backport-of: 20f6faa030
2021-10-20 19:02:24 +03:00
Aleksey Shipilev
2deb6d77e3 8214937: sun/security/tools/jarsigner/warnings/NoTimestampTest.java failed due to unexpected expiration date
Backport-of: 017c702b8a
2021-10-20 19:02:24 +03:00
Aleksey Shipilev
2a22237cc6 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

Backport-of: 5eef59d22d
2021-10-20 19:02:24 +03:00
Aleksey Shipilev
57c9a31852 8246261: TCKLocalTime.java failed due to "AssertionError: expected [18:14:22] but found [18:14:23]"
Backport-of: d347d2ebf9
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
f33ec7e550 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
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
32aea3718a 8216532: tools/launcher/Test7029048.java fails (Solaris)
Backport-of: be44ced10a
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
54010e6f77 8210934: Move sun/net/www/protocol/http/GetErrorStream.java to OpenJDK
Repalce internet website dependency with a built-in http server

Backport-of: 3edf95fc44
2021-10-20 19:02:22 +03:00
Aleksey Shipilev
0aadfe1b2a 8210669: Some launcher tests assume a pre-JDK 9 run-time image layout
Backport-of: 6bc30c6707
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
243d2c8ff9 8258703: Incorrect 512-bit vector registers restore on x86_32
Backport-of: 216c2ec077
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
2dd3859caa 8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException
Backport-of: fab6158c19
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
ae8eef47e9 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
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
87aac49db1 8213694: Test Timeout.java should run in othervm mode
Backport-of: 1b20a6781f
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
279c7fa0a6 8252194: Add automated test for fix done in JDK-8218469
Backport-of: 1ae6b533fb
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
9e99f69534 8251252: Add automated testcase for fix done in JDK-8214253
Backport-of: b6c861f9f8
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
4188b23289 8252825: Add automated test for fix done in JDK-8218479
Backport-of: 55c7e769c8
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
b4d4e47bd1 8251254: Add automated test for fix done in JDK-8218472
Backport-of: 8bf5b1d18b
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
5024eb818d 8251166: Add automated testcases for changes done in JDK-8214112
Backport-of: a0d6a8a174
2021-10-20 19:02:18 +03:00
Aleksey Shipilev
d0d680bafe 8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java
Backport-of: 389a110e56
2021-10-20 19:02:18 +03:00
Martin Balao
dedb47108a 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
2021-10-20 19:02:18 +03:00
Aleksey Shipilev
a8a1b3c42d 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
2021-10-20 19:02:17 +03:00
Evgeny Astigeevich
d05d406220 8268427: Improve AlgorithmConstraints:checkAlgorithm performance
Backport-of: 3b83bc1bc3
2021-10-20 19:02:17 +03:00
Christoph Langer
cf80e75513 8272078: Wrong Checksums in Temurin BootJDK dependencies
Reviewed-by: shade
2021-10-20 19:02:17 +03:00
Bin Liao
2329af3533 8234510: Remove file seeking requirement for writing a heap dump
Reviewed-by: rschmelter, clanger
Backport-of: 11c073b97e
2021-10-20 19:02:16 +03:00
Christoph Langer
a84dba521d 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
2021-10-20 19:02:16 +03:00
Christoph Langer
5182d5add0 8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows
Backport-of: cd4faff0ec
2021-10-20 19:02:16 +03:00
Christoph Langer
86af8e5184 8209380: ARM: cleanup maybe-uninitialized and reorder compiler warnings
Backport-of: 1712e272cd
2021-10-20 19:02:15 +03:00
Christoph Langer
cf0a51ec1b 8238930: problem list compiler/c2/Test8004741.java
Backport-of: 93241e5db7
2021-10-20 19:02:15 +03:00
Christoph Langer
4b8d52834d 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c
Reviewed-by: stuefe
Backport-of: 0b7fba75c1
2021-10-20 19:02:15 +03:00
Severin Gehwolf
843e5bd3dc 8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
Reviewed-by: clanger
Backport-of: 25f00d787c
2021-10-20 19:02:14 +03:00
Martin Doerr
86b92e91cf 8263432: javac may report an invalid package/class clash on case insensitive filesystems
Reviewed-by: clanger
Backport-of: 0a4c33826d
2021-10-20 19:02:14 +03:00
Zhengyu Gu
9edf5f7ab6 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
2021-10-20 19:02:14 +03:00
Aleksey Shipilev
1ef3bac766 8230808: Remove Access::equals()
Reviewed-by: phh
Backport-of: cb50d3b4f3
2021-10-20 19:02:13 +03:00
Aleksey Shipilev
4c64d5b46c 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
2021-10-20 19:02:13 +03:00
Martin Doerr
1df5df6158 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted
Reviewed-by: phh
Backport-of: 2d2cd78bde
2021-10-20 19:02:13 +03:00
Martin Doerr
a57eb33d47 8257497: Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280
Reviewed-by: clanger
Backport-of: 05301f5fd2
2021-10-20 19:02:12 +03:00
Jiangli Zhou
9058c163f9 8230674: Heap dumps should exclude dormant CDS archived objects of unloaded classes
Reviewed-by: phh
Backport-of: e90970b67b
2021-10-20 19:02:12 +03:00
Zhengyu Gu
8bd8ab7a8c 8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
Backport-of: 3d090e7ee5
2021-10-20 19:02:12 +03:00
Severin Gehwolf
6fb5337c38 8269668: [aarch64] java.library.path not including /usr/lib64
Reviewed-by: andrew
Backport-of: e14801cdd9
2021-10-20 19:02:11 +03:00
Zhengyu Gu
120313acde 8225583: Examine the HttpResponse.BodySubscribers for null handling and multiple subscriptions
Backport-of: af2a46b094
2021-10-20 19:02:11 +03:00
Martin Doerr
80bc31775f 8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100%
Backport-of: ddb1d7a163
2021-10-20 19:02:11 +03:00
Martin Doerr
fdde4e06e0 8268775: Password is being converted to String in AccessibleJPasswordField
Reviewed-by: zgu, kizune
Backport-of: 97e0e9e73d
2021-10-20 19:02:10 +03:00
Alexander Scherbatiy
59b6ebd4df 8262470: Printed GlyphVector outline with low DPI has bad quality on Windows
Reviewed-by: clanger
Backport-of: 0228734902
2021-10-20 19:02:10 +03:00
Christoph Langer
84def92ba4 8208363: test/jdk/java/lang/Package/PackageFromManifest.java missing module dependencies declaration
Backport-of: 73477220be
2021-10-20 19:02:10 +03:00
Christoph Langer
1be6c972f8 8209773: Refactor shell test javax/naming/module/basic.sh to java
Backport-of: 694380add3
2021-10-20 19:02:09 +03:00
Christoph Langer
6e6cccd956 8209930: Refactor java/util/zip/ZipFile/deletetempjar.sh to plain java test
Backport-of: 6c7a19d52f
2021-10-20 19:02:09 +03:00
Christoph Langer
7a96602662 8042902: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails intermittently
Backport-of: 334d64e9a0
2021-10-20 19:02:09 +03:00
Christoph Langer
94ee86f39b 8209832: Refactor jdk/internal/reflect/Reflection/GetCallerClassTest.sh to plain java test
Backport-of: dc356698b8
2021-10-20 19:02:09 +03:00
Christoph Langer
d0eef7a2ad 8194230: jdk/internal/jrtfs/remote/RemoteRuntimeImageTest.java fails with java.lang.NullPointerException
Backport-of: b5f939c5db
2021-10-20 19:02:08 +03:00
Christoph Langer
7e60f86127 8208227: tools/jdeps/DotFileTest.java fails on Win-X64
Backport-of: f0e9643542
2021-10-20 19:02:08 +03:00
Christoph Langer
743ee2c55f 8207316: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed
Backport-of: 069fa394d0
2021-10-20 19:02:08 +03:00
Aleksey Shipilev
32cc09871a 8252648: Shenandoah: name gang tasks consistently
Reviewed-by: zgu
Backport-of: a1176dc8c9
2021-10-20 19:02:07 +03:00
Aleksey Shipilev
8222e9545e 8256215: Shenandoah: re-organize saving/restoring machine state in assembler code
Reviewed-by: zgu
Backport-of: a97aedff9f
2021-10-20 19:02:07 +03:00
Martin Doerr
06e2ad227e 8255255: Update Apache Santuario (XML Signature) to version 2.2.1
Reviewed-by: clanger
Backport-of: cb742f9560
2021-10-20 19:02:07 +03:00
Aleksey Shipilev
019a534346 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes
Reviewed-by: clanger
Backport-of: 7b98400c81
2021-10-20 19:02:06 +03:00
Vladimir Kempik
6a19b74c22 8253899: Make IsClassUnloadingEnabled signature match specification
Reviewed-by: mdoerr
Backport-of: c7f0064062
2021-10-20 19:02:06 +03:00
Zhengyu Gu
11dccc18de 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
2021-10-20 19:02:06 +03:00
Christoph Langer
aeb1c883ce 8267666: Add option to jcmd GC.heap_dump to use existing file
Reviewed-by: rschmelter, goetz, stuefe
Backport-of: 7cbb67a3f8
2021-10-20 19:02:05 +03:00
Martin Doerr
041b0feaba 8259535: ECDSA SignatureValue do not always have the specified length
Reviewed-by: mbaesken
Backport-of: a4c249610e
2021-10-20 19:02:05 +03:00
Martin Doerr
64ec3f718a 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
2021-10-20 19:02:05 +03:00
Alexey Bakhtin
0c1b656d4e 8268965: TCP Connection Reset when connecting simple socket to SSL server
Reviewed-by: mdoerr
Backport-of: 6f171b9f0d
2021-10-20 19:02:04 +03:00
Martin Doerr
9e5e54a2dc 8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134"
Backport-of: 20053ae242
2021-10-20 19:02:04 +03:00
Martin Doerr
b7324dbe33 8227815: Minimal VM: set_state is not a member of AttachListener
Reviewed-by: clanger
2021-10-20 19:02:04 +03:00
Martin Doerr
252899b636 8225690: Multiple AttachListener threads can be created
Reviewed-by: clanger
Backport-of: 2870c9d55e
2021-10-20 19:02:03 +03:00
Goetz Lindenmaier
8e3051745d 8245134: test/lib/jdk/test/lib/security/KeyStoreUtils.java should allow to specify aliases
Backport-of: 845799935b
2021-10-20 19:02:03 +03:00
Christoph Langer
dd6f4b7869 8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales.
Backport-of: 10fca535db
2021-10-20 19:02:03 +03:00
Christoph Langer
e3c75d2bf1 8206083: Make tools/javac/api/T6265137.java robust to JDK version changes
Reviewed-by: mdoerr
Backport-of: 69191fc4cc
2021-10-20 19:02:02 +03:00
Martin Doerr
9b99e90225 8240983: Incorrect copyright header in Apache Santuario 2.1.3 files
Backport-of: 9d502f648c
2021-10-20 19:02:02 +03:00
Martin Doerr
1801949b7c 8236671: NullPointerException in JKS keystore
Reviewed-by: clanger
Backport-of: 276a1bf767
2021-10-20 19:02:02 +03:00
Chris Cole
93251926fa 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header
Backport-of: 8f2456e5b0
2021-10-20 19:02:01 +03:00
Martin Doerr
6fd9be5aed 8254967: com.sun.net.HttpsServer spins on TLS session close
Backport-of: 953e472ded
2021-10-20 19:02:01 +03:00
Christoph Langer
541bb8af03 8263531: Remove unused buffer int
Backport-of: ca806ef319
2021-10-20 19:02:00 +03:00
Ichiroh Takiguchi
7464ba015d 8267459: Pasting Unicode characters into JShell does not work.
Reviewed-by: clanger
Backport-of: de6472c441
2021-10-20 19:02:00 +03:00
Roland Westrelin
8d2f8106b0 8269304: Regression ~5% in 2005 in b27
Backport-of: 8d09596f27
2021-10-20 19:02:00 +03:00
Zhengyu Gu
98d4612e67 8268620: InfiniteLoopException test may fail on x86 platforms
Backport-of: 0b09129fae
2021-10-20 19:01:59 +03:00
Severin Gehwolf
ee05348c36 8270184: [TESTBUG] Add coverage for jvmci ResolvedJavaType.toJavaName() for lambdas
Backport-of: 6a9bc10873
2021-10-20 19:01:59 +03:00
Severin Gehwolf
9b72415faf 8270196: [11u] [JVMCI] JavaType.toJavaName() returns incorrect type name for lambdas
Reviewed-by: clanger
2021-10-20 19:01:59 +03:00
Aleksey Shipilev
5fa3f8532d 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
2021-10-20 19:01:59 +03:00
Aleksey Shipilev
d95c16fa82 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE
Backport-of: a14f02d8e5
2021-10-20 19:01:58 +03:00
Aleksey Shipilev
9b7927c125 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
2021-10-20 19:01:58 +03:00
Aleksey Shipilev
86d2196175 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
2021-10-20 19:01:58 +03:00
Aleksey Shipilev
7fc8b00202 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test
Backport-of: 2eaeb20697
2021-10-20 19:01:57 +03:00
Thomas Stuefe
0c9a13a511 8261238: NMT should not limit baselining by size threshold
Backport-of: 578a0b3c3d
2021-10-20 19:01:57 +03:00
Ilarion Nakonechnyy
9dbf7fabd0 8263407: SPARC64 detection fails on Athena (SPARC64-X)
Reviewed-by: mdoerr
2021-10-20 19:01:57 +03:00
Martin Doerr
4db777e3c4 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop
Reviewed-by: rrich, mbaesken
Backport-of: 3a02578b33
2021-10-20 19:01:56 +03:00
Dmitry Chuyko
223973dd71 8218145: block_if_requested is not proper inlined due to size
Backport-of: f1fbd69478
2021-10-20 19:01:56 +03:00
Aleksey Shipilev
cd7068dbc2 8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call
Reviewed-by: zgu
Backport-of: 3a8a15b5d0
2021-10-20 19:01:56 +03:00
Denghui Dong
0308e4ffa7 8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*)
Reviewed-by: clanger, mgronlun
Backport-of: a9d2267f8d
2021-10-20 19:01:55 +03:00
Aleksey Shipilev
4714a43b1e 8213922: fix ctw stand-alone build
Reviewed-by: roland
Backport-of: e53852dd51
2021-10-20 19:01:55 +03:00
Aleksey Shipilev
a28c351db1 8267396: Avoid recording "pc" in unhandled oops detector for better performance
Reviewed-by: phh
Backport-of: f67847f52a
2021-10-20 19:01:55 +03:00
Aleksey Shipilev
016383cbe3 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
2021-10-20 19:01:54 +03:00
Aleksey Shipilev
c2fe7a3246 8255810: Zero: build fails without JVMTI
Reviewed-by: stuefe
Backport-of: ca216bae1a
2021-10-20 19:01:54 +03:00
Christoph Langer
f550ab8282 8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test
Reviewed-by: shade
Backport-of: 54f5ffeaad
2021-10-20 19:01:54 +03:00
Aleksey Shipilev
8cd7309276 8255718: Zero: VM should know it runs in interpreter-only mode
Backport-of: f0eeca9080
2021-10-20 19:01:53 +03:00
Aleksey Shipilev
3d0fda5bd3 8260923: Add more tests for SSLSocket input/output shutdown
Backport-of: 9bb1863ed7
2021-10-20 19:01:53 +03:00
Aleksey Shipilev
b0e4113b5f 8253631: Remove unimplemented CompileBroker methods after JEP-165
Backport-of: dc1ef58351
2021-10-20 19:01:53 +03:00
Zhengyu Gu
829118ef77 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report
Reviewed-by: clanger
Backport-of: cd1c17c0a6
2021-10-20 19:01:52 +03:00
Martin Doerr
2703469310 8269614: [s390] Interpreter checks wrong bit for slow path instance allocation
Backport-of: be0ac92e18
2021-10-20 19:01:52 +03:00
Christoph Langer
1414c3ef65 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
2021-10-20 19:01:52 +03:00
Christoph Langer
cfb91cf777 8269529: javax/swing/reliability/HangDuringStaticInitialization.java fails in Windows debug build
Backport-of: d042029509
2021-10-20 19:01:51 +03:00
Alexey Bakhtin
66cba349f0 8163326: Update the default enabled cipher suites preference
Reviewed-by: clanger
Backport-of: d812742d68
2021-10-20 19:01:51 +03:00
Severin Gehwolf
5eee401997 8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image
Backport-of: 7977e381ea
2021-10-20 19:01:51 +03:00
Zhengyu Gu
9418a6bb90 8268699: Shenandoah: Add test for JDK-8268127
Backport-of: e59acd9860
2021-10-20 19:01:50 +03:00
Christoph Langer
5fe5826104 8269415: [11u] Remove ea from DEFAULT_PROMOTED_VERSION_PRE in OpenJDK 11u
Reviewed-by: sgehwolf
2021-10-20 19:01:50 +03:00
Pavel Varchenko
b2b899568d 8268771: javadoc -notimestamp option does not work on index.html
Reviewed-by: clanger
2021-10-20 19:01:50 +03:00
Alexey Bakhtin
4ad0db5e74 8140466: ChaCha20 and Poly1305 TLS Cipher Suites
Reviewed-by: mdoerr
Backport-of: 962e755c3a
2021-10-20 19:01:49 +03:00
Aleksey Shipilev
0ad6d36b24 8265335: Epsilon: Minor typo in EpsilonElasticTLABDecay description
Backport-of: 17b6592d8f
2021-10-20 19:01:49 +03:00
Alexander Scherbatiy
116058b8b4 8265761: Font with missed font family name is not properly printed on Windows
Backport-of: e9370a13b6
2021-10-20 19:01:49 +03:00
Aleksey Shipilev
c0cb8bd43e 8261496: Shenandoah: reconsider pacing updates memory ordering
Reviewed-by: rkennke, clanger
Backport-of: 4642730b05
2021-10-20 19:01:48 +03:00
Aleksey Shipilev
76e8b08d95 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress
Reviewed-by: rkennke
Backport-of: 9c9c47e403
2021-10-20 19:01:48 +03:00
Aleksey Shipilev
6e80a5e387 8266018: Shenandoah: fix an incorrect assert
Reviewed-by: rkennke
Backport-of: 2dd56676fb
2021-10-20 19:01:48 +03:00
Aleksey Shipilev
818e833f10 8210959: JShell fails and exits when statement throws an exception whose message contains a '%'.
Reviewed-by: sgehwolf
Backport-of: dafc483475
2021-10-20 19:01:47 +03:00
Aleksey Shipilev
fc211f8525 8247421: [TESTBUG] ReturnBlobToWrongHeapTest.java failed allocating blob
Backport-of: bf300e8d8c
2021-10-20 19:01:47 +03:00
Hui Shi
42cad27fc3 8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M
8266206: Build failure after JDK-8264752 with older GCCs

Reviewed-by: clanger
Backport-of: 377b346189
2021-10-20 19:01:47 +03:00
Aleksey Shipilev
899df7ee84 8193214: Incorrect annotations.without.processors warnings with JDK 9
Backport-of: 19c364592c
2021-10-20 19:01:46 +03:00
Dmitry Chuyko
af094e6e6a 8231717: Improve performance of charset decoding when charset is always compactable
Backport-of: 0dbfc97c05
2021-10-20 19:01:46 +03:00
Alexander Scherbatiy
0b036e9cdc 8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API
Backport-of: b3b2bb2875
2021-10-20 19:01:46 +03:00
Severin Gehwolf
6332b20e25 8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly
Backport-of: 9d6c7764b6
2021-10-20 19:01:45 +03:00
Severin Gehwolf
6388d1ad5a 8267751: (test) jtreg.SkippedException has no serial VersionUID
Backport-of: 0fc7c8d101
2021-10-20 19:01:45 +03:00
Zhengyu Gu
dc1d389f05 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers"
Backport-of: 08a5a5c6d6
2021-10-20 19:01:44 +03:00
Zhengyu Gu
0fa236f7a0 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
2021-10-20 19:01:44 +03:00
Paul Hohensee
a8e3d0fc46 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5
Backport-of: dedddd5ab2
2021-10-20 19:01:44 +03:00
Severin Gehwolf
4b632d4ffe 8024368: private methods are allocated vtable indices
Stop allocating vtable slots for  private methods

Reviewed-by: adinn
Backport-of: 4904980886
2021-10-20 19:01:43 +03:00
Severin Gehwolf
844db0cd85 8241353: NPE in ToolProvider.getSystemJavaCompiler
Backport-of: 6b4b676550
2021-10-20 19:01:43 +03:00
Severin Gehwolf
87ea689c77 8181313: SA: Remove libthread_db dependency on Linux
Reviewed-by: clanger
Backport-of: ef3336ec27
2021-10-20 19:01:43 +03:00
Aleksey Shipilev
12d326afb6 8262000: jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java failed with "OutOfMemoryError: Java heap space"
Backport-of: d2c4ed08a2
2021-10-20 19:01:42 +03:00
Aleksey Shipilev
7156f480d0 8266288: assert root method not found in witnessed_reabstraction_in_supers is too strong
Backport-of: 49d04586ed
2021-10-20 19:01:42 +03:00
Zhengyu Gu
b80006b16e 8268127: Shenandoah: Heap size may be too small for region to align to large page size
Reviewed-by: rkennke, shade
Backport-of: 5ad4a91c3d
2021-10-20 19:01:42 +03:00
Severin Gehwolf
63858e87db 8268103: JNI functions incorrectly return a double after JDK-8265836
Backport-of: 2963c9e677
2021-10-20 19:01:41 +03:00
Severin Gehwolf
0e30bb4ccf 8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container
Backport-of: ef368b32bc
2021-10-20 19:01:41 +03:00
Dmitry Chuyko
7dc71f3425 8254244: Some code emitted by TemplateTable::branch is unused when running TieredCompilation
Reviewed-by: adinn
Backport-of: 9cecc16747
2021-10-20 19:01:41 +03:00
Dmitry Chuyko
b247e082d7 8253048: AArch64: When CallLeaf, no need to preserve callee-saved registers in caller
Reviewed-by: adinn
Backport-of: ba174af344
2021-10-20 19:01:40 +03:00
Zhengyu Gu
3d0c9d5b47 8262392: Update Mesa 3-D Headers to version 21.0.3
Backport-of: 138d573c35
2021-10-20 19:01:40 +03:00
Severin Gehwolf
03afcdf15d 8247469: getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available
Backport-of: 3341d36131
2021-10-20 19:01:40 +03:00
Aditya Mandaleeka
12f8e812fd 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
2021-10-20 19:01:39 +03:00
Denghui Dong
f15a892f5d 8266642: Improve ResolvedMethodTable hash function
Backport-of: 83b3607290
2021-10-20 19:01:39 +03:00
Vladimir Kempik
232aa679f7 8261652: Remove some dead comments from os_bsd_x86
Reviewed-by: phh
Backport-of: 28163a9e98
2021-10-20 19:01:39 +03:00
Zhengyu Gu
4cb15a6983 8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821
Reviewed-by: phh
Backport-of: d1b28e7ad0
2021-10-20 19:01:38 +03:00
Goetz Lindenmaier
4ba47da3b9 8267695: Bump update version for OpenJDK: jdk-11.0.13
Reviewed-by: sgehwolf, erikj
2021-10-20 19:01:38 +03:00
Vladimir Kempik
a19b9a51bc 8273939: Backport of 8248414 to JDK11 breaks MacroAssembler::adrp
changes applied earlier under "ZULU-18387: zulu_macarm crashes in C1 when working with above 32-bit memory regions" (d2cadcef11)

Reviewed-by: mdoerr
2021-10-20 19:01:31 +03:00
Reka Kovacs
edbc628823 8248668: AArch64: Avoid MIN/MAX macros when using MSVC
MSVC employs min/max as macros
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Backport-of: 26680f0c1a
2021-10-20 19:01:31 +03:00
Reka Kovacs
0f99709138 8248666: AArch64: Use THREAD_LOCAL instead of __thread
__thread is gcc-ism, instead rely on compiler independent macro.
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: phh, clanger
Backport-of: 2f8653fbf0
2021-10-20 19:01:31 +03:00
Jie Fu
fbe0b6e795 8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
Fix overwritten by "JBR-3826 Backport 8273072 to JBR11" (edce3fed8b)

Backport-of: d007be0952
2021-10-20 19:01:31 +03:00
Reka Kovacs
745972c1aa 8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Backport-of: d3776c7d30
2021-10-20 19:01:31 +03:00
Reka Kovacs
150445f02b 8248657: Windows: strengthening in ThreadCritical regarding memory model
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: phh
Backport-of: 6af643e5a1
2021-10-20 19:01:31 +03:00
Reka Kovacs
11d4ea0d2d 8248682: AArch64: Use ATTRIBUTE_ALIGNED helper
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Backport-of: 0417fcf13f
2021-10-20 19:01:31 +03:00
Reka Kovacs
ec55985836 8248671: AArch64: Remove unused variables
Remove unused variables in the AArch64 backend. Detected by compiling with MSVC, which warns about them.
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Backport-of: dff37f89c5
2021-10-20 19:01:31 +03:00
Vladimir Kempik
a315b13b7b 8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
The patch applied earlier under "JBR-3799 Broken input of supplementary plane Unicode characters on macOS" (7d915be754)

Backport-of: ddcd851c43
2021-10-20 19:01:31 +03:00
Paul Hohensee
cfb73b6bfa 8248403: AArch64: Remove uses of kernel integer types
Changes are applied earlier under "8248238, JBR-2074 Windows AArch64 Support" (bebabd26c9)

Reviewed-by: stuefe
Backport-of: 6a91c73dda
2021-10-20 19:01:31 +03:00
Aleksey Shipilev
e116ccd2c3 8158066: SourceDebugExtensionTest fails to rename file
Backport-of: b979952d62
2021-10-20 19:01:31 +03:00
Christoph Langer
a150d49f71 8257913: Add more known library locations to simplify Linux cross-compilation
Reviewed-by: shade
Backport-of: 61cff4da90
2021-10-20 19:01:30 +03:00
Martin Doerr
e4f4544f92 8212040: Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12
Backport-of: a7c90c5400
2021-10-20 19:01:30 +03:00
Christoph Langer
037804f4e6 8221988: add possibility to build with Visual Studio 2019
Reviewed-by: mdoerr
Backport-of: 2a00db0b2e
2021-10-20 19:01:30 +03:00
Christoph Langer
a034aab600 8220445: Support for side by side MSVC Toolset versions
Reviewed-by: stuefe
Backport-of: 9833d2a1cd
2021-10-20 19:01:29 +03:00
Martin Doerr
69c524ad35 8211055: Provide print to a file (PDF) feature even when printer was not connected
Reviewed-by: clanger
Backport-of: 9b0d241a16
2021-10-20 19:01:29 +03:00
Vladimir Kempik
8bd3b8fe7d 8257620: Do not use objc_msgSend_stret to get macOS version
Backport-of: d4c7db5060
2021-10-20 19:01:29 +03:00
Christoph Langer
14ef4bbb6f 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
2021-10-20 19:01:28 +03:00
Zhengyu Gu
2ae44a8874 8269882: stack-use-after-scope in NewObjectA
Applied earlier under JBR-3520 Correct stack-use-after-scope in jni_NewObjectA (01ea54d751)
Backport-of: 20eba35515
2021-10-20 19:01:28 +03:00
Alan Hayward
5685dd0da3 8266749: AArch64: Backtracing broken on PAC enabled systems
Reviewed-by: phh
Backport-of: ae986bc8df
2021-10-20 19:01:28 +03:00
Ilarion Nakonechnyy
60ef15b303 8268617: [11u REDO] - WebSocket over authenticating proxy fails with NPE
Reviewed-by: clanger
2021-10-20 19:01:27 +03:00
Severin Gehwolf
f9c016a47e 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods
Reviewed-by: adinn
Backport-of: c18ffd6a79
2021-10-20 19:01:27 +03:00
Vladimir Kempik
af4d6460f6 8257148: Remove obsolete code in AWTView.m
Applied earlier as ZULU-17256: Remove obsolete code in AWTView.m (20750eaf89)
Backport-of: c2af27beb0
2021-10-20 19:01:27 +03:00
Artem Semenov
dfd2da1f2c JBR-3886 Replace work around from JBR-3865 with another solution 2021-10-19 17:56:26 +03:00
Artem Bochkarev
3c912178f8 JBR-3575: don't install screen menu via _AppMenuBarHandler.java
fixed DefaultMenuBarDispose.java
2021-10-19 20:38:06 +07:00
Vitaly Provodin
32461c1f59 update the link to JBR for IDEA 2021.3 EAP 2021-10-19 15:48:36 +07:00
Nikita Provotorov
0f773dae2b JBR-2074 Windows 10 AArch64 support: exclude JOGL and GlueGen from JBR+JCEF builds for Windows AArch64.
JCEF does not provide AArch64 builds of JOGL and GlueGen yet.
2021-10-19 03:08:41 +07:00
Anton Tarasov
f708a37c51 JBR-3890 NPE - a regression of JBR-3765 2021-10-18 17:41:12 +03:00
Christoph Langer
2e6272f82e 8241768: git needs .gitattributes
Backport-of: 49a9d49dbd
2021-10-18 03:54:23 +07:00
Artem Bochkarev
233bc5fa55 JBR-3575: initial support for new screen menu implementation
force disable with VM property: disableJbScreenMenuBar
2021-10-17 21:58:19 +07:00
Alexey Ushakov
8f15dd7da8 restore building script 2021-10-16 03:30:39 +07:00
Anton Tarasov
95c32fa656 JBR-3765 [mac] a11y hangs on extremely long tables 2021-10-15 10:10:43 +03:00
Anton Tarasov
afdf58eac0 JBR-3851 [JavaTableRowAccessibility accessibilityChildren] method is ineffective 2021-10-15 10:02:39 +03:00
Anton Tarasov
7c3e5cfad7 JBR-3866 should not cache cells in JavaTableRowAccessibility 2021-10-15 09:47:10 +03:00
Anton Tarasov
aaac75abd1 JBR-3852 crash: +[JavaComponentAccessibility getCAccessible:withEnv:] + 849 (JavaComponentAccessibility.m:269) 2021-10-14 18:48:15 +03:00
Matthias Baesken
51a590b2e8 JBR-3874 8274840: Update OS detection code to recognize Windows 11
Co-authored-by: Arno Zeller <arno.zeller@sap.com>
Reviewed-by: clanger, dholmes
2021-10-14 15:45:32 +07:00
Vitaly Provodin
01304991d3 add JBR-3167 for java/awt/Frame/HugeFrame/HugeFrame.java into exclude list 2021-10-14 04:27:19 +07:00
Artem Semenov
bae88502a4 JBR-3869 revise JavaColumnAccessibility usage 2021-10-13 13:29:00 +03:00
Artem Semenov
db72dc5554 JBR-3865 workaround. SIGILL at [libsystem_kernel] __kill in -[JavaNavigableTextAccessibility clearCache] 2021-10-12 16:46:00 +03:00
Maxim Kartashev
fb12f6d7f1 JBR-3871 Disable remote.x11.workaround by default
-Dremote.x11.workaround=true can still be used to enabled it, but
there's no automatic on switch anymore.
2021-10-12 00:55:35 -07:00
Vitaly Provodin
1bf8742a09 JBR-3867 fix msvc compilation issue with non const array on stack 2021-10-12 04:23:59 +07:00
Vitaly Provodin
8f380f3581 JBR-3867 fix msvc compilation issue with non const array on stack 2021-10-12 04:21:23 +07:00
Artem Semenov
186837353f JBR-3775 Optimize the algorithm for obtaining tree elements 2021-10-11 14:11:36 +03:00
Vitaly Provodin
dbfee48e45 JBR-3867 update keys of jvmti TAG map after redefinition 2021-10-11 11:42:49 +07:00
Nikita Gubarkov
a7486ed785 Fixed JBR API JTreg tests 2021-10-09 19:24:37 +03:00
Patrick Zhang
02065e9055 JBR-3853: 8255716: AArch64: Regression: JVM crashes if manually offline a core
Reviewed-by: aph, adinn, akozlov
(cherry picked from commit 36998b006d)
2021-10-08 04:32:21 +07:00
Vitaly Provodin
389f689648 fix a misprint in the link to 1692.9 release 2021-10-07 07:35:42 +07:00
Alexey Ushakov
e97f728e93 JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added java stack of the exception to jbr_err_* log
2021-10-06 20:41:11 +02:00
Nikita Provotorov
0c90061351 fixup! JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut.
Workaround for the regression test when it misses a focus for the awt.Component.
2021-10-06 15:54:58 +07:00
Alexey Ushakov
478bd6cdd7 JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added exception.toString() to jbr_err_* log
2021-10-05 21:33:57 +02:00
Artem Bochkarev
85150e0a42 JBR-3715: cherry-pick of origin fix.
implemented correct r18 usage
fixed JBR-3715
patch from V.Kempik

(cherry picked from commit a08c2a715b)
2021-10-05 09:28:10 +07:00
Reka Kovacs
0e0562655c 8261072: AArch64: Fix MacroAssembler::get_thread convention
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: b670efd896
2021-10-05 09:28:10 +07:00
Nikita Provotorov
262751e67f JBR-2074 Windows 10 AArch64 support: add build and pack scripts.
JBR-2074 Windows 10 AArch64 support: fix of build script by excluding jdk.aot from jlink assembling.
2021-10-05 09:28:10 +07:00
Nikita Provotorov
085ca0056f JBR-2074 Windows 10 AArch64 support: macOS/AArch64 debug build fix. 2021-10-05 09:28:09 +07:00
Nikita Provotorov
b13eefd897 JBR-2074 Windows 10 AArch64 support: minor Windows build scripts improvements. 2021-10-05 09:28:09 +07:00
Nikita Provotorov
4732011a65 JBR-2074 Windows 10 AArch64 support: backport the workaround for MSCV ARM64 bug about bad code generation around signed char arithmetic.
https://developercommunity.visualstudio.com/t/arm64-bad-code-generation-around-signed-char-arith/1079221.
2021-10-05 09:28:09 +07:00
Nikita Provotorov
ff21958a2e JBR-2074 Windows 10 AArch64 support: Windows/AArch64 build fix.
* Build fix of fixpath.exe;
* Fix of setting up the build tools;
* Workaround for using old MSVC and Windows SDK.
2021-10-05 09:28:09 +07:00
Nikita Provotorov
95ac9349f6 JBR-2074 Windows 10 AArch64 support: macOS/AArch64 build fix.
* Backport of missed icache_bsd_aarch64.hpp from JBR17;
* Enabling jvmci on macosx-aarch64;
* Other minor build fixes.
2021-10-05 09:28:09 +07:00
bell-sw
bebabd26c9 8248238, JBR-2074 Windows AArch64 Support. 2021-10-05 09:27:53 +07:00
Nikita Provotorov
86a60e7d96 JBR-2074 Windows 10 AArch64 support: revert "JBR-3715: revert "ZULU-17387: Port X18 exclusion patch from win_aarch64 jep"".
This reverts commit ba7eef6063.
2021-10-05 09:26:03 +07:00
Nikita Provotorov
55955484e0 JBR-2074 Windows 10 AArch64 support: revert "JBR-3715: partial cherry-pick of PR "Windows AArch64 Support"".
This reverts commit a08c2a715b.
2021-10-05 09:26:03 +07:00
Nikita Gubarkov
d76b22195f Added JBR API 2021-10-05 04:41:53 +03:00
Maxim Kartashev
913a4b4065 JBR-3835 Cropped messages in all Message Dialogs in Idea on Ubuntu 18.04.5 LTS with swing alerts enabled
The _NET_FRAME_EXTENTS property that is used to obtain the initial
insets of a dialog window does not immediately get its value and may be
returned as 0 if queried too soon after the window creation.

In order to avoid (incorrect) guessing of dialog's insets, make 3
attempts at getting the insets with a small but increasing pause
in between them.

(cherry picked from commit 289f756f70)
2021-10-04 12:20:58 -07:00
Alexey Ushakov
639042419f JBR-3846 VS2019 build failure
Reordered includes according to OpenJDK trunk
2021-10-04 18:33:54 +02:00
Nikita Provotorov
8df43eef4b JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut.
Add regression test.
2021-10-03 13:10:14 +07:00
Nikita Provotorov
96d504fe41 JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut.
Revert "Reverted fix of JDK-8041928: MouseEvent.getModifiersEx gives wrong result because it breaks AltGr shortcuts".

This reverts commit 56b69b2813.
2021-10-03 12:32:13 +07:00
Vitaly Provodin
7b34effc17 a11y: exclude tests crashing JBR in the runs with enabled Voice Over 2021-10-01 13:36:46 +07:00
Ivan Lopatin
050f3da4a0 JBR-3832: Revert "JBR-2687: Fixed problems with maximizing to a new screen" 2021-09-30 22:35:32 +07:00
Artem Semenov
78ff91782f JBR-3776 TableAccessibility and TableRowAccessibility miss autorelease 2021-09-30 18:30:24 +03:00
Artem Semenov
5170990d7b JBR-3825 Fixed memory leaks in -[JavaComboboxAccessibility accessibilityValue] 2021-09-29 14:28:03 +03:00
Ivan Lopatin
65344c8a07 JBR-2687: Fixed problems with maximizing to a new screen 2021-09-29 18:04:43 +07:00
Maxim Kartashev
edce3fed8b JBR-3826 Backport 8273072 to JBR11
AKA 8273072: Avoid using += in configure

(based on commit a033aa5a3d)
2021-09-29 12:13:21 +03:00
Vitaly Provodin
68539876fe update the link to JBR for IDEA 2021.2 RC and IDEA 2021.3 EAP 2021-09-29 11:26:20 +07:00
Vitaly Provodin
d9f253340a remove test from exclude list due to the fix for 8233569 2021-09-29 05:53:19 +07:00
Prasanta Sadhukhan
6036eb3c81 8233569: [TESTBUG] JTextComponent test bug6361367.java fails on macos
Reviewed-by: serb

(cherry-picked from commit 518ff518e1)
2021-09-29 05:51:19 +07:00
Prasanta Sadhukhan
f90fcaa4a7 JBR-3816 Cherry-pick fixes for several AWT tests
8253980: javax/swing/plaf/synth/7158712/bug7158712.java fails on windows

Reviewed-by: kizune, prr
(cherry picked from commit bdd5782a67)
2021-09-27 08:57:40 -07:00
Prasanta Sadhukhan
0646886007 JBR-3816 Cherry-pick fixes for several AWT tests
8028707: javax/swing/JComboBox/6236162/bug6236162.java fails on azure

Reviewed-by: serb, pbansal
(cherry picked from commit ce1aac1e13)
2021-09-27 08:57:40 -07:00
Maxim Kartashev
dcaade97a5 JBR-3816 Cherry-pick fixes for several AWT tests
Create a larger combo box so that it definitely fills the entire
vertical space of the screen.
(based on commits 1c84cfa236
and 83b05373a1).
2021-09-27 08:57:40 -07:00
Maxim Kartashev
cd5314db8b 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.
2021-09-27 08:57:40 -07:00
Artem Semenov
d2a8adb14f JBR-3808 SIGSEGV at [libjvm] -[_JavaComponentAccessibility accessibilityHitTest:] 2021-09-27 17:00:09 +03:00
Maxim Kartashev
152a4e886d JBR-3680 Cherry-pick Google's NIO patches to get faster file listing
Fix regression introduced by Google's NIO patches:
- do not attempt to get the next entry after the directory stream has
been closed already,
- fix FaultyFileSystem that is used in StreamTest.java to throw
the right exception even when getFileAttributeView() is used instead of
readAttributes(),
- added a test for walking a directory with a non-latin name.
2021-09-24 14:16:22 +03:00
Brian Burkhalter
ef6db5cad0 8264400: (fs) WindowsFileStore equality depends on how the FileStore was constructed
Reviewed-by: alanb

(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)
2021-09-24 10:38:30 +03:00
Renaud Paquay
6d1c3f06c4 Add BasicWithKeyFileAttributeView interface
This new interface is similar to `BasicFileAttributeView` except it
gives implementations a hint that the fileKey() should be acquired
even at some performance cost.

`FileTreeWalker` uses this new interface to request a file key
in addition to regular file attributes so that file equality can
be efficiently performed when checking for loops during file
tree traversal.

This makes `FileTreeWalker` about 2x faster when traversing non
trivial file system trees with the FOLLOW_LINKS option.

Change-Id: I8de047c8fc241dbab9ad57c5e361118a3a94893d

(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)
2021-09-24 10:38:19 +03:00
Renaud Paquay
7c2d7541ba Improve performance of WindowsDirectoryStream
Use `NtQueryDirectoryInformation` instead of `FindFirst/FindNext` to
retrieve the list of entries of a directory.

`NtQueryDirectionInformation` has 2 main benefits over
`FindFist`/`FindNext`:

* Performance is about 40% faster

* Each retrieved entry retrieved contains a 64-bit `FileId` in addition
  to the usual attributes, ensuring that returned `java.nio.Path`
  instances hold onto a `BasicFileAttributes` instance that exposes a
  non-null `java.nio.file.attribute.BasicFileAttributes.fileKey()`.

This change also requires creating a new WindowsFileKey class, similar
to UnixFileKey class, so that
`java.nio.file.attribute.BasicFileAttributes.fileKey()` can return an
Object instance that can be used to compare files for equality.

With this change, the Windows implementation of Files.walkFileTree is
about 40% faster when the FOLLOW_LINKS option is not used, and about
2.5x faster when the FOLLOW_LINKS option is used.

When the FOLLOW_LINKS option is used, most calls to
`Files.isSameFile`, which is expensive as it requires 2 file I/O
operations, are avoided because the Path entries returned by the
new WindowsDirectoryStream implementation now contain a non-null
BasicFileAttributes.fileKey(). The remaining calls to
`Files.isSameFile` are performed when Files.walkFileTree need
to compare the initial directory with other entries.

Change-Id: Id79d89d477a6d5dcf151c63a9d6072c6f7ef43b2

(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)
2021-09-24 10:37:53 +03:00
Roger Riggs
4d01bcc46e 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)
2021-09-24 09:12:04 +03:00
Dmitry Batrak
7d915be754 JBR-3799 Broken input of supplementary plane Unicode characters on macOS
apply upstream fix (JDK-8272602)
2021-09-22 15:10:09 +03:00
Dmitry Batrak
f2bcb756f8 JBR-3799 Broken input of supplementary plane Unicode characters on macOS
revert initial fix, to be replaced with upstream one
2021-09-22 15:10:09 +03:00
Anton Tarasov
a38b7a22fe JBR-3722 macOS: SIGSEGV at [libjvm] _ZN14AccessInternal19PostRuntimeDispatchIN12G1BarrierSet13AccessBarrierILy1097844ES1_EELNS_11BarrierTypeE2ELy1097844EE18oop_access_barrierEPv 2021-09-22 13:22:23 +03:00
Dmitry Batrak
8e58801c9a JBR-3799 Broken input of supplementary plane Unicode characters on macOS
free memory in 'finally' clause, just in case
2021-09-22 13:13:29 +03:00
Dmitry Batrak
7864d59d6f JBR-3799 Broken input of supplementary plane Unicode characters on macOS 2021-09-22 13:08:53 +03:00
Artem Semenov
aad640dcc9 JBR-3792 JavaAccessibilityUtilities leaks JNI objects 2021-09-22 10:23:56 +03:00
Dmitry Batrak
37901295e1 improve the stability of TypeaheadRequestFocusTest
it failed sometimes under MATE desktop environment on Linux
2021-09-21 13:01:07 +03:00
Dmitry Batrak
ad1595b5c2 make NestedDialogHideTest more reliable
currently, if fails on KDE, if multiple workspaces are configured, because mouse cursor happens to be located over 'pin' button in window title bar,
and that hover causes a tooltip to be shown, which blocks mouse clicks
2021-09-20 18:09:38 +03:00
Dmitry Batrak
f5c5388fb5 JBR-3786 javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on MacOS by timeout 2021-09-20 17:13:28 +03:00
Dmitry Batrak
0bf13985d5 JBR-3779 Unexpected Alt+Tab behaviour for Java frames on Cinnamon DE 2021-09-20 12:03:39 +03:00
Ivan Migalev
2f772fd1a2 JBR-3785: don't touch the active keyboard layout on input method activation / deactivation.
origin PR: github.com/JetBrains/JetBrainsRuntime/pull/78.
2021-09-20 14:52:49 +07:00
Maxim Kartashev
accef6f21e 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.
2021-09-20 10:07:27 +03:00
Maxim Kartashev
5aa26c75b2 JBR-3772 java/beans/PropertyEditor/TestFontClass.java: access denied ("java.util.PropertyPermission" "sun.awt.x11.trace" "read")
Instead of using System.getProperty() directly, wrap the call into
GetPropertyAction and use AccessController to execute it.

(cherry picked from commit 3092ca0461)
2021-09-16 09:27:16 +03:00
Dmitry Batrak
f0ed32fca4 JBR-3726 Modal windows 'disappear' on minimize in KDE
revert changes not needed anymore
2021-09-14 18:21:37 +03:00
Dmitry Batrak
5c4fd9ceaf JBR-3726 Modal windows 'disappear' on minimize in KDE
re-implement the fix without using _NET_WM_STATE_MODAL - it causes other issues
2021-09-14 17:20:53 +03:00
Vitaly Provodin
16267bd573 add the link to JBR build targeted for 213 EAP 2021-09-14 15:19:31 +07:00
Artem Semenov
9ceee497ef JBR-3761 : Native call to non-existent getAccessibleSelection method dl - [JavaComboboxAccessibility accessibilityValue] 2021-09-10 13:30:00 +03:00
Dmitry Batrak
a69e12e0d2 JBR-3504 a11y focus is set on the wrong element when opening popups 2021-09-09 10:22:30 +03:00
Alexander Lobas
f5434bcaaf JBR-3660 PhpStorm 2021.2 crashes on selecting iCloud Drive directory in Open dialog 2021-09-08 19:43:31 +02:00
Alexander Lobas
86c13ecaed JBR-3629 SIGILL at [libsystem_kernel] __kill NPE at com.intellij.openapi.options.SchemeImportUtil$1.isFileSelectable / -[CFileDialog askFilenameFilter:] 2021-09-08 19:43:31 +02:00
Dmitry Batrak
9c2841028f JBR-3726 Modal windows 'disappear' on minimize in KDE
restrict change to KDE only, as it causes problems on GNOME (JBR-3750)
2021-09-08 11:29:44 +03:00
Zhengyu Gu
ed0b7f5488 8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
Reviewed-by: kvn, phh
Backport-of: 4ed548b3ee
2021-09-07 17:45:42 +03:00
Martin Doerr
92806ce28a 8269795: C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV
Reviewed-by: roland
Backport-of: 040c02b942
2021-09-07 17:45:42 +03:00
Martin Doerr
2659b26438 8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions
Reviewed-by: roland
Backport-of: f791fdf23e
2021-09-07 17:45:42 +03:00
Martin Doerr
33f1a7fdc4 8262017: C2: assert(n != __null) failed: Bad immediate dominator info.
Reviewed-by: roland
Backport-of: 2db9005c07
2021-09-07 17:45:42 +03:00
Martin Doerr
bb6533b600 8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop
Backport-of: 22ebd1926d
2021-09-07 17:45:41 +03:00
Roland Westrelin
5c641fe1d8 8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code
Reviewed-by: mdoerr
Backport-of: 4d8b5c70df
2021-09-07 17:45:41 +03:00
Martin Doerr
74b94472d3 8265132: C2 compilation fails with assert "missing precedence edge"
Reviewed-by: roland
Backport-of: 5644c4f942
2021-09-07 17:45:41 +03:00
Martin Doerr
f485cdb549 8267399: C2: java/text/Normalizer/ConformanceTest.java test failed with assertion
Backport-of: 578c55bbe6
2021-09-07 17:45:41 +03:00
Martin Doerr
dd98aecb75 8268360: Missing check for infinite loop during node placement 8268417: Add test from JDK-8268360
Reviewed-by: roland
2021-09-07 17:45:41 +03:00
William Kemper
8d9947ce75 8268635: Corrupt oop in ClassLoaderData
Backport-of: 3586a233a4
2021-09-07 17:45:40 +03:00
Martin Doerr
219708a510 8268369: SIGSEGV in PhaseCFG::implicit_null_check due to missing null check
Backport-of: 4ad8b04421
2021-09-07 17:45:40 +03:00
Aleksey Shipilev
1139499aed 8267424: CTW: C1 fails with "State must not be null"
Backport-of: 0a6c7d8a4b
2021-09-07 17:45:40 +03:00
Aleksey Shipilev
85dd8c3474 8224853: CDS address sanitizer errors
Reviewed-by: jiangli
Backport-of: 72daa46d46
2021-09-07 17:45:40 +03:00
Zhengyu Gu
1463e5612b 8269847: JDK-8269594 backport breaks 11u builds
Reviewed-by: clanger
2021-09-07 17:45:40 +03:00
Zhengyu Gu
7592f5ae6b 8269594: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark
Backport-of: 4b4bef4e1e
2021-09-07 17:45:39 +03:00
Martin Doerr
713b003558 8268366: Incorrect calculation of has_fpu_registers in C1 linear scan
Reviewed-by: phh
Backport-of: 702e3ff054
2021-09-07 17:45:39 +03:00
Martin Doerr
0a5483efed 8266480: Implicit null check optimization does not update control of hoisted memory operation
Backport-of: c2b50f93ac
2021-09-07 17:45:39 +03:00
Martin Doerr
b8a407d849 8263227: C2: inconsistent spilling due to dead nodes in exception block
Eliminate dead nodes created by call-catch cleanup even if they have multiple
projections. Assert that definitions dominate uses and projections are scheduled
next to their parent nodes.

Reviewed-by: roland
Backport-of: d81b0461b7
2021-09-07 17:45:39 +03:00
Zhengyu Gu
0d3c39d6dc 8251945: SIGSEGV in PackageEntry::purge_qualified_exports()
Reviewed-by: adinn
2021-09-07 17:45:38 +03:00
Evgeny Astigeevich
0087cd57cf 8213137: Remove static initialization of monitor/mutex instances
Moved to the global mutex list in mutexLocker

Reviewed-by: phh, simonis
Backport-of: eac28d7fae
2021-09-07 17:45:21 +03:00
Adam Farley
76647e1edf 8267773: PhaseStringOpts::int_stringSize doesn't handle min_jint correctly
Backport-of: d47a77d2d5
2021-09-07 16:30:14 +03:00
Roland Westrelin
92f67861bb 8266615: C2 incorrectly folds subtype checks involving an interface array
Backport-of: ce88b33488
2021-09-07 16:30:14 +03:00
Maxim Kartashev
13a904ddb5 JBR-2273 JBR musl port
Detect if we're running on a musl-based system by checking for the presence
of the libgcompat.so glibc compatibility library in the process' map.
If so, java is re-started with LD_LIBRARY_PATH set to point to the right
directory with libjvm.so. This works around the problem with the musl
dynamic library loader.
2021-09-07 12:08:02 +03:00
Vitaly Provodin
3fd8325932 update the link to JBR build targeted for 212.5284 2021.2.2 RC 2021-09-07 08:34:53 +07:00
Maxim Kartashev
7fe2bec657 fixup! JBR-3712 Add project creation instructions to JBR README 2021-09-04 18:02:10 +03:00
Alexey Ushakov
a2e23e49ba Added support for otf into the build scripts. Updated prebuild maps. 2021-09-04 16:35:09 +02:00
Konstantin Bulenkov
52169d7c56 bundle Inter font 2021-09-04 16:27:14 +02:00
Nikita Gubarkov
9a23638660 JBR-3638 Remove check for greyscale/non-antialiased mode in CStrike#getGlyphImageBounds 2021-09-03 18:02:09 +03:00
Artem Bochkarev
a08c2a715b JBR-3715: partial cherry-pick of PR "Windows AArch64 Support"
implemented correct r18 usage
fixed JBR-3715
patch from V.Kempik
2021-09-03 12:44:37 +03:00
Artem Bochkarev
ba7eef6063 JBR-3715: revert "ZULU-17387: Port X18 exclusion patch from win_aarch64 jep"
patch from V.Kempik
2021-09-03 12:44:35 +03:00
Nikita Gubarkov
42a6fefec9 JBR-3638 Adjust subpixel glyph positions for correct rounding in CStrike#getGlyphImageBounds 2021-09-03 01:46:32 +03:00
Maxim Kartashev
770b4dc9c1 fixup! JBR-3664 Logging for communications with X server 2021-09-01 06:52:29 -07:00
Artem Semenov
70015b02b4 JBR-3724 : macOS: SIGSEGV at [libjvm.dylib+0x3fc074] jni_CallStaticObjectMethod / +[JavaComponentAccessibility childrenOfParent:withEnv:withChildrenCode:allowIgnored:recursive:] 2021-09-01 16:30:50 +03:00
Dmitry Batrak
d9baf2d9db JBR-3726 Modal windows 'disappear' on minimize in KDE 2021-09-01 16:09:09 +03:00
Maxim Kartashev
410f39e6b6 JBR-3665 Typing is slow in remote X session
Only call XGetKeyboardMapping() once for all valid codes and cache the
resulting table. Use the cache on the subsequent calls to
keycodeToKeysym().
2021-09-01 04:12:48 -07:00
Artem Semenov
55c69787cf JBR-3722 : macOS: SIGSEGV at [libjvm] _ZN14AccessInternal19PostRuntimeDispatchIN12G1BarrierSet13AccessBarrierILy1097844ES1_EELNS_11BarrierTypeE2ELy1097844EE18oop_access_barrierEPv 2021-09-01 14:02:57 +03:00
Maxim Kartashev
792a58ea0e JBR-3664 Logging for communications with X server
Introduced logging controlled with -Dsun.awt.x11.trace.
Currently, only looks at the AWT lock and reports methods holding it
sorted by average hold time.
2021-09-01 00:36:11 -07:00
Vitaly Provodin
5be30023b9 exclude sun/security/tools/keytool/ListKeychainStore.sh due to 8156889 2021-09-01 06:00:25 +07:00
Vitaly Provodin
bc866184ee include tests into regular testing
java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html into Commit testing
java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java into Full testing
2021-09-01 06:00:25 +07:00
Maxim Kartashev
0a81e49d9e 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)
2021-08-31 15:38:52 +03:00
Artem Semenov
1bfd8e04f0 JBR-3678 : Remove JNF from a11y 2021-08-31 11:47:40 +03:00
Maxim Kartashev
061d01402b JBR-3712 Add project creation instructions to JBR README 2021-08-30 19:50:34 +03:00
Dmitry Batrak
28cfc4815f JBR-3706 Toggling full screen mode for two frames doesn't work on macOS if invoked without delay 2021-08-26 15:57:47 +03:00
Artem Bochkarev
52478f3231 JBR-3342: add npe check 2021-08-25 18:08:27 +03:00
Ivan Lopatin
250b040f8b Merge pull request #77 from JetBrains/ivan.lopatin/JBR-1259
JBR-1259: Added DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 support
2021-08-24 15:47:20 +07:00
Dmitry Batrak
83556f56e7 JBR-3695 JNF removal issue 2021-08-20 10:30:05 +03:00
Mikhail Grishchenko
d3a2dffee5 update the link to JBR for IDEA 2021.2 2021-08-17 23:13:56 +07:00
Dmitry Batrak
07a5b9672e JBR-3686 Background window steals focus when converted to full screen on macOS
implemented the fix for Application.requestToggleFullScreen method as well
2021-08-16 13:32:30 +03:00
Dmitry Batrak
3f7bda574d restore com.apple.eawt.Application.requestToggleFullScreen to work as expected
So that it can both enable and disable full screen mode.
As separate methods exist in JBR to enable/disable full screen mode, there's no need to check the current state in 'toggle' method.
Done as part of JBR-3686.
2021-08-16 12:43:22 +03:00
Ivan Lopatin
92d075c5db JBR-1259: Added DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 support 2021-08-13 16:49:27 +07:00
Mikhail Grishchenko
0fdec4edaa JBR-3676 WINDOW_ACTIVATED/DEACTIVATED events sent to a frame when child window closes on macOS
remove JNF dependency
2021-08-13 16:31:50 +07:00
sercher
86b51437b3 more to fix the regressions after pull/73 2021-08-13 15:10:13 +07:00
sercher
39e0a6125f fix regression after pull/73 2021-08-13 15:10:13 +07:00
Alexey Ushakov
690a416aae JBR-3667 Remove JNF from JBR_11.0.12
Applied code from jbr-dev
2021-08-13 15:10:13 +07:00
Mikhail Grishchenko
a2d18ddba0 Revert "Revert "Merge branch 'update_11.0.12'""
This reverts commit c8de1037d6.
2021-08-13 15:10:13 +07:00
Dmitry Batrak
371c574139 JBR-3686 Background window steals focus when converted to full screen on macOS 2021-08-13 10:37:58 +03:00
Artem Semenov
19c065f9bb JBR-3679: Refactor a recursive algorithm to get accessible children of a tree 2021-08-10 12:56:26 +03:00
Dmitry Batrak
824f9ebec3 JBR-3676 WINDOW_ACTIVATED/DEACTIVATED events sent to a frame when child window closes on macOS 2021-08-10 12:13:19 +03:00
Dmitry Batrak
2a71dc5981 JBR-3672 jb/java/awt/Focus/WrongFrameFocusedOnModalDialogClosing.java fails on linux by timeout 2021-08-09 12:46:24 +03:00
Dmitry Batrak
94a3885bbe JBR-3673 jb/java/awt/Window/FullScreenChildWindowShownBefore.java fails on MacOS
make test for JBR-3666 more reliable (not depending on macOS color display policy)
2021-08-09 10:26:14 +03:00
Dmitry Batrak
93588d0738 JBR-3663, JBR-3671 Problems on macOS space switching 2021-08-06 17:27:28 +03:00
Mikhail Grishchenko
c8de1037d6 Revert "Merge branch 'update_11.0.12'"
This reverts commit 2ac546b054, reversing
changes made to 1dcc612a81.
2021-08-06 13:50:34 +07:00
Dmitry Batrak
431c07ac57 JBR-3642 java/awt/Window/8159168/SetShapeTest.java fails on macOS-x64 & macOS-aarch64
make sure jb/java/awt/Focus/Typeahead* tests still pass
2021-08-05 21:00:04 +03:00
Dmitry Batrak
13dffb3db5 JBR-3642 java/awt/Window/8159168/SetShapeTest.java fails on macOS-x64 & macOS-aarch64
revert JBR-1417 fix (JBR 11 does not support chain of popups)
2021-08-05 21:00:03 +03:00
Mikhail Grishchenko
2ac546b054 Merge branch 'update_11.0.12'
# Conflicts:
#	src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m
2021-08-05 21:54:49 +07:00
Dmitry Batrak
1dcc612a81 JBR-3666 Child window stays on default space when full-screen mode is activated for parent window on macOS 2021-08-05 10:11:17 +03:00
Dmitry Batrak
bfd01081c3 JBR-3662 Focus jumps to another project tab after closing modal dialog 2021-08-04 11:59:58 +03:00
Dmitry Batrak
a7d486ca3d JBR-3640 java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFAppModalTest.java: window Open button lost focus when it should not 2021-08-03 20:49:07 +03:00
Artem Bochkarev
37e6e8e616 JBR-3342: add npe check
fixed JBR-3342 SIGILL at [libsystem_kernel] __kill NPE/OOME at java.desktop/sun.lwawt.LWComponentPeer.windowToLocal / -[NSApplication(JCEFApplication) _swizzled_sendEvent:]
2021-08-03 09:16:27 +03:00
clanger
b4d4104e40 Added tag jdk-11.0.12-ga for changeset f412f2537f15 2021-08-02 21:16:26 +03:00
mbalao
9b5cfa7ac2 8264079: Improve abstractions
Reviewed-by: yan
2021-08-02 21:14:26 +03:00
mbalao
499d9f8e49 8262967: Improve Zip file support
Reviewed-by: mbaesken
2021-08-02 21:14:26 +03:00
mbalao
fb5f776caf 8264066: Enhance compiler validation
Reviewed-by: mbaesken, mdoerr
2021-08-02 21:14:25 +03:00
yan
067d4d500d 8264460: Improve NTLM support
Reviewed-by: mbalao
2021-08-02 21:14:25 +03:00
avoitylov
76a279920c 8262380: Enhance XML processing passes
Reviewed-by: mbalao
2021-08-02 21:14:25 +03:00
mbalao
d1dda7f5a6 8256491: Better HTTP transport
Reviewed-by: mbaesken
2021-08-02 21:14:24 +03:00
mbalao
4c1030df6f 8256157: Improve bytecode assembly
Reviewed-by: mbaesken
2021-08-02 21:14:24 +03:00
alvdavi
6ae43c6a0e 8258432: Improve file transfers
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:23 +03:00
mbalao
7e34e95d11 8260967: Better jar file validation
Reviewed-by: yan
2021-08-02 21:14:23 +03:00
alvdavi
332b9ab801 8262477: Enhance String Conclusions
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:23 +03:00
yan
e0b84005e4 8262410: Enhanced rules for zones
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:22 +03:00
yan
471cfeb793 8262403: Enhanced data transfer
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:22 +03:00
alvdavi
94ab10baf3 8260453: Improve Font Bounding
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:21 +03:00
avoitylov
d60f0153e7 8260960: Signs of jarsigner signing
Reviewed-by: mbaesken, mbalao
2021-08-02 21:14:21 +03:00
rhalade
2b6110f6e3 8268678: LetsEncryptCA.java test fails as Let’s Encrypt Authority X3 is retired
Reviewed-by: xuelei
2021-08-02 21:14:21 +03:00
egahlin
63ddfb5221 8255992: JFR EventWriter does not use first string from StringPool with id 0
Reviewed-by: egahlin
Contributed-by: Jie Kang <jkang@openjdk.org>
2021-08-02 21:14:20 +03:00
mgronlun
4d1ff852af 8258414: OldObjectSample events too expensive
Reviewed-by: jbachorik
Contributed-by: florian.david@datadoghq.com
2021-08-02 21:14:20 +03:00
mdoerr
7db2687b73 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
2021-08-02 21:14:20 +03:00
weijun
59f4085080 8237804: sun/security/mscapi tests fail with "Key pair not generated, alias <nnnnnn> already exists"
Reviewed-by: mullan
2021-08-02 21:14:19 +03:00
abakhtin
9b94493edd 8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93)
Reviewed-by: jnimeh, xuelei, mdoerr
2021-08-02 21:14:19 +03:00
phh
c47f2057c5 8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64
Reviewed-by: phh
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-08-02 21:14:19 +03:00
ysuenaga
ba539e832c 8249875: GCC 10 warnings -Wtype-limits with JFR code
Reviewed-by: mgronlun
2021-08-02 21:14:18 +03:00
mbalao
f7ba738641 8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod
Reviewed-by: valeriep
2021-08-02 21:14:18 +03:00
serb
c00eb55594 8196100: javax/swing/text/JTextComponent/5074573/bug5074573.java fails
Reviewed-by: kizune
2021-08-02 21:14:18 +03:00
zgu
a275ab6f48 8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC
Reviewed-by: rkennke
2021-08-02 21:14:17 +03:00
sgehwolf
27de8b0ff6 8266929: Unable to use algorithms from 3p providers
Summary: Delay initializtion of AID cache table until after jar verification
Reviewed-by: phh
2021-08-02 21:14:17 +03:00
jlahoda
5d9d0a9a75 8242919: Paste locks up jshell
Summary: Not waiting until the full block is available while reading from input.
Reviewed-by: rfield
2021-08-02 21:14:16 +03:00
vkempik
18a8fd31e5 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
Reviewed-by: akozlov, aph
2021-08-02 21:14:16 +03:00
jbachorik
faf6484a2b 8261354: SIGSEGV at MethodIteratorHost
Reviewed-by: mgronlun
2021-08-02 21:14:16 +03:00
shade
b59a15193e 8266802: Shenandoah: Round up region size to page size unconditionally
Reviewed-by: zgu
2021-08-02 21:14:15 +03:00
vromero
81c4587cf7 8207160: ClassReader::adjustMethodParams can potentially return null if the args list is empty
Reviewed-by: mcimadamore, cushon
2021-08-02 21:14:15 +03:00
aleonard
7ca96684b5 8265666: Enable AIX build platform to make external debug symbols
Reviewed-by: erikj, mdoerr
2021-08-02 21:14:14 +03:00
weijun
55d40c666d 8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified
Reviewed-by: coffeys, hchao
2021-08-02 21:14:14 +03:00
weijun
bd0b236c4a 8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long"
Reviewed-by: valeriep
2021-08-02 21:14:14 +03:00
ysuenaga
5acffe72ad 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
Reviewed-by: serb
2021-08-02 21:14:13 +03:00
mbaesken
fd3ce84413 8261422: Adjust problematic String.format calls in jdk/internal/util/Preconditions.java outOfBoundsMessage
Reviewed-by: clanger
2021-08-02 21:14:13 +03:00
stuefe
3a700c8e6b 8260030: Improve stringStream buffer handling
Reviewed-by: iklam, kbarrett
2021-08-02 21:14:13 +03:00
stuefe
2247fa9602 8185734: [Windows] Structured Exception Catcher missing around gtest execution
Reviewed-by: dholmes, ihse
2021-08-02 21:14:12 +03:00
jiefu
79d5f9c769 8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits
Reviewed-by: dholmes, cjplummer, sspitsyn
2021-08-02 21:14:12 +03:00
mbaesken
e6584954f5 8220074: Clean up GCC 8.3 errors in LittleCMS
Reviewed-by: prr
2021-08-02 21:14:11 +03:00
mbaesken
0478b4e54c 8232084: HotSpot build failed with GCC 9.2.1
Reviewed-by: sspitsyn, cjplummer, dholmes, iklam
2021-08-02 21:14:11 +03:00
mbaesken
308ba715a8 8266892: avoid maybe-uninitialized gcc warnings on linux s390x
Reviewed-by: shade, lucy
2021-08-02 21:14:10 +03:00
bulasevich
60a9d39d0e 8252311: AArch64: save two words in itable lookup stub
Reviewed-by: adinn, aph
2021-08-02 21:14:10 +03:00
egahlin
201bc8380c 8243452: JFR: Could not create chunk in repository with over 200 recordings
Reviewed-by: mgronlun
2021-08-02 21:14:10 +03:00
valeriep
0ed41e9ef2 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>
2021-08-02 21:14:09 +03:00
jnimeh
0e3a3cc87a 8254717: isAssignableFrom checks in KeyFactorySpi.engineGetKeySpec appear to be backwards
Reviewed-by: jnimeh
Contributed-by: Ziyi Luo <luoziyi@openjdk.org>
2021-08-02 21:14:09 +03:00
ccheung
b85ab67807 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
2021-08-02 21:14:08 +03:00
weijun
a30e884f47 8153005: Upgrade the default PKCS12 encryption/MAC algorithms
Reviewed-by: mullan
2021-08-02 21:14:08 +03:00
sgehwolf
77447ab9da 8266713: [AIX] Build failure after 11u backport of JDK-8247753
Summary: Add local implementation of strcasestr for AIX
Reviewed-by: mdoerr, stuefe, mbaesken, rpatil
2021-08-02 21:14:08 +03:00
aeubanks
d649015cab 8223667: ASAN build broken
Reviewed-by: erikj, manc
2021-08-02 21:14:07 +03:00
zgu
1408d4104c 8265239: Shenandoah: Shenandoah heap region count could be off by 1
Reviewed-by: shade
2021-08-02 21:14:07 +03:00
dholmes
2bce0bab8a 8218458: [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output
Reviewed-by: cjplummer, zgu
2021-08-02 21:14:06 +03:00
stuefe
bbc63ddc5a 8262163: Extend settings printout in jcmd VM.metaspace
Reviewed-by: lucy
2021-08-02 21:14:06 +03:00
stuefe
1a1cf92ea6 8260926: Trace resource exhausted events unconditionally
Reviewed-by: dholmes, coleenp
2021-08-02 21:14:06 +03:00
stuefe
b40243f499 8260707: java/lang/instrument/PremainClass/InheritAgent0100.java times out
Reviewed-by: dholmes, sspitsyn, dcubed
2021-08-02 21:14:05 +03:00
bulasevich
27130a7ad2 8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr
Reviewed-by: kvn
2021-08-02 21:14:05 +03:00
bulasevich
efe3d8c9fa 8247408: IdealGraph bit check expression canonicalization
Reviewed-by: aph, kvn, adinn
2021-08-02 21:14:05 +03:00
mikael
afa82f7acd 8219142: Remove unused JIMAGE_ResourcePath
Reviewed-by: dholmes, alanb
2021-08-02 21:14:04 +03:00
mbaesken
c465836189 8214854: JDWP: Unforseen output truncation in logging
Reviewed-by: cjplummer, dholmes
2021-08-02 21:14:04 +03:00
mbaesken
07cb8849b7 8215009: GCC 8 compilation error in libjli
Reviewed-by: dholmes, mikael, rriggs
2021-08-02 21:14:04 +03:00
rpatil
7dbbb71015 8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32
Reviewed-by: sgehwolf
2021-08-02 21:14:03 +03:00
ddong
008119aa29 8261020: Wrong format parameter in create_emergency_chunk_path
Reviewed-by: goetz
2021-08-02 21:14:03 +03:00
snazarki
6ea789002e 8264821: DirectIOTest fails on a system with large block size
Reviewed-by: mdoerr
2021-08-02 21:14:02 +03:00
rhalade
e005989a5f 8264190: Harden TLS interop tests
Reviewed-by: rhalade
Contributed-by: Fernando Guallini <fguallini@openjdk.org>
2021-08-02 21:14:02 +03:00
serb
33f88d585e 7106851: Test should not use System.exit
Reviewed-by: aivanov, psadhukhan, kaddepalli
2021-08-02 21:14:02 +03:00
rriggs
3438de2060 8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1
Reviewed-by: lancea, iignatyev
2021-08-02 21:14:01 +03:00
shade
cf77ddd67d 8265421: java/lang/String/StringRepeat.java test is missing a memory requirement
Reviewed-by: jlaskey, shade, ryadav
Contributed-by: christoph.goettschkes@microdoc.com
2021-08-02 21:14:01 +03:00
tschatzl
382c68f8b6 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
2021-08-02 21:14:01 +03:00
phh
abadd05c98 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
2021-08-02 21:14:00 +03:00
shade
b61d1ec0b2 8265690: Use the latest Ubuntu base image version in Docker testing
Reviewed-by: sgehwolf, iignatyev, mseledtsov
2021-08-02 21:14:00 +03:00
serb
667524ec99 6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit
Reviewed-by: prr
2021-08-02 21:13:59 +03:00
jlahoda
c7bb9526c4 8262900: ToolBasicTest fails to access HTTP server it starts
Reviewed-by: sundar, vromero
2021-08-02 21:13:59 +03:00
psadhukhan
1984e4ea7f 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
Reviewed-by: serb
2021-08-02 21:13:59 +03:00
jbachorik
7c8bed75ad 8265750: Fatal error in safepoint.cpp after backport of 8258414
Reviewed-by: mdoerr, sgehwolf
2021-08-02 21:13:58 +03:00
lucy
d8f671e3ee 8264173: [s390] Improve Hardware Feature Detection And Reporting
Reviewed-by: goetz, mdoerr
2021-08-02 21:13:58 +03:00
lucy
ba42c17ea7 8263260: [s390] Support latest hardware (z14 and z15)
Reviewed-by: goetz, mdoerr
2021-08-02 21:13:58 +03:00
lucy
ce82bfa392 8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string
Reviewed-by: stuefe, mdoerr, clanger
2021-08-02 21:13:57 +03:00
shade
2624b2a7d7 8265537: x86 version string truncated after JDK-8249672 11u backport
Reviewed-by: neugens
2021-08-02 21:13:57 +03:00
serb
974a06e94c 8225116: Test OwnedWindowsLeak.java intermittently fails
Reviewed-by: pbansal
2021-08-02 21:13:56 +03:00
serb
ad3b5d11d7 8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers
Reviewed-by: prr
2021-08-02 21:13:56 +03:00
jiefu
b71bcabdc5 8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32
Reviewed-by: kvn
2021-08-02 21:13:56 +03:00
jiefu
977d41835c 8222302: [TESTBUG]test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU
Reviewed-by: kvn, dlong
2021-08-02 21:13:55 +03:00
kbarrett
c630859af5 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
2021-08-02 21:13:55 +03:00
hshi
63720c9e21 8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test
Reviewed-by: lucy, shade
2021-08-02 21:13:55 +03:00
stuefe
c65f7c3364 8257604: JNI_ArgumentPusherVaArg leaks valist
Reviewed-by: dcubed, coleenp
2021-08-02 21:13:54 +03:00
weijun
a64f9674c9 8076190: Customizing the generation of a PKCS12 keystore
Reviewed-by: mullan
2021-08-02 21:13:54 +03:00
thartmann
e929f1d15e 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>
2021-08-02 21:13:53 +03:00
serb
733e2667a3 8264328: Broken license in javax/swing/JComboBox/8072767/bug8072767.java
Reviewed-by: kizune, trebari, pbansal
2021-08-02 21:13:53 +03:00
ssahoo
0979251517 8225438: javax/net/ssl/TLSCommon/TestSessionLocalPrincipal.java failed with Read timed out
Reviewed-by: xuelei, rhalade, hchao
2021-08-02 21:13:53 +03:00
aivanov
bdc30661cb 8263311: Watch registry changes for remote printers update instead of polling
Reviewed-by: psadhukhan, serb
2021-08-02 21:13:52 +03:00
dfuchs
e7fb17ebca 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
2021-08-02 21:13:52 +03:00
dfuchs
ade01055d1 8244031: HttpClient should have more tests for HEAD requests
Summary: Http2TestExchangeImpl.java updated to support HEAD responses; ForbiddenHeadTest.java added.
Reviewed-by: chegar, michaelm
2021-08-02 21:13:51 +03:00
shade
3396a75ca7 8265718: Build failure after JDK-8258414 11u backport
Reviewed-by: stuefe, goetz
2021-08-02 21:13:51 +03:00
iignatyev
bd91605174 8225756: [testbug] compiler/loopstripmining/CheckLoopStripMining.java sets too short a SafepointTimeoutDelay
Reviewed-by: kvn, epavlova, roland, mdoerr
2021-08-02 21:13:51 +03:00
jlahoda
24d2a6fe28 8177068: incomplete classpath causes NPE in Flow
Summary: Undo completions that failed during speculative attribution, so that the appropriate CompletionFailures are thrown again and properly reported.
Reviewed-by: vromero
2021-08-02 21:13:50 +03:00
mgronlun
bd2a53a105 8258414: OldObjectSample events too expensive
Reviewed-by: jbachorik
Contributed-by: florian.david@datadoghq.com
2021-08-02 21:13:50 +03:00
stuefe
6e2ff8055d 8265417: Backport of JDK-8249672 breaks Solaris x86 build
Reviewed-by: shade
2021-08-02 21:13:50 +03:00
dlong
cdbcb46437 8214512: ARM32: Jtreg test compiler/c2/Test8062950.java fails on ARM
Reviewed-by: dlong, enevill, bulasevich
Contributed-by: nick.gasson@arm.com, christoph.goettschkes@microdoc.com
2021-08-02 21:13:49 +03:00
jboes
2bb749dca2 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
2021-08-02 21:13:49 +03:00
trebari
535c3bd567 8190763: Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()
Reviewed-by: psadhukhan, pbansal, serb
2021-08-02 21:13:48 +03:00
xuelei
03dd08df32 8258753: StartTlsResponse.close() hangs due to synchronization issues
Reviewed-by: xuelei
Contributed-by: Prajwal Kumaraswamy <pkumaraswamy@openjdk.org>
2021-08-02 21:13:48 +03:00
rriggs
c6c1be68b6 8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test
Reviewed-by: stuefe, iklam
2021-08-02 21:13:48 +03:00
rhalade
b5cf4ef17e 8225081: Remove Telia Company CA certificate expiring in April 2021
Reviewed-by: mullan
2021-08-02 21:13:47 +03:00
stuefe
38ee00073d 8253572: [windows] CDS archive may fail to open with long file names
Reviewed-by: ccheung, iklam
2021-08-02 21:13:47 +03:00
rrich
a7735759aa 8244847: Linux/PPC: runtime/CompressedOops/CompressedClassPointers: smallHeapTest fails
Reviewed-by: stuefe, mdoerr
2021-08-02 21:13:46 +03:00
hseigel
beb4d8cd85 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
2021-08-02 21:13:46 +03:00
kvn
c0c32d8bfe 8252779: compiler/graalunit/HotspotTest.java failed after 8251525
Summary: updated CheckGraalIntrinsics.java test
Reviewed-by: dcubed
2021-08-02 21:13:46 +03:00
jzhu
93606dbe3f 8252259: AArch64: Adjust default value of FLOATPRESSURE
Reviewed-by: aph
2021-08-02 21:13:45 +03:00
lucy
1080bdd980 8261447: MethodInvocationCounters frequently run into overflow
Reviewed-by: mdoerr, thartmann, kvn, iveresov
2021-08-02 21:13:45 +03:00
prr
b3e3c0b89d 8261170: Upgrade to freetype 2.10.4
Reviewed-by: serb, psadhukhan, jdv, kizune
2021-08-02 21:13:44 +03:00
clanger
830e654595 8207404: MulticastSocket tests failing on AIX
Reviewed-by: chegar, sgroeger
2021-08-02 21:13:44 +03:00
neliasso
47e3150fad 8263361: Incorrect arraycopy stub selected by C2 for SATB collectors
Reviewed-by: eosterlund, vlivanov
2021-08-02 21:13:43 +03:00
kvn
39608ad69a 8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node"
Reviewed-by: thartmann
2021-08-02 21:13:43 +03:00
naoto
76e123778d 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
2021-08-02 21:13:43 +03:00
bulasevich
4f61ac98d5 8214128: ARM32: wrong stack alignment on Deoptimization::unpack_frames
Reviewed-by: dsamersoff
2021-08-02 21:13:42 +03:00
prr
90e76c380b 8260380: Upgrade to LittleCMS 2.12
Reviewed-by: jdv, serb
2021-08-02 21:13:42 +03:00
jiangli
85a088f9f1 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
2021-08-02 21:13:42 +03:00
lucy
381de93173 8264846: [macos] libjvm.dylib linker warning due to macOS version mismatch
Reviewed-by: erikj, dcubed, clanger
2021-08-02 21:13:41 +03:00
sgehwolf
5d2684022e 8264047: Duplicate global variable 'jvm' in libjavajpeg and libawt
Reviewed-by: serb
2021-08-02 21:13:41 +03:00
mbalao
49c77556ab 8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding
Reviewed-by: valeriep
2021-08-02 21:13:40 +03:00
bulasevich
7970c912fa 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
2021-08-02 21:13:40 +03:00
shade
897fed57dd 8207247: AARCH64: Enable Minimal and Client VM builds
Reviewed-by: aph
Contributed-by: christoph.goettschkes@microdoc.com
2021-08-02 21:13:40 +03:00
rehn
6a6ae5c6ed 8261262: Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION
Reviewed-by: dcubed, sspitsyn
2021-08-02 21:13:39 +03:00
xuelei
89ec9bc1e2 8226374: Restrict TLS signature schemes and named groups
Reviewed-by: mullan
2021-08-02 21:13:39 +03:00
ngasson
5404c7fe70 8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop
Reviewed-by: adinn
2021-08-02 21:13:38 +03:00
yzhang
1315b55c19 8242429: Better implementation for sign extract
Reviewed-by: vlivanov, thartmann
Contributed-by: eric.c.liu@arm.com
2021-08-02 21:13:38 +03:00
shade
3a9131614b 8264923: PNGImageWriter.write_zTXt throws Exception with a typo
Reviewed-by: aivanov, jdv, azvegint, kizune
2021-08-02 21:13:38 +03:00
shade
d0b370c6b8 8256523: Streamline Java SHA2 implementation
Reviewed-by: valeriep
2021-08-02 21:13:37 +03:00
zgu
e7bb9fd8d7 8253948: Memory leak in ImageFileReader
Reviewed-by: alanb
2021-08-02 21:13:37 +03:00
smonteith
dc43f7063d 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
2021-08-02 21:13:36 +03:00
weijun
d7e1f938e7 8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler
Reviewed-by: mullan
2021-08-02 21:13:36 +03:00
jdv
ad56416ad9 8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen
Reviewed-by: serb, prr
2021-08-02 21:13:36 +03:00
jdv
50412155f9 8242557: Add length limit for strings in PNGImageWriter
Reviewed-by: prr, psadhukhan
2021-08-02 21:13:35 +03:00
iveresov
3e47d86db7 8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state
Reviewed-by: dlong, kvn
2021-08-02 21:13:35 +03:00
hseigel
871cb53015 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
2021-08-02 21:13:35 +03:00
neliasso
a7c4f72f75 8262465: Very long compilation times and high memory consumption in C2 debug builds
Reviewed-by: kvn, thartmann
2021-08-02 21:13:34 +03:00
stuefe
1ee8a9a528 8263558: Possible NULL dereference in fast path arena free if ZapResourceArea is true
Reviewed-by: kbarrett, coleenp
2021-08-02 21:13:34 +03:00
thartmann
56c4e379af 8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies
Reviewed-by: neliasso, chagedorn
2021-08-02 21:13:33 +03:00
apangin
0535ead40d 8249719: MethodHandle performance suffers from bad ResolvedMethodTable hash function
Reviewed-by: simonis, stuefe, coleenp
2021-08-02 21:13:33 +03:00
yzhang
c64efbc559 8243240: AArch64: Add support for MulVB
Reviewed-by: aph
2021-08-02 21:13:33 +03:00
jcm
d6f04ca27b 8226627: assert(t->singleton()) failed: must be a constant
Summary: Implemented constant folding for MaxFD, MinFD.
Reviewed-by: thartmann, bsrbnd, pli
2021-08-02 21:13:32 +03:00
xuelei
13af04a640 8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl
Reviewed-by: xuelei
Contributed-by: Clive Verghese <cverghese@openjdk.org>
2021-08-02 21:13:32 +03:00
fyang
893f2d4fbc 8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()
Reviewed-by: adinn
2021-08-02 21:13:31 +03:00
dtitov
63895cc7cd 8217348: assert(thread->is_Java_thread()) failed: just checking
Reviewed-by: sspitsyn, dholmes, amenkov, jcbeyler
2021-08-02 21:13:31 +03:00
shade
592583006f 8263504: Some OutputMachOpcodes fields are uninitialized
Reviewed-by: kvn
2021-08-02 21:13:31 +03:00
rraghavan
31344224c6 8238812: assert(false) failed: bad AD file
Reviewed-by: thartmann, chagedorn, roland
2021-08-02 21:13:30 +03:00
rcastanedalo
15123efa60 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
2021-08-02 21:13:30 +03:00
naoto
760f73a671 8247432: Update IANA Language Subtag Registry to Version 2020-09-29
Reviewed-by: joehw
2021-08-02 21:13:29 +03:00
naoto
923bef0b1e 8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01
Reviewed-by: rriggs, joehw
2021-08-02 21:13:29 +03:00
xuelei
39cd51acab 8206925: Support the certificate_authorities extension
Reviewed-by: mullan
2021-08-02 21:13:29 +03:00
joehw
c7afe8d09b 8235368: Update BCEL to Version 6.4.1
Reviewed-by: lancea, dfuchs, forax
2021-08-02 21:13:28 +03:00
mli
ace76c89eb 8210443: Migrate Locale matching tests to JDK Repo.
Reviewed-by: naoto
Contributed-by: dan.z.zhou@oracle.com
2021-08-02 21:13:28 +03:00
ngasson
641d5af861 8236992: AArch64: remove redundant load_klass in itable stub
Reviewed-by: aph, adinn
2021-08-02 21:13:27 +03:00
thartmann
808c4a4a73 8230428: Cleanup dead CastIP node code in formssel.cpp
Summary: Removed dead code.
Reviewed-by: roland
2021-08-02 21:13:27 +03:00
jdowland
ff2f0003c3 8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll
Reviewed-by: chegar, dfuchs, aph
2021-08-02 21:13:27 +03:00
kvn
3cd3b00fb7 8262837: handle split_USE correctly
Reviewed-by: kvn
Contributed-by: Kuai Wei <kuaiwei.kw@alibaba-inc.com>
2021-08-02 21:13:26 +03:00
naoto
64fe99dbec 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version
Reviewed-by: joehw
2021-08-02 21:13:26 +03:00
bulasevich
17b9e61404 8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32
Reviewed-by: dholmes
Contributed-by: christoph.goettschkes@microdoc.com
2021-08-02 21:13:25 +03:00
jzhu
c0e32c3fca 8233948: AArch64: Incorrect mapping between OptoReg and VMReg for high 64 bits of Vector Register
Reviewed-by: adinn
2021-08-02 21:13:25 +03:00
pli
2c9e087a17 8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl
Reviewed-by: aph
2021-08-02 21:13:25 +03:00
mbaesken
dba304d265 8262461: handle wcstombsdmp return value correctly in unix awt_InputMethod.c
Reviewed-by: psadhukhan, azvegint, aivanov
2021-08-02 21:13:24 +03:00
chagedorn
2022e3d2f2 8260284: C2: assert(_base == Int) failed: Not an Int
Reviewed-by: thartmann, kvn
2021-08-02 21:13:24 +03:00
stuefe
1f7b350fe7 8263557: Possible NULL dereference in Arena::destruct_contents()
Reviewed-by: kbarrett, coleenp
2021-08-02 21:13:24 +03:00
thartmann
eadcad1393 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>
2021-08-02 21:13:23 +03:00
shade
ec4b14d493 8261505: Test test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java killed by Linux OOM Killer
Reviewed-by: sjohanss, tschatzl
2021-08-02 21:13:23 +03:00
jlahoda
298401f392 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
2021-08-02 21:13:22 +03:00
rkennke
29eed33b90 8257621: JFR StringPool misses cached items across consecutive recordings
Reviewed-by: egahlin
2021-08-02 21:13:22 +03:00
bsrbnd
6cc66f7ff5 8220407: compiler/intrinsics/math/TestFpMinMaxIntrinsics.java timedout
Reviewed-by: kvn
2021-08-02 21:13:22 +03:00
jbhateja
f5c06010c4 8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java failed XMM register should be 0-15
Reviewed-by: thartmann, vlivanov, ctornqvi, bsrbnd
2021-08-02 21:13:21 +03:00
xuelei
293045e187 8259886: Improve SSL session cache performance and scalability
Reviewed-by: erikj, xuelei
Contributed-by: djelinski <djelinski1@gmail.com>
2021-08-02 21:13:21 +03:00
ngasson
886f5885ff 8263425: AArch64: two potential bugs in C1 LIRGenerator::generate_address()
Reviewed-by: aph
2021-08-02 21:13:21 +03:00
chagedorn
05703a8824 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>
2021-08-02 21:13:20 +03:00
fguallini
27738b9bc1 8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset
Reviewed-by: dfuchs, rhalade
2021-08-02 21:13:20 +03:00
roland
4dc032eb32 8257574: C2: "failed: parsing found no loops but there are some" assert failure
Reviewed-by: thartmann, neliasso, chagedorn
2021-08-02 21:13:19 +03:00
mbaesken
ceb27707a6 8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection
Reviewed-by: kbarrett, lucy
2021-08-02 21:13:19 +03:00
aivanov
fcce5a2b3c 8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames()
Reviewed-by: prr, psadhukhan, serb
2021-08-02 21:13:19 +03:00
ewhelan
27fce84573 8252883: AccessDeniedException caused by delayed file deletion on Windows
Reviewed-by: dfuchs
2021-08-02 21:13:18 +03:00
weijun
b50153e0b1 8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur
Reviewed-by: mullan
2021-08-02 21:13:18 +03:00
mullan
32ba7b1af9 8243559: Remove root certificates with 1024-bit keys
Reviewed-by: weijun
2021-08-02 21:13:18 +03:00
jiefu
67c4fc1a4d 8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/PortUnreachable.java fails due to the hard coded threshold is small
Reviewed-by: shade, aefimov
2021-08-02 21:13:17 +03:00
goetz
e612e43ec0 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
2021-08-02 21:13:17 +03:00
mbaesken
07bf95c9ad 8261791: (sctp) handleSendFailed in SctpChannelImpl.c potential leaks
Reviewed-by: chegar, alanb
2021-08-02 21:13:16 +03:00
mbaesken
eef3676722 8261601: free memory in early return in Java_sun_nio_ch_sctp_SctpChannelImpl_receive0
Reviewed-by: clanger, dfuchs, bpb
2021-08-02 21:13:16 +03:00
lucy
15b77b797b 8231460: Performance issue (CodeHeap) with large free blocks
Reviewed-by: adinn, stuefe
2021-08-02 21:13:16 +03:00
lucy
5cb1684f14 8223444: Improve CodeHeap Free Space Management
Reviewed-by: kvn, thartmann
2021-08-02 21:13:15 +03:00
fyang
0a087ecb13 8223020: aarch64: expand minI_rReg and maxI_rReg patterns into separate instructions
Reviewed-by: aph
2021-08-02 21:13:15 +03:00
serb
9c693b5575 8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux
Reviewed-by: prr, psadhukhan, kcr
2021-08-02 21:13:15 +03:00
serb
30b018b55c 8241829: Cleanup the code for PrinterJob on windows
Reviewed-by: prr, aivanov
2021-08-02 21:13:14 +03:00
rfield
7840ab7e3d 8213725: JShell NullPointerException due to class file with unexpected package
Reviewed-by: jlahoda
2021-08-02 21:13:14 +03:00
rfield
0a4ab7ae9a 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
2021-08-02 21:13:14 +03:00
mbaesken
4a9b9ddd48 8260236: better init AnnotationCollector _contended_group
Reviewed-by: coleenp, shade
2021-08-02 21:13:13 +03:00
coleenp
f4c17f8b6c 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
2021-08-02 21:13:13 +03:00
stuefe
b868dea5db 8259710: Inlining trace leaks memory
Reviewed-by: thartmann, neliasso
2021-08-02 21:13:13 +03:00
thartmann
f0a90c039a 8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted
Summary: Added error handling.
Reviewed-by: neliasso
2021-08-02 21:13:12 +03:00
vtewari
f4615088ac 8260925: HttpsURLConnection does not work with other JSSE provider.
Reviewed-by: xuelei
2021-08-02 21:13:12 +03:00
cgo
838eb2387f 8261752: Multiple GC test are missing memory requirements
Reviewed-by: phh
Contributed-by: christoph.goettschkes@microdoc.com
2021-08-02 21:13:11 +03:00
abakhtin
76c6dc4591 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
2021-08-02 21:13:11 +03:00
vlivanov
07161d961a 8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization
Reviewed-by: dlong, kvn, thartmann
2021-08-02 21:13:11 +03:00
mgronlun
1b113cbc3f 8257569: Failure observed with JfrVirtualMemory::initialize
Reviewed-by: egahlin, poonam
2021-08-02 21:13:10 +03:00
jbhateja
2892ad6bc0 8259777: Incorrect predication condition generated by ADLC
Reviewed-by: vlivanov
2021-08-02 21:13:10 +03:00
roland
3ab381bd9b 8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload
Reviewed-by: kvn, shade
2021-08-02 21:13:09 +03:00
skuksenko
55b5776d7f 8223504: Improve performance of forall loops by better inlining of "iterator()" methods
Reviewed-by: vlivanov, shade
2021-08-02 21:13:09 +03:00
mbaesken
37e13f2348 8261167: print_process_memory_info add a close call after fopen
Reviewed-by: stuefe, dholmes
2021-08-02 21:13:09 +03:00
mbaesken
f5a8794c07 8259786: initialize last parameter of getpwuid_r
Reviewed-by: mdoerr, hseigel
2021-08-02 21:13:08 +03:00
stuefe
61b424d747 8256287: [windows] add loop fuse to map_or_reserve_memory_aligned
Reviewed-by: luhenry, iklam, minqi
2021-08-02 21:13:08 +03:00
roland
a8560f5352 8253923: C2 doesn't always run loop opts for compilations that include loops
Reviewed-by: neliasso, thartmann
2021-08-02 21:13:07 +03:00
naoto
641a44d288 8255086: Update the root locale display names
Reviewed-by: bchristi, joehw
2021-08-02 21:13:07 +03:00
erikj
b406b996f9 8261261: The version extra fields needs to be overridable in jib-profiles.js
Reviewed-by: ihse
2021-08-02 21:13:07 +03:00
mbaesken
1f189822f0 8260432: allocateSpaceForGP in freetypeScaler.c might leak memory
Reviewed-by: shade, stuefe
2021-08-02 21:13:06 +03:00
mbaesken
deeaf56fa3 8260426: awt debug_mem.c DMem_AllocateBlock might leak memory
Reviewed-by: psadhukhan, aivanov
2021-08-02 21:13:06 +03:00
mbaesken
ed04be67c7 8259843: initialize dli_fname array before calling dll_address_to_library_name
Reviewed-by: lucy, dholmes
2021-08-02 21:13:06 +03:00
ngasson
5d54d23310 8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack
Reviewed-by: aph
2021-08-02 21:13:05 +03:00
goetz
1f320da262 8257580: Bump update version for OpenJDK: jdk-11.0.12
Reviewed-by: mdoerr
2021-08-02 21:13:05 +03:00
AlexanderScherbatiy
3fb01ee26b Add stubs for JNFObtainEnv/JNFReleaseEnv methods in Dispatch.m file 2021-08-02 21:12:48 +03:00
AlexanderScherbatiy
b8fc7b2e91 Fix DECLARE_CLASS/METHOD return values 2021-08-02 21:12:48 +03:00
AlexanderScherbatiy
b8add67ee4 Return NSWindowTabbingModeDisallowed from GET_CPLATFORM_WINDOW_CLASS_RETURN 2021-08-02 21:12:47 +03:00
AlexanderScherbatiy
b00ea1cfbc Use GET_CPLATFORM_WINDOW_CLASS_RETURN for method with return value from AWTWindow.m 2021-08-02 21:12:47 +03:00
Alexander Zuev
d597ddafbd 8263846: Bad JNI lookup getFocusOwner in accessibility code on Mac OS X
Reviewed-by: azvegint, prr
2021-08-02 21:12:47 +03:00
Phil Race
6625f22474 8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code
Reviewed-by: serb, psadhukhan
2021-08-02 21:12:47 +03:00
Alexander Zuev
01f4133f22 8259585: Accessible actions do not work on mac os x
Reviewed-by: serb
2021-08-02 21:12:47 +03:00
Phil Race
b7bd90fe90 8259232: Bad JNI lookup during printing
Reviewed-by: psadhukhan
2021-08-02 21:12:46 +03:00
Vladimir Kempik
e5c9468191 8260616: Removing remaining JNF dependencies in the java.desktop module 8259729: Missed JNFInstanceOf -> IsInstanceOf conversion
Reviewed-by: mdoerr
2021-08-02 21:12:46 +03:00
Vladimir Kempik
6bb87f14a8 8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs
Reviewed-by: mdoerr
2021-08-02 21:12:46 +03:00
Vladimir Kempik
57a8722fbe 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
Reviewed-by: mdoerr
2021-08-02 21:12:45 +03:00
Vladimir Kempik
436382c220 8259343: [macOS] Update JNI error handling in Cocoa code
Reviewed-by: mdoerr
2021-08-02 21:12:45 +03:00
Vladimir Kempik
a826a12210 8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
Reviewed-by: mdoerr
2021-08-02 21:12:45 +03:00
vkempik
e7daf93c85 8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m
Reviewed-by: ihse, cjplummer
2021-08-02 21:12:45 +03:00
vkempik
282a9485b8 8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m
8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m
Reviewed-by: mdoerr
2021-08-02 21:12:45 +03:00
vkempik
f265ba1086 8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched
Reviewed-by: phh
2021-08-02 21:12:44 +03:00
phh
6644278e8a 8267641: [11u] 8227609 backport typo
Summary: Remove extraneous "8227609"
Reviewed-by: yan, mdoerr, sgehwolf
2021-08-02 21:12:44 +03:00
bpb
87ca21711a 8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size
Reviewed-by: alanb, lancea, fweimer
2021-08-02 21:12:44 +03:00
bulasevich
ba81371932 8249189: AARCH64: more L2I conversions can be skipped
Reviewed-by: aph
2021-08-02 21:12:43 +03:00
bulasevich
2c3cdba88b 8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values
Reviewed-by: aph
2021-08-02 21:12:42 +03:00
bulasevich
dc7595ea2b 8248043: Need to eliminate excessive i2l conversions
Reviewed-by: redestad, kvn, iveresov
2021-08-02 21:12:42 +03:00
yzhang
2dfaf4d229 8243155: AArch64: Add support for SqrtVF
Reviewed-by: aph
2021-08-02 21:12:41 +03:00
shade
0036e174ad 8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint)
Reviewed-by: kvn
2021-08-02 21:12:41 +03:00
neliasso
073f57ae6d 8226721: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: neliasso, vlivanov, ecaspole
Contributed-by: Jatin Bhateja <jatin.bhateja@intel.com>
2021-08-02 21:12:40 +03:00
bsrbnd
290bc74830 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>
2021-08-02 21:12:40 +03:00
dlemmond
f5f49b6e44 8239386: handle ContendedPaddingWidth in vm_version_aarch64
Reviewed-by: aph, phh
2021-08-02 21:12:40 +03:00
dongbo
06383fee91 8255625: AArch64: Implement Base64.encodeBlock accelerator/intrinsic
Reviewed-by: aph
2021-08-02 21:12:39 +03:00
roland
7b69e23a4f 8261812: C2 compilation fails with assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann
2021-08-02 21:12:39 +03:00
dchuyko
046a5eca42 8251525: AARCH64: Faster Math.signum(fp)
Reviewed-by: aph, vlivanov, adinn
2021-08-02 21:12:38 +03:00
vkempik
08ab93fe2b 8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files
Reviewed-by: phh
2021-08-02 21:12:38 +03:00
phh
86c315b268 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
2021-08-02 21:12:37 +03:00
yzhang
95ffcc0b19 8243597: AArch64: Add support for integer vector abs
Reviewed-by: aph
2021-08-02 21:12:37 +03:00
pli
c43bcc5456 8241475: AArch64: Add missing support for PopCountVI node
Reviewed-by: aph, njian
2021-08-02 21:12:36 +03:00
pli
ff0303d69c 8214922: Add vectorization support for fmin/fmax
Reviewed-by: adinn, roland
2021-08-02 21:12:36 +03:00
wetmore
230e3ce141 8254631: Better support ALPN byte wire values in SunJSSE
Reviewed-by: xuelei, dfuchs
2021-08-02 21:12:35 +03:00
vkempik
8c83c11efa 8261397: try catch Method failing to work when dividing an integer by 0
Reviewed-by: phh
2021-08-02 21:12:35 +03:00
dpochepk
f5d030fee1 8222412: AARCH64: multiple instructions encoding issues
Reviewed-by: aph
2021-08-02 21:12:35 +03:00
pli
902d29380e 8216259: AArch64: Vectorize Adler32 intrinsics
Reviewed-by: aph
2021-08-02 21:12:34 +03:00
aph
f31624f8c4 8261649: AArch64: Optimize LSE atomics in C++ code
Reviewed-by: adinn
2021-08-02 21:12:34 +03:00
aph
f754b686b5 8261027: AArch64: Support for LSE atomics C++ HotSpot code
Reviewed-by: adinn, phh
2021-08-02 21:12:33 +03:00
dmarkov
639d675ba3 8262446: DragAndDrop hangs on Windows
Reviewed-by: aivanov, serb, kizune
2021-08-02 21:12:33 +03:00
serb
072ee00a51 8257414: Drag n Drop target area is wrong on high DPI systems
Reviewed-by: serb
Contributed-by: Olga Mikhaltsova <omikhaltcova@openjdk.org>
2021-08-02 21:12:33 +03:00
bell-sw
90c1966233 Revert "JBR-1414 DnD on linux (XToolkit) does not honor HIDPI scale"
This reverts commit db6c43b6
2021-08-02 21:12:32 +03:00
Dmitry Batrak
9fdc75969b JBR-3633 Modal dialog is shown not at the same space as its parent
fix the case when space switch is performed by clicking on app icon in dock, or using Cmd+Tab
2021-07-30 18:59:20 +03:00
Dmitry Batrak
c2cdacaddd JBR-3560 [JCK] java.awt.Dialog should throw java.lang.IllegalArgumentException: Wrong parent window
rollback JBR-1255 fix
2021-07-23 20:26:25 +03:00
Artem Semenov
2e925883d5 JBR-3637: Eliminate JBR build warnings from a11y 2021-07-23 15:59:16 +03:00
Dmitry Batrak
a156c6b9bf JBR-3633 Modal dialog is shown not at the same space as its parent 2021-07-21 14:51:39 +03:00
Dmitry Batrak
75335543f2 JBR-3611 Unexpected workspace switch with dialog in full-screen mode on macOS
make test pass with jtreg
2021-07-21 14:51:39 +03:00
Maxim Kartashev
c9143a3b22 JBR-3626 Apply fix for 8261235 to JBR11
8261235: C1 compilation fails with assert(res->vreg_number() == index) failed: conversion check

Reviewed-by: thartmann, kvn
2021-07-20 08:36:23 -07:00
Vitaly Provodin
8361529140 update the link to JBR for IDEA 2021.2 RC 2021-07-20 14:40:55 +07:00
Maxim Kartashev
2988403307 fixup! JBR-3618 Add info about releases to JBR README on github 2021-07-19 14:53:45 +03:00
Dmitry Batrak
43fdd6cd26 JBR-3611 Unexpected workspace switch with dialog in full-screen mode on macOS 2021-07-19 10:11:44 +03:00
2285 changed files with 80948 additions and 28922 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* -text

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

File diff suppressed because it is too large Load Diff

View File

@@ -633,3 +633,11 @@ e41ae00add1d76a8f25adb558933382947ea840d jdk-11.0.11+6
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,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

@@ -9,22 +9,12 @@ It includes a number enhancements in font rendering, HiDPI support, ligatures, p
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
### For 2021.2 IDEs
| Release/tag | Date |
| --- | --- |
| [jb11_0_11-b1504.12](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_11-b1504.12) | 12-Jul-2021 |
| [jb11_0_11-b1504.8](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_11-b1504.8) | 06-Jul-2021 |
| [jb11_0_11-b1504.5](https://confluence.jetbrains.com/pages/viewpage.action?pageId=221478946) | 29-Jun-2021 |
| [jb11_0_11-b1504.3](https://confluence.jetbrains.com/pages/viewpage.action?pageId=218857540) | 15-Jun-2021 |
### For 2020.3 IDEs
| Release/tag | Date |
| --- | --- |
| [jb11_0_11-b1145.115](https://confluence.jetbrains.com/pages/viewpage.action?pageId=219349001) | 21-Jun-2021 |
| [jb11_0_11-b1145.96](https://confluence.jetbrains.com/pages/viewpage.action?pageId=207519955) | 18-Feb-2021 |
| [jb11_0_11-b1145.77](https://confluence.jetbrains.com/pages/viewpage.action?pageId=205389940) | 19-Jan-2021 |
| IDE Version | Latest JBR | Date Released |
| --- | --- | --- |
| 2021.3 | [11_0_13-b1751.16](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_13b1751.16) | 2-Nov-2021 |
| 2021.2 | [11_0_12-b1504.40](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_12-b1504.40) | 28-Sep-2021 |
| 2021.1 | [11.0.11+9-b1341.60](https://confluence.jetbrains.com/pages/viewpage.action?pageId=218857477) | 15-Jun-2021 |
| 2020.3 | [11_0_11-b1145.115](https://confluence.jetbrains.com/pages/viewpage.action?pageId=219349001) | 21-Jun-2021 |
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
@@ -37,6 +27,7 @@ can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntim
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)
@@ -120,8 +111,8 @@ Install the following:
From the command line:
```
"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
"c:\Program Files (x86)\Microsoft Visual Studio 15.0\VC\vcvarsall.bat" amd64
c:\cygwin64\bin\mintty.exe /usr/bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
@@ -145,6 +136,30 @@ $ sh ./configure --prefix=$(pwd)/build --disable-warnings-as-errors
$ make images
```
## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.
### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). Then open the git root directory
as a project in IDEA.
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).

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

@@ -0,0 +1,16 @@
#!/bin/sh
# $1 - Boot JDK
# $2 - JBR part of API version
cd "`dirname "$0"`/../../../../.."
PWD="`pwd`"
CONF="$PWD/build/jbr-api.conf"
./configure --with-debug-level=release --with-boot-jdk=$1 || exit $?
make jbr-api CONF=release MAKEOVERRIDES= "JBR_API_CONF_FILE=$CONF" JBR_API_JBR_VERSION=$2 || exit $?
. $CONF || exit $?
echo "##teamcity[buildNumber '$VERSION']"
cp "$JAR" ./jbr-api-${VERSION}.jar || exit $?
cp "$SOURCES_JAR" ./jbr-api-${VERSION}-sources.jar || exit $?
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}.jar']"
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}-sources.jar']"

View File

@@ -16,6 +16,16 @@
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
@@ -24,21 +34,27 @@ JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function do_configure {
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--enable-cds=yes || exit $?
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-normal-server-release || exit $?
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
make clean CONF=linux-aarch64-normal-server-release || exit $?
fi
make images CONF=linux-aarch64-normal-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}

View File

@@ -24,6 +24,16 @@
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
@@ -34,6 +44,20 @@ JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
source jb/project/tools/common.sh
function do_configure {
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--enable-cds=yes || do_exit $?
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
@@ -101,19 +125,11 @@ case "$bundle_type" in
;;
esac
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--enable-cds=yes || do_exit $?
make clean images CONF=$RELEASE_NAME || do_exit $?
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
JSDK=build/${RELEASE_NAME}/images/jdk

View File

@@ -10,7 +10,19 @@
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.personal-information.addressbook</key>
<true/>
<key>com.apple.security.personal-information.calendars</key>
<true/>
<key>com.apple.security.personal-information.photos-library</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
</dict>
</plist>

View File

@@ -24,6 +24,16 @@
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
@@ -42,6 +52,51 @@ function copyJNF {
mkdir -p ${__contents_dir}/Frameworks
cp -Rp Frameworks/JavaNativeFoundation.framework ${__contents_dir}/Frameworks
}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
# NOTE: aot, cds aren't supported yet
WITH_JVM_FEATURES="--with-jvm-features=-aot"
if [[ "${enable_aot}" == *enable_aot* ]]; then
echo "Enable unstable jvm feature: AOT"
WITH_JVM_FEATURES=""
fi
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
$WITH_JVM_FEATURES \
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" || do_exit $?
else
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || do_exit $?
fi
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
@@ -73,6 +128,7 @@ function create_jbr {
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-${architecture}-b${build_number}
PKG_NAME=${JBR_BASE_NAME}-b${build_number}
echo Running jlink....
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
@@ -93,10 +149,10 @@ function create_jbr {
fi
echo Creating ${JBR}.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
rm -rf ${BASE_DIR}/${PKG_NAME}
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/${PKG_NAME}
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || do_exit $?
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} ${PKG_NAME} || do_exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
@@ -136,51 +192,16 @@ case "$bundle_type" in
;;
esac
if [[ "${architecture}" == *aarch64* ]]; then
# NOTE: aot, cds aren't supported yet
WITH_JVM_FEATURES="--with-jvm-features=-aot"
if [[ "${enable_aot}" == *enable_aot* ]]; then
echo "Enable unstable jvm feature: AOT"
WITH_JVM_FEATURES=""
fi
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
$WITH_JVM_FEATURES \
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" || do_exit $?
else
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || do_exit $?
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
make clean CONF=$CONF_NAME || do_exit $?
fi
make clean CONF=$CONF_NAME || do_exit $?
make images CONF=$CONF_NAME || do_exit $?
JSDK=build/${CONF_NAME}/images/jdk-bundle
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
JBRSDK_BUNDLE=${JBRSDK_BASE_NAME}-b${build_number}
rm -rf $BASE_DIR
mkdir $BASE_DIR || do_exit $?
@@ -196,10 +217,13 @@ if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
[ -f "${JBSDK}.tar.gz" ] && rm "${JBSDK}.tar.gz"
PKG_NAME=${JBRSDK_BUNDLE}
COPYFILE_DISABLE=1 tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='.DS_Store' --exclude='*~' \
--exclude='.DS_Store' --exclude='*~' --exclude='*.dSYM' --exclude='man' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || do_exit $?
${PKG_NAME} || do_exit $?
fi
create_jbr || do_exit $?

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -x
APP_DIRECTORY=$1
APPL_USER=$2
@@ -7,6 +7,8 @@ APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
exit 1
@@ -54,17 +56,18 @@ function altool-upload() {
#immediately exit script with an error if a command fails
set -euo pipefail
file="$APP_NAME.zip"
#file="$APP_NAME.pkg"
#log "Zipping $file..."
#rm -rf "$file"
#pkgbuild --identifier com.jetbrains.jbr --root $APP_DIRECTORY \
# --install-location /Library/Java/JavaVirtualMachines/${APP_NAME} ${APP_NAME}.pkg
#ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
log "Notarizing $file..."
log "Notarizing $APP_NAME..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$file"
altool-upload "$APP_NAME"
rm -rf "$file"
#rm -rf "$file"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"

View File

@@ -1,7 +1,11 @@
#!/bin/bash
#!/bin/bash -x
# Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
APP_DIRECTORY=$1
JB_CERT=$2
APP_NAME=$2
BUNDLE_ID=$3
JB_CERT=$4
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$JB_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
@@ -25,38 +29,25 @@ find "$APP_DIRECTORY" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib"; do
"Contents/Home/lib" "Contents/MacOS" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime --force \
--entitlements entitlements.xml {} \;
fi
done
if [ -d "$APP_DIRECTORY/Contents/Frameworks" ]; then
log "Signing frameworks..."
for f in $APP_DIRECTORY/Contents/Frameworks/*; do
find "$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" \
--entitlements entitlements.xml {} \;
codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml "$f"
done
fi
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APP_DIRECTORY" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
@@ -67,12 +58,13 @@ find "$APP_DIRECTORY" -name '*.jar' \
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp --force \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec codesign --timestamp \
--force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
(cd jarfolder; zip -q -r -o ../jar.jar .)
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
done
@@ -80,12 +72,12 @@ rm -rf jarfolder jar.jar
log "Signing other files..."
for f in \
"Contents/MacOS"; do
"Contents/Home/bin"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime --force \
--entitlements entitlements.xml {} \;
fi
done
@@ -102,6 +94,19 @@ codesign --timestamp \
--force \
--entitlements entitlements.xml "$APP_DIRECTORY"
BUILD_NAME=$(echo $APP_DIRECTORY | awk -F"/" '{ print $2 }')
log "Creating $BUILD_NAME.pkg..."
rm -rf "$BUILD_NAME.pkg"
pkgbuild --identifier $BUNDLE_ID --sign "Developer ID Installer: JetBrains s.r.o. (2ZEFAR8TH3)" --root $APP_DIRECTORY \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} ${APP_NAME}.pkg
#log "Signing whole app..."
#codesign --timestamp \
# -v -s "$JB_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml $APP_NAME.pkg
log "Verifying java is not broken"
find "$APP_DIRECTORY" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -13,6 +13,7 @@ USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
NOTARIZE=$6
#BUNDLE_ID=$(echo $7".jdk" | sed 's/_/\./g')
BUNDLE_ID=$7
cd "$(dirname "$0")"
@@ -33,7 +34,7 @@ mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
BUILD_NAME="$(ls "$EXPLODED")"
sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
@@ -43,6 +44,7 @@ fi
log "$INPUT_FILE extracted and removed"
APPLICATION_PATH="$EXPLODED/$BUILD_NAME"
APP_NAME=$(echo ${INPUT_FILE} | awk -F".tar" '{ print $1 }')
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
@@ -79,7 +81,7 @@ limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$CODESIGN_STRING"
./sign.sh "$APPLICATION_PATH" "$APP_NAME" "$BUNDLE_ID" "$CODESIGN_STRING"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
@@ -92,6 +94,7 @@ while [[ $attempt -le $limit ]]; do
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
spctl -a -v $APPLICATION_PATH
((attempt += limit))
fi
done
@@ -102,13 +105,12 @@ if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
APP_NAME=$(echo ${INPUT_FILE} | awk -F"." '{ print $1 }')
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME" "$BUNDLE_ID" "$FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME.pkg" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
@@ -127,7 +129,7 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
fi
tar -pczvf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"

View File

@@ -0,0 +1,27 @@
diff --git modules.list modules.list
index 33375b527c4..76539cbc0e0 100644
--- modules.list
+++ modules.list
@@ -55,4 +55,5 @@ jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index b663b382f52..3e9acdc0c27 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -109,7 +109,10 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -1,7 +1,7 @@
From 07373a8bd65d7c2663024709f0d5b7e0e41aba40 Mon Sep 17 00:00:00 2001
From 7fd4796b1786511d28785bde7fe438ed27ee7d0d 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/28] Apply basic dcevm11 patch
Subject: [PATCH 01/33] Apply basic dcevm11 patch
---
src/hotspot/share/ci/ciObjectFactory.cpp | 25 +
@@ -72,7 +72,7 @@ Subject: [PATCH 01/28] Apply basic dcevm11 patch
create mode 100644 src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
diff --git a/src/hotspot/share/ci/ciObjectFactory.cpp b/src/hotspot/share/ci/ciObjectFactory.cpp
index a5dd94f4bb8..66bbe835e7b 100644
index e6391b5f2ba..c8a03aa9ee9 100644
--- a/src/hotspot/share/ci/ciObjectFactory.cpp
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp
@@ -708,3 +708,28 @@ void ciObjectFactory::print() {
@@ -126,7 +126,7 @@ index 1063c9853e1..3e9d48c4cdc 100644
#endif // SHARE_VM_CI_CIOBJECTFACTORY_HPP
diff --git a/src/hotspot/share/classfile/classFileParser.cpp b/src/hotspot/share/classfile/classFileParser.cpp
index 6d65cca2101..e2b8c5793d0 100644
index 2ea6b7e2331..5eaa97698d2 100644
--- a/src/hotspot/share/classfile/classFileParser.cpp
+++ b/src/hotspot/share/classfile/classFileParser.cpp
@@ -954,6 +954,8 @@ void ClassFileParser::parse_interfaces(const ClassFileStream* const stream,
@@ -138,7 +138,7 @@ index 6d65cca2101..e2b8c5793d0 100644
if (!interf->is_interface()) {
THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(),
err_msg("class %s can not implement %s, because it is not an interface (%s)",
@@ -3826,7 +3828,7 @@ const InstanceKlass* ClassFileParser::parse_super_class(ConstantPool* const cp,
@@ -3833,7 +3835,7 @@ const InstanceKlass* ClassFileParser::parse_super_class(ConstantPool* const cp,
// However, make sure it is not an array type.
bool is_array = false;
if (cp->tag_at(super_class_index).is_klass()) {
@@ -147,7 +147,7 @@ index 6d65cca2101..e2b8c5793d0 100644
if (need_verify)
is_array = super_klass->is_array_klass();
} else if (need_verify) {
@@ -4494,7 +4496,10 @@ void ClassFileParser::set_precomputed_flags(InstanceKlass* ik) {
@@ -4501,7 +4503,10 @@ void ClassFileParser::set_precomputed_flags(InstanceKlass* ik) {
if (!_has_empty_finalizer) {
if (_has_finalizer ||
(super != NULL && super->has_finalizer())) {
@@ -159,7 +159,7 @@ index 6d65cca2101..e2b8c5793d0 100644
}
}
@@ -5872,6 +5877,7 @@ ClassFileParser::ClassFileParser(ClassFileStream* stream,
@@ -5879,6 +5884,7 @@ ClassFileParser::ClassFileParser(ClassFileStream* stream,
const InstanceKlass* host_klass,
GrowableArray<Handle>* cp_patches,
Publicity pub_level,
@@ -167,7 +167,7 @@ index 6d65cca2101..e2b8c5793d0 100644
TRAPS) :
_stream(stream),
_requested_name(name),
@@ -5930,7 +5936,8 @@ ClassFileParser::ClassFileParser(ClassFileStream* stream,
@@ -5937,7 +5943,8 @@ ClassFileParser::ClassFileParser(ClassFileStream* stream,
_has_finalizer(false),
_has_empty_finalizer(false),
_has_vanilla_constructor(false),
@@ -177,7 +177,7 @@ index 6d65cca2101..e2b8c5793d0 100644
_class_name = name != NULL ? name : vmSymbols::unknown_class_name();
@@ -6331,14 +6338,15 @@ void ClassFileParser::post_process_parsed_stream(const ClassFileStream* const st
@@ -6338,14 +6345,15 @@ void ClassFileParser::post_process_parsed_stream(const ClassFileStream* const st
CHECK);
}
Handle loader(THREAD, _loader_data->class_loader());
@@ -236,10 +236,10 @@ index 3bdfd34e39f..d792ab4bb3f 100644
ReferenceType reference_type() const { return _rt; }
AccessFlags access_flags() const { return _access_flags; }
diff --git a/src/hotspot/share/classfile/classLoader.cpp b/src/hotspot/share/classfile/classLoader.cpp
index 78eb096458a..368c59e2cbf 100644
index e10d32ea7b7..079558bb244 100644
--- a/src/hotspot/share/classfile/classLoader.cpp
+++ b/src/hotspot/share/classfile/classLoader.cpp
@@ -1505,6 +1505,7 @@ InstanceKlass* ClassLoader::load_class(Symbol* name, bool search_append_only, TR
@@ -1502,6 +1502,7 @@ InstanceKlass* ClassLoader::load_class(Symbol* name, bool search_append_only, TR
protection_domain,
NULL, // host_klass
NULL, // cp_patches
@@ -248,10 +248,10 @@ index 78eb096458a..368c59e2cbf 100644
if (HAS_PENDING_EXCEPTION) {
if (DumpSharedSpaces) {
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index c58026ae192..25103fff2c0 100644
index 37bd9d8eed5..bcbd2548ffc 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1242,6 +1242,12 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*)) {
@@ -1245,6 +1245,12 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*)) {
}
}
@@ -264,7 +264,7 @@ index c58026ae192..25103fff2c0 100644
// Only walks the classes defined in this class loader.
void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS), TRAPS) {
Thread* thread = Thread::current();
@@ -1251,6 +1257,12 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS),
@@ -1254,6 +1260,12 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS),
}
}
@@ -277,7 +277,7 @@ index c58026ae192..25103fff2c0 100644
// 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();
@@ -1372,11 +1384,15 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
@@ -1375,11 +1387,15 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
// Mark metadata seen on the stack only so we can delete unneeded entries.
// Only walk all metadata, including the expensive code cache walk, for Full GC
// and only if class redefinition and if there's previous versions of
@@ -294,7 +294,7 @@ index c58026ae192..25103fff2c0 100644
// 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.
@@ -1386,10 +1402,12 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
@@ -1389,10 +1405,12 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
while (data != NULL) {
if (data->is_alive()) {
// clean metaspace
@@ -308,7 +308,7 @@ index c58026ae192..25103fff2c0 100644
data = data->next();
loaders_processed++;
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 152cc26efdb..7e357929971 100644
index aa6b25c0bd1..b5a7cf21c85 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -125,6 +125,11 @@ class ClassLoaderDataGraph : public AllStatic {
@@ -336,7 +336,7 @@ index f5157e07c76..e9e52f00e8a 100644
if (HAS_PENDING_EXCEPTION) {
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 3ac1ca69ae5..118730f1b83 100644
index 1ed49636e5b..4b27e572593 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -245,6 +245,19 @@ void Dictionary::classes_do(void f(InstanceKlass*)) {
@@ -449,7 +449,7 @@ 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 e4f1b934afc..ef4011c1292 100644
index 17ae8be1d02..a659cd23fc8 100644
--- a/src/hotspot/share/classfile/javaClasses.cpp
+++ b/src/hotspot/share/classfile/javaClasses.cpp
@@ -2428,6 +2428,8 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, const methodHand
@@ -537,7 +537,7 @@ index e4f1b934afc..ef4011c1292 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 910bb084b63..89a46264553 100644
index 97df4a0bdea..2e121e19f19 100644
--- a/src/hotspot/share/classfile/javaClasses.hpp
+++ b/src/hotspot/share/classfile/javaClasses.hpp
@@ -67,6 +67,8 @@
@@ -732,7 +732,7 @@ index 8a7a1248e62..611e18aaf85 100644
bool add_entry(Symbol* name, InstanceKlass* klass1, Handle loader1,
InstanceKlass* klass2, Handle loader2);
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index bfd67334f82..5a745b6fca6 100644
index f21fbaf2b3b..dc871ec569f 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -201,6 +201,7 @@ Klass* SystemDictionary::resolve_or_fail(Symbol* class_name, Handle class_loader
@@ -824,7 +824,7 @@ index bfd67334f82..5a745b6fca6 100644
} );
return k;
@@ -1553,11 +1566,12 @@ static void post_class_define_event(InstanceKlass* k, const ClassLoaderData* def
@@ -1555,11 +1568,12 @@ static void post_class_define_event(InstanceKlass* k, const ClassLoaderData* def
}
}
@@ -838,7 +838,7 @@ index bfd67334f82..5a745b6fca6 100644
// for bootstrap and other parallel classloaders don't acquire lock,
// use placeholder token
@@ -1582,7 +1596,11 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, TRAPS) {
@@ -1584,7 +1598,11 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, TRAPS) {
Symbol* name_h = k->name();
Dictionary* dictionary = loader_data->dictionary();
unsigned int d_hash = dictionary->compute_hash(name_h);
@@ -851,7 +851,7 @@ index bfd67334f82..5a745b6fca6 100644
// Register class just loaded with class loader (placed in Vector)
// Note we do this before updating the dictionary, as this can
@@ -1616,7 +1634,7 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, TRAPS) {
@@ -1618,7 +1636,7 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, TRAPS) {
k->eager_initialize(THREAD);
// notify jvmti
@@ -860,7 +860,7 @@ index bfd67334f82..5a745b6fca6 100644
assert(THREAD->is_Java_thread(), "thread->is_Java_thread()");
JvmtiExport::post_class_load((JavaThread *) THREAD, k);
@@ -1694,7 +1712,7 @@ InstanceKlass* SystemDictionary::find_or_define_instance_class(Symbol* class_nam
@@ -1696,7 +1714,7 @@ InstanceKlass* SystemDictionary::find_or_define_instance_class(Symbol* class_nam
}
}
@@ -869,7 +869,7 @@ index bfd67334f82..5a745b6fca6 100644
Handle linkage_exception = Handle(); // null handle
@@ -1817,6 +1835,18 @@ void SystemDictionary::add_to_hierarchy(InstanceKlass* k, TRAPS) {
@@ -1819,6 +1837,18 @@ void SystemDictionary::add_to_hierarchy(InstanceKlass* k, TRAPS) {
CodeCache::flush_dependents_on(k);
}
@@ -888,7 +888,7 @@ index bfd67334f82..5a745b6fca6 100644
// ----------------------------------------------------------------------------
// GC support
@@ -2113,7 +2143,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
@@ -2115,7 +2145,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
// also hold array classes.
assert(check->is_instance_klass(), "noninstance in systemdictionary");
@@ -898,7 +898,7 @@ index bfd67334f82..5a745b6fca6 100644
ss.print("loader %s", loader_data->loader_name_and_id());
ss.print(" attempted duplicate %s definition for %s. (%s)",
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 649b321a6a4..06f6c869d63 100644
index a14728df757..b956c6a7519 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -161,6 +161,8 @@ class OopStorage;
@@ -910,7 +910,7 @@ index 649b321a6a4..06f6c869d63 100644
do_klass(MethodHandle_klass, java_lang_invoke_MethodHandle, Pre ) \
do_klass(VarHandle_klass, java_lang_invoke_VarHandle, Pre ) \
do_klass(MemberName_klass, java_lang_invoke_MemberName, Pre ) \
@@ -318,6 +320,7 @@ public:
@@ -321,6 +323,7 @@ public:
Handle class_loader,
Handle protection_domain,
ClassFileStream* st,
@@ -918,7 +918,7 @@ index 649b321a6a4..06f6c869d63 100644
TRAPS);
// Lookup an already loaded class. If not found NULL is returned.
@@ -462,6 +465,10 @@ public:
@@ -465,6 +468,10 @@ public:
static bool is_well_known_klass(Symbol* class_name);
#endif
@@ -929,7 +929,7 @@ index 649b321a6a4..06f6c869d63 100644
protected:
// Returns the class loader data to be used when looking up/updating the
// system dictionary.
@@ -655,7 +662,7 @@ protected:
@@ -658,7 +665,7 @@ protected:
// after waiting, but before reentering SystemDictionary_lock
// to preserve lock order semantics.
static void double_lock_wait(Handle lockObject, TRAPS);
@@ -952,7 +952,7 @@ index ad638e26579..32de261588a 100644
}
}
diff --git a/src/hotspot/share/classfile/verifier.cpp b/src/hotspot/share/classfile/verifier.cpp
index 9402f628b03..f55ececb086 100644
index 89f3b236ccb..c52e2531486 100644
--- a/src/hotspot/share/classfile/verifier.cpp
+++ b/src/hotspot/share/classfile/verifier.cpp
@@ -244,7 +244,7 @@ bool Verifier::is_eligible_for_verification(InstanceKlass* klass, bool should_ve
@@ -977,10 +977,10 @@ 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 8955dd0b366..26ff6ee9853 100644
index cef3f530cbc..17f7e720c95 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -286,6 +286,8 @@
@@ -287,6 +287,8 @@
template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \
template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \
template(java_lang_invoke_DirectMethodHandle, "java/lang/invoke/DirectMethodHandle") \
@@ -989,7 +989,7 @@ index 8955dd0b366..26ff6ee9853 100644
template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \
template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \
template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \
@@ -446,6 +448,12 @@
@@ -447,6 +449,12 @@
template(module_entry_name, "module_entry") \
template(resolved_references_name, "<resolved_references>") \
template(init_lock_name, "<init_lock>") \
@@ -1696,7 +1696,7 @@ index 6cf7aec68f8..61a406377ee 100644
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 4a1bd297b72..7ecb950b231 100644
index eab9576bcc6..c3b1d766db8 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -153,6 +153,7 @@ int Universe::_base_vtable_size = 0;
@@ -1919,7 +1919,7 @@ index 2a93500b794..2a9eb978b43 100644
// RedefineClasses support
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 645a63e71be..f059a05ebe7 100644
index 34aed3fbb3a..30b02a2ba0a 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -832,7 +832,8 @@ bool InstanceKlass::link_class_impl(bool throw_verifyerror, TRAPS) {
@@ -2013,7 +2013,7 @@ index 645a63e71be..f059a05ebe7 100644
}
#ifndef PRODUCT
@@ -3552,7 +3602,7 @@ void InstanceKlass::verify_on(outputStream* st) {
@@ -3564,7 +3614,7 @@ void InstanceKlass::verify_on(outputStream* st) {
}
guarantee(sib->is_klass(), "should be klass");
@@ -2186,10 +2186,10 @@ index b77a19deb38..5573b10f021 100644
// Compiler support
static ByteSize super_offset() { return in_ByteSize(offset_of(Klass, _super)); }
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 916772c0b10..ed6f769bf1b 100644
index 576da96ed32..e47dd223f92 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1402,6 +1402,8 @@ methodHandle Method::clone_with_new_data(const methodHandle& m, u_char* new_code
@@ -1447,6 +1447,8 @@ methodHandle Method::clone_with_new_data(const methodHandle& m, u_char* new_code
// Reset correct method/const method, method size, and parameter info
newm->set_constMethod(newcm);
@@ -2198,7 +2198,7 @@ index 916772c0b10..ed6f769bf1b 100644
newm->constMethod()->set_code_size(new_code_length);
newm->constMethod()->set_constMethod_size(new_const_method_size);
assert(newm->code_size() == new_code_length, "check");
@@ -2096,6 +2098,10 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
@@ -2141,6 +2143,10 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
// Add a method id to the jmethod_ids
jmethodID Method::make_jmethod_id(ClassLoaderData* loader_data, Method* m) {
@@ -2210,7 +2210,7 @@ index 916772c0b10..ed6f769bf1b 100644
if (!SafepointSynchronize::is_at_safepoint()) {
diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp
index 18c706187df..4533476ff8f 100644
index da8468dead4..4ac3e6e80de 100644
--- a/src/hotspot/share/oops/method.hpp
+++ b/src/hotspot/share/oops/method.hpp
@@ -78,6 +78,9 @@ class Method : public Metadata {
@@ -2248,10 +2248,10 @@ index 18c706187df..4533476ff8f 100644
Symbol* signature() const { return constants()->symbol_at(signature_index()); }
int signature_index() const { return constMethod()->signature_index(); }
diff --git a/src/hotspot/share/prims/jni.cpp b/src/hotspot/share/prims/jni.cpp
index 21e7f652652..e9cc3de9652 100644
index 9410a085ec4..a8a0492e4d1 100644
--- a/src/hotspot/share/prims/jni.cpp
+++ b/src/hotspot/share/prims/jni.cpp
@@ -353,6 +353,7 @@ JNI_ENTRY(jclass, jni_DefineClass(JNIEnv *env, const char *name, jobject loaderR
@@ -354,6 +354,7 @@ JNI_ENTRY(jclass, jni_DefineClass(JNIEnv *env, const char *name, jobject loaderR
class_loader,
Handle(),
&st,
@@ -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 0d686d85fc7..70b525533cd 100644
index e88c621912d..49b6776f60b 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 0d686d85fc7..70b525533cd 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..83c0952de37
index 00000000000..80c31135487
--- /dev/null
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -0,0 +1,2255 @@
@@ -4534,7 +4534,7 @@ index 00000000000..83c0952de37
+}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
new file mode 100644
index 00000000000..b712d69a193
index 00000000000..3f95cf42645
--- /dev/null
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -0,0 +1,202 @@
@@ -4806,10 +4806,10 @@ index f54c9b713be..54617f05b5a 100644
VMThread::execute(&op);
return (op.check_error());
diff --git a/src/hotspot/share/prims/jvmtiExport.cpp b/src/hotspot/share/prims/jvmtiExport.cpp
index 6600848e2d3..9337b6ab585 100644
index 555e0140e4f..1ffc2f9ea20 100644
--- a/src/hotspot/share/prims/jvmtiExport.cpp
+++ b/src/hotspot/share/prims/jvmtiExport.cpp
@@ -2780,7 +2780,7 @@ JvmtiDynamicCodeEventCollector::JvmtiDynamicCodeEventCollector() : _code_blobs(N
@@ -2803,7 +2803,7 @@ JvmtiDynamicCodeEventCollector::JvmtiDynamicCodeEventCollector() : _code_blobs(N
// iterate over any code blob descriptors collected and post a
// DYNAMIC_CODE_GENERATED event to the profiler.
JvmtiDynamicCodeEventCollector::~JvmtiDynamicCodeEventCollector() {
@@ -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 b8246554f74..be2c373aba7 100644
index d0433dfc145..da6131eb2e6 100644
--- a/src/hotspot/share/prims/jvmtiExport.hpp
+++ b/src/hotspot/share/prims/jvmtiExport.hpp
@@ -176,6 +176,7 @@ class JvmtiExport : public AllStatic {
@@ -4866,10 +4866,10 @@ index a0a6a6cbd18..39953a71244 100644
for (InstanceKlass* pv_node = ik->previous_versions();
pv_node != NULL;
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index c071e0641d4..a9057893368 100644
index f68990f3af9..87be28e9eee 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -201,6 +201,8 @@ void ResolvedMethodTable::print() {
@@ -204,6 +204,8 @@ void ResolvedMethodTable::print() {
void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint");
// For each entry in RMT, change to new method
@@ -4878,7 +4878,7 @@ index c071e0641d4..a9057893368 100644
for (int i = 0; i < _the_table->table_size(); ++i) {
for (ResolvedMethodEntry* entry = _the_table->bucket(i);
entry != NULL;
@@ -215,18 +217,30 @@ void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
@@ -218,18 +220,30 @@ void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
if (old_method->is_old()) {
@@ -4918,7 +4918,7 @@ index c071e0641d4..a9057893368 100644
ResourceMark rm;
if (!(*trace_name_printed)) {
@@ -235,9 +249,14 @@ void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
@@ -238,9 +252,14 @@ void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
}
log_debug(redefine, class, update, constantpool)
("ResolvedMethod method update: %s(%s)",
@@ -4935,7 +4935,7 @@ index c071e0641d4..a9057893368 100644
}
#endif // INCLUDE_JVMTI
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 3e7d48ad5a3..a11dfe48dd6 100644
index cc9366dcc53..4e2a3ff1083 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -2033,6 +2033,36 @@ unsigned int addopens_count = 0;
@@ -4997,10 +4997,10 @@ index bd439aab073..cc7f71a4404 100644
static size_t max_heap_for_compressed_oops();
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 4a53ecb37a8..a6c33744760 100644
index 5c389505417..194242e4c4b 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2674,7 +2674,11 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
@@ -2680,7 +2680,11 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
"Start flight recording with options")) \
\
experimental(bool, UseFastUnorderedTimeStamps, false, \
@@ -5029,7 +5029,7 @@ index f39687a25bc..7b1aa3cc58e 100644
trans_and_fence(_thread_in_vm, _thread_in_native);
// Check for pending. async. exceptions or suspends.
diff --git a/src/hotspot/share/runtime/javaCalls.cpp b/src/hotspot/share/runtime/javaCalls.cpp
index 563ffdbd446..55f06eadcc2 100644
index dd55cff0ea3..36e8b2b9c05 100644
--- a/src/hotspot/share/runtime/javaCalls.cpp
+++ b/src/hotspot/share/runtime/javaCalls.cpp
@@ -57,7 +57,8 @@ JavaCallWrapper::JavaCallWrapper(const methodHandle& callee_method, Handle recei
@@ -5043,7 +5043,7 @@ index 563ffdbd446..55f06eadcc2 100644
_result = result;
diff --git a/src/hotspot/share/runtime/mutexLocker.cpp b/src/hotspot/share/runtime/mutexLocker.cpp
index d504ef00f90..982ba1b69d5 100644
index 42f1fa9626f..16e91c85fd1 100644
--- a/src/hotspot/share/runtime/mutexLocker.cpp
+++ b/src/hotspot/share/runtime/mutexLocker.cpp
@@ -5,7 +5,7 @@
@@ -5064,7 +5064,7 @@ index d504ef00f90..982ba1b69d5 100644
Monitor* GCTaskManager_lock = NULL;
Mutex* Management_lock = NULL;
@@ -285,6 +287,7 @@ void mutex_init() {
@@ -291,6 +293,7 @@ void mutex_init() {
def(JNIGlobalActive_lock , PaddedMutex , nonleaf-1, true, Monitor::_safepoint_check_never);
def(JNIWeakAlloc_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_never);
def(JNIWeakActive_lock , PaddedMutex , nonleaf-1, true, Monitor::_safepoint_check_never);
@@ -5073,10 +5073,10 @@ index d504ef00f90..982ba1b69d5 100644
def(AdapterHandlerLibrary_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_always);
diff --git a/src/hotspot/share/runtime/mutexLocker.hpp b/src/hotspot/share/runtime/mutexLocker.hpp
index 12366c7ead1..70aeb1bd0c1 100644
index 0d263ca55ba..b41abcb82ae 100644
--- a/src/hotspot/share/runtime/mutexLocker.hpp
+++ b/src/hotspot/share/runtime/mutexLocker.hpp
@@ -123,6 +123,8 @@ extern Mutex* PerfDataManager_lock; // a long on access to PerfData
@@ -124,6 +124,8 @@ extern Mutex* PerfDataManager_lock; // a long on access to PerfData
extern Mutex* ParkerFreeList_lock;
extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches
@@ -5086,7 +5086,7 @@ index 12366c7ead1..70aeb1bd0c1 100644
extern Mutex* OldSets_lock; // protects the old region sets
extern Monitor* RootRegionScan_lock; // used to notify that the CM threads have finished scanning the IM snapshot regions
diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp
index a49b5108821..ed789b0bc2b 100644
index b8f736a7dbc..ac233f3b373 100644
--- a/src/hotspot/share/runtime/reflection.cpp
+++ b/src/hotspot/share/runtime/reflection.cpp
@@ -658,6 +658,12 @@ bool Reflection::verify_member_access(const Klass* current_class,

View File

@@ -1,7 +1,7 @@
From 41093b9513718c3122f3ff36da7fc2eeca224a10 Mon Sep 17 00:00:00 2001
From c9a1d6faa3c4e7a623be010a3cc443d40465c23c 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/28] dcevm11 fixes
Subject: [PATCH 02/33] dcevm11 fixes
1. We need to set classRedefinitionCount on new class, not old class.
@@ -82,7 +82,7 @@ dmh
19 files changed, 324 insertions(+), 415 deletions(-)
diff --git a/src/hotspot/share/classfile/classFileParser.cpp b/src/hotspot/share/classfile/classFileParser.cpp
index e2b8c5793d0..5e1c740a3d2 100644
index 5eaa97698d2..34185d7ba32 100644
--- a/src/hotspot/share/classfile/classFileParser.cpp
+++ b/src/hotspot/share/classfile/classFileParser.cpp
@@ -954,6 +954,7 @@ void ClassFileParser::parse_interfaces(const ClassFileStream* const stream,
@@ -93,7 +93,7 @@ index e2b8c5793d0..5e1c740a3d2 100644
interf = (Klass *) maybe_newest(interf);
if (!interf->is_interface()) {
@@ -3828,6 +3829,7 @@ const InstanceKlass* ClassFileParser::parse_super_class(ConstantPool* const cp,
@@ -3835,6 +3836,7 @@ const InstanceKlass* ClassFileParser::parse_super_class(ConstantPool* const cp,
// However, make sure it is not an array type.
bool is_array = false;
if (cp->tag_at(super_class_index).is_klass()) {
@@ -101,7 +101,7 @@ index e2b8c5793d0..5e1c740a3d2 100644
super_klass = InstanceKlass::cast(maybe_newest(cp->resolved_klass_at(super_class_index)));
if (need_verify)
is_array = super_klass->is_array_klass();
@@ -4496,7 +4498,7 @@ void ClassFileParser::set_precomputed_flags(InstanceKlass* ik) {
@@ -4503,7 +4505,7 @@ void ClassFileParser::set_precomputed_flags(InstanceKlass* ik) {
if (!_has_empty_finalizer) {
if (_has_finalizer ||
(super != NULL && super->has_finalizer())) {
@@ -124,10 +124,10 @@ index d792ab4bb3f..de48092bde8 100644
public:
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 25103fff2c0..ab2615da0ed 100644
index bcbd2548ffc..3f75bffce8a 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1242,6 +1242,7 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*)) {
@@ -1245,6 +1245,7 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*)) {
}
}
@@ -135,7 +135,7 @@ index 25103fff2c0..ab2615da0ed 100644
void ClassLoaderDataGraph::dictionary_classes_do(KlassClosure* klass_closure) {
FOR_ALL_DICTIONARY(cld) {
cld->dictionary()->classes_do(klass_closure);
@@ -1257,6 +1258,7 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS),
@@ -1260,6 +1261,7 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS),
}
}
@@ -143,7 +143,7 @@ index 25103fff2c0..ab2615da0ed 100644
void ClassLoaderDataGraph::rollback_redefinition() {
FOR_ALL_DICTIONARY(cld) {
cld->dictionary()->rollback_redefinition();
@@ -1387,12 +1389,13 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
@@ -1390,12 +1392,13 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
// Klassesoto delete.
// FIXME: dcevm - block asserts in MetadataOnStackMark
@@ -163,7 +163,7 @@ index 25103fff2c0..ab2615da0ed 100644
// 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.
@@ -1402,12 +1405,12 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
@@ -1405,12 +1408,12 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
while (data != NULL) {
if (data->is_alive()) {
// clean metaspace
@@ -182,7 +182,7 @@ index 25103fff2c0..ab2615da0ed 100644
data = data->next();
loaders_processed++;
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 118730f1b83..dda5188c370 100644
index 4b27e572593..86dc1f26933 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -245,6 +245,8 @@ void Dictionary::classes_do(void f(InstanceKlass*)) {
@@ -244,7 +244,7 @@ index a26b9d1cb55..3d5a59a04ff 100644
for (int index = 0; index < table_size(); index++) {
LoaderConstraintEntry** p = bucket_addr(index);
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 5a745b6fca6..19bc8d9899a 100644
index dc871ec569f..f69167ae53c 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -876,7 +876,8 @@ Klass* SystemDictionary::resolve_instance_class_or_null(Symbol* name,
@@ -266,7 +266,7 @@ index 5a745b6fca6..19bc8d9899a 100644
if (!DumpSharedSpaces) {
k = SystemDictionaryShared::lookup_from_stream(class_name,
class_loader,
@@ -1835,7 +1836,7 @@ void SystemDictionary::add_to_hierarchy(InstanceKlass* k, TRAPS) {
@@ -1837,7 +1838,7 @@ void SystemDictionary::add_to_hierarchy(InstanceKlass* k, TRAPS) {
CodeCache::flush_dependents_on(k);
}
@@ -275,7 +275,7 @@ index 5a745b6fca6..19bc8d9899a 100644
void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
assert(k != NULL, "just checking");
@@ -1843,6 +1844,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
@@ -1845,6 +1846,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
@@ -330,7 +330,7 @@ index b9ccdee8cca..0c24146ff00 100644
selected_method = methodHandle(THREAD, recv_klass->method_at_vtable(vtable_index));
}
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 7ecb950b231..d0a6d665aa0 100644
index c3b1d766db8..9a633280118 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -176,7 +176,7 @@ void Universe::basic_type_classes_do(void f(Klass*)) {
@@ -376,7 +376,7 @@ index 47040d51f0c..4318df227d1 100644
}
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index f059a05ebe7..c28ed956ccf 100644
index 30b02a2ba0a..77708e25aae 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -178,6 +178,7 @@ bool InstanceKlass::has_nest_member(InstanceKlass* k, TRAPS) const {
@@ -442,7 +442,7 @@ index f059a05ebe7..c28ed956ccf 100644
// if (this->old_version() != NULL) {
// InstanceKlass::cast(this->old_version())->remove_dependent_nmethod(nm, true);
// return;
@@ -3602,6 +3613,7 @@ void InstanceKlass::verify_on(outputStream* st) {
@@ -3614,6 +3625,7 @@ void InstanceKlass::verify_on(outputStream* st) {
}
guarantee(sib->is_klass(), "should be klass");
@@ -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 83c0952de37..92ce6c27b8a 100644
index 80c31135487..43d761cdbb2 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1,4 +1,4 @@
@@ -1394,7 +1394,7 @@ index 83c0952de37..92ce6c27b8a 100644
ResourceMark mark(THREAD);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index b712d69a193..60b62c3170a 100644
index 3f95cf42645..a48e07e3a6a 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -16,6 +16,8 @@
@@ -1528,10 +1528,10 @@ index 39953a71244..b59d3046b88 100644
// search previous versions if they exist
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index a9057893368..af2ec48c2e1 100644
index 87be28e9eee..8098b80baa6 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -197,8 +197,52 @@ void ResolvedMethodTable::print() {
@@ -200,8 +200,52 @@ void ResolvedMethodTable::print() {
#endif // PRODUCT
#if INCLUDE_JVMTI

View File

@@ -1,7 +1,7 @@
From caa877d9126bd91d6719675a83928ba01bffb69a Mon Sep 17 00:00:00 2001
From a23078dc957ec7b88de7b82fdea6438c9a046cf1 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/28] Support for Concurrent Mark Sweep (CMS) collector
Subject: [PATCH 03/33] 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 92ce6c27b8a..41e82ae7a69 100644
index 43d761cdbb2..14af1aad21b 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -54,6 +54,7 @@
@@ -462,7 +462,7 @@ index 92ce6c27b8a..41e82ae7a69 100644
} else {
obj->set_klass(obj->klass()->new_version());
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index a11dfe48dd6..013ba213c00 100644
index 4e2a3ff1083..e3cb44d8690 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -2045,14 +2045,14 @@ bool Arguments::check_gc_consistency() {

View File

@@ -1,7 +1,7 @@
From 93373779a1d44181ca07498faa8a0e8d7fc6b608 Mon Sep 17 00:00:00 2001
From 89334947f64b857d6ef052e51dc645a0baa9cc65 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/28] Fix class cast exception on redefinition of class A,
Subject: [PATCH 04/33] Fix class cast exception on redefinition of class A,
that is superclass of B that has anonymous class C
---
@@ -9,7 +9,7 @@ Subject: [PATCH 04/28] Fix class cast exception on redefinition of class A,
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c28ed956ccf..7eb1b01c785 100644
index 77708e25aae..76791cdd905 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -788,7 +788,10 @@ bool InstanceKlass::link_class_impl(bool throw_verifyerror, TRAPS) {

View File

@@ -1,7 +1,7 @@
From c8850725d4c84f93beaee3c05f9d8f9862fe6159 Mon Sep 17 00:00:00 2001
From 9d8b4cee545f9895b77f5f05059cbd519c6c8094 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Thu, 15 Nov 2018 03:20:08 +0700
Subject: [PATCH 05/28] HotswapAgent integration
Subject: [PATCH 05/33] HotswapAgent integration
It include:
@@ -390,10 +390,10 @@ 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 26ff6ee9853..2409af9b06e 100644
index 17f7e720c95..0d0badeabd0 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -342,6 +342,7 @@
@@ -343,6 +343,7 @@
/* common method and field names */ \
template(object_initializer_name, "<init>") \
template(class_initializer_name, "<clinit>") \
@@ -415,10 +415,10 @@ index 0c24146ff00..9dc184d02f5 100644
!fd.is_static() &&
!m->is_object_initializer());
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 013ba213c00..2b5ba619f43 100644
index e3cb44d8690..36276741b5c 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3962,6 +3962,8 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
@@ -3967,6 +3967,8 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();
@@ -427,7 +427,7 @@ index 013ba213c00..2b5ba619f43 100644
#if !INCLUDE_CDS
if (DumpSharedSpaces || RequireSharedSpaces) {
jio_fprintf(defaultStream::error_stream(),
@@ -4295,3 +4297,68 @@ bool Arguments::copy_expand_pid(const char* src, size_t srclen,
@@ -4300,3 +4302,68 @@ bool Arguments::copy_expand_pid(const char* src, size_t srclen,
*b = '\0';
return (p == src_end); // return false if not all of the source was copied
}
@@ -511,7 +511,7 @@ index cc7f71a4404..b2bab2e1f44 100644
static size_t max_heap_for_compressed_oops();
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index a6c33744760..b8dba232fc1 100644
index 194242e4c4b..9c007fc2d82 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -32,6 +32,12 @@
@@ -527,7 +527,7 @@ index a6c33744760..b8dba232fc1 100644
// The larger HeapWordSize for 64bit requires larger heaps
// for the same application running in 64bit. See bug 4967770.
// The minimum alignment to a heap word size is done. Other
@@ -2678,8 +2684,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
@@ -2684,8 +2690,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
\
product(bool, AllowEnhancedClassRedefinition, true, \
"Allow enhanced class redefinition beyond swapping method " \

View File

@@ -1,7 +1,7 @@
From 1552e3854e11fb835452aa531ef53b78bb4588a5 Mon Sep 17 00:00:00 2001
From 4386e1b6a0429a39e390cca3bc66f920bf6dafe5 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/28] Support for Lambda class redefinition
Subject: [PATCH 06/33] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
@@ -15,7 +15,7 @@ Subject: [PATCH 06/28] Support for Lambda class redefinition
8 files changed, 85 insertions(+), 10 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index ab2615da0ed..1bc67adf5a7 100644
index 3f75bffce8a..a901b4309b9 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -663,6 +663,15 @@ Dictionary* ClassLoaderData::create_dictionary() {
@@ -35,7 +35,7 @@ index ab2615da0ed..1bc67adf5a7 100644
oop ClassLoaderData::holder_phantom() const {
// A klass that was previously considered dead can be looked up in the
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 7e357929971..00a84610b43 100644
index b5a7cf21c85..c4f617ab800 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -292,6 +292,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
@@ -47,7 +47,7 @@ index 7e357929971..00a84610b43 100644
void unload();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 19bc8d9899a..a6a03d3c0e9 100644
index f69167ae53c..42e0fee800f 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -971,12 +971,16 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
@@ -81,7 +81,7 @@ index 19bc8d9899a..a6a03d3c0e9 100644
if (host_klass != NULL && k != NULL) {
// Anonymous classes must update ClassLoaderData holder (was host_klass loader)
@@ -1844,7 +1852,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
@@ -1846,7 +1854,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
@@ -91,10 +91,10 @@ index 19bc8d9899a..a6a03d3c0e9 100644
constraints()->update_after_redefinition();
}
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 06f6c869d63..1dbbffa197f 100644
index b956c6a7519..a8359143908 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -304,6 +304,7 @@ public:
@@ -307,6 +307,7 @@ public:
protection_domain,
st,
NULL, // host klass
@@ -102,7 +102,7 @@ index 06f6c869d63..1dbbffa197f 100644
NULL, // cp_patches
THREAD);
}
@@ -312,6 +313,7 @@ public:
@@ -315,6 +316,7 @@ public:
Handle protection_domain,
ClassFileStream* st,
const InstanceKlass* host_klass,
@@ -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 41e82ae7a69..b94caa39562 100644
index 14af1aad21b..0b239b2ff6d 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 41e82ae7a69..b94caa39562 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 60b62c3170a..d8a11b51fe9 100644
index a48e07e3a6a..3551b06ecde 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 {
@@ -220,10 +220,10 @@ index 60b62c3170a..d8a11b51fe9 100644
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index af2ec48c2e1..7741328979f 100644
index 8098b80baa6..5a5d5e98623 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -200,7 +200,7 @@ void ResolvedMethodTable::print() {
@@ -203,7 +203,7 @@ void ResolvedMethodTable::print() {
void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint");
@@ -232,7 +232,7 @@ index af2ec48c2e1..7741328979f 100644
for (int i = 0; i < _the_table->table_size(); ++i) {
for (ResolvedMethodEntry* entry = _the_table->bucket(i);
entry != NULL;
@@ -271,6 +271,8 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
@@ -274,6 +274,8 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
@@ -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 1983b4f45f0..5e7aca092eb 100644
index 5f9f93c6b4c..c35ef044e65 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 83c2efaeb6ea9ee29c6d9eb779991db787c036ac Mon Sep 17 00:00:00 2001
From 9e65f8342345df054cc1cb694fb4859e2557401d 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/28] Fix "no original bytecode found" error if method with
Subject: [PATCH 07/33] Fix "no original bytecode found" error if method with
bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
@@ -28,7 +28,7 @@ index e377e36b88c..262ecc021b2 100644
int Bytecodes::special_length_at(Bytecodes::Code code, address bcp, address end) {
diff --git a/src/hotspot/share/interpreter/interpreterRuntime.cpp b/src/hotspot/share/interpreter/interpreterRuntime.cpp
index c25e13d83e8..2a66419908c 100644
index aeafba285f0..026fe9234fb 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -819,7 +819,7 @@ IRT_END
@@ -41,10 +41,10 @@ index c25e13d83e8..2a66419908c 100644
IRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* thread, Method* method, address bcp, Bytecodes::Code new_code))
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index ed6f769bf1b..031f255e632 100644
index e47dd223f92..165a2e4de36 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1744,14 +1744,14 @@ bool CompressedLineNumberReadStream::read_pair() {
@@ -1789,14 +1789,14 @@ bool CompressedLineNumberReadStream::read_pair() {
#if INCLUDE_JVMTI
@@ -61,7 +61,7 @@ index ed6f769bf1b..031f255e632 100644
ResourceMark rm;
fatal("no original bytecode found in %s at bci %d", name_and_sig_as_C_string(), bci);
}
@@ -1897,7 +1897,7 @@ BreakpointInfo::BreakpointInfo(Method* m, int bci) {
@@ -1942,7 +1942,7 @@ BreakpointInfo::BreakpointInfo(Method* m, int bci) {
_signature_index = m->signature_index();
_orig_bytecode = (Bytecodes::Code) *m->bcp_from(_bci);
if (_orig_bytecode == Bytecodes::_breakpoint)
@@ -70,7 +70,7 @@ index ed6f769bf1b..031f255e632 100644
_next = NULL;
}
@@ -1906,7 +1906,7 @@ void BreakpointInfo::set(Method* method) {
@@ -1951,7 +1951,7 @@ void BreakpointInfo::set(Method* method) {
{
Bytecodes::Code code = (Bytecodes::Code) *method->bcp_from(_bci);
if (code == Bytecodes::_breakpoint)
@@ -80,7 +80,7 @@ index ed6f769bf1b..031f255e632 100644
}
#endif
diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp
index 4533476ff8f..193e1845b23 100644
index 4ac3e6e80de..9ff4f0e8036 100644
--- a/src/hotspot/share/oops/method.hpp
+++ b/src/hotspot/share/oops/method.hpp
@@ -230,7 +230,7 @@ class Method : public Metadata {
@@ -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 b94caa39562..1fbba406087 100644
index 0b239b2ff6d..aba99bb60fa 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 f9e238b9bf2cc3ae0c437fa3ebb1703c35f575cf Mon Sep 17 00:00:00 2001
From 08175b2107ccaabcd626ebaf6f154bdd2841a88e 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/28] Replace deleted method with
Subject: [PATCH 08/33] Replace deleted method with
Universe::throw_no_such_method_error
---
@@ -9,10 +9,10 @@ Subject: [PATCH 08/28] Replace deleted method with
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 7741328979f..06581643c3b 100644
index 5a5d5e98623..c7996df51bc 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -261,25 +261,25 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
@@ -264,25 +264,25 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
if (old_method->is_old()) {

View File

@@ -1,7 +1,7 @@
From a579caf20ac76a5d7cc159d5fed2efa074380f0f Mon Sep 17 00:00:00 2001
From f243b468b99115fcc4552644fea57cb695ab3ef8 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/28] Support for G1 gc
Subject: [PATCH 09/33] Support for G1 gc
---
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 20 +++
@@ -31,10 +31,10 @@ Subject: [PATCH 09/28] 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 a15b400c8e4..985fbad581b 100644
index 83b7d6b5077..c4ae1eee351 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -2111,6 +2111,21 @@ public:
@@ -2115,6 +2115,21 @@ public:
}
};
@@ -56,7 +56,7 @@ index a15b400c8e4..985fbad581b 100644
void G1CollectedHeap::object_iterate(ObjectClosure* cl) {
IterateObjectClosureRegionClosure blk(cl);
heap_region_iterate(&blk);
@@ -2124,6 +2139,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
@@ -2128,6 +2143,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
_hrm.iterate(cl);
}
@@ -1024,7 +1024,7 @@ index 8c255d6d428..71ed3cfcda8 100644
oop(compaction_top)->init_mark_raw();
assert(oop(compaction_top)->klass() != NULL, "should have a class");
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index d0a6d665aa0..3dc4cc1323c 100644
index 9a633280118..2e4f597cf1f 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -210,6 +210,11 @@ void Universe::root_oops_do(OopClosure *oopClosure) {
@@ -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 1fbba406087..e67fc2dd58f 100644
index aba99bb60fa..8b6fad2128e 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -36,7 +36,6 @@
@@ -1244,7 +1244,7 @@ index 1fbba406087..e67fc2dd58f 100644
ResourceMark mark(THREAD);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index d8a11b51fe9..9755944d70b 100644
index 3551b06ecde..62a0fbf54d4 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 {
@@ -1269,7 +1269,7 @@ index d8a11b51fe9..9755944d70b 100644
static void fix_invoke_method(Method* method);
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 2b5ba619f43..5053ad7ee61 100644
index 36276741b5c..0db55d00bd3 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -2045,9 +2045,9 @@ bool Arguments::check_gc_consistency() {
@@ -1285,10 +1285,10 @@ index 2b5ba619f43..5053ad7ee61 100644
}
}
diff --git a/src/hotspot/share/utilities/growableArray.hpp b/src/hotspot/share/utilities/growableArray.hpp
index f37d94a0529..738d475aea6 100644
index ea746e065fa..d13e64f3806 100644
--- a/src/hotspot/share/utilities/growableArray.hpp
+++ b/src/hotspot/share/utilities/growableArray.hpp
@@ -532,6 +532,10 @@ template<class E> class GrowableArrayIterator : public StackObj {
@@ -523,6 +523,10 @@ template<class E> class GrowableArrayIterator : public StackObj {
assert(_array == rhs._array, "iterator belongs to different array");
return _position != rhs._position;
}

View File

@@ -1,7 +1,7 @@
From 8d14e792d9849beedc74de690cf4d208ac384878 Mon Sep 17 00:00:00 2001
From c7bf974723c6822dca4abc878ee3e59df59d5330 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/28] Change log level in advanced redefinition
Subject: [PATCH 10/33] 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/28] 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 e67fc2dd58f..5be9bb74305 100644
index 8b6fad2128e..a8adfa5af47 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) {
@@ -24,10 +24,10 @@ index e67fc2dd58f..5be9bb74305 100644
assert(new_class->old_version() != NULL, "must have old version");
InstanceKlass* the_class = InstanceKlass::cast(new_class->old_version());
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 06581643c3b..10806bee29b 100644
index c7996df51bc..082d3d26c34 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -270,7 +270,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
@@ -273,7 +273,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
} else {
newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
@@ -36,7 +36,7 @@ index 06581643c3b..10806bee29b 100644
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
@@ -290,7 +290,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
@@ -293,7 +293,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
ResourceMark rm;
if (!(*trace_name_printed)) {

View File

@@ -1,7 +1,7 @@
From 5c437ade174426dbaf99a53823597ac7d3b1b4da Mon Sep 17 00:00:00 2001
From 3645c65d712993ba5af60e10585dd01c18a7f81f 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/28] AllowEnhancedClassRedefinition is false (disabled) by
Subject: [PATCH 11/33] AllowEnhancedClassRedefinition is false (disabled) by
default
---
@@ -9,10 +9,10 @@ Subject: [PATCH 11/28] AllowEnhancedClassRedefinition is false (disabled) by
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index b8dba232fc1..d4453de1ff5 100644
index 9c007fc2d82..705381825ff 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2682,7 +2682,7 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
@@ -2688,7 +2688,7 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
experimental(bool, UseFastUnorderedTimeStamps, false, \
"Use platform unstable time where supported for timestamps only") \
\

View File

@@ -1,7 +1,7 @@
From 8b1c8178e66af30012fdda3e7f1076309daaf6c4 Mon Sep 17 00:00:00 2001
From ee129595faa4dfc3f9c44329a4d6c7a53f5b294d 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/28] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
Subject: [PATCH 12/33] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
---
jb/project/hotspot-cmake/CMakeLists.txt | 2 ++

View File

@@ -1,14 +1,14 @@
From 5e7a1218684556596677f39ae01b2ec13ff68a19 Mon Sep 17 00:00:00 2001
From faa30c1c0dc07670641a062b510363c57718e9bf 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/28] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
Subject: [PATCH 13/33] 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 b9440902d34..c487ac6f047 100644
index 0b3247633e3..e1592f4cd3b 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 c2a4abf7d01ecd7bd262e824338d6235a584086b Mon Sep 17 00:00:00 2001
From 8f0ce0a1ae603cb32b2ab39a6bb7d3ad86092c46 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/28] Fix G1 nmethod registration
Subject: [PATCH 14/33] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
@@ -9,7 +9,7 @@ Subject: [PATCH 14/28] 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 5be9bb74305..f4bde7504c8 100644
index a8adfa5af47..4ee12b7021f 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 5be9bb74305..f4bde7504c8 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 9755944d70b..4c0412d343d 100644
index 62a0fbf54d4..d00109a0b92 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,14 +1,14 @@
From f0b7253294f14a64a5a4d0ef825e5377da03efa5 Mon Sep 17 00:00:00 2001
From 08f455c41f2db7b810c10fa208fc90f55a06fa87 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/28] Initialize method's _new_version/_old_version to NULL
Subject: [PATCH 15/33] Initialize method's _new_version/_old_version to NULL
---
src/hotspot/share/oops/method.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 031f255e632..a9556ecf0c4 100644
index 165a2e4de36..17c08a9dc18 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -83,7 +83,8 @@ Method* Method::allocate(ClassLoaderData* loader_data,

View File

@@ -1,7 +1,7 @@
From 0550e70425054a77e32fb96770d416b077720857 Mon Sep 17 00:00:00 2001
From 82bbf38d7385e26f28f47df65b58b1ab7f8c52c3 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/28] Clear dcevm code separation
Subject: [PATCH 16/33] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 4 ++--
@@ -15,7 +15,7 @@ Subject: [PATCH 16/28] Clear dcevm code separation
8 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index a6a03d3c0e9..9e0f4dd3c96 100644
index 42e0fee800f..be4d2010c0c 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1152,7 +1152,7 @@ InstanceKlass* SystemDictionary::resolve_from_stream(Symbol* class_name,
@@ -27,7 +27,7 @@ index a6a03d3c0e9..9e0f4dd3c96 100644
} );
return k;
@@ -2153,7 +2153,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
@@ -2155,7 +2155,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
// also hold array classes.
assert(check->is_instance_klass(), "noninstance in systemdictionary");
@@ -106,7 +106,7 @@ index 61a406377ee..da9df7a21a2 100644
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 7eb1b01c785..710e0ddc930 100644
index 76791cdd905..cb448b1b762 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -178,7 +178,9 @@ bool InstanceKlass::has_nest_member(InstanceKlass* k, TRAPS) const {
@@ -138,7 +138,7 @@ index 7eb1b01c785..710e0ddc930 100644
wait = true;
ol.waitUninterruptibly(CHECK);
}
@@ -3617,7 +3619,7 @@ void InstanceKlass::verify_on(outputStream* st) {
@@ -3629,7 +3631,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
@@ -148,10 +148,10 @@ index 7eb1b01c785..710e0ddc930 100644
// Verify implementor fields requires the Compile_lock, but this is sometimes
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index a9556ecf0c4..6c7edaca67e 100644
index 17c08a9dc18..2596ed7add2 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -2100,7 +2100,7 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
@@ -2145,7 +2145,7 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
// Add a method id to the jmethod_ids
jmethodID Method::make_jmethod_id(ClassLoaderData* loader_data, Method* m) {
// FIXME: (DCEVM) ???
@@ -174,7 +174,7 @@ index 60604c645ff..325bffb7ad0 100644
}
}
diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp
index ed789b0bc2b..06f60855655 100644
index ac233f3b373..ae0cb65969a 100644
--- a/src/hotspot/share/runtime/reflection.cpp
+++ b/src/hotspot/share/runtime/reflection.cpp
@@ -660,7 +660,7 @@ bool Reflection::verify_member_access(const Klass* current_class,

View File

@@ -1,7 +1,7 @@
From fde9f15ed4fdb5139b6b81238d0a667327b552bb Mon Sep 17 00:00:00 2001
From 19981a51c2ea2322f958216fa2c6e83604138d7e 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/28] Fix metadataOnStack bug
Subject: [PATCH 17/33] Fix metadataOnStack bug
---
.../share/classfile/classLoaderData.cpp | 7 +-
@@ -11,10 +11,10 @@ Subject: [PATCH 17/28] Fix metadataOnStack bug
4 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 1bc67adf5a7..bba5ce0511f 100644
index a901b4309b9..7b88f6b44d9 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1398,13 +1398,10 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
@@ -1401,13 +1401,10 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
// Klassesoto delete.
// FIXME: dcevm - block asserts in MetadataOnStackMark

View File

@@ -1,17 +1,17 @@
From 5b5f620932894e807956b45653d153d001be9fb1 Mon Sep 17 00:00:00 2001
From 163cf26017433389041f824c7d8342eb54f4cef8 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
Subject: [PATCH 18/33] 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
index 7b88f6b44d9..2f6329f3e4d 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) {
@@ -1404,7 +1404,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();

View File

@@ -1,7 +1,7 @@
From 29ac3233d58d9a1a30160ae13a895ff70e504022 Mon Sep 17 00:00:00 2001
From 1876c6a039a2b866dd9d2c3dbbcc52e8f7af4d2a 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 19/28] Fix LoadedClassesClosure - fixes problems with remote
Subject: [PATCH 19/33] Fix LoadedClassesClosure - fixes problems with remote
debugging
---

View File

@@ -1,7 +1,7 @@
From 99e8f8d420dd09d6fb7f035d4baf7ef4816177e8 Mon Sep 17 00:00:00 2001
From ad9db6fe3e625d0b366898c3bdb2589b678f6764 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 20/28] Disable AllowEnhancedClassRedefinition in flight
Subject: [PATCH 20/33] Disable AllowEnhancedClassRedefinition in flight
recorder
---
@@ -9,10 +9,10 @@ Subject: [PATCH 20/28] Disable AllowEnhancedClassRedefinition in flight
1 file changed, 7 insertions(+)
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 5053ad7ee61..c5635bb8537 100644
index 0db55d00bd3..65839b842e2 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3962,6 +3962,13 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
@@ -3967,6 +3967,13 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();

View File

@@ -1,7 +1,7 @@
From 1bb55ff9f91733e45dd6f87eb4201a989b3338e3 Mon Sep 17 00:00:00 2001
From 4bcccb549465675d13a1f5bb399ca99654465ca5 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
Subject: [PATCH 21/33] JBR-3106 Check InstanceKlass::has_nestmate_access_to
with active classes
Dcevm can leave old host in nested class if nested class is not
@@ -11,7 +11,7 @@ redefined together with host class
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
index cb448b1b762..234c3e86037 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) {

View File

@@ -1,7 +1,7 @@
From 52427060aba227d09dce4bd14410e1e626d64e46 Mon Sep 17 00:00:00 2001
From b45056c713cd7f8496bc9fb9528ff8a20c112c76 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
Subject: [PATCH 22/33] JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
---

View File

@@ -1,7 +1,7 @@
From 93cea8d61ef395a1ef9e308b0d3a8f9409b108d0 Mon Sep 17 00:00:00 2001
From ae2b3fba2882b52ec7c5a9ac49d179616fc49e77 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
Subject: [PATCH 23/33] Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
@@ -12,7 +12,7 @@ Subject: [PATCH 23/28] Code cleanup
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
index 86dc1f26933..d347f572350 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,

View File

@@ -1,7 +1,7 @@
From dcb44f0e56dbc63b90d655b694a3f7751744fe53 Mon Sep 17 00:00:00 2001
From 3af6608b1808653ad706b447e6e96a039819d03f 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
Subject: [PATCH 24/33] JBR-3111 Update class in all dictionaries where it was
already defined
This patch keeps compatibility with std redefinition, that does not
@@ -16,10 +16,10 @@ dictionaries containing this class.
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
index 2f6329f3e4d..68df33b6c40 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1274,6 +1274,15 @@ void ClassLoaderDataGraph::rollback_redefinition() {
@@ -1277,6 +1277,15 @@ void ClassLoaderDataGraph::rollback_redefinition() {
}
}
@@ -36,7 +36,7 @@ index 8b2deb70e1b..4e06b09e7d5 100644
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
index c4f617ab800..92f57dac23e 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -130,6 +130,9 @@ class ClassLoaderDataGraph : public AllStatic {
@@ -50,7 +50,7 @@ index 00a84610b43..16711dca237 100644
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
index d347f572350..fd9ef491ba1 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,
@@ -76,10 +76,10 @@ index f6e08e7bfd5..2932cc9c320 100644
void rollback_redefinition();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 9e0f4dd3c96..789b5fb1e6d 100644
index be4d2010c0c..d0365162b81 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
@@ -1608,7 +1608,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) {

View File

@@ -1,7 +1,7 @@
From b9692c48bdbad8474251cfe72ac85e5c7ff2847e Mon Sep 17 00:00:00 2001
From 7cbf2af248f33daa6fb5b55a7fb9316b1d2680e0 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
Subject: [PATCH 25/33] JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
---
@@ -349,10 +349,10 @@ index bd39f8595b2..82311e69fd6 100644
CFLAGS := -DENABLE_ARG_FILES, \
))
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index c5635bb8537..d7fee6a8c95 100644
index 65839b842e2..dce89a044e9 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -4310,11 +4310,17 @@ void Arguments::setup_hotswap_agent() {
@@ -4315,11 +4315,17 @@ void Arguments::setup_hotswap_agent() {
if (DumpSharedSpaces)
return;
@@ -372,7 +372,7 @@ index c5635bb8537..d7fee6a8c95 100644
char ext_path_str[JVM_MAXPATHLEN];
@@ -4333,23 +4339,27 @@ void Arguments::setup_hotswap_agent() {
@@ -4338,23 +4344,27 @@ void Arguments::setup_hotswap_agent() {
}
}
if (ext_path_length < JVM_MAXPATHLEN - 10) {
@@ -500,10 +500,10 @@ index 8763b83fd37..c9ed15a89e1 100644
#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
index 705381825ff..eda4eca2451 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);
@@ -2692,8 +2692,16 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
"Allow enhanced class redefinition beyond swapping method " \
"bodies") \
\

View File

@@ -1,7 +1,7 @@
From f279999a412cc87c6f4a7eed7e1e2ad34655b4fe Mon Sep 17 00:00:00 2001
From 8dd54d6e012458db96f199550d0f6016537c6d82 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
Subject: [PATCH 26/33] Support for redefinition of Well Known classses
(java.*,jdk.*, sun.*)
---
@@ -31,7 +31,7 @@ index 896f489453a..c610c365aba 100644
#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
index c8a03aa9ee9..6b187909943 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;
@@ -122,10 +122,10 @@ index 3e9d48c4cdc..79059f6e2e8 100644
void remove_symbols();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 789b5fb1e6d..25e577a664c 100644
index d0365162b81..74f30524279 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) {
@@ -1985,6 +1985,16 @@ bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
}
#endif
@@ -143,10 +143,10 @@ index 789b5fb1e6d..25e577a664c 100644
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
index a8359143908..aba2780a321 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -467,6 +467,8 @@ public:
@@ -470,6 +470,8 @@ public:
static bool is_well_known_klass(Symbol* class_name);
#endif
@@ -156,10 +156,10 @@ index 1dbbffa197f..4220978a025 100644
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
index 0d0badeabd0..3477a408cb6 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -355,6 +355,8 @@
@@ -356,6 +356,8 @@
template(exit_method_name, "exit") \
template(add_method_name, "add") \
template(remove_method_name, "remove") \
@@ -169,7 +169,7 @@ index 2409af9b06e..daaa8d12375 100644
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
index 80a940980a5..5ec54baec96 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -1877,6 +1877,17 @@ void CompileBroker::compiler_thread_loop() {
@@ -191,7 +191,7 @@ index 765b8ffa4dc..25271feb41f 100644
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
index 2e4f597cf1f..4b2c3e62941 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) {
@@ -224,7 +224,7 @@ index 742dada0e8f..d1af82b5fa7 100644
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
index 4ee12b7021f..7997b178d22 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -497,6 +497,16 @@ void VM_EnhancedRedefineClasses::doit() {
@@ -316,7 +316,7 @@ index f4bde7504c8..80d4e68ccae 100644
// 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
index d00109a0b92..8c47baa8a74 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 {

View File

@@ -1,7 +1,7 @@
From 416d06e7e5f3517e9303b0b5a705888e4db740bd Mon Sep 17 00:00:00 2001
From 91cfd6de1aac67a2f096568fda3b5992c19bddfb 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
Subject: [PATCH 27/33] JBR-3458: Skip dynamic proxy classes based on
com.sun.proxy
---
@@ -9,7 +9,7 @@ Subject: [PATCH 27/28] JBR-3458: Skip dynamic proxy classes based on
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
index 7997b178d22..0d1c68f5cd0 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -689,7 +689,8 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {

View File

@@ -1,7 +1,7 @@
From 88e0325768b074607f5f9edfbb7f8e4a76159942 Mon Sep 17 00:00:00 2001
From 33a280c972960380f3627fd178d170b14f0b7995 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
Subject: [PATCH 28/33] JBR-3459: Fix race condition in
ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
@@ -15,10 +15,10 @@ persisting with anonymous classes.
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
index 68df33b6c40..b12784954af 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) {
@@ -1169,6 +1169,16 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
@@ -36,7 +36,7 @@ index 4e06b09e7d5..f319cca3b2b 100644
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
index 92f57dac23e..c4c17112a2d 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -108,6 +108,10 @@ class ClassLoaderDataGraph : public AllStatic {
@@ -51,7 +51,7 @@ index 16711dca237..b10fafa01e5 100644
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
index 0d1c68f5cd0..745109902af 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) {

View File

@@ -0,0 +1,222 @@
From daa0ca3b718e428ffde26e9633a07a37658beb61 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 10 Oct 2021 20:25:30 +0200
Subject: [PATCH 29/33] JBR-3867 - update keys of jvmti TAG map after
redefinition
jdwp keeps relation class_ptr->class_ref in jvmti tag. class_ptr is used
as a tag key, tag value is refnode. There are new class_ptrs after
redefinition, therefore jdwp redefinition method update all affected
keys in the tag map.
---
src/hotspot/share/prims/jvmtiExtensions.cpp | 24 ++++++++++++++
.../share/native/libjdwp/VirtualMachineImpl.c | 20 +++++++++++
.../share/native/libjdwp/commonRef.c | 29 ++++++++++++++++
.../share/native/libjdwp/commonRef.h | 2 ++
.../share/native/libjdwp/util.c | 33 +++++++++++++++++++
.../share/native/libjdwp/util.h | 3 ++
6 files changed, 111 insertions(+)
diff --git a/src/hotspot/share/prims/jvmtiExtensions.cpp b/src/hotspot/share/prims/jvmtiExtensions.cpp
index 36bc47ad0b5..8a6058fd884 100644
--- a/src/hotspot/share/prims/jvmtiExtensions.cpp
+++ b/src/hotspot/share/prims/jvmtiExtensions.cpp
@@ -49,6 +49,15 @@ static jvmtiError JNICALL IsClassUnloadingEnabled(const jvmtiEnv* env, ...) {
return JVMTI_ERROR_NONE;
}
+// extension function
+static jvmtiError JNICALL IsEnhancedClassRedefinitionEnabled(const jvmtiEnv* env, jboolean* enabled, ...) {
+ if (enabled == NULL) {
+ return JVMTI_ERROR_NULL_POINTER;
+ }
+ *enabled = (jboolean)AllowEnhancedClassRedefinition;
+ return JVMTI_ERROR_NONE;
+}
+
// register extension functions and events. In this implementation we
// have a single extension function (to prove the API) that tests if class
// unloading is enabled or disabled. We also have a single extension event
@@ -88,6 +97,21 @@ void JvmtiExtensions::register_extensions() {
event_params
};
_ext_events->append(&ext_event);
+
+ static jvmtiParamInfo func_params_enh_redef[] = {
+ { (char*)"IsEnhancedClassRedefinitionEnabled", JVMTI_KIND_OUT, JVMTI_TYPE_JBOOLEAN, JNI_FALSE }
+
+ };
+ static jvmtiExtensionFunctionInfo ext_func_enh_redef = {
+ (jvmtiExtensionFunction)IsEnhancedClassRedefinitionEnabled,
+ (char*)"com.sun.hotspot.functions.IsEnhancedClassRedefinitionEnabled",
+ (char*)"Tell if enhanced class redefinition is enabled (-noclassgc)",
+ sizeof(func_params_enh_redef)/sizeof(func_params_enh_redef[0]),
+ func_params_enh_redef,
+ 0, // no non-universal errors
+ NULL
+ };
+ _ext_functions->append(&ext_func_enh_redef);
}
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c b/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
index d7ca956dc57..faa8f55f91f 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
@@ -475,6 +475,14 @@ redefineClasses(PacketInputStream *in, PacketOutputStream *out)
if (ok == JNI_TRUE) {
jvmtiError error;
+ jlong classIds[classCount];
+
+ if (gdata->isEnhancedClassRedefinitionEnabled) {
+ for (i = 0; i < classCount; ++i) {
+ classIds[i] = commonRef_refToID(env, classDefs[i].klass);
+ }
+ }
+
error = JVMTI_FUNC_PTR(gdata->jvmti,RedefineClasses)
(gdata->jvmti, classCount, classDefs);
if (error != JVMTI_ERROR_NONE) {
@@ -484,6 +492,18 @@ redefineClasses(PacketInputStream *in, PacketOutputStream *out)
for ( i = 0 ; i < classCount; i++ ) {
eventHandler_freeClassBreakpoints(classDefs[i].klass);
}
+
+ if (gdata->isEnhancedClassRedefinitionEnabled) {
+ /* Update tags in jvmti to use new classes */
+ for ( i = 0 ; i < classCount; i++ ) {
+ /* pointer in classIds[i] is updated by advanced redefinition to a new class */
+ error = commonRef_updateTags(env, classIds[i]);
+ if (error != JVMTI_ERROR_NONE) {
+ break;
+ }
+ }
+ }
+
}
}
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.c b/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.c
index 2a8f55014d9..3f33b423209 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.c
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.c
@@ -618,3 +618,32 @@ commonRef_unlock(void)
{
debugMonitorExit(gdata->refLock);
}
+
+/*
+ * Update JVMTI tags, used from enhanced redefinition
+ */
+jvmtiError
+commonRef_updateTags(JNIEnv *env, jlong id)
+{
+ jvmtiError error;
+
+ error = JVMTI_ERROR_NONE;
+
+ if (id == NULL_OBJECT_ID) {
+ return error;
+ }
+
+ debugMonitorEnter(gdata->refLock); {
+ RefNode *node;
+
+ node = findNodeByID(env, id);
+ if (node != NULL) {
+ error = JVMTI_FUNC_PTR(gdata->jvmti, SetTag)
+ (gdata->jvmti, node->ref, ptr_to_jlong(node));
+ } else {
+ printf("Node not found\n");
+ }
+ } debugMonitorExit(gdata->refLock);
+
+ return error;
+}
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.h b/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.h
index 7c76667eb19..d7b01e62a47 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.h
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/commonRef.h
@@ -41,4 +41,6 @@ void commonRef_compact(void);
void commonRef_lock(void);
void commonRef_unlock(void);
+jvmtiError commonRef_updateTags(JNIEnv *env, jlong id);
+
#endif
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/util.c b/src/jdk.jdwp.agent/share/native/libjdwp/util.c
index f4a1d19589d..0642c4a3d7f 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/util.c
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/util.c
@@ -41,6 +41,7 @@ BackendGlobalData *gdata = NULL;
static jboolean isInterface(jclass clazz);
static jboolean isArrayClass(jclass clazz);
static char * getPropertyUTF8(JNIEnv *env, char *propertyName);
+static jboolean isEnhancedClassRedefinitionEnabled(JNIEnv *env);
/* Save an object reference for use later (create a NewGlobalRef) */
void
@@ -281,6 +282,8 @@ util_initialize(JNIEnv *env)
}
}
+ gdata->isEnhancedClassRedefinitionEnabled = isEnhancedClassRedefinitionEnabled(env);
+
} END_WITH_LOCAL_REFS(env);
}
@@ -1739,6 +1742,36 @@ getPropertyUTF8(JNIEnv *env, char *propertyName)
return value;
}
+static jboolean
+isEnhancedClassRedefinitionEnabled(JNIEnv *env)
+{
+ jvmtiError error;
+ jint count, i;
+ jvmtiExtensionFunctionInfo* ext_funcs;
+
+ error = JVMTI_FUNC_PTR(gdata->jvmti,GetExtensionFunctions)
+ (gdata->jvmti, &count, &ext_funcs);
+ if (error != JVMTI_ERROR_NONE) {
+ return JNI_FALSE;
+ }
+
+ for (i=0; i<count; i++) {
+ if (strcmp(ext_funcs[i].id, (char*)"com.sun.hotspot.functions.IsEnhancedClassRedefinitionEnabled") == 0) {
+ jboolean enabled;
+ error = (*ext_funcs[i].func)(gdata->jvmti, &enabled);
+
+ if (error != JVMTI_ERROR_NONE) {
+ return JNI_FALSE;
+ } else {
+ return enabled;
+ }
+ }
+ }
+
+ return JNI_FALSE;
+}
+
+
jboolean
isMethodObsolete(jmethodID method)
{
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/util.h b/src/jdk.jdwp.agent/share/native/libjdwp/util.h
index bcb59457120..72a365ad3c3 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/util.h
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/util.h
@@ -126,6 +126,9 @@ typedef struct {
int objectsByIDsize;
int objectsByIDcount;
+ /* true if enhanced class redefinition is enabled */
+ jboolean isEnhancedClassRedefinitionEnabled;
+
/* Indication that the agent has been loaded */
jboolean isLoaded;
--
2.23.0

View File

@@ -0,0 +1,54 @@
From d7ea3b028367ca5ac2b622a2282bb4e468442e4b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 11 Oct 2021 20:22:26 +0200
Subject: [PATCH 30/33] JBR-3867 - fix msvc compilation issue with non const
array on stack
---
.../share/native/libjdwp/VirtualMachineImpl.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c b/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
index faa8f55f91f..53f7e44f579 100644
--- a/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/VirtualMachineImpl.c
@@ -475,11 +475,16 @@ redefineClasses(PacketInputStream *in, PacketOutputStream *out)
if (ok == JNI_TRUE) {
jvmtiError error;
- jlong classIds[classCount];
+ jlong* classIds = NULL;
if (gdata->isEnhancedClassRedefinitionEnabled) {
- for (i = 0; i < classCount; ++i) {
- classIds[i] = commonRef_refToID(env, classDefs[i].klass);
+ classIds = jvmtiAllocate(classCount*(int)sizeof(jlong));
+ if (classIds == NULL) {
+ outStream_setError(out, JDWP_ERROR(OUT_OF_MEMORY));
+ return JNI_TRUE;
+ }
+ for (i = 0; i < classCount; i++) {
+ classIds[i] = commonRef_refToID(env, classDefs[i].klass);
}
}
@@ -493,7 +498,7 @@ redefineClasses(PacketInputStream *in, PacketOutputStream *out)
eventHandler_freeClassBreakpoints(classDefs[i].klass);
}
- if (gdata->isEnhancedClassRedefinitionEnabled) {
+ if (gdata->isEnhancedClassRedefinitionEnabled && classIds != NULL) {
/* Update tags in jvmti to use new classes */
for ( i = 0 ; i < classCount; i++ ) {
/* pointer in classIds[i] is updated by advanced redefinition to a new class */
@@ -502,6 +507,7 @@ redefineClasses(PacketInputStream *in, PacketOutputStream *out)
break;
}
}
+ jvmtiDeallocate((void*) classIds);
}
}
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 6dc05f05716854367e229d72d5fa03f8f7d0739d Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 19 Oct 2021 17:02:35 +0200
Subject: [PATCH 31/33] Attempt to fix JBR-3887
---
src/hotspot/share/prims/jvmtiExtensions.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiExtensions.cpp b/src/hotspot/share/prims/jvmtiExtensions.cpp
index 8a6058fd884..9c8c98cb70e 100644
--- a/src/hotspot/share/prims/jvmtiExtensions.cpp
+++ b/src/hotspot/share/prims/jvmtiExtensions.cpp
@@ -50,7 +50,13 @@ static jvmtiError JNICALL IsClassUnloadingEnabled(const jvmtiEnv* env, ...) {
}
// extension function
-static jvmtiError JNICALL IsEnhancedClassRedefinitionEnabled(const jvmtiEnv* env, jboolean* enabled, ...) {
+static jvmtiError JNICALL IsEnhancedClassRedefinitionEnabled(const jvmtiEnv* env, ...) {
+ jboolean* enabled = NULL;
+ va_list ap;
+
+ va_start(ap, env);
+ enabled = va_arg(ap, jboolean *);
+ va_end(ap);
if (enabled == NULL) {
return JVMTI_ERROR_NULL_POINTER;
}
--
2.23.0

View File

@@ -0,0 +1,141 @@
From 256af0b88776c1ba2afdae760d3220ef48a644aa Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 1 Nov 2021 19:00:41 +0100
Subject: [PATCH 32/33] JBR-3937 Fix crashes in C1/C2 compilers
There is a race condition in enhanced redefinition with C1/C2. Therefore
the patch stops C1/C2 compilation before redefinition and release after
redefinition finishing. There is no performance impact since dcevm
flushes all code cache.
---
src/hotspot/share/compiler/compileBroker.cpp | 39 +++++++++++++++++++-
src/hotspot/share/compiler/compileBroker.hpp | 6 +++
src/hotspot/share/prims/jvmtiEnv.cpp | 7 ++++
3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp
index 5ec54baec96..a72560069e4 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -133,6 +133,8 @@ CompileLog** CompileBroker::_compiler2_logs = NULL;
// These counters are used to assign an unique ID to each compilation.
volatile jint CompileBroker::_compilation_id = 0;
volatile jint CompileBroker::_osr_compilation_id = 0;
+volatile bool CompileBroker::_compilation_stopped = false;
+volatile int CompileBroker::_active_compilations = 0;
// Debugging information
int CompileBroker::_last_compile_type = no_compile;
@@ -2203,7 +2205,22 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
locker.wait(Mutex::_no_safepoint_check_flag);
}
}
- comp->compile_method(&ci_env, target, osr_bci, directive);
+
+ if (AllowEnhancedClassRedefinition) {
+ {
+ MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ while (_compilation_stopped) {
+ locker.wait(Mutex::_no_safepoint_check_flag);
+ }
+ Atomic::add(1, &_active_compilations);
+ }
+
+ comp->compile_method(&ci_env, target, osr_bci, directive);
+ Atomic::sub(1, &_active_compilations);
+
+ } else {
+ comp->compile_method(&ci_env, target, osr_bci, directive);
+ }
}
if (!ci_env.failing() && task->code() == NULL) {
@@ -2865,3 +2882,23 @@ void CompileBroker::print_heapinfo(outputStream* out, const char* function, size
}
out->print_cr("\n__ CodeHeapStateAnalytics total duration %10.3f seconds _________\n", ts_total.seconds());
}
+
+void CompileBroker::stopCompilationBeforeEnhancedRedefinition() {
+ if (AllowEnhancedClassRedefinition) {
+ MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ _compilation_stopped = true;
+ while (_active_compilations > 0) {
+ VM_ThreadsSuspendJVMTI tsj;
+ VMThread::execute(&tsj);
+ locker.wait(Mutex::_no_safepoint_check_flag);
+ }
+ }
+}
+
+void CompileBroker::releaseCompilationAfterEnhancedRedefinition() {
+ if (AllowEnhancedClassRedefinition) {
+ MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ _compilation_stopped = false;
+ locker.notify_all();
+ }
+}
diff --git a/src/hotspot/share/compiler/compileBroker.hpp b/src/hotspot/share/compiler/compileBroker.hpp
index 53e496cd306..fa50e778d9e 100644
--- a/src/hotspot/share/compiler/compileBroker.hpp
+++ b/src/hotspot/share/compiler/compileBroker.hpp
@@ -173,6 +173,9 @@ class CompileBroker: AllStatic {
static volatile jint _compilation_id;
static volatile jint _osr_compilation_id;
+ static volatile bool _compilation_stopped;
+ static volatile int _active_compilations;
+
static int _last_compile_type;
static int _last_compile_level;
static char _last_method_compiled[name_buffer_length];
@@ -421,6 +424,9 @@ public:
// CodeHeap State Analytics.
static void print_info(outputStream *out);
static void print_heapinfo(outputStream *out, const char* function, size_t granularity);
+
+ static void stopCompilationBeforeEnhancedRedefinition();
+ static void releaseCompilationAfterEnhancedRedefinition();
};
#endif // SHARE_VM_COMPILER_COMPILEBROKER_HPP
diff --git a/src/hotspot/share/prims/jvmtiEnv.cpp b/src/hotspot/share/prims/jvmtiEnv.cpp
index 54617f05b5a..0ca9ec020a9 100644
--- a/src/hotspot/share/prims/jvmtiEnv.cpp
+++ b/src/hotspot/share/prims/jvmtiEnv.cpp
@@ -29,6 +29,7 @@
#include "classfile/modules.hpp"
#include "classfile/systemDictionary.hpp"
#include "classfile/vmSymbols.hpp"
+#include "compiler/compileBroker.hpp"
#include "interpreter/bytecodeStream.hpp"
#include "interpreter/interpreter.hpp"
#include "jvmtifiles/jvmtiEnv.hpp"
@@ -453,9 +454,12 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
class_definitions[index].klass = jcls;
}
if (AllowEnhancedClassRedefinition) {
+ // Stop compilation to avoid compilator race condition (crashes) with advanced redefinition
+ CompileBroker::stopCompilationBeforeEnhancedRedefinition();
MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
VM_EnhancedRedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_retransform);
VMThread::execute(&op);
+ CompileBroker::releaseCompilationAfterEnhancedRedefinition();
return (op.check_error());
}
VM_RedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_retransform);
@@ -469,9 +473,12 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
jvmtiError
JvmtiEnv::RedefineClasses(jint class_count, const jvmtiClassDefinition* class_definitions) {
if (AllowEnhancedClassRedefinition) {
+ // Stop compilation to avoid compilator race condition (crashes) with advanced redefinition
+ CompileBroker::stopCompilationBeforeEnhancedRedefinition();
MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
VM_EnhancedRedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_redefine);
VMThread::execute(&op);
+ CompileBroker::releaseCompilationAfterEnhancedRedefinition();
return (op.check_error());
}
VM_RedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_redefine);
--
2.23.0

View File

@@ -0,0 +1,121 @@
From 81d93376d08058144aa5b2ecf6744d607c516e88 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 2 Nov 2021 01:20:13 +0700
Subject: [PATCH 33/33] JBR-3938 - fix race condition in anonymous class
loading
Anonymous class must be checked if it is fully initialized if it is used
in ClassLoaderDataGraph closure.
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 44 ++++++-------------
.../prims/jvmtiEnhancedRedefineClasses.hpp | 1 -
2 files changed, 14 insertions(+), 31 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 745109902af..1e63561064a 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -517,8 +517,6 @@ void VM_EnhancedRedefineClasses::doit() {
ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
- // SystemDictionary::methods_do(fix_invoke_method);
-
// JSR-292 support
if (_any_class_has_resolved_methods) {
bool trace_name_printed = false;
@@ -647,10 +645,6 @@ void VM_EnhancedRedefineClasses::doit() {
// TODO: explain...
ciObjectFactory::resort_shared_ci_metadata();
- // FIXME - check if it was in JDK8. Copied from standard JDK9 hotswap.
- //MethodDataCleaner clean_weak_method_links;
- //ClassLoaderDataGraph::classes_do(&clean_weak_method_links);
-
// Disable any dependent concurrent compilations
SystemDictionary::notice_modification();
@@ -1568,29 +1562,6 @@ void VM_EnhancedRedefineClasses::MethodDataCleaner::do_klass(Klass* k) {
}
}
-void VM_EnhancedRedefineClasses::fix_invoke_method(Method* method) {
-
- constantPoolHandle other_cp = constantPoolHandle(method->constants());
-
- for (int i = 0; i < other_cp->length(); i++) {
- if (other_cp->tag_at(i).is_klass()) {
- Klass* klass = other_cp->resolved_klass_at(i);
- if (klass->new_version() != NULL) {
- // Constant pool entry points to redefined class -- update to the new version
- other_cp->klass_at_put(i, klass->newest_version());
- }
- assert(other_cp->resolved_klass_at(i)->new_version() == NULL, "Must be new klass!");
- }
- }
-
- ConstantPoolCache* cp_cache = other_cp->cache();
- if (cp_cache != NULL) {
- cp_cache->clear_entries();
- }
-
-}
-
-
void VM_EnhancedRedefineClasses::update_jmethod_ids() {
for (int j = 0; j < _matching_methods_length; ++j) {
@@ -2071,12 +2042,23 @@ void VM_EnhancedRedefineClasses::dump_methods() {
class AffectedKlassClosure : public KlassClosure {
private:
GrowableArray<Klass*>* _affected_klasses;
+ bool _is_anonymous;
public:
- AffectedKlassClosure(GrowableArray<Klass*>* affected_klasses) : _affected_klasses(affected_klasses) {}
+ AffectedKlassClosure(GrowableArray<Klass*>* affected_klasses) : _affected_klasses(affected_klasses), _is_anonymous(false) {}
+
+ bool is_anonymous() { return _is_anonymous; }
+ void set_anonymous(bool value) { _is_anonymous = value; }
void do_klass(Klass* klass) {
assert(!_affected_klasses->contains(klass), "must not occur more than once!");
+ if (_is_anonymous && klass->is_instance_klass()) {
+ InstanceKlass *ik = InstanceKlass::cast(klass);
+ if (ik->is_not_initialized()) {
+ return; // anonymous class does not need to be initialized
+ }
+ }
+
if (klass->new_version() != NULL) {
return;
}
@@ -2135,11 +2117,13 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
// ClassLoaderDataGraph::classes_do(&closure);
// 1. Scan over dictionaries
+ closure.set_anonymous(false);
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
+ closure.set_anonymous(true);
ClassLoaderDataGraph::anonymous_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 8c47baa8a74..c69325ca4ab 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -119,7 +119,6 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
static void unregister_nmethod_g1(nmethod* nm);
static void register_nmethod_g1(nmethod* nm);
static void unpatch_bytecode(Method* method);
- static void fix_invoke_method(Method* method);
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
--
2.23.0

View File

@@ -0,0 +1,163 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-windows-aarch64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-windows-aarch64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk.
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64.
# BOOT_JDK - specifies the path to the directory with a ready build of OpenJDK 11 with
# the same architecture as the build system. It will be used as the boot jdk.
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WORK_DIR=$(pwd)
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${WORK_DIR}/modular-sdk}"
JCEF_PATH=${JCEF_PATH:=${WORK_DIR}/jcef_win_aarch64}
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2019}
source jb/project/tools/common.sh
function do_configure {
sh ./configure \
--openjdk-target=aarch64-unknown-cygwin \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--with-build-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || do_exit $?
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
echo "Exclude jdk.internal.vm.compiler and jdk.aot (because aot is not supported yet)"
cat modules.list | \
grep -v "jdk.internal.vm.compiler\|jdk.aot" \
> modules_tmp.list
rm -rf ${JBR_BUNDLE}
echo Running jlink....
${BOOT_JDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed 's/ //g' | sed 's/,\?$//g') --output ${JBR_BUNDLE} || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]
then
rsync -av ${JCEF_PATH}/ ${JBR_BUNDLE}/bin --exclude="modular-sdk" || do_exit $?
fi
echo Modifying release info ...
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-aarch64-b${build_number}
case "$bundle_type" in
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module_winaarch64.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=1
git apply -p0 < jb/project/tools/patches/add_jcef_module_winaarch64.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module_winaarch64.patch || do_exit $?
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-normal-server-fastdebug
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-aarch64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info clean images test-image CONF=$RELEASE_NAME || do_exit $?
else
make LOG=info clean images CONF=$RELEASE_NAME || do_exit $?
fi
else
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info images test-image CONF=$RELEASE_NAME || do_exit $?
else
make LOG=info images CONF=$RELEASE_NAME || do_exit $?
fi
fi
JSDK=build/$RELEASE_NAME/images/jdk
BASE_DIR=build/$RELEASE_NAME/images
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]
then
rsync -av ${JCEF_PATH}/ ${JBRSDK_BUNDLE}/bin --exclude='modular-sdk' || do_exit $?
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
fi
create_jbr || do_exit $?
do_exit 0

View File

@@ -24,6 +24,16 @@
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
@@ -36,6 +46,23 @@ TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2015}
source jb/project/tools/common.sh
function do_configure {
sh ./configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || do_exit $?
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
@@ -95,25 +122,19 @@ case "$bundle_type" in
;;
esac
sh ./configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || do_exit $?
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info clean images test-image CONF=$RELEASE_NAME || do_exit $?
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
make LOG=info clean images CONF=$RELEASE_NAME || do_exit $?
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info CONF=$RELEASE_NAME images test-image || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
JSDK=build/$RELEASE_NAME/images/jdk

View File

@@ -0,0 +1,83 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-windows-aarch64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-windows-aarch64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk.
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64.
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
source jb/project/tools/common.sh
function pack_jbr {
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
JBR=$JBR_BASE_NAME-windows-aarch64-b$build_number
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/${JBR_BUNDLE}
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || do_exit $?
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-aarch64-b${build_number}
case "$bundle_type" in
"fd")
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-aarch64-fastdebug-b${build_number}
;;
esac
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
BASE_DIR=.
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
[ -f "$JBSDK.tar.gz" ] && rm "$JBSDK.tar.gz"
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || do_exit $?
fi
pack_jbr $bundle_type
if [ "$bundle_type" == "jcef" ]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

80
make/JBRApi.gmk Normal file
View File

@@ -0,0 +1,80 @@
#
# Copyright 2000-2021 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
JBR_API_GENSRC_TEMPLATES := $(JBR_API_ROOT_DIR)/templates
JBR_API_SRC_DIR := $(JBR_API_ROOT_DIR)/src
JBR_API_OUTPUT_DIR := $(OUTPUTDIR)/jbr-api
JBR_API_GENSRC_DIR := $(JBR_API_OUTPUT_DIR)/gensrc
JBR_API_BIN_DIR := $(JBR_API_OUTPUT_DIR)/bin
JBR_API_VERSION_PROPERTIES := $(JBR_API_ROOT_DIR)/version.properties
JBR_API_GENSRC_SOURCES := $(call FindFiles, $(JBR_API_GENSRC_TEMPLATES))
JBR_API_GENSRC_FILES := $(JBR_API_GENSRC_DIR)/com/jetbrains/JBR.java
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
ifeq ($(JBR_API_JBR_VERSION),)
JBR_API_JBR_VERSION := <DEVELOPMENT>
JBR_API_FAIL_ON_HASH_MISMATCH := false
else
.PHONY: $(JBR_API_VERSION_PROPERTIES)
JBR_API_FAIL_ON_HASH_MISMATCH := true
endif
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
SETUP := BOOT_JAVAC, \
SRC := $(JBR_API_GENSRC_DIR) $(JBR_API_SRC_DIR), \
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
DEPENDS := $(JBR_API_GENSRC_FILES), \
BIN := $(JBR_API_BIN_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
))
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
DEPENDENCIES := $(JBR_API_GENSRC_FILES) $(JBR_API_SRC_FILES), \
SRCS := $(JBR_API_GENSRC_DIR) $(JBR_API_SRC_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
SUFFIXES := .java, \
BIN := $(JBR_API_BIN_DIR), \
))
$(JBR_API_GENSRC_FILES): $(JBR_API_GENSRC_SOURCES) $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(ECHO) Generating sources for JBR API
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_GENSRC_TEMPLATES)/Gensrc.java" \
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_GENSRC_TEMPLATES)/CheckVersion.java" \
"$(JBR_API_ROOT_DIR)" "$(JBR_API_GENSRC_DIR)" "$(JBR_API_FAIL_ON_HASH_MISMATCH)"
jbr-api: $(BUILD_JBR_API) $(BUILD_JBR_API_SOURCES_JAR) jbr-api-check-version
.PHONY: jbr-api jbr-api-check-version
ifneq ($(JBR_API_CONF_FILE),)
$(JBR_API_CONF_FILE): $(JBR_API_GENSRC_FILES)
$(ECHO) "VERSION=`$(CAT) $(JBR_API_OUTPUT_DIR)/jbr-api.version`" > $(JBR_API_CONF_FILE)
$(ECHO) "JAR=$(JBR_API_OUTPUT_DIR)/jbr-api.jar" >> $(JBR_API_CONF_FILE)
$(ECHO) "SOURCES_JAR=$(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar" >> $(JBR_API_CONF_FILE)
jbr-api: $(JBR_API_CONF_FILE)
.PHONY: $(JBR_API_CONF_FILE)
endif

View File

@@ -1254,6 +1254,13 @@ ALL_TARGETS += clean clean-docs clean-compile-commands dist-clean $(CLEAN_DIR_TA
$(CLEAN_SUPPORT_DIR_TARGETS) $(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) \
$(CLEAN_MODULE_TARGETS) $(CLEAN_MODULE_PHASE_TARGETS)
################################################################################
# JBR API
jbr-api:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f JBRApi.gmk jbr-api)
ALL_TARGETS += jbr-api
################################################################################
# Declare *-only targets for each normal target
$(foreach t, $(ALL_TARGETS), $(eval $(t)-only: $(t)))

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

@@ -672,6 +672,16 @@ AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
fi
])
###############################################################################
# Evaluates platform specific overrides for build devkit variables.
# $1: Name of variable
AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
[
if test "x[$]$1" = x; then
eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
[

View File

@@ -112,7 +112,6 @@ AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
# unix format.
path="[$]$1"
new_path=`$CYGPATH -u "$path"`
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
@@ -402,8 +401,19 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
# simple cross compilation solution for fixpath for aarch64
# Final solution should be backport of 8257679
if test "x$COMPILE_TYPE-$OPENJDK_TARGET_CPU" = xcross-aarch64; then
FIXPATH_CC=`$ECHO "$CC"|$SED 's|/arm64/cl|/x64/cl|I'`
FIXPATH_LIB=`$ECHO "$LIB"|$SED 's|arm64|x64|gI'`
else
FIXPATH_CC=$CC
FIXPATH_LIB=$LIB
fi
OLDLIB=$LIB
export LIB="$FIXPATH_LIB"
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
$FIXPATH_CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
cd $CURDIR
if test ! -x $FIXPATH_BIN; then
@@ -414,9 +424,10 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
$FIXPATH $FIXPATH_CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
> $FIXPATH_DIR/fixpath2.log 2>&1
cd $CURDIR
export LIB="$OLDLIB"
if test ! -x $FIXPATH_DIR/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath2.log

View File

@@ -30,13 +30,13 @@
# First include the real base spec.gmk file
include @SPEC@
CC := @BUILD_CC@
CXX := @BUILD_CXX@
LD := @BUILD_LD@
LDCXX := @BUILD_LDCXX@
AS := @BUILD_AS@
CC := @FIXPATH@ @BUILD_CC@
CXX := @FIXPATH@ @BUILD_CXX@
LD := @FIXPATH@ @BUILD_LD@
LDCXX := @FIXPATH@ @BUILD_LDCXX@
AS := @FIXPATH@ @BUILD_AS@
NM := @BUILD_NM@
AR := @BUILD_AR@
AR := @FIXPATH@ @BUILD_AR@
OBJCOPY := @BUILD_OBJCOPY@
STRIP := @BUILD_STRIP@
SYSROOT_CFLAGS := @BUILD_SYSROOT_CFLAGS@

View File

@@ -705,7 +705,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DcpuIntel -Di586 -D$FLAGS_CPU_LEGACY_LIB"
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x$FLAGS_CPU" = xx86_64; then
if test "x$FLAGS_CPU" = xaarch64; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_ARM64_ -Darm64"
elif test "x$FLAGS_CPU" = xx86_64; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
else
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_X86_ -Dx86"

View File

@@ -188,20 +188,19 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x${OPENJDK_$1_CPU_BITS}" = "x32"; then
$1_CPU_EXECUTABLE_LDFLAGS="-stack:327680"
elif test "x${OPENJDK_$1_CPU_BITS}" = "x64"; then
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
fi
if test "x${OPENJDK_$1_CPU}" = "xx86"; then
$1_CPU_LDFLAGS="-safeseh"
# NOTE: Old build added -machine. Probably not needed.
$1_CPU_LDFLAGS_JVM_ONLY="-machine:I386"
$1_CPU_EXECUTABLE_LDFLAGS="-stack:327680"
else
$1_CPU_LDFLAGS_JVM_ONLY="-machine:AMD64"
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
fi
fi
# JVM_VARIANT_PATH depends on if this is build or target...
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
$1_LDFLAGS_JDK_LIBPATH="-libpath:${OUTPUTDIR}/support/modules_libs/java.base"
$1_LDFLAGS_JDK_LIBPATH="-libpath:\${SUPPORT_OUTPUTDIR}/modules_libs/java.base"
else
$1_LDFLAGS_JDK_LIBPATH="-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/${$1_JVM_VARIANT_PATH}"

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,17 @@ 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="$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="$JVM_BASIC_ASFLAGS $OS_CFLAGS \
-DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS"
fi
fi
])

View File

@@ -221,7 +221,7 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
if test "x$ENABLE_AOT" = "xtrue"; then
# Only enable AOT on X64 platforms.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64" ; then
if test -e "${TOPDIR}/src/jdk.aot"; then
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler"; then
ENABLE_AOT="true"
@@ -240,7 +240,7 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([AOT is currently only supported on x86_64 and aarch64. Remove --enable-aot.])
AC_MSG_ERROR([AOT is currently only supported on x86_64 and linux-aarch64. Remove --enable-aot.])
fi
fi
fi
@@ -364,6 +364,10 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
AC_MSG_CHECKING([if shenandoah can be built])
if HOTSPOT_CHECK_JVM_FEATURE(shenandoahgc); then
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
# Filter out Shenandoah from user requested features, as it's already in non-minimal set
if HOTSPOT_CHECK_JVM_VARIANT(minimal); then
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES, $JVM_FEATURES, shenandoahgc)
fi
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
@@ -371,6 +375,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
AC_MSG_RESULT([no, not enabled by default])
fi
# Only enable ZGC on supported platforms
@@ -420,7 +425,9 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
# Only enable jvmci on x86_64, sparcv9 and aarch64
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xwindows-aarch64" || \
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64" || \
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xmacosx-aarch64" ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_jvmci="jvmci"
INCLUDE_JVMCI="true"
@@ -451,10 +458,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
# By default enable graal build on x64 or where AOT is available.
# By default enable graal build on x64/aarch64 or where AOT is available.
# graal build requires jvmci.
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
test "x$ENABLE_AOT" = "xtrue") ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_graal="graal"

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

@@ -918,14 +918,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
. $CONFIGURESUPPORT_OUTPUTDIR/build-devkit.info
# This potentially sets the following:
# A descriptive name of the devkit
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_NAME])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_NAME])
# Corresponds to --with-extra-path
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_EXTRA_PATH])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_EXTRA_PATH])
# Corresponds to --with-toolchain-path
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_TOOLCHAIN_PATH])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_TOOLCHAIN_PATH])
# Corresponds to --with-sysroot
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_SYSROOT])
# Skip the Window specific parts
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_SYSROOT])
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_VS_INCLUDE])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_VS_LIB])
fi
fi
AC_MSG_CHECKING([for build platform devkit])
@@ -935,13 +939,37 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
AC_MSG_RESULT([$BUILD_DEVKIT_ROOT])
fi
BUILD_SYSROOT="$BUILD_DEVKIT_SYSROOT"
PATH="$BUILD_DEVKIT_EXTRA_PATH:$PATH"
# Fallback default of just /bin if DEVKIT_PATH is not defined
# Fallback default of just /bin if DEVKIT_PATH is not defined
if test "x$BUILD_DEVKIT_TOOLCHAIN_PATH" = x; then
BUILD_DEVKIT_TOOLCHAIN_PATH="$BUILD_DEVKIT_ROOT/bin"
fi
PATH="$BUILD_DEVKIT_TOOLCHAIN_PATH:$BUILD_DEVKIT_EXTRA_PATH"
PATH="$BUILD_DEVKIT_TOOLCHAIN_PATH:$PATH"
BUILD_SYSROOT="$BUILD_DEVKIT_SYSROOT"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BUILD_VS_INCLUDE="$BUILD_DEVKIT_VS_INCLUDE"
BUILD_VS_LIB="$BUILD_DEVKIT_VS_LIB"
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS([BUILD_])
fi
fi
else
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
# try to guess compiler layout. Final solution should be
# backport of 8257679. Try primitive approach for now
BUILD_CC=`$ECHO "$CC"|$SED 's|/arm64/cl|/x64/cl|I'`
BUILD_CXX=`$ECHO "$CXX"|$SED 's|/arm64/cl|/x64/cl|I'`
BUILD_AR=`$ECHO "$AR"|$SED 's|/arm64/lib|/x64/lib|I'`
BUILD_LD=`$ECHO "$LD"|$SED 's|/arm64/link|/x64/link|I'`
BUILD_SYSROOT_CFLAGS=`$ECHO "$SYSROOT_CFLAGS"|$SED 's|/arm64|/x64|gI'`
BUILD_SYSROOT_LDFLAGS=`$ECHO "$SYSROOT_LDFLAGS"|$SED 's|/arm64|/x64|gI'`
else
AC_MSG_ERROR([only windows-aarch64 cross compilation is supported so far])
fi
fi
fi
@@ -967,9 +995,37 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
BASIC_FIXUP_EXECUTABLE(BUILD_STRIP)
# Assume the C compiler is the assembler
BUILD_AS="$BUILD_CC -c"
# Just like for the target compiler, use the compiler as linker
BUILD_LD="$BUILD_CC"
BUILD_LDCXX="$BUILD_CXX"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# In the Microsoft toolchain we have a separate LD command "link".
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
AC_CHECK_PROG([BUILD_LD], [link$EXE_SUFFIX],[link$EXE_SUFFIX],,, [$CYGWIN_LINK])
BASIC_FIXUP_EXECUTABLE(BUILD_LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
# Reset PATH since it can contain a mix of WSL/linux paths and Windows paths from VS,
# which, in combination with WSLENV, will make the WSL layer complain
old_path="$PATH"
PATH=
"$BUILD_LD" --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([This is the Cygwin link tool. Please check your PATH and rerun configure.])
else
AC_MSG_RESULT([yes])
fi
PATH="$old_path"
BUILD_LDCXX="$BUILD_LD"
else
# Just like for the target compiler, use the compiler as linker
BUILD_LD="$BUILD_CC"
BUILD_LDCXX="$BUILD_CXX"
fi
PATH="$OLDPATH"
@@ -1025,6 +1081,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
if test "x$COMPILER_CPU_TEST" != "xx64"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "x64".])
fi
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$COMPILER_CPU_TEST" != "xARM64"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "arm64".])
fi
fi
fi

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
@@ -25,7 +25,7 @@
################################################################################
# The order of these defines the priority by which we try to find them.
VALID_VS_VERSIONS="2017 2013 2015 2012 2010"
VALID_VS_VERSIONS="2019 2017 2013 2015 2012 2010"
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
VS_VERSION_INTERNAL_2010=100
@@ -80,13 +80,27 @@ VS_VERSION_INTERNAL_2017=141
VS_MSVCR_2017=vcruntime140.dll
VS_MSVCP_2017=msvcp140.dll
VS_ENVVAR_2017="VS150COMNTOOLS"
VS_USE_UCRT_2017="true"
VS_USE_UCRT_2017="false"
VS_VS_INSTALLDIR_2017="Microsoft Visual Studio/2017"
VS_EDITIONS_2017="BuildTools Community Professional Enterprise"
VS_SDK_INSTALLDIR_2017=
VS_VS_PLATFORM_NAME_2017="v141"
VS_SDK_PLATFORM_NAME_2017=
VS_SUPPORTED_2017=true
VS_TOOLSET_SUPPORTED_2017=true
VS_DESCRIPTION_2019="Microsoft Visual Studio 2019"
VS_VERSION_INTERNAL_2019=142
VS_MSVCR_2019=vcruntime140.dll
VS_MSVCP_2019=msvcp140.dll
VS_ENVVAR_2019="VS160COMNTOOLS"
VS_USE_UCRT_2019="false"
VS_VS_INSTALLDIR_2019="Microsoft Visual Studio/2019"
VS_EDITIONS_2019="BuildTools Community Professional Enterprise"
VS_SDK_INSTALLDIR_2019=
VS_VS_PLATFORM_NAME_2019="v142"
VS_SDK_PLATFORM_NAME_2019=
VS_SUPPORTED_2019=true
################################################################################
@@ -98,7 +112,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
@@ -111,11 +125,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
if test -d "$VS_BASE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
VCVARSFILES="vc/bin/vcvars32.bat vc/auxiliary/build/vcvars32.bat"
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
VCVARSFILES="vc/bin/amd64/vcvars64.bat vc/bin/x86_amd64/vcvarsx86_amd64.bat \
vc/auxiliary/build/vcvarsx86_amd64.bat vc/auxiliary/build/vcvars64.bat"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# for host x86-64, target aarch64
VCVARSFILES="vc/auxiliary/build/vcvarsamd64_arm64.bat \
vc/auxiliary/build/vcvarsx86_arm64.bat"
fi
for VCVARSFILE in $VCVARSFILES; do
@@ -155,10 +173,12 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
elif test -f "$WIN_SDK_BASE/Bin/SetEnv.Cmd"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
VS_ENV_CMD="$WIN_SDK_BASE/Bin/SetEnv.Cmd"
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
VS_ENV_ARGS="/x86"
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
VS_ENV_ARGS="/x64"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
VS_ENV_ARGS="/arm64"
fi
# PLATFORM_TOOLSET is used during the compilation of the freetype sources (see
# 'LIB_BUILD_FREETYPE' in libraries.m4) and must be 'Windows7.1SDK' for Windows7.1SDK
@@ -177,6 +197,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 +213,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 +271,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 +433,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 +480,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
@@ -455,41 +494,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_SUBST(VS_INCLUDE)
AC_SUBST(VS_LIB)
# Convert VS_INCLUDE into SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in $VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
done
# Convert VS_LIB into SYSROOT_LDFLAGS
for i in $VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
done
IFS="$OLDIFS"
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS
fi
else
AC_MSG_RESULT([not found])
@@ -526,10 +531,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL],
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
else
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
CORRECT_MSVCR_ARCH=386
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
CORRECT_MSVCR_ARCH=x86-64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# The cygwin 'file' command only returns "PE32+ executable (DLL) (console), for MS Windows",
# without specifying which architecture it is for specifically. This has been fixed upstream.
# https://github.com/file/file/commit/b849b1af098ddd530094bf779b58431395db2e10#diff-ff2eced09e6860de75057dd731d092aeR142
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
fi
if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
@@ -549,24 +559,26 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
DLL_NAME="$1"
MSVC_DLL=
if test "x$OPENJDK_TARGET_CPU" = xx86; then
vs_target_cpu=x86
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
vs_target_cpu=x64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
vs_target_cpu=arm64
fi
if test "x$MSVC_DLL" = x; then
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
BASIC_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
if test "$VS_VERSION" -lt 2017; then
# Probe: Using well-known location from Visual Studio 12.0 and older
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
else
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
fi
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
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`"
else
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_INSTALL_DIR/Redist/MSVC/*/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
fi
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_INSTALL_DIR/Redist/MSVC/*/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
fi
# In case any of the above finds more than one file, loop over them.
for possible_msvc_dll in $POSSIBLE_MSVC_DLL; do
@@ -598,13 +610,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x64/ | $HEAD --lines 1`
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x86/ | $HEAD --lines 1`
fi
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /$vs_target_cpu/ | $HEAD --lines 1`
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VS100COMNTOOLS])
fi
@@ -614,17 +621,17 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
# Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
# (This was the original behaviour; kept since it might turn something up)
if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x64 | $HEAD --lines 1`
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $GREP -v arm64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVC_DLL" = x; then
# We're grasping at straws now...
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $HEAD --lines 1`
fi
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP $vs_target_cpu | $HEAD --lines 1`
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
@@ -708,8 +715,12 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
BASIC_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
dll_subdir=$OPENJDK_TARGET_CPU
if test "x$dll_subdir" = "xx86_64"; then
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
dll_subdir="arm64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
dll_subdir="x64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86"; then
dll_subdir="x86"
fi
UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
@@ -732,3 +743,49 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
fi
AC_SUBST(UCRT_DLL_DIR)
])
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
# that configure can use them while detecting compilers.
# TOOLCHAIN_TYPE is available here.
# Param 1 - Optional prefix to all variables. (e.g BUILD_)
AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS],
[
# Convert $1VS_INCLUDE into $1SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in [$]$1VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
done
# Convert $1VS_LIB into $1SYSROOT_LDFLAGS
for i in [$]$1VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
done
IFS="$OLDIFS"
AC_SUBST($1SYSROOT_CFLAGS)
AC_SUBST($1SYSROOT_LDFLAGS)
])

View File

@@ -28,16 +28,16 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=11
DEFAULT_VERSION_UPDATE=13
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2021-04-20
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
@@ -1008,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

@@ -43,38 +43,43 @@ ifneq ($(findstring $(OPENJDK_TARGET_OS), windows aix),)
endif
################################################################################
# Copy the microsoft runtime libraries on windows
# Copy the microsoft runtime libraries on windows, but only if we are not
# creating a buildjdk. If we are, the provided runtime librareis are made for
# the target platform, not the build platform (and we should not need to bundle
# anything with the minimalistic, locally-only buildjdk.)
ifeq ($(OPENJDK_TARGET_OS), windows)
ifneq ($(CREATING_BUILDJDK), true)
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
define copy-and-chmod
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
define copy-and-chmod
$(install-file)
$(CHMOD) a+rx $@
endef
endef
# Use separate macro calls in case the source files are not in the same
# directory.
$(eval $(call SetupCopyFiles,COPY_MSVCR, \
# Use separate macro calls in case the source files are not in the same
# directory.
$(eval $(call SetupCopyFiles,COPY_MSVCR, \
DEST := $(LIB_DST_DIR), \
FILES := $(MSVCR_DLL), \
MACRO := copy-and-chmod))
$(eval $(call SetupCopyFiles,COPY_MSVCP, \
$(eval $(call SetupCopyFiles,COPY_MSVCP, \
DEST := $(LIB_DST_DIR), \
FILES := $(MSVCP_DLL), \
MACRO := copy-and-chmod))
TARGETS += $(COPY_MSVCR) $(COPY_MSVCP)
TARGETS += $(COPY_MSVCR) $(COPY_MSVCP)
ifneq ($(UCRT_DLL_DIR), )
$(eval $(call SetupCopyFiles, COPY_UCRT_DLLS, \
ifneq ($(UCRT_DLL_DIR), )
$(eval $(call SetupCopyFiles, COPY_UCRT_DLLS, \
DEST := $(LIB_DST_DIR), \
SRC := $(UCRT_DLL_DIR), \
FILES := $(wildcard $(UCRT_DLL_DIR)/*.dll), \
MACRO := copy-and-chmod, \
))
))
TARGETS += $(COPY_UCRT_DLLS)
TARGETS += $(COPY_UCRT_DLLS)
endif
endif
endif

View File

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

View File

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

@@ -89,19 +89,23 @@ if [ ! -d $DEVKIT_ROOT/VC ]; then
REDIST_SUBDIR="VC/Redist/MSVC/14.12.25810"
echo "Copying VC..."
mkdir -p $DEVKIT_ROOT/VC/bin
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
mkdir -p $DEVKIT_ROOT/VC/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/arm64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x86" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/include" $DEVKIT_ROOT/VC/
mkdir -p $DEVKIT_ROOT/VC/atlmfc/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/arm64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x86" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/include" $DEVKIT_ROOT/VC/atlmfc/
mkdir -p $DEVKIT_ROOT/VC/Auxiliary
cp -r "$VS_INSTALL_DIR/VC/Auxiliary/Build" $DEVKIT_ROOT/VC/Auxiliary/
mkdir -p $DEVKIT_ROOT/VC/redist
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/arm64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x86" $DEVKIT_ROOT/VC/redist/
@@ -111,6 +115,8 @@ if [ ! -d $DEVKIT_ROOT/VC ]; then
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/arm64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
fi
################################################################################
@@ -128,8 +134,10 @@ if [ ! -d $DEVKIT_ROOT/$SDK_VERSION ]; then
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x64" $DEVKIT_ROOT/$SDK_VERSION/bin/
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x86" $DEVKIT_ROOT/$SDK_VERSION/bin/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/lib
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
@@ -164,6 +172,13 @@ echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlm
echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_aarch64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/arm64\""
################################################################################
# Copy this script

View File

@@ -0,0 +1,227 @@
#!/bin/bash
#
# Copyright (c) 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.
#
# This script copies parts of a Visual Studio installation into a devkit
# suitable for building OpenJDK and OracleJDK. Needs to run in Cygwin or WSL.
# erik.joelsson@oracle.com
VS_VERSION="2019"
VS_VERSION_NUM_NODOT="160"
VS_DLL_VERSION="140"
SDK_VERSION="10"
SDK_FULL_VERSION="10.0.17763.0"
MSVC_DIR="Microsoft.VC142.CRT"
MSVC_FULL_VERSION="14.12.27508"
REDIST_FULL_VERSION="14.20.27508"
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
################################################################################
# Prepare settings
UNAME_SYSTEM=`uname -s`
UNAME_RELEASE=`uname -r`
# Detect cygwin or WSL
IS_CYGWIN=`echo $UNAME_SYSTEM | grep -i CYGWIN`
IS_WSL=`echo $UNAME_RELEASE | grep Microsoft`
if test "x$IS_CYGWIN" != "x"; then
BUILD_ENV="cygwin"
elif test "x$IS_WSL" != "x"; then
BUILD_ENV="wsl"
else
echo "Unknown environment; only Cygwin and WSL are supported."
exit 1
fi
if test "x$BUILD_ENV" = "xcygwin"; then
WINDOWS_PATH_TO_UNIX_PATH="cygpath -u"
elif test "x$BUILD_ENV" = "xwsl"; then
WINDOWS_PATH_TO_UNIX_PATH="wslpath -u"
fi
# Work around the insanely named ProgramFiles(x86) env variable
PROGRAMFILES_X86="$($WINDOWS_PATH_TO_UNIX_PATH "$(cmd.exe /c set | sed -n 's/^ProgramFiles(x86)=//p' | tr -d '\r')")"
# Find Visual Studio installation dir
VSNNNCOMNTOOLS=`cmd.exe /c echo %VS${VS_VERSION_NUM_NODOT}COMNTOOLS% | tr -d '\r'`
if [ -d "$VSNNNCOMNTOOLS" ]; then
VS_INSTALL_DIR="$($WINDOWS_PATH_TO_UNIX_PATH "$VSNNNCOMNTOOLS/../..")"
else
VS_INSTALL_DIR="${PROGRAMFILES_X86}/Microsoft Visual Studio/2019"
VS_INSTALL_DIR="$(ls -d "${VS_INSTALL_DIR}/"{Community,Professional,Enterprise} 2>/dev/null | head -n1)"
fi
echo "VS_INSTALL_DIR: $VS_INSTALL_DIR"
# Extract semantic version
POTENTIAL_INI_FILES="Common7/IDE/wdexpress.isolation.ini Common7/IDE/devenv.isolation.ini"
for f in $POTENTIAL_INI_FILES; do
if [ -f "$VS_INSTALL_DIR/$f" ]; then
VS_VERSION_SP="$(grep ^SemanticVersion= "$VS_INSTALL_DIR/$f")"
# Remove SemnaticVersion=
VS_VERSION_SP="${VS_VERSION_SP#*=}"
# Remove suffix of too detailed numbering starting with +
VS_VERSION_SP="${VS_VERSION_SP%+*}"
break
fi
done
if [ -z "$VS_VERSION_SP" ]; then
echo "Failed to find SP version"
exit 1
fi
echo "Found Version SP: $VS_VERSION_SP"
# Setup output dirs
DEVKIT_ROOT="${BUILD_DIR}/VS${VS_VERSION}-${VS_VERSION_SP}-devkit"
DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
echo "Creating devkit in $DEVKIT_ROOT"
MSVCR_DLL=${MSVC_DIR}/vcruntime${VS_DLL_VERSION}.dll
VCRUNTIME_1_DLL=${MSVC_DIR}/vcruntime${VS_DLL_VERSION}_1.dll
MSVCP_DLL=${MSVC_DIR}/msvcp${VS_DLL_VERSION}.dll
################################################################################
# Copy Visual Studio files
TOOLS_VERSION="$(ls "$VS_INSTALL_DIR/VC/Tools/MSVC" | sort -r -n | head -n1)"
echo "Found Tools version: $TOOLS_VERSION"
VC_SUBDIR="VC/Tools/MSVC/$TOOLS_VERSION"
REDIST_VERSION="$(ls "$VS_INSTALL_DIR/VC/Redist/MSVC" | sort -r -n | head -n1)"
echo "Found Redist version: $REDIST_VERSION"
REDIST_SUBDIR="VC/Redist/MSVC/$REDIST_VERSION"
echo "Copying VC..."
rm -rf $DEVKIT_ROOT/VC
mkdir -p $DEVKIT_ROOT/VC/bin
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
mkdir -p $DEVKIT_ROOT/VC/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/arm64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x86" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/include" $DEVKIT_ROOT/VC/
mkdir -p $DEVKIT_ROOT/VC/atlmfc/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/arm64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x86" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/include" $DEVKIT_ROOT/VC/atlmfc/
mkdir -p $DEVKIT_ROOT/VC/Auxiliary
cp -r "$VS_INSTALL_DIR/VC/Auxiliary/Build" $DEVKIT_ROOT/VC/Auxiliary/
mkdir -p $DEVKIT_ROOT/VC/redist
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/arm64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x86" $DEVKIT_ROOT/VC/redist/
# The redist runtime libs are needed to run the compiler but may not be
# installed on the machine where the devkit will be used.
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/arm64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
################################################################################
# Copy SDK files
SDK_INSTALL_DIR="$PROGRAMFILES_X86/Windows Kits/$SDK_VERSION"
echo "SDK_INSTALL_DIR: $SDK_INSTALL_DIR"
SDK_FULL_VERSION="$(ls "$SDK_INSTALL_DIR/bin" | sort -r -n | head -n1)"
echo "Found SDK version: $SDK_FULL_VERSION"
UCRT_VERSION="$(ls "$SDK_INSTALL_DIR/Redist" | grep $SDK_VERSION | sort -r -n | head -n1)"
echo "Found UCRT version: $UCRT_VERSION"
echo "Copying SDK..."
rm -rf $DEVKIT_ROOT/$SDK_VERSION
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/bin
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x64" $DEVKIT_ROOT/$SDK_VERSION/bin/
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x86" $DEVKIT_ROOT/$SDK_VERSION/bin/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/lib
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
cp -r "$SDK_INSTALL_DIR/Redist/$UCRT_VERSION/ucrt" $DEVKIT_ROOT/$SDK_VERSION/Redist/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/include
cp -r "$SDK_INSTALL_DIR/include/$SDK_FULL_VERSION/"* $DEVKIT_ROOT/$SDK_VERSION/include/
################################################################################
# Generate devkit.info
echo-info() {
echo "$1" >> $DEVKIT_ROOT/devkit.info
}
echo "Generating devkit.info..."
rm -f $DEVKIT_ROOT/devkit.info
echo-info "# This file describes to configure how to interpret the contents of this devkit"
echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""
echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_x86=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_x86=\"\$DEVKIT_ROOT/VC/lib/x86;\$DEVKIT_ROOT/VC/atlmfc/lib/x86;\$DEVKIT_ROOT/$SDK_VERSION/lib/x86\""
echo-info "DEVKIT_MSVCR_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x86\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_x86_64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""
echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIME_1_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
echo-info "DEVKIT_VCRUNTIME_1_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$VCRUNTIME_1_DLL\""
echo-info "DEVKIT_MSVCP_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_aarch64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/arm64\""
echo-info ""
echo-info "DEVKIT_TOOLS_VERSION=\"$TOOLS_VERSION\""
echo-info "DEVKIT_REDIST_VERSION=\"$REDIST_VERSION\""
echo-info "DEVKIT_SDK_VERSION=\"$SDK_FULL_VERSION\""
echo-info "DEVKIT_UCRT_VERSION=\"$UCRT_VERSION\""
################################################################################
# Copy this script
echo "Copying this script..."
cp $0 $DEVKIT_ROOT/
################################################################################
# Create bundle
echo "Creating bundle: $DEVKIT_BUNDLE"
(cd "$DEVKIT_ROOT" && tar zcf "$DEVKIT_BUNDLE" .)

View File

@@ -63,6 +63,12 @@ ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
CPP_FLAGS += -x c
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
CPP_FLAGS += -nologo
ifeq ($(OPENJDK_TARGET_CPU),aarch64)
# cl.exe does only recognize few file extensions as valid (ex: .c, .h, .cpp), so
# make sure *.java.template files are recognized as valid input files
CPP_FILEPREFIX = -Tc
endif
endif
# Generate a java source file from a template through the C preprocessor for the
@@ -75,7 +81,7 @@ endif
define generate-preproc-src
$(call MakeDir, $(@D))
( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $< \
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $(CPP_FILEPREFIX) $< \
2> >($(GREP) -v '^$(<F)$$' >&2) \
| $(NAWK) '/@@START_HERE@@/,0' \
| $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \

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

@@ -78,6 +78,8 @@ $(eval $(call SetupNativeCompilation, BUILD_GTEST_LIBJVM, \
DISABLED_WARNINGS_clang := undef switch format-nonliteral \
tautological-undefined-compare $(BUILD_LIBJVM_DISABLED_WARNINGS_clang), \
DISABLED_WARNINGS_solstudio := identexpected, \
DISABLED_WARNINGS_microsoft := 4100 4127 4146 4201 4244 4291 4351 \
4511 4512 4514 4624 4996, \
LDFLAGS := $(JVM_LDFLAGS), \
LDFLAGS_solaris := -library=stlport4 $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JVM_LIBS), \

View File

@@ -164,6 +164,8 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio), \
DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
1540-1088 1500-010, \
DISABLED_WARNINGS_microsoft := 4100 4127 4146 4201 4244 4291 4351 \
4511 4512 4514 4624 4996, \
ASFLAGS := $(JVM_ASFLAGS), \
LDFLAGS := $(JVM_LDFLAGS), \
LIBS := $(JVM_LIBS), \

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

@@ -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, \
@@ -865,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
@@ -962,7 +960,6 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
-framework Cocoa \
-framework Security \
-framework ExceptionHandling \
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-framework OpenGL \
-framework QuartzCore -ljava, \
@@ -1000,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
-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)

File diff suppressed because it is too large Load Diff

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