Compare commits

..

1723 Commits

Author SHA1 Message Date
Maxim Kartashev
4946c1d628 fixup! JBR-4259 jb/build/CheckJBRModules.java fails on MacOS M1
(cherry picked from commit 37975e6b67)
2022-02-21 14:01:44 +03:00
Maxim Kartashev
5d78ecf49d JBR-4259 jb/build/CheckJBRModules.java fails on MacOS M1
(cherry picked from commit 24ccad3a09)
2022-02-21 14:01:31 +03:00
Vitaly Provodin
f2018f5b6f Revert "8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor"
This reverts commit 57ef6cbdb0.

This changes requires 8211999 otherwise it caused compilation failure
2022-02-19 05:07:59 +07:00
Maxim Kartashev
72674c1a59 fixup! fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized)
(cherry picked from commit f9483505d9)
2022-02-18 18:02:35 +03:00
Goetz Lindenmaier
6226fc9ad7 8281324: Bump update version for OpenJDK: jdk-11.0.14.1
Reviewed-by: sgehwolf, clanger
(cherry picked from commit 8359d7fe09)
2022-02-18 20:20:37 +07:00
Sergey Bylokhov
f1d5ab596d 8256321: Some "inactive" color profiles use the wrong profile class
Backport-of: a6c088131b
(cherry picked from commit 01c38c4ffa)
2022-02-18 20:20:32 +07:00
Dan Lutker
df2afadee8 8280999: array_bounds should be array-bounds after 8278507
Reviewed-by: phh, sgehwolf
(cherry picked from commit 85c81d9515)
2022-02-18 20:20:26 +07:00
Paul Hohensee
404e29cf0d 8266171: -Warray-bounds happens in imageioJPEG.c
Reviewed-by: serb
Backport-of: b1725550a2
(cherry picked from commit cfff97ad53)
2022-02-18 20:20:10 +07:00
Goetz Lindenmaier
22c2c6227e 8177814: jdk/editpad is not in jdk TEST.groups
Reviewed-by: mbaesken
Backport-of: cfe7471f17
(cherry picked from commit ef288cd3cc)
2022-02-18 20:16:52 +07:00
Bernhard Urban-Forster
8005e282a1 8279702: [macosx] ignore xcodebuild warnings on M1
Reviewed-by: clanger
Backport-of: 4b520f0001
(cherry picked from commit 10b18394e2)
2022-02-18 20:16:47 +07:00
Dmitry Cherepanov
4d70496d77 8280786: Build failure on Solaris after 8262392
Reviewed-by: bae, shade
(cherry picked from commit 6837e1484b)
2022-02-18 20:16:42 +07:00
Aleksey Shipilev
9e15e55b33 8218546: Unable to connect to https://google.com using java.net.HttpClient
Backport-of: 10a281c485
(cherry picked from commit b240c60427)
2022-02-18 20:16:36 +07:00
Aleksey Shipilev
2a2a6a325a 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
(cherry picked from commit b6df15056b)
2022-02-18 20:16:30 +07:00
Goetz Lindenmaier
dbbf3569ad 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Reviewed-by: stuefe
Backport-of: ff85659311
(cherry picked from commit 84ed967160)
2022-02-18 20:16:23 +07:00
Goetz Lindenmaier
6c2f5c0780 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
(cherry picked from commit 8352e3857b)
2022-02-18 20:16:17 +07:00
Goetz Lindenmaier
b74fd28ed0 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
(cherry picked from commit 9700ded633)
2022-02-18 20:16:12 +07:00
Liam Miller-Cushon
e37d63aad7 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: phh
Backport-of: 0f98701e87
(cherry picked from commit e279d07852)
2022-02-18 20:16:06 +07:00
Goetz Lindenmaier
43cba2e9d9 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
(cherry picked from commit e651f0943b)
2022-02-18 20:15:57 +07:00
Sergey Bylokhov
57ef6cbdb0 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Reviewed-by: phh
Backport-of: 03473b4c27

(cherry picked from commit d91ce05655)
2022-02-18 20:15:50 +07:00
Goetz Lindenmaier
6ed1924863 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
(cherry picked from commit 8ce956417d)
2022-02-18 20:05:27 +07:00
Goetz Lindenmaier
8b9d42b710 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: phh
Backport-of: b46f0b0b1f
(cherry picked from commit 809b01573e)
2022-02-18 20:05:26 +07:00
Goetz Lindenmaier
d5d30f7eba 8275610: C2: Object field load floats above its null check resulting in a segfault
Reviewed-by: phh
Backport-of: 7c6f57fcb1
(cherry picked from commit efe46bbf2f)
2022-02-18 20:05:10 +07:00
Sergey Bylokhov
2d25cd9203 8266421: Deadlock in Sound System
Reviewed-by: phh, aph
Backport-of: f6f82c3168
(cherry picked from commit 716ceb71ce)
2022-02-18 20:05:04 +07:00
Bernhard Urban-Forster
cccecfcbc8 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
(cherry picked from commit b5cae57381)
2022-02-18 20:04:59 +07:00
Yi-Fan Tsai
29eb63cee3 8232533: G1 uses only a single thread for pretouching the java heap
Backport-of: 9611320f69
(cherry picked from commit 914d48cbe8)
2022-02-18 20:04:53 +07:00
Goetz Lindenmaier
c39907cbb2 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
(cherry picked from commit ec039288ca)
2022-02-18 20:04:48 +07:00
Goetz Lindenmaier
9a991231a5 8268542: serviceability/logging/TestFullNames.java tests only 1st test case
Backport-of: 74007890bb
(cherry picked from commit cba6c0421b)
2022-02-18 20:04:42 +07:00
Goetz Lindenmaier
5cab50794d 8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
Backport-of: 6612598a13
(cherry picked from commit 521144c8b1)
2022-02-18 20:04:37 +07:00
Aleksey Shipilev
39463c969a 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
(cherry picked from commit f69e75f143)
2022-02-18 20:04:32 +07:00
Aleksey Shipilev
60e2562f07 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
(cherry picked from commit 574c04c098)
2022-02-18 20:04:26 +07:00
Zhengyu Gu
e650755000 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
(cherry picked from commit 5ffd40d3eb)
2022-02-18 20:04:20 +07:00
Goetz Lindenmaier
5dd9e9cba8 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Reviewed-by: mdoerr
Backport-of: 6f0e8da6d3
(cherry picked from commit 0c4803b5ec)
2022-02-18 20:04:16 +07:00
Goetz Lindenmaier
72ce289d89 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
(cherry picked from commit 3352b565dc)
2022-02-18 20:04:10 +07:00
Goetz Lindenmaier
b9c43dda92 8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests
Backport-of: c98fd38979
(cherry picked from commit ad94355583)
2022-02-18 20:04:03 +07:00
Goetz Lindenmaier
7d95a25d1f 8252005: narrow disabling of allowSmartActionArgs in vmTestbase
Backport-of: b2da6e1a90
(cherry picked from commit 9ca6369971)
2022-02-18 20:03:55 +07:00
Aleksey Shipilev
6ed50e9bf6 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Reviewed-by: aph
Backport-of: 4d9b3f4cee
(cherry picked from commit 66bdaa2f57)
2022-02-18 20:03:49 +07:00
Liam Miller-Cushon
f9d533e962 8193277: SimpleFileObject inconsistency between getName and getShortName
Backport-of: 0720686823
(cherry picked from commit 4a5caa00b6)
2022-02-18 20:03:43 +07:00
Liam Miller-Cushon
b9963d16f6 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
(cherry picked from commit e7b89f7df9)
2022-02-18 20:03:37 +07:00
Liam Miller-Cushon
55c27b612c 8220634: SymLinkArchiveTest should handle not being able to create symlinks
Reviewed-by: phh
Backport-of: ab3f5e3e15
(cherry picked from commit 5ab97c4d50)
2022-02-18 20:03:32 +07:00
Liam Miller-Cushon
3ae18852c0 8214026: Canonicalized archive paths appearing in diagnostics
Backport-of: bddbbd85f9
(cherry picked from commit a29949b1bb)
2022-02-18 20:03:27 +07:00
Goetz Lindenmaier
fcbf053daf 8251126: nsk.share.GoldChecker should read golden file from ${test.src}
Backport-of: b37b1a391a
(cherry picked from commit 538013a2a1)
2022-02-18 20:03:22 +07:00
Goetz Lindenmaier
d149273af6 8237798: rewrite vmTestbase/jit/tiered from shell to java
Backport-of: fc8d71b119
(cherry picked from commit fac0f5a93a)
2022-02-18 20:03:16 +07:00
Goetz Lindenmaier
b9a67c7bf4 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Reviewed-by: mbaesken
Backport-of: 4d95a5d6dc
(cherry picked from commit f5ade3e0ba)
2022-02-18 20:03:11 +07:00
Aleksey Shipilev
b4c236741e 8210194: [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback
Backport-of: 3c135ae705
(cherry picked from commit 89f4d44106)
2022-02-18 20:03:04 +07:00
Goetz Lindenmaier
2ab2b9ea35 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
(cherry picked from commit 898b8de87d)
2022-02-18 20:02:58 +07:00
Goetz Lindenmaier
508c332e87 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: 2cac565b24
(cherry picked from commit e3da580443)
2022-02-18 20:02:53 +07:00
Goetz Lindenmaier
94ace9689a 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
(cherry picked from commit 96c8499014)
2022-02-18 20:02:47 +07:00
Goetz Lindenmaier
067253b0fc 8251132: make main classes public in vmTestbase/jit tests
Backport-of: 65577cf58a
(cherry picked from commit 3a96302cf3)
2022-02-18 20:02:39 +07:00
Goetz Lindenmaier
ce0e60216a 8249019: clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests
Backport-of: c5ad1daa96
(cherry picked from commit ffbef52899)
2022-02-18 20:02:28 +07:00
Maxim Kartashev
4dc5363ceb fixup! fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized)
(cherry picked from commit 4fd22dd235)
2022-02-17 15:39:54 +03:00
Maxim Kartashev
c252c6fcdb fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized)
(cherry picked from commit ce379a03cd)
2022-02-17 15:39:11 +03:00
Maxim Kartashev
5de37a8a24 JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized)
(cherry picked from commit da41adf366)
2022-02-17 15:39:03 +03:00
Alexey Ushakov
11772e9a27 JBR-4224 java/awt/image/VolatileImage/GradientPaints.java: Number of mismatches (300000) exceeds limit (54000) with tolerance=5
Updated reg test to handle contentLost event

(cherry picked from commit 7978c05ee5)
2022-02-15 07:38:15 +07:00
Alexey Ushakov
67a738bdf7 JBR-4177 libc++abi: terminating with uncaught exception of type NSException
Added check for AppContext

(cherry picked from commit d9366800c8)
2022-02-15 07:31:25 +07:00
Alexey Ushakov
446928e165 JBR-4164 IDEs cannot be launched via launch configuration
Moved execution of displayChanged() to EDT

(cherry picked from commit 69922b5fc7)
2022-02-15 07:30:34 +07:00
Maxim Kartashev
9114056d58 JBR-3950 javax/swing/JFormattedTextField/TestSelectedTextBackgroundColor.java: The expected background color for Selected Text was not found
The Gtk API for capturing images works with unscaled coordinates and
sizes, but Robot pre-scales both even before passing the data to the
native code. This commit undoes that for Gtk3 in the native code.

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

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

(cherry picked from commit 93ba9e86f9)
2022-02-15 07:25:57 +07:00
Alexey Ushakov
1dbdaa7859 JBR-4150 IDE regularly locks up at sun.lwawt.macosx.LWCToolkit.getScreenInsets
Restored caching screen insets. Added handling of dock resize.

(cherry picked from commit 5f459e639f)
2022-02-15 07:25:57 +07:00
Alexey Ushakov
4049151485 JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Removed double allocation of surface data

(cherry picked from commit 7d87735e57)
2022-02-15 07:25:57 +07:00
Maxim Kartashev
3ecbafef41 JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The problem: the crashes occur in createStatusWindow() when calls like
adata->AwtColorMatch() end up going to 0x0 pc or some random inaccessible
memory. The only reason for that seems to be the
getDefaultConfig(screen) returning either NULL or garbage. That, in turn, probably
happens because of the wrong screen number provided. Before JBR-3623 was
fixed, awt_numScreens could've changed between the time the screen
number was chosen and the getDefaultConfig() call. After JBR-3623 was
fixed, this change is protected with the AWT lock, which this code
holds.
The fix: obtain the screen number via the Xlib API rather than the
ad-hoc loop though the root windows and return NULL if
getDefaultConfig() doesn't return useable data.

(cherry picked from commit 3d23e8d6a5)
2022-02-15 07:25:57 +07:00
Mikhail Grishchenko
bf3a661d11 update jtreg exclude list
actualize jbProblemList.txt after 11.0.14 CPU
2022-02-14 17:27:52 +07:00
KIRIYAMA Takuya
1bb4ff0f53 JBR-4216 - backport fix for JDK-8277866
8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size

Reviewed-by: tschatzl, shade
(cherry picked from commit cf0aef62a5)
2022-02-14 16:46:27 +07:00
Maxim Kartashev
a1c359a417 fixup! JBR-4118 NIO methods fail on Google Drive's virtual volume
(cherry picked from commit abe769be4b)
2022-02-08 08:07:24 +03:00
Maxim Kartashev
e446f32efc JBR-4118 NIO methods fail on Google Drive's virtual volume
If NtQueryDirectoryFile() failed with STATUS_INVALID_PARAMETER,
try again asking for less information with the FileDirectoryInformation
option as "information class". This option works on a mounted
Google Drive, but it doesn't provide file ids, which speed
up file listing. So it is used only as a fall-back solution.

(cherry picked from commit 82693aa985)
2022-02-08 08:07:13 +03:00
Vitaly Provodin
ac9668b30c JBR-4221 set toolchain to VS 2017
(cherry picked from commit 1860de168c)
2022-02-04 17:22:36 +07:00
Vitaly Provodin
acac089b3b resolve conflicts between dcevm and 11.0.14 update
(cherry picked from commit 5d1326f675)
2022-02-04 17:22:36 +07:00
Martin Balao
90b3807756 8217375: jarsigner breaks old signature with long lines in manifest
8268795: Enhance digests of Jar files

Reviewed-by: mbaesken
Backport-of: b6d1b1e085
2022-02-04 17:20:10 +07:00
Yuri Nesterenko
c60853d6af 8270498: Improve SAX Parser configuration management
Reviewed-by: mbalao
Backport-of: ecb210277a93f2f8d87b1dee34eb1e7fe3c8625d
2022-02-04 17:20:08 +07:00
Andrew John Hughes
b52b033335 8279541: Improve HarfBuzz
Reviewed-by: mbaesken
2022-02-04 17:20:05 +07:00
Martin Balao
61856e96e4 8268801: Improve PKCS attribute handling
Reviewed-by: mbaesken
2022-02-04 17:20:02 +07:00
Aleksei Voitylov
9e7cfee3d8 8272026: Verify Jar Verification
Reviewed-by: mbaesken, mbalao
Backport-of: 0e2b2951adc965d6b71ffbc63b4293fd9fb68eaa
2022-02-04 17:19:56 +07:00
Andrew Brygin
c6c523b9ef 8273756: Enhance BMP image support
Reviewed-by: mbaesken
Backport-of: 2ee2053a0dde445237924f136c859c8b18ab882e
2022-02-04 17:19:52 +07:00
Martin Balao
66d8340362 8273968: JCK javax_xml tests fail in CI
Backport-of: d1910329352e878badf8fdc6634a177dd4745d4a
2022-02-04 17:19:50 +07:00
Aleksei Voitylov
e9160e13b0 8270416: Enhance construction of Identity maps
Reviewed-by: mbaesken
Backport-of: d445bf3f60c654bee77dcabe86f6fa28eaf5abfa
2022-02-04 17:19:47 +07:00
Tianmin Shi
d03bf1fd5f 8270392: Improve String constructions
Reviewed-by: mbaesken
Backport-of: bfa21d073b1e301919bbe1f46fa4182958f458f0
2022-02-04 17:19:45 +07:00
Joshua Cao
667c3cd54d 8270386: Better verification of scan methods
Reviewed-by: mbaesken
Backport-of: ac329cef45979bd0159ecd1347e36f7129bb2ce4
2022-02-04 17:19:43 +07:00
Martin Balao
92daafba70 8268494: Better inlining of inlined interfaces
Reviewed-by: adinn
Backport-of: 3c7fbbd703a50a9762e7f7dbafa8d44191346f52
2022-02-04 17:19:40 +07:00
Martin Balao
a208781e6b 8268488: More valuable DerValues
Reviewed-by: mbaesken
Backport-of: 99f72cf1c44c58682d93a81ee76ef9c3707152a9
2022-02-04 17:19:38 +07:00
Yuri Nesterenko
64fec162b4 8274096: Improve decoding of image files
Reviewed-by: mbaesken
Backport-of: 62ce0cd73a2dc0c7e3e65783a2707a0984ba4acf
2022-02-04 17:19:35 +07:00
Andrew Brygin
e63655af97 8273838: Enhanced BMP processing
Reviewed-by: mbaesken
Backport-of: f5cc6f23a46bee06731fdd2b257c8ea8007eebad
2022-02-04 17:19:33 +07:00
Aleksei Voitylov
298995beb0 8273290: Enhance sound handling
Backport-of: 5d4a8f3c9ca82ed501944c670823b5de5e1ba344
2022-02-04 17:19:30 +07:00
Aleksei Voitylov
bacfff4fa4 8272462: Enhance image handling
Backport-of: 3d1745d54b93a62a7f404e33c70211db0e31d536
2022-02-04 17:19:28 +07:00
Aleksei Voitylov
d8de352bfa 8272272: Enhance jcmd communication
Backport-of: 1a67dd1ba853d535c718840dcdada12e1b312eb8
2022-02-04 17:19:26 +07:00
Aleksei Voitylov
782292eb4a 8272236: Improve serial forms for transport
Reviewed-by: mbaesken
Backport-of: ed0621893e7c365673ed87fbd4aca2bca27b9b73
2022-02-04 17:19:25 +07:00
Tianmin Shi
d7d7ba788a 8272014: Better array indexing
Backport-of: 937c31d896d05aa24543b74e98a2ea9f05b5d86f
2022-02-04 17:19:23 +07:00
Joshua Cao
223a718f37 8271987: Manifest improved manifest entries
Backport-of: 885f3699edf517d11d17607aad41e32d059f547a
2022-02-04 17:19:22 +07:00
Aleksei Voitylov
761a8c4502 8271968: Better canonical naming
Backport-of: a716aacb662bb49aa5b1e805175196c29d8cb77a
2022-02-04 17:19:21 +07:00
Aleksei Voitylov
58c91a0f4a 8271962: Better TrueType font loading
Reviewed-by: mbaesken
Backport-of: 27827c186c43a7a2d983788f6d5e8b7f31e5e079
2022-02-04 17:18:59 +07:00
Andrew Brygin
3b2d1cb3bd 8270952: Improve TIFF file handling
Reviewed-by: mbaesken
Backport-of: 4db9acd53f549cac1603c6c41566b16ee939c04b
2022-02-04 17:18:57 +07:00
Sergey Bylokhov
6a2b1e4665 8270646: Improved scanning of XML entities
Reviewed-by: mbalao
Backport-of: 2b6dad98a6739df983a01b96cffea971268d1523
2022-02-04 17:18:53 +07:00
Yuri Nesterenko
239be1da01 8270492: Better resolution of URIs
Reviewed-by: mbaesken
Backport-of: ceda336a2ddea62e2ff8df653f54e08d45fc197a
2022-02-04 17:18:50 +07:00
Clive Verghese
a31963702c 8269944: Better HTTP transport redux
Backport-of: 0e123d6e0e50cdac714a001b9f67dfc7c1c2b293
2022-02-04 17:18:48 +07:00
Martin Balao
5daf188b45 8269151: Better construction of EncryptedPrivateKeyInfo
Backport-of: 9fd7b2d4f333834f03a0e4fbc1e2a7d867331961
2022-02-04 17:18:46 +07:00
Oli Gillespie
bd1e2b0ac9 8273308: PatternMatchTest.java fails on CI
Backport-of: 1a5bacfcf8e0c22e49b29c0f484f0e879227dc05
2022-02-04 17:18:44 +07:00
Oli Gillespie
d654338a93 8268813: Better String matching
Backport-of: c1b73a786d5881315cb7119d89f719b79c6a0c67
2022-02-04 17:18:41 +07:00
Martin Balao
cb589443ed 8268512: More content for ContentInfo
Backport-of: 4a1ea63840ec90e52c036c408baef4a1cf0abdff
2022-02-04 17:18:39 +07:00
Martin Balao
70045df5e1 8264934: Enhance cross VM serialization
Backport-of: 4369957f6699993d94481c766348fb554d53cd6d
2022-02-04 17:18:37 +07:00
Tyler Steele
b42652d3fd 8210205: build fails on AIX in hotspot cpp tests (for example getstacktr001.cpp)
fixes name collision preventing build.

Reviewed-by: phh, aleonard, clanger
Backport-of: 45fb620218
2022-02-04 17:18:35 +07:00
Martin Doerr
440a588e36 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: goetz
Backport-of: 01cb2b9883
2022-02-04 17:18:33 +07:00
Martin Doerr
3fa2b0c0ef 8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
Reviewed-by: goetz
Backport-of: 3e3051e2ee
2022-02-04 17:18:31 +07:00
Martin Doerr
aef06c62cc 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
Reviewed-by: clanger, dfuchs
Backport-of: 03debf2775
2022-02-04 17:18:28 +07:00
Mat Carter
96e119d2fc 8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
Backport-of: df332ff6e8
2022-02-04 17:18:25 +07:00
Reka Kovacs
19fcd6e265 8252114: Windows-AArch64: Enable and test ZGC and ShenandoahGC
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: shade
Backport-of: 96f722cf63
2022-02-04 17:18:23 +07:00
Mat Carter
0a561ba700 8255264: Support for identifying the full range of IPv4 localhost addresses on Windows
Backport-of: 7e01bc967d
2022-02-04 17:18:21 +07:00
Goetz Lindenmaier
4949f7bc25 8212148: Remove remaining NSK_CPP_STUBs
Remove remaining macros

Backport-of: a623db2148
2022-02-04 17:18:19 +07:00
Zhengyu Gu
93d020b51e 8236042: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -Xcomp -XX:TieredStopAtLevel=1
Modify the test case to handle the scenario's of no printmdo's.

Reviewed-by: phh
Backport-of: 9376dd810c
2022-02-04 17:18:17 +07:00
Zhengyu Gu
d8a669d413 8223400: Replace some enums with static const members in hotspot/runtime
Backport-of: 41bd7c5e76
2022-02-04 17:18:16 +07:00
Goetz Lindenmaier
191fff54cf 8211899: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[E-M]
Remove the NSK_CPP_STUB macros from tests

Backport-of: d63acb557c
2022-02-04 17:18:10 +07:00
Goetz Lindenmaier
9a0f83e523 8212083: Handle remaining gc/lock native code and fix two strings
Migrate code to using wrapping JNI for exceptions

Backport-of: 7afa70096a
2022-02-04 17:17:56 +07:00
Goetz Lindenmaier
0232174978 8212082: Remove the NSK_CPP_STUB macros for remaining vmTestbase/jvmti/[sS]*
Remove NSK_CPP_STUB macros from the tests

Reviewed-by: mdoerr
Backport-of: e431f6a418
2022-02-04 17:17:54 +07:00
Goetz Lindenmaier
4c7bf765b0 8211432: [REDO] Handle JNIGlobalRefLocker.cpp
Adding a JNI verification wrapper for tests

Backport-of: b68500521e
2022-02-04 17:17:53 +07:00
Thomas Stuefe
6fb9fe4252 8261661: gc/stress/TestReclaimStringsLeaksMemory.java fails because Reserved memory size is too big
Reviewed-by: shade
Backport-of: 735757f1e0
2022-02-04 17:17:48 +07:00
Alex Kasko
eb7c83f1c2 8270290: NTLM authentication fails if HEAD request is used
Backport-of: 3e0d7c33d4
2022-02-04 17:17:35 +07:00
Goetz Lindenmaier
9673df9d82 8211782: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[I-S]*
Remove the NSK_CPP_STUB macros

Reviewed-by: mdoerr
Backport-of: 61f453edf7
2022-02-04 17:17:30 +07:00
Goetz Lindenmaier
4b537a0ecb 8211036: Remove the NSK_STUB macros from vmTestbase for non jvmti
Remove the NSK_STUB macros from code outside of the jvmti subfolder

Backport-of: b20e2cd963
2022-02-04 17:17:28 +07:00
Mat Carter
d816970e63 8250521: Configure initial RTO to use minimal retry for loopback connections on Windows
Backport-of: c2fa441d8d
2022-02-04 17:17:27 +07:00
Reka Kovacs
6eeea209e7 8248238: Implementation: JEP 388: Windows AArch64 Support 8272181: Windows-AArch64:Backport fix of Backtracing broken on PAC enabled systems
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>
Reviewed-by: burban, aph, adinn, mbeckwit
Backport-of: 9604ee8269
2022-02-04 17:16:48 +07:00
Martin Doerr
7daaa98748 8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
Backport-of: 49f8ce6e9c
2022-02-04 17:16:37 +07:00
Martin Doerr
da4e8b36d6 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
Backport-of: 6bb04626af
2022-02-04 17:16:35 +07:00
Christoph Langer
9d849a2c73 8277815: Fix mistakes in legal header backports
Reviewed-by: aph
2022-02-04 17:16:22 +07:00
Goetz Lindenmaier
d2895cddc7 8211801: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[A-E]
Remove the NSK_CPP_STUB macros

Backport-of: efa175f20e
2022-02-04 17:16:09 +07:00
Goetz Lindenmaier
61eff1e70f 8211905: Remove multiple casts for EM06 file
Remove multiple casts for EM06 file

Backport-of: 11da699d9e
2022-02-04 17:16:08 +07:00
Goetz Lindenmaier
d4379c7aa1 8211131: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[G-I]*
Remove the NSK_CPP_STUB macros

Backport-of: 85c6642e38
2022-02-04 17:16:01 +07:00
Goetz Lindenmaier
4fa1ded86d 8211261: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[A-G]*
Remove the NSK_CPP_STUB macros

Backport-of: 57622ed115
2022-02-04 17:15:52 +07:00
Goetz Lindenmaier
22dbf257fd 8210984: [TESTBUG] hs203t003 fails with "# ERROR: hs203t003.cpp, 218: NSK_CPP_STUB2 ( ResumeThread, jvmti, thread)"
Backport-of: c0fd523c05
2022-02-04 17:15:44 +07:00
Goetz Lindenmaier
902e756517 8210689: Remove the multi-line old C style for string literals
Remove the multi-line old C style and prefer C++ multi-line

Backport-of: 64099fc1cc
2022-02-04 17:15:36 +07:00
Goetz Lindenmaier
f93d91936d 8210726: Fix up a few minor nits forgotten by JDK-8210665
Minor changes to 4 tests to make one-liners

Backport-of: fddc4b8ccb
2022-02-04 17:15:28 +07:00
Goetz Lindenmaier
5e2f21d074 8210385: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[A-N] tests
Remove JNI_ENV and JVMTI_ENV macros for part of the jvmti tests

Backport-of: fe326ad022
2022-02-04 17:15:20 +07:00
Andrew Haley
41bcb53d5b 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Reviewed-by: shade, xliu
Backport-of: 4f3b626a36
2022-02-04 17:15:11 +07:00
Jie Fu
5767394814 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
Reviewed-by: phh
Backport-of: 2af9e5976f
2022-02-04 17:15:09 +07:00
Goetz Lindenmaier
f49cc95db5 8210700: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti/unit tests
Remove JNI_ENV macros from the remaining vmTestbase tests

Backport-of: bdf78f557a
2022-02-04 17:14:57 +07:00
Goetz Lindenmaier
b8e8ec161a 8210481: Remove #ifdef cplusplus from vmTestbase
Remove all cplusplus ifdefs from vmTestbase

Reviewed-by: stuefe
Backport-of: 510336c210
2022-02-04 17:14:42 +07:00
Goetz Lindenmaier
8ebf85f225 8210665: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[R-U] tests
Remove JNI_ENV and JVMTI_ENV macros from jvmti/[R-U] tests

Backport-of: 85b57de9ce
2022-02-04 17:14:39 +07:00
Goetz Lindenmaier
48d08be27c 8210593: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti[N-R] tests
Remove JNI_ENV/JVMTI_ENV macros from N to R jvmti tests

Backport-of: 6a2e4311f5
2022-02-04 17:14:29 +07:00
Goetz Lindenmaier
6dcfca7050 8210429: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[G-Z] tests
Remove the JNI_ENV_ARG for the rest of the Get[G-Z]

Backport-of: d90f0a51c2
2022-02-04 17:14:21 +07:00
Zhengyu Gu
65c225d72f 8210242: [TESTBUG] vmTestbase/nsk/stress/jni/jnistress001.java crashes with EXCEPTION_ACCESS_VIOLATION on windows-x86
Non-NUL-terminated string was passed to %s - use %.*s to specify the actual length.

Backport-of: 3837f1abc1
2022-02-04 17:14:11 +07:00
Adam Farley
d67bb0e0e6 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
Backport-of: fc0fe25679
2022-02-04 17:14:02 +07:00
Ilarion Nakonechnyy
ff4bf09649 8273026: Slow LoginContext.login() on multi threading application
Reviewed-by: clanger
Backport-of: c0cda1db4f
2022-02-04 17:14:00 +07:00
Goetz Lindenmaier
0e0ae0ec40 8210198: Clean up JNI_ENV_ARG for vmTestbase/jvmti/Get[A-F] tests
Remove JNI_ENV macros from the Get[A-F] tests

Backport-of: d256eb923b
2022-02-04 17:13:45 +07:00
Goetz Lindenmaier
b84e37aefe 8210182: Remove macros for C compilation from vmTestBase but non jvmti
Remove the macros and update the code

Backport-of: d0560a2860
2022-02-04 17:13:35 +07:00
Goetz Lindenmaier
6de49524ac 8226943: compile error in libfollowref003.cpp with XCode 10.2 on macosx
Backport-of: 4dececb589
2022-02-04 17:13:32 +07:00
Goetz Lindenmaier
b6d81b5edb 8209611: use C++ compiler for hotspot tests
Reviewed-by: mbaesken, stuefe
Backport-of: 8c47dc4a94
2022-02-04 17:13:30 +07:00
Joshua Cao
6b5714699e 8274860: gcc 10.2.1 produces an uninitialized warning in sharedRuntimeTrig.cpp
Reviewed-by: phh
2022-02-04 17:12:50 +07:00
Thomas Stuefe
20e6f97d06 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
Backport-of: b8d33a2a4e
2022-02-04 17:12:41 +07:00
Martin Doerr
c114524a79 8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
Backport-of: ad3be04d2a
2022-02-04 17:12:34 +07:00
Martin Doerr
93ecd20d81 8275766: (tz) Update Timezone Data to 2021e
8275849: TestZoneInfo310.java fails with tzdata2021e

Backport-of: 5b4e39863d
2022-02-04 17:12:31 +07:00
Jie Fu
4c0cde28f8 8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64
Backport-of: b1d1499356
2022-02-04 17:12:29 +07:00
Aleksey Shipilev
3ee1edef07 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
Backport-of: 465d350d0b
2022-02-04 17:12:22 +07:00
Aleksey Shipilev
f265a97bc3 8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
Backport-of: 4bc9b04984
2022-02-04 17:12:19 +07:00
Goetz Lindenmaier
caafe0ff52 8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens
Reviewed-by: phh
Backport-of: 65bfe0928a
2022-02-04 17:09:23 +07:00
Goetz Lindenmaier
601e2844ad 8202342: [Graal] fromTonga/nsk/jvmti/unit/FollowReferences/followref003/TestDescription.java fails with "Location mismatch" errors
Backport-of: f1553a5f0f
2022-02-04 17:09:20 +07:00
Zhengyu Gu
9521f5cc5e 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
Reviewed-by: shade
Backport-of: dbf5100dd7
2022-02-04 17:09:19 +07:00
Goetz Lindenmaier
05d8192e9b 8034084: nsk.nsk/jvmti/ThreadStart/threadstart003 Wrong number of thread end events
Backport-of: 14bb47410b
2022-02-04 17:09:17 +07:00
Christoph Langer
c081e28716 8258457: testlibrary_tests/ctw/JarDirTest.java fails with InvalidPathException on windows
Reviewed-by: mdoerr
Backport-of: 40ef00cebf
2022-02-04 17:09:14 +07:00
Goetz Lindenmaier
7abd4a6476 8201224: Make string buffer size dynamic in mlvmJvmtiUtils.c
Calculate the string size for the buffer first

Backport-of: 49b859b9d3
2022-02-04 17:09:11 +07:00
Goetz Lindenmaier
8c3b0f98a2 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
Backport-of: 633eab23f0
2022-02-04 17:09:08 +07:00
Goetz Lindenmaier
c42b20a082 8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception
Backport-of: c2867d6577
2022-02-04 17:09:06 +07:00
Petra Mikova
635d1990c3 8208242: Add @requires to vmTestbase/gc/g1 tests
Added classunloading must not be disabled and G1 is required to g1/unloading tests

Backport-of: dc45757347
2022-02-04 17:09:04 +07:00
Thomas Stuefe
0910a07756 8261916: gtest/GTestWrapper.java vmErrorTest.unimplemented1_vm_assert failed
Reviewed-by: clanger
Backport-of: 8c1112a690
2022-02-04 17:09:02 +07:00
Aleksey Shipilev
7e0d56f6c3 8276550: Use SHA256 hash in build.tools.depend.Depend
Reviewed-by: andrew
Backport-of: afb502e28a
2022-02-04 17:09:00 +07:00
Andrew John Hughes
d1b4b3ba5c 8236596: HttpClient leaves HTTP/2 sockets in CLOSE_WAIT, when using proxy tunnel
Changes Http2ClientImpl::stop to close the TCP connection after sending out the GOAWAY frame.

Backport-of: 9085b7bdc7
2022-02-04 17:08:58 +07:00
Aleksey Shipilev
f7566bae15 8276854: Windows GHA builds fail due to broken Cygwin
Reviewed-by: aph, clanger
Backport-of: 403f3185f0
2022-02-04 17:08:56 +07:00
Christoph Langer
15c101197d 8198617: java/awt/Focus/6382144/EndlessLoopTest.java fails on mac
Backport-of: ce48f04085
2022-02-04 17:08:55 +07:00
Christoph Langer
046f686bf0 8136517: [macosx]Test java/awt/Focus/8073453/AWTFocusTransitionTest.java fails on MacOSX
Backport-of: 0438cea65b
2022-02-04 17:08:53 +07:00
Zhengyu Gu
b6dd49f095 8276943: Backout JDK-8274338 11u backport
Reviewed-by: goetz, sgehwolf
2022-02-04 17:08:52 +07:00
Aleksey Shipilev
ac081a6737 8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
Backport-of: c0533ef2d8
2022-02-04 17:08:50 +07:00
Christoph Langer
575cb20dbf 8171381: [TEST_BUG] [macos] javax/swing/JPopupMenu/7156657/bug7156657.java fails on OS X
Backport-of: ca6b1b49ab
2022-02-04 17:08:49 +07:00
Christoph Langer
c2b1cf69c7 8233562: [TESTBUG] Swing StyledEditorKit test bug4506788.java fails on MacOS
Backport-of: 4107670d62
2022-02-04 17:08:48 +07:00
Jie Fu
785306f357 8264526: javax/swing/text/html/parser/Parser/8078268/bug8078268.java timeout
Backport-of: da643cdb20
2022-02-04 17:08:47 +07:00
Jie Fu
7a6ea6430c 8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines
Backport-of: 0daec497fe
2022-02-04 17:08:33 +07:00
Alexey Pavlyutkin
a2c6600c12 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
Reviewed-by: aph
Backport-of: 6750c34c92
2022-02-04 17:08:31 +07:00
Christoph Langer
4c8c833096 8233561: [TESTBUG] Swing text test bug8014863.java fails on macos
Backport-of: 9beb866b12
2022-02-04 17:08:27 +07:00
Jie Fu
a794a062ce 8256009: Remove src/hotspot/share/adlc/Test/i486.ad
Backport-of: a1d4b9f35b
2022-02-04 17:08:24 +07:00
Aleksey Shipilev
a755118276 8256182: Update qemu-debootstrap cross-compilation recipe
Reviewed-by: sgehwolf
Backport-of: 421a7c3b41
2022-02-04 17:08:20 +07:00
Zhengyu Gu
2d9e615625 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Reviewed-by: phh
Backport-of: 172aed1a2d
2022-02-04 17:08:16 +07:00
Christoph Langer
e437cf3c8a 8233637: [TESTBUG] Swing ActionListenerCalledTwiceTest.java fails on macos
Backport-of: 98c91b64b2
2022-02-04 17:08:13 +07:00
Christoph Langer
b7319c98d9 8233641: [TESTBUG] JMenuItem test bug4171437.java fails on macos
Backport-of: e97809d3d4
2022-02-04 17:08:09 +07:00
Christoph Langer
0d962796dd 8233560: [TESTBUG] ToolTipManager/Test6256140.java is failing on macos
Backport-of: caec8d2208
2022-02-04 17:08:05 +07:00
Bernhard Urban-Forster
b010f3c23a 8248500: AArch64: Remove the r18 dependency on Windows AArch64
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Reka Kovacs <rkovacs@openjdk.org>
Reviewed-by: aph
2022-02-04 17:08:02 +07:00
Christoph Langer
0b593bd687 8233570: [TESTBUG] HTMLEditorKit test bug5043626.java is failing on macos
Backport-of: a5b42ec8b2
2022-02-04 17:07:59 +07:00
Jie Fu
c7bda25388 8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
Backport-of: 1ea437a4b8
2022-02-04 17:07:55 +07:00
Jie Fu
72ecb80093 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Backport-of: 0ab910d626
2022-02-04 17:07:54 +07:00
Christoph Langer
272e1032d2 8233556: [TESTBUG] JPopupMenu tests fail on MacOS
Reviewed-by: mdoerr
Backport-of: 3f8bd92308
2022-02-04 17:07:53 +07:00
Christoph Langer
0b4abecd8f 8015602: [macosx] Test javax/swing/SpringLayout/4726194/bug4726194.java fails on MacOSX
Backport-of: dc85a3fe81
2022-02-04 17:07:52 +07:00
Jie Fu
f8c6054843 8223141: Change (count) suffix _ct into _cnt.
Backport-of: 55e3cc8f6f
2022-02-04 17:07:50 +07:00
Aleksey Shipilev
f15cd82f63 8267304: Bump global JTReg memory limit to 768m
Backport-of: e749f75de0
2022-02-04 17:07:49 +07:00
Martin Doerr
a025c11212 8235784: java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java fails due to timeout with fastdebug bits
Reviewed-by: goetz
Backport-of: f0b1194004
2022-02-04 17:07:48 +07:00
Christoph Langer
3587eacad8 7151826: [TEST_BUG] [macosx] The test javax/swing/JPopupMenu/4966112/bug4966112.java not for mac
Backport-of: 4d9f207347
2022-02-04 17:07:48 +07:00
Christoph Langer
55e656a7ed 8199529: javax/swing/text/Utilities/8142966/SwingFontMetricsTest.java fails on windows
Reviewed-by: phh
Backport-of: 1ce6ec6a28
2022-02-04 17:05:24 +07:00
Christoph Langer
f7295eccf6 8249195: Change to Xcode 11.3.1 for building on Macos at Oracle
Reviewed-by: mdoerr
Backport-of: 097720cce5
2022-02-04 17:05:13 +07:00
Martin Doerr
f2ed79cf17 8256202: Some tweaks for jarsigner tests PosixPermissionsTest and SymLinkTest
Reviewed-by: clanger
Backport-of: 1e9a432d59
2022-02-04 17:05:12 +07:00
Christoph Langer
17bcc2920d 8219986: Change to Xcode 10.1 for building on Macosx at Oracle
Reviewed-by: mdoerr
Backport-of: 53adab6857
2022-02-04 17:05:10 +07:00
Severin Gehwolf
0b678237c8 8275713: TestDockerMemoryMetrics test fails on recent runc
Reviewed-by: mbaesken
2022-02-04 17:05:10 +07:00
Goetz Lindenmaier
45a4cf64ab 8262844: (fs) FileStore.supportsFileAttributeView might return false negative in case of ext3
Backport-of: 8d3de4b1bd
2022-02-04 17:04:19 +07:00
Goetz Lindenmaier
6f4cdfbaa8 8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
Backport-of: 45ce06c9f3
2022-02-04 17:04:17 +07:00
Alexey Pavlyutkin
e23242823a 8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
Reviewed-by: mdoerr
Backport-of: c3d8e9228d
2022-02-04 17:04:15 +07:00
Goetz Lindenmaier
b6b3d4bb5f 8197811: Test java/awt/Choice/PopupPosTest/PopupPosTest.java fails on Windows
Reviewed-by: mdoerr
Backport-of: d1c8c9eabb
2022-02-04 17:04:13 +07:00
Christoph Langer
330a76b5f0 8198623: java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java fails on mac
Backport-of: 3c472b6700
2022-02-04 17:04:12 +07:00
Christoph Langer
b6c5f25a90 8246807: Incorrect copyright header in TimeZoneDatePermissionCheck.sh
Reviewed-by: shade
2022-02-04 17:04:10 +07:00
Christoph Langer
8ee9c484d6 8131745: java/lang/management/ThreadMXBean/AllThreadIds.java still fails intermittently
Reviewed-by: mdoerr
Backport-of: ea9aeda5ee
2022-02-04 17:04:08 +07:00
Martin Doerr
dfb12a7db4 8274407: (tz) Update Timezone Data to 2021c
8274467: TestZoneInfo310.java fails with tzdata2021b
8274468: TimeZoneTest.java fails with tzdata2021b

Backport-of: 8ca084617f
2022-02-04 17:04:06 +07:00
Christoph Langer
6a6673e32d 8226514: Replace wildcard address with loopback or local host in tests - part 17
Improve test stabilty by getting rid of the wildcard address whenever possible.

Reviewed-by: stuefe, mdoerr
Backport-of: 2ad9f11d77
2022-02-04 17:04:04 +07:00
Martin Doerr
d37a7e8c81 8233567: [TESTBUG] FocusSubRequestTest.java fails on macos
Backport-of: b90ad76d6b
2022-02-04 17:04:03 +07:00
Martin Doerr
f3f04c5405 8233555: [TESTBUG] JRadioButton tests failing on MacoS
Backport-of: 227f99d394
2022-02-04 17:04:00 +07:00
Martin Doerr
39c9813b42 8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
Backport-of: cb36880281
2022-02-04 17:03:58 +07:00
Christoph Langer
c98c683169 8220575: Correctly format test URI's that contain a retrieved IPv6 address
Reviewed-by: mdoerr
Backport-of: 0c2b7c4fc3
2022-02-04 17:03:55 +07:00
Ao Qi
3d2bb89c29 8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled
Skip test if C1 is not available.

Backport-of: eef02376bd
2022-02-04 17:03:54 +07:00
Zhengyu Gu
810c415264 8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
Reviewed-by: phh
Backport-of: 1ab64143c0
2022-02-04 17:03:52 +07:00
Martin Doerr
9d4193d2c4 8197800: Test java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java fails on Windows
Backport-of: ca37be1ead
2022-02-04 17:03:51 +07:00
Martin Doerr
4b30f47517 8198619: java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java fails on mac
Backport-of: cf92693957
2022-02-04 17:03:49 +07:00
Martin Doerr
baee637956 8171998: javax/swing/JMenu/4692443/bug4692443.java fails on Windows
Backport-of: 4acf634d05
2022-02-04 17:03:48 +07:00
Martin Doerr
bafddc84dc 8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java
Backport-of: fcedfc8a3b
2022-02-04 17:03:47 +07:00
Martin Doerr
513d3b9352 8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
Backport-of: 4bd37c3153
2022-02-04 17:03:46 +07:00
Martin Doerr
4326d09d8b 8247510: typo in IllegalHandshakeMessage
Backport-of: 1faed205df
2022-02-04 17:03:45 +07:00
Martin Doerr
80d55e11f8 8207936: TestZipFile failed with java.lang.AssertionError exception
Backport-of: 65455ff60b
2022-02-04 17:03:44 +07:00
Ao Qi
4c0e40044f 8270517: Add Zero support for LoongArch
Backport-of: e92e2fd4e0
2022-02-04 17:03:42 +07:00
Christoph Langer
5e9b06c0fd 8233559: [TESTBUG] TestNimbusOverride.java is failing on macos
Backport-of: c638618814
2022-02-04 17:03:41 +07:00
Joshua Cao
3dcaf577d7 8252051: Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly
Reviewed-by: phh
2022-02-04 17:03:41 +07:00
Christoph Langer
6d3f1a2b93 8198624: java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html fails on mac
Reviewed-by: mdoerr
Backport-of: fe6aa29326
2022-02-04 16:59:56 +07:00
Christoph Langer
3d9937ff78 8233550: [TESTBUG] JTree tests fail regularly on MacOS
Backport-of: 04b3bf6024
2022-02-04 16:59:54 +07:00
Christoph Langer
f62181d5e7 8239827: The test OpenByUNCPathNameTest.java should be changed to be manual
Backport-of: 7cc3ba5f9b
2022-02-04 16:59:54 +07:00
Christoph Langer
b41a10b543 8233566: [TESTBUG] KeyboardFocusManager tests failing on MacoS
Backport-of: 85822a50d5
2022-02-04 16:59:24 +07:00
Christoph Langer
0fb16f71f4 8233553: [TESTBUG] JSpinner test bug4973721.java fails on MacOS
Backport-of: 9ae8b32dee
2022-02-04 16:58:01 +07:00
Vladimir Kempik
296de7aef4 8267652: c2 loop unrolling by 8 results in reading memory past array
Reviewed-by: mdoerr
Backport-of: 0c99b19258
2022-02-04 16:57:50 +07:00
Martin Doerr
8e1d1badca 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on
Backport-of: 3c72042627
2022-02-04 16:57:49 +07:00
Yi Yang
3c748b88b6 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
Backport-of: ddc262746a
2022-02-04 16:57:47 +07:00
Jie Fu
9fea3801eb 8251155: HostIdentifier fails to canonicalize hostnames starting with digits
Reviewed-by: goetz
Backport-of: 5585e6f63a
2022-02-04 16:57:46 +07:00
Christoph Langer
76601c57a0 8233643: [TESTBUG] JMenu test bug4515762.java fails on macos
Backport-of: 1f2f808794
2022-02-04 16:57:45 +07:00
Martin Doerr
621e58cedd 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 16c3ad1ff4
2022-02-04 16:07:48 +07:00
Ao Qi
bab0d33600 8230228: [TESTBUG] Several runtime/ErrorHandling tests may fail on some platforms
Prevent downgraded compilation tasks from recompiling.

Reviewed-by: goetz
Backport-of: 63dbcdc874
2022-02-04 16:07:45 +07:00
Ao Qi
eaba74e4d0 8250888: nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java fails
Reviewed-by: goetz
Backport-of: 5fedb69e66
2022-02-04 16:07:42 +07:00
Goetz Lindenmaier
1dadec1784 8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
Backport-of: 04b73bc4e0
2022-02-04 16:07:40 +07:00
Martin Doerr
6b1e4c9822 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: goetz
Backport-of: 3953e0774c
2022-02-04 16:07:37 +07:00
Goetz Lindenmaier
41569f289f 8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
Reviewed-by: mdoerr
Backport-of: dcdb1b6aaa
2022-02-04 16:07:35 +07:00
Christoph Langer
e8e438f766 8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris
Backport-of: a040c56dd9
2022-02-04 16:07:33 +07:00
Goetz Lindenmaier
a811d61bbb 8180568: Refactor javax/crypto shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 20ad428974
2022-02-04 16:07:27 +07:00
Goetz Lindenmaier
89c5ac558c 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
Backport-of: a5108a605e
2022-02-04 16:07:20 +07:00
Jie Fu
c055aa2c99 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Reviewed-by: kvn
Backport-of: c833b4d130
2022-02-04 16:07:18 +07:00
Goetz Lindenmaier
4fada23c18 8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java
Reviewed-by: mdoerr
Backport-of: 6cbf57aa37
2022-02-04 16:07:12 +07:00
Goetz Lindenmaier
e9fcb0ce5e 8273826: Correct Manifest file name and NPE checks
Reviewed-by: mdoerr
Backport-of: 03a8d342b8
2022-02-04 16:07:05 +07:00
Goetz Lindenmaier
1b0c0a5d0d 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
Reviewed-by: mdoerr
Backport-of: 7f78803b09
2022-02-04 16:07:04 +07:00
Christoph Langer
17bf7b10c6 8242793: Incorrect copyright header in ContinuousCallSiteTargetChange.java
Backport-of: 25cd1774a7
2022-02-04 16:06:57 +07:00
Christoph Langer
4b8d8c0153 7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater()
Backport-of: 84fc4850a6
2022-02-04 16:06:50 +07:00
Christoph Langer
bb60825b28 8237589: Fix copyright header formatting
Reviewed-by: shade
2022-02-04 16:06:43 +07:00
Goetz Lindenmaier
904e1881a8 8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
Backport-of: 45abbeed2f
2022-02-04 16:06:41 +07:00
Goetz Lindenmaier
0b594181ed 8211148: var in implicit lambdas shouldn't be accepted for source < 11
Backport-of: 2589e9733e
2022-02-04 16:06:34 +07:00
Jonathan Dowland
10cd122cb9 8198616: java/awt/Focus/6378278/InputVerifierTest.java fails on mac
Backport-of: dd8286e2f3
2022-02-04 16:06:29 +07:00
Martin Doerr
ed2734e868 8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
Backport-of: 47262670f3
2022-02-04 16:06:27 +07:00
Martin Doerr
bb955923a1 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
Backport-of: 71788c69db
2022-02-04 16:06:21 +07:00
Martin Doerr
4f12e427b7 8273498: compiler/c2/Test7179138_1.java timed out
Backport-of: 84f6cb4ae4
2022-02-04 16:06:04 +07:00
Martin Doerr
99eed6dca7 8273229: Update OS detection code to recognize Windows Server 2022
Backport-of: c2e015c3c1
2022-02-04 16:06:01 +07:00
Zhengyu Gu
0cf0e8a20d 8273342: Null pointer dereference in classFileParser.cpp:2817
Backport-of: 8609ea55ac
2022-02-04 16:05:46 +07:00
Martin Doerr
04f3a8c1ba 8271340: Crash PhaseIdealLoop::clone_outer_loop
Backport-of: 2abf3b3b27
2022-02-04 16:05:37 +07:00
Martin Doerr
a185755eaa 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Backport-of: 6afcf5f5a2
2022-02-04 16:05:35 +07:00
Martin Doerr
f735d637d6 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Backport-of: 99fb12c798
2022-02-04 16:05:28 +07:00
Aleksey Shipilev
32103b51ed 8274083: Update testing docs to mention tiered testing
Backport-of: 971aa353aa
2022-02-04 16:03:16 +07:00
Aleksey Shipilev
8bf3b3ae0b 8273314: Add tier4 test groups
Reviewed-by: clanger
Backport-of: 1f8af524ff
2022-02-04 16:03:09 +07:00
Aleksey Shipilev
bec8551dca 8199138: Add RISC-V support to Zero
Backport-of: edc4ffe54b
2022-02-04 16:03:03 +07:00
Jonathan Dowland
f92ca10d95 8272180: Upgrade JSZip from v3.6.0 to v3.7.1
8272828: Add correct licenses to jszip.md

Reviewed-by: goetz
2022-02-04 16:02:57 +07:00
Jonathan Dowland
1df8f5deda 8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
Reviewed-by: clanger
Backport-of: a199ebc017
2022-02-04 16:02:52 +07:00
Martin Doerr
c376d8533b 8272570: C2: crash in PhaseCFG::global_code_motion
Backport-of: 0f428ca533
2022-02-04 16:02:48 +07:00
Martin Doerr
c9fc30fabb 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
Backport-of: d39aad9230
2022-02-04 16:02:45 +07:00
Goetz Lindenmaier
922bd12df5 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
Backport-of: 566d77a2ae
2022-02-04 15:57:48 +07:00
Goetz Lindenmaier
6f8e0d58dc 8262438: sun/security/ssl/SSLLogger/LoggingFormatConsistency.java failed with "SocketException: Socket is closed"
Backport-of: b2a2ddff44
2022-02-04 15:57:46 +07:00
Goetz Lindenmaier
9836da835f 8159904: [TEST_BUG] Failure on solaris of java/awt/Window/MultiWindowApp/MultiWindowAppTest.java
Reviewed-by: clanger
Backport-of: 6ce52e6277
2022-02-04 15:57:43 +07:00
Goetz Lindenmaier
2e11f0a6d5 8265173: [test] divert spurious log output away from stream under test in ProcessBuilder Basic test
Backport-of: 7b61a426e0
2022-02-04 15:57:41 +07:00
Goetz Lindenmaier
23303fc522 8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
Reviewed-by: aph
Backport-of: f84b52b84d
2022-02-04 15:57:37 +07:00
Goetz Lindenmaier
312ba08842 8075909: [TEST_BUG] The regression-swing case failed as it does not have the 'Open' button when select 'subdir' folder with NimbusLAF
Backport-of: 0e9c5aedc8
2022-02-04 15:57:34 +07:00
Goetz Lindenmaier
20848acdaf 8159597: [TEST_BUG] closed/javax/swing/JPopupMenu/4760494/bug4760494.java leaves key pressed
Backport-of: 604005d65c
2022-02-04 15:57:32 +07:00
Goetz Lindenmaier
9bead3c86d 8223140: Clean-up in 'ok_to_convert()'
Simplify logic in function. Added precond/postcond macros.

Reviewed-by: shade
Backport-of: f4faee7bae
2022-02-04 15:57:31 +07:00
Aleksey Shipilev
b060567768 8272783: Epsilon: Refactor tests to improve performance
Reviewed-by: clanger
Backport-of: 7f80683cfe
2022-02-04 15:57:29 +07:00
Aleksey Shipilev
859f4740a9 8273606: Zero: SPARC64 build fails with si_band type mismatch
Reviewed-by: clanger
Backport-of: 241ac89f12
2022-02-04 15:57:14 +07:00
Aleksey Shipilev
3241fae32b 8272914: Create hotspot:tier2 and hotspot:tier3 test groups
Reviewed-by: clanger
Backport-of: 5ee5dd9b18
2022-02-04 15:57:09 +07:00
Christoph Langer
40844bb9b2 8224829: AsyncSSLSocketClose.java has timing issue
Reviewed-by: mdoerr
Backport-of: a4277e56c8
2022-02-04 15:57:07 +07:00
Reka Kovacs
33cdfa3799 8250810: Push missing parts of JDK-8248817
Push changes from JDK-8248817 that were accidentally excluded from the commit.

Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: aph, mdoerr
Backport-of: a4eaf9536c
2022-02-04 15:56:49 +07:00
Christoph Langer
b037ccf2d9 8230067: Add optional automatic retry when running jtreg tests
Reviewed-by: mdoerr
Backport-of: 72cb073c09
2022-02-04 15:56:47 +07:00
Christoph Langer
0cd3449a28 8180573: Refactor sun/security/tools shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 15aae2f622
2022-02-04 15:56:44 +07:00
Aleksey Shipilev
4e8838f608 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
Backport-of: 2166ed1369
2022-02-04 15:56:42 +07:00
Aleksey Shipilev
1eb40767ab 8272836: Limit run time for java/lang/invoke/LFCaching tests
Backport-of: a3308af060
2022-02-04 15:56:40 +07:00
Aleksey Shipilev
0bed5221b3 8273373: Zero: Cannot invoke JVM in primordial threads on Zero
Backport-of: 0f31d0fb2c
2022-02-04 15:56:38 +07:00
Goetz Lindenmaier
77401a82f8 8223138: Small clean-up in loop-tree support.
Rename predicate 'is_inner()' to 'is_innermost()' to be accurate. Added 'is_root()' predicate for root parent test in loop-tree. Changed definition of 'is_loop()' to always lazy-read the tail, since it should never be NULL. Cleanup of 'tail()' definition.

Backport-of: 205085d8d5
2022-02-04 15:56:37 +07:00
Zhengyu Gu
7fa35e39cd 8187649: ArrayIndexOutOfBoundsException in java.util.JapaneseImperialCalendar
Backport-of: bea4109ef7
2022-02-04 15:56:35 +07:00
Goetz Lindenmaier
68f3b01ac6 8268555: Update HttpClient tests that use ITestContext to jtreg 6+1
Reviewed-by: mdoerr
Backport-of: da043e99b8
2022-02-04 15:56:33 +07:00
Aleksey Shipilev
7213457e48 8223923: C2: Missing interference with mismatched unsafe accesses
Backport-of: 86add21a85
2022-02-04 15:56:31 +07:00
Jonathan Dowland
1a72a2acfd 8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
Reviewed-by: goetz, clanger
Backport-of: 9248bd08cf
2022-02-04 15:56:29 +07:00
Goetz Lindenmaier
5603cfee39 8223139: Rename mandatory policy-do routines.
Rename 'policy_do_remove_empty_loop' to 'do_remove_empty_loop', 'policy_do_one_iteration_loop' to 'do_one_iteration_loop'.

Backport-of: ceef0f69dc
2022-02-04 15:56:27 +07:00
Goetz Lindenmaier
2e12de2f43 8248187: [TESTBUG] javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java fails with String is not properly drawn
Backport-of: c3ec97d41a
2022-02-04 15:56:26 +07:00
Goetz Lindenmaier
ae5f610daa 8143021: [TEST_BUG] Test javax/swing/JColorChooser/Test6541987.java fails
Backport-of: 7597cba92b
2022-02-04 15:56:24 +07:00
Goetz Lindenmaier
42cfea2dc1 8256152: tests fail because of ambiguous method resolution
Backport-of: 646c20022c
2022-02-04 15:56:23 +07:00
Goetz Lindenmaier
ee5111e561 8211171: move JarUtils to top-level testlibrary
Reviewed-by: mdoerr
Backport-of: ab8c7f710c
2022-02-04 15:56:22 +07:00
Goetz Lindenmaier
a7328b1d82 8265524: Upgrading JSZip from v3.2.2 to v3.6.0
Reviewed-by: mdoerr
2022-02-04 15:56:21 +07:00
Christoph Langer
c612b30dfe 8234823: java/net/Socket/Timeouts.java testcase testTimedConnect2() fails on Windows 10
Backport-of: a2fad13ce2
2022-02-04 15:55:56 +07:00
Goetz Lindenmaier
35409463e6 8229935: [TEST_BUG]: bug8132119.java inconsistently positions text
Backport-of: 5686851c12
2022-02-04 15:55:53 +07:00
Goetz Lindenmaier
80e83c64a4 8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'.
Backport-of: fcbca82247
2022-02-04 15:55:51 +07:00
Goetz Lindenmaier
ff67f0c047 8269426: Rename test/jdk/java/lang/invoke/t8150782 to accessClassAndFindClass
Reviewed-by: mdoerr
Backport-of: 56240690f6
2022-02-04 15:55:48 +07:00
Christoph Langer
0f6c4d0b1e 8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails
Reviewed-by: mdoerr
Backport-of: b5b24b904a
2022-02-04 15:55:46 +07:00
Jonathan Dowland
654e30fb5c 8180571: Refactor sun/security/pkcs11 shell tests to plain java tests and fix failures
Co-authored-by: Jonathan Dowland <jdowland@openjdk.org>
Reviewed-by: goetz
Backport-of: ccfcd92667
2022-02-04 15:55:45 +07:00
Jonathan Dowland
a41abe2e19 8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
Backport-of: a5ad7720d2
2022-02-04 15:55:43 +07:00
Jonathan Dowland
e9216f9eea 8078219: Verify lack of @test tag in files in java/net test directory
Backport-of: a9f92bec7f
2022-02-04 15:55:42 +07:00
Martin Doerr
162dd5267d 8231501: VM crash in MethodData::clean_extra_data(CleanExtraDataClosure*): fatal error: unexpected tag 99
Snapshot MDO extra trap and argument data only after it is prepared.

Reviewed-by: phh
Backport-of: 49048adcf2
2022-02-04 15:55:41 +07:00
Martin Doerr
9153f90e66 8215889: assert(!_unloading) failed: This oop is not available to unloading class loader data with ZGC
Reviewed-by: goetz, zgu
Backport-of: f08eeac278
2022-02-04 15:55:40 +07:00
Goetz Lindenmaier
8cb332cca5 8268093: Manual Testcase: "sun/security/krb5/config/native/TestDynamicStore.java" Fails with NPE
Backport-of: e39346e708
2022-02-04 15:55:38 +07:00
Goetz Lindenmaier
291aab58cd 8269768: JFR Terminology Refresh
Backport-of: 1c18f91438
2022-02-04 15:55:38 +07:00
Goetz Lindenmaier
b7de96496b 8179880: Refactor javax/security shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 7f55dc1576
2022-02-04 15:55:37 +07:00
Zhengyu Gu
1c87581dfd 8213707: [TEST] vmTestbase/nsk/stress/except/except011.java failed due to wrong class name
Fixed wrong class name in test

Backport-of: 83155e1ea6
2022-02-04 15:48:07 +07:00
Goetz Lindenmaier
279d07f4d0 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface
Backport-of: 0544a732a4
2022-02-04 15:48:06 +07:00
Goetz Lindenmaier
df30d29cdd 8266949: Check possibility to disable OperationTimedOut on Unix
Backport-of: e6705c0e4b
2022-02-04 15:48:05 +07:00
Goetz Lindenmaier
d53ab44bcd 8248341: ProblemList java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
Backport-of: 8a424425e1
2022-02-04 15:48:04 +07:00
Goetz Lindenmaier
a772d14fdd 8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception
Backport-of: 271a0c7133
2022-02-04 15:48:03 +07:00
Goetz Lindenmaier
4a8be28eb7 8163086: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java fails
Backport-of: abdff7905f
2022-02-04 15:48:02 +07:00
Goetz Lindenmaier
8242a9a3aa 8233564: [TESTBUG] MouseComboBoxTest.java is failing
Backport-of: b72d99e77b
2022-02-04 15:48:02 +07:00
Goetz Lindenmaier
39c362f2a2 8258855: Two tests sun/security/krb5/auto/ReplayCacheTestProc.java and ReplayCacheTestProcWithMD5.java failed on OL8.3
Reviewed-by: mdoerr
Backport-of: d70fd7b3c4
2022-02-04 15:47:35 +07:00
Goetz Lindenmaier
94bd20d984 8265019: Update tests for additional TestNG test permissions
Reviewed-by: mdoerr
Backport-of: ffb3771816
2022-02-04 15:47:30 +07:00
Goetz Lindenmaier
e33e2eb40c 8253866: Security Libs Terminology Refresh
Reviewed-by: mdoerr
Backport-of: 8554fe6ebc
2022-02-04 15:47:27 +07:00
Goetz Lindenmaier
36347bbd8a 8253497: Core Libs Terminology Refresh
Reviewed-by: mdoerr
Backport-of: b2f035549a
2022-02-04 15:47:25 +07:00
Goetz Lindenmaier
a762330e00 8081652: [TESTBUG] java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java timed out intermittently
Reviewed-by: mdoerr
Backport-of: 5805cbeaaf
2022-02-04 15:47:20 +07:00
Goetz Lindenmaier
e396d072cd 8216417: cleanup of IPv6 scope-id handling
Reviewed-by: mdoerr
Backport-of: 247a6a2ce4
2022-02-04 15:47:16 +07:00
Goetz Lindenmaier
bd7abaa196 8230019: [REDO] compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type"
Explicitly set the receiver klass in the ci MDO to NULL if it is NULL in the MDO while translating.

Reviewed-by: mdoerr
Backport-of: 6df28153fd
2022-02-04 15:47:13 +07:00
Goetz Lindenmaier
ad4d53aeb6 8244292: Headful clients failing with --illegal-access=deny
Reviewed-by: mdoerr
Backport-of: 0efacb3eed
2022-02-04 15:47:10 +07:00
Christoph Langer
0a0ee96d1b 8223658: Performance regression of XML.validation in 13-b19
Reviewed-by: sviswanathan
Backport-of: 50eb86d003
2022-02-04 15:47:05 +07:00
Goetz Lindenmaier
6ea66432f5 8039261: [TEST_BUG]: There is not a minimal security level in Java Preferences and the TestApplet.html is blocked.
Backport-of: 26186ec3f6
2022-02-04 15:46:59 +07:00
Goetz Lindenmaier
c53411c195 8264824: java/net/Inet6Address/B6206527.java doesn't close ServerSocket properly
Backport-of: 6293299dd3
2022-02-04 15:46:58 +07:00
Goetz Lindenmaier
ad7c15a64b 8250839: Improve test template SSLEngineTemplate with SSLContextTemplate
Backport-of: 473fa82000
2022-02-04 15:46:53 +07:00
Goetz Lindenmaier
2be64f28e7 8255722: Create a new test for rotated blit
Backport-of: a53b12df2d
2022-02-04 15:46:51 +07:00
Goetz Lindenmaier
538426a1ba 8245665: Test WeakAlg.java should only make sure no warning for weak signature algorithms by keytool on root CA
Backport-of: ccd7d70586
2022-02-04 15:46:50 +07:00
Goetz Lindenmaier
7f8b8d273e 8169954: JFileChooser/8021253: java.lang.RuntimeException: Default button is not pressed
Backport-of: cacce843aa
2022-02-04 15:46:49 +07:00
Martin Doerr
3d8b97d356 8263773: Reenable German localization for builds at Oracle
Backport-of: ef4a532802
2022-02-04 15:43:57 +07:00
Goetz Lindenmaier
3eba9587a6 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
Backport-of: fbca3fa710
2022-02-04 15:43:56 +07:00
Christoph Langer
8052a4239b 8180569: Refactor sun/security/krb5/ shell tests to plain java tests
Backport-of: 8b83b515b1
2022-02-04 15:43:54 +07:00
Christoph Langer
0c025bf253 8210920: Native C++ tests are not using CXXFLAGS
Reviewed-by: mdoerr
Backport-of: 481a045635
2022-02-04 15:43:15 +07:00
Goetz Lindenmaier
f8d2790e01 8221902: PIT: javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java fails on ubuntu
Backport-of: 4071546506
2022-02-04 15:43:08 +07:00
Goetz Lindenmaier
174eb70cec 8242526: PIT: javax/swing/JInternalFrame/8020708/bug8020708.java fails in mach5 ubuntu system 8233644: [TESTBUG] JInternalFrame test bug8020708.java is failing on macos
Backport-of: 8b002d881d
2022-02-04 15:43:01 +07:00
Goetz Lindenmaier
b019858bd6 8234802: [TESTBUG] Test Right Mouse Button Drag Gesture Recognition in all the platforms
Backport-of: 24232989ba
2022-02-04 15:42:59 +07:00
Goetz Lindenmaier
70b87cc7ab 8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
Reviewed-by: mdoerr
Backport-of: 9a69bb807b
2022-02-04 15:42:58 +07:00
Goetz Lindenmaier
ea4202365c 8221903: PIT: javax/swing/RepaintManager/IconifyTest/IconifyTest.java fails on ubuntu18.04
Reviewed-by: mdoerr
Backport-of: e9e86ffb30
2022-02-04 15:42:53 +07:00
Goetz Lindenmaier
7763fc6a44 8215568: Refactor SA clhsdb tests to use ClhsdbLauncher
Refactoring the SA tests which test clhsdb commands to use ClhsdbLauncher for uniformity and ease of maintainence

Reviewed-by: mdoerr
Backport-of: 9c09bb98d4
2022-02-04 15:42:43 +07:00
Goetz Lindenmaier
90acab9b5b 8214469: [macos] PIT: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java fails
Reviewed-by: mdoerr
Backport-of: c2824531a7
2022-02-04 15:42:41 +07:00
Martin Doerr
ffd2d677de 8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
Remove SystemDictionary::modification_counter optimization

Reviewed-by: phh
Backport-of: 04b98fd1df
2022-02-04 15:42:34 +07:00
Goetz Lindenmaier
0eeeb9d083 8233634: [TESTBUG] Swing text test bug4278839.java fails on macos
Backport-of: 456fd9003e
2022-02-04 15:42:21 +07:00
Goetz Lindenmaier
59dd7d9a45 8228508: [TESTBUG] java/net/httpclient/SmokeTest.java fails on Windows7
Backport-of: b4a7fb856b
2022-02-04 15:42:18 +07:00
Goetz Lindenmaier
93531fedeb 8233403: Improve verbosity of some httpclient tests
Improve the verbosity of some httpclient tests to help diagnosis of intermittent failures. Also fixes ShortRequestBody test.

Backport-of: eaba9fe23b
2022-02-04 15:42:11 +07:00
Goetz Lindenmaier
e261a8070f 8165828: [TEST_BUG] The reg case:javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java failed as No Metal Look and Feel
Backport-of: 6b80f1e7cd
2022-02-04 15:42:06 +07:00
Christoph Langer
9e17e4d274 8221259: New tests for java.net.Socket to exercise long standing behavior
Backport-of: fd14375ae2
2022-02-04 15:42:01 +07:00
Christoph Langer
827e19384e 8217438: Adapt tools//launcher/Test7029048.java for AIX
Backport-of: 05a8750ec7
2022-02-04 15:41:57 +07:00
Christoph Langer
2c9e03334e 8080569: java/lang/ProcessBuilder/DestroyTest.java fails with "RuntimeException: Process terminated prematurely"
Backport-of: 2ee8882fb9
2022-02-04 15:41:55 +07:00
Thomas Stuefe
9d5365d4dd 8261297: NMT: Final report should use scale 1
Backport-of: 1740de2a0d
2022-02-04 15:41:53 +07:00
Goetz Lindenmaier
ad4c8f355e 8217882: java/net/httpclient/MaxStreams.java failed once
Added some more traces to help diagnosis

Backport-of: 6dcfd0f93a
2022-02-04 15:41:51 +07:00
Goetz Lindenmaier
917d19ac6a 8217903: java/net/httpclient/Response204.java fails with 404
Fixed test to use loopback address - this looks like a port reuse issue.

Backport-of: 6b64f80be4
2022-02-04 15:41:50 +07:00
Goetz Lindenmaier
335c527d13 8217377: javax/swing/JPopupMenu/6583251/bug6583251.java failed with UnsupportedOperation exception
Reviewed-by: clanger
Backport-of: 37a7f89c34
2022-02-04 15:41:49 +07:00
Richard Reingruber
c1c43cbbd8 8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
Backport-of: 72530ef666
2022-02-04 15:41:47 +07:00
Aleksey Shipilev
721d20238b 8272850: Drop zapping values in the Zap* option descriptions
Backport-of: c5a271259d
2022-02-04 15:41:46 +07:00
Aleksey Shipilev
388b080028 8272318: Improve performance of HeapDumpAllTest
Backport-of: 73da66ffb7
2022-02-04 15:41:45 +07:00
Christoph Langer
d37de41cc7 8215410: Regression test for JDK-8214994
Added a regression test for 8214994 which was fixed by accident with 8211451.

Backport-of: 2e989366ea
2022-02-04 15:41:43 +07:00
Christoph Langer
90b17ff65a 8129310: java/net/Socket/asyncClose/AsyncClose.java fails intermittently
Backport-of: fb6de4b0b6
2022-02-04 15:41:29 +07:00
Christoph Langer
485af893cb 8213189: Make restricted headers in HTTP Client configurable and remove Date by default
Reviewed-by: mdoerr
Backport-of: 028f2e14b3
2022-02-04 15:41:27 +07:00
Martin Doerr
024f7e7ce1 8256066: Tests use deprecated TestNG API that is no longer available in new versions
Backport-of: 6d8acd2696
2022-02-04 15:41:25 +07:00
Martin Doerr
53dc0859ee 8216318: The usage of Disposer in the java.awt.Robot can be deleted
Reviewed-by: goetz
Backport-of: 293f77f18f
2022-02-04 15:41:24 +07:00
Goetz Lindenmaier
c025f998a7 8197560: test javax/swing/JTree/8003400/Test8003400.java fails
Reviewed-by: mdoerr
Backport-of: 5699024184
2022-02-04 15:41:22 +07:00
Martin Doerr
3b07f9038e 8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
Backport-of: f18c0fac11
2022-02-04 15:41:20 +07:00
Martin Doerr
56b8a00547 8270344: Session resumption errors
Reviewed-by: clanger
Backport-of: 04a806ec86
2022-02-04 15:41:19 +07:00
Martin Doerr
aeba5352d8 8259237: Demo selection changes with left/right arrow key. No need to press space for selection.
Backport-of: 28ff2de186
2022-02-04 15:41:17 +07:00
Martin Doerr
96d5ccd43c 8217633: Configurable extensions with system properties
Backport-of: 71bfe962eb
2022-02-04 15:41:15 +07:00
Goetz Lindenmaier
4ed2e63744 8253682: The AppletInitialFocusTest1.java is unstable
Backport-of: 1d88172c06
2022-02-04 15:41:13 +07:00
Jonathan Dowland
e812934df8 6849922: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html fails
Backport-of: 1b012e213d
2022-02-04 15:41:11 +07:00
Goetz Lindenmaier
0279c51748 8213110: Remove the use of applets in automatic tests
Reviewed-by: clanger
Backport-of: b5998aadf0
2022-02-04 15:41:09 +07:00
Martin Doerr
411c6fec01 8269034: AccessControlException for SunPKCS11 daemon threads
Reviewed-by: clanger
Backport-of: 0d745ae8fd
2022-02-04 15:41:06 +07:00
Martin Doerr
c1e9a99883 8240256: Better resource cleaning for SunPKCS11 Provider
Reviewed-by: goetz
Backport-of: bdeaeb47d0
2022-02-04 15:41:04 +07:00
Martin Doerr
0bd8f7ffa5 8210392: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
Avoid excessive split-if.

Backport-of: a17df8d45b
2022-02-04 15:41:03 +07:00
Aleksey Shipilev
9ad7d263e4 8236177: assert(status == 0) failed: error ETIMEDOUT(60), cond_wait
Extend the assert to cover the new case.

Reviewed-by: clanger
Backport-of: 91ed3fc599
2022-02-04 15:41:02 +07:00
Jonathan Dowland
21fd58e04e 8246114: java/net/MulticastSocket/Promiscuous.java fails after 8241072 (multi-homed systems)
Fixed the test - an IPv4 group cannot be joined from an interface that has no IPv4 address configured

Backport-of: 0f43de9f02
2022-02-04 15:41:00 +07:00
Aleksey Shipilev
d9bce29634 8273795: Zero SPARC64 debug builds fail due to missing interpreter fields
Reviewed-by: coleenp
2022-02-04 15:40:59 +07:00
Martin Doerr
213833647b 8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2
Backport-of: 4e6de5f9de
2022-02-04 15:40:58 +07:00
Martin Doerr
58361ce640 8261036: Reduce classes loaded by CleanerFactory initialization
Backport-of: 992b50087d
2022-02-04 15:40:57 +07:00
Martin Doerr
b96fa0c4e8 8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
Reviewed-by: stuefe
Backport-of: 481c1f0549
2022-02-04 15:38:02 +07:00
Martin Doerr
c05f12d3c8 8273358: macOS Monterey does not have the font Times needed by Serif
Reviewed-by: stuefe
Backport-of: efe3ed1e70
2022-02-04 15:38:00 +07:00
Christoph Langer
bd56752eab 8218483: Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5"
Reviewed-by: stuefe
Backport-of: 2f20909d10
2022-02-04 15:37:57 +07:00
Christoph Langer
ac3096852f 8213330: Fix legal headers in i18n tests
Reviewed-by: phh
Backport-of: a1029a4729
2022-02-04 15:37:54 +07:00
Thomas Stuefe
0976a21a98 8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit
Reviewed-by: clanger
Backport-of: ddd2951ba9
2022-02-04 15:37:51 +07:00
Zhengyu Gu
a79baf36f0 8169959: javax/swing/JTable/6263446/bug6263446.java: Table should be editing
Reviewed-by: shade
Backport-of: 8812113984
2022-02-04 15:37:47 +07:00
Lutz Schmidt
74e12df22e 8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
Reviewed-by: mdoerr
Backport-of: 276b07b36a
2022-02-04 15:37:45 +07:00
Martin Doerr
01ede50f3d 8252049: Native memory leak in ciMethodData ctor
Reviewed-by: phh
Backport-of: 044616bd71
2022-02-04 15:37:43 +07:00
Martin Doerr
6fb1e1fc95 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
Backport-of: d3ad8cd344
2022-02-04 15:37:40 +07:00
Martin Doerr
6d1c065da7 8268019: C2: assert(no_dead_loop) failed: dead loop detected
Reviewed-by: phh
Backport-of: 489e5fd12a
2022-02-04 15:37:37 +07:00
Martin Doerr
e37ce72ff4 8263303: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: roland
Backport-of: d4377afb99
2022-02-04 15:37:35 +07:00
Vladimir Kempik
fc4afa5da1 8273671: Backport of 8260616 misses one JNF header inclusion removal
Reviewed-by: phh
2022-02-04 15:37:33 +07:00
Christoph Langer
077fb9e5b3 8213301: Fix legal headers in jdk logging tests
Backport-of: 059682d681
2022-02-04 15:37:32 +07:00
Christoph Langer
3dea168770 8213328: Update test copyrights in test/java/util/zip and test/jdk/tools
Reviewed-by: mdoerr
Backport-of: 87f243d539
2022-02-04 15:35:53 +07:00
Christoph Langer
016e68e3c8 8213306: Fix legal headers in test/java/nio
Reviewed-by: stuefe
Backport-of: 36ca4f5893
2022-02-04 15:35:48 +07:00
Christoph Langer
5df241dc12 8213305: Fix legal headers in test/java/math
Reviewed-by: stuefe
Backport-of: e21d8fef64
2022-02-04 15:35:45 +07:00
Christoph Langer
657885df43 8213296: Fix legal headers in test/jdk/java/net
Backport-of: 84d6099da9
2022-02-04 15:35:43 +07:00
Martin Doerr
f0f9bd84be 8211227: Inconsistent TLS protocol version in debug output
Reviewed-by: sgehwolf
Backport-of: a86728850e
2022-02-04 15:35:39 +07:00
Martin Doerr
e85303babf 8228442: DHKeyExchange/LegacyDHEKeyExchange.java failed due to "SSLException: An established connection was aborted by the software in your host machine"
Backport-of: 7e3bc4cb44
2022-02-04 15:35:36 +07:00
Aleksey Shipilev
4f11b0dbaa 8250863: Build error with GCC 10 in NetworkInterface.c and k_standard.c
Backport-of: e3c6574ac0
2022-02-04 15:35:33 +07:00
Bin Liao
c31c75ac4f 8237354: Add option to jcmd to write a gzipped heap dump
Reviewed-by: rschmelter, clanger
Backport-of: 19be497143
2022-02-04 15:35:31 +07:00
Christoph Langer
982cd8b1d1 8225083: Remove Google certificate that is expiring in December 2021
Backport-of: 1cbf41a87b
2022-02-04 15:35:28 +07:00
Christoph Langer
3a8f466817 8213263: fix legal headers in test/langtools
Reviewed-by: mdoerr
Backport-of: 73fa99ae86
2022-02-04 15:35:26 +07:00
Christoph Langer
0aa955973f 8210353: Move java/util/Arrays/TimSortStackSize2.java back to tier1
Backport-of: a0594bc138
2022-02-04 15:35:25 +07:00
Christoph Langer
f5de7fb06c 8195703: BasicJDWPConnectionTest.java: 'App exited unexpectedly with 2'
Reviewed-by: phh, amenkov
Backport-of: 24fb839864
2022-02-04 15:35:09 +07:00
Severin Gehwolf
548b8319af 8273547: [11u] [JVMCI] Partial module-info.java backport of JDK-8223332
Reviewed-by: clanger
2022-02-04 15:34:34 +07:00
Martin Doerr
ddad7e1b5e 8247403: JShell: No custom input (e.g. from GUI) possible with JavaShellToolBuilder
Reviewed-by: clanger
Backport-of: 2c8e94f680
2022-02-04 15:34:33 +07:00
Martin Doerr
d2bb603fc9 8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard
Backport-of: b5d32bbfc7
2022-02-04 15:34:32 +07:00
Martin Doerr
e64031e5f9 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font
Reviewed-by: clanger
Backport-of: 005d8a7fca
2022-02-04 15:34:11 +07:00
Christoph Langer
813376039a 8210395: Add doc to SecurityTools.java
Reviewed-by: phh
Backport-of: 5cf91fc60e
2022-02-04 14:46:31 +07:00
Christoph Langer
7aaf6b4247 8206085: Refactor langtools/tools/javac/versions/Versions.java
Reviewed-by: phh
Backport-of: 28e2dea71d
2022-02-04 14:46:29 +07:00
Clive Verghese
032b388d7b 8270317: Large Allocation in CipherSuite
Backport-of: e627caec84
2022-02-04 14:46:27 +07:00
Aleksey Shipilev
b0dbb59896 8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
Reviewed-by: phh
Backport-of: d6bb846159
2022-02-04 14:46:24 +07:00
Bin Liao
9ea1363e4c 8251570: JDK-8215624 causes assert(worker_id < _n_workers) failed: Invalid worker_id
Reviewed-by: rschmelter, clanger
Backport-of: 2631422bc5
2022-02-04 14:46:21 +07:00
Bin Liao
89f6f68220 8215624: Add parallel heap iteration for jmap –histo
8253763: ParallelObjectIterator should have virtual destructor

Chunk and parallelize the heap scan

Reviewed-by: clanger
Backport-of: 3498a10a2b
2022-02-04 14:46:19 +07:00
Christoph Langer
725b174776 8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
Backport-of: 4e18ec26dd
2022-02-04 14:46:17 +07:00
Martin Doerr
dabb6dbee7 8269984: [macos] JTabbedPane title looks like disabled
Reviewed-by: goetz, serb
Backport-of: 8adf008b15
2022-02-04 14:46:15 +07:00
Matthias Baesken
327e52474d 8272316: Wrong Boot JDK help message in 11
Reviewed-by: stuefe
2022-02-04 14:46:13 +07:00
Martin Doerr
40a8741639 8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
Backport-of: c0b4407d09
2022-02-04 14:46:10 +07:00
Sergey Nazarkin
7f4e708e56 8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
Reviewed-by: phh
Backport-of: 752b6df34c
2022-02-04 14:46:09 +07:00
Vladimir Kempik
d2300eaa65 8270216: [macOS] Update named used for Java run loop mode
Backport-of: 254600658a
2022-02-04 14:46:07 +07:00
Martin Doerr
438d9ac57d 8251377: [macos11] JTabbedPane selected tab text is barely legible
Reviewed-by: shade
Backport-of: 3f67afd3a8
2022-02-04 14:46:05 +07:00
Martin Doerr
504785ca0f 7179006: [macosx] Print-to-file doesn't work: printing to the default printer instead
Reviewed-by: clanger
Backport-of: ea7c47c1bb
2022-02-04 14:46:04 +07:00
Matthias Baesken
4f47509452 8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify
Backport-of: ea30bd6684
2022-02-04 14:46:03 +07:00
Goetz Lindenmaier
aae3956dfa 8272902: Bump update version for OpenJDK: jdk-11.0.14
Reviewed-by: clanger
2022-02-04 14:46:02 +07:00
Ivan Lopatin
0e8bce2e2c Revert "JBR-4095: Fixed monitors bounds" 2022-01-17 16:57:06 +07:00
Ivan Lopatin
2525b92785 JBR-4095: Fixed monitors bounds
(cherry picked from commit 60b03db8e1)
2022-01-15 04:34:59 +07:00
Vitaly Provodin
0deb26f133 exclude java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java on Fedora & ArchLinux due to JBR-3572 2022-01-14 03:34:46 +07:00
Dmitry Batrak
29dd90528e JBR-4171 Unexpected workspace switching when using Chinese input method in project view on macOS
backport JDK-8272806 fix from OpenJDK

(cherry picked from commit 63331307cc)
2022-01-13 20:14:59 +03:00
Nikita Provotorov
0eb50afd7e Revert "JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut."
This reverts commit 96d504fe41 because it causes multiple regressions:
* IDEA-284269;
* IDEA-283905;
* IDEA-284020;
* IDEA-284195;
* IDEA-284346.

(cherry picked from commit 371990083c)
2021-12-22 06:55:40 +07:00
Vitaly Provodin
f5e939201b JBR-4081 enable java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java for regular runs
(cherry picked from commit c75d75b84d)
2021-12-22 04:37:10 +07:00
Anton Tarasov
f3aada7246 JBR-4081 VO: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java crashes JBR at # V [libjvm.dylib+0x51d192] LinkResolver::resolve_invokeinterface
(cherry picked from commit 59dde04f10)
2021-12-22 04:36:28 +07:00
Nikita Gubarkov
2a9b5ed527 JBR-4081 excludes java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java from VO regular runs on macOS 2021-12-05 05:36:56 +07:00
Ivan Lopatin
2b594c9a47 IDEA-229577: Marked i3wm as GravityBuggy
(cherry picked from commit 3c34696d27)
2021-11-30 04:37:42 +07:00
Maxim Kartashev
76aa910b5e JBR-3923 Internal Error in c1_Instruction.cpp
Make C1 hotspot compiler bail out during CFG construction if there's a
cycle in the graph that isn't a natural loop and that has led to an
unexpected state of stack/locals like missing a phi function.

This is a temporary measure that lets hotspot continue working
even after encountering such bytecode patterns. The full solution
will probably involve more sophisticated CFG checks.

(cherry picked from commit aa0b61cb75)
2021-11-30 04:35:28 +07:00
Maxim Kartashev
9668db0714 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.

(cherry picked from commit b40cc1c791)
2021-11-30 04:31:57 +07:00
Nikita Gubarkov
6dabfc5c7f JBR-3951 JBR-2917 Generate native pixel format constants from StrikeCache.java
(cherry picked from commit d0600837ed)
2021-11-30 04:23:19 +07:00
Nikita Gubarkov
25a9dbc9eb JBR-3951 JBR-2917 Add constants for glyph pixel formats
(cherry picked from commit 77be5ba45f)
2021-11-30 04:23:15 +07:00
Nikita Gubarkov
8aee859be5 JBR-2917 select glyph rendering loop depending on actual glyph format instead of antialiasing mode
(cherry picked from commit d7b9b249f3)
2021-11-30 04:23:10 +07:00
Nikita Gubarkov
5e978e3b07 JBR-2917 disable GDI rendering on Windows for colored fonts
(cherry picked from commit 6b3172e632)
2021-11-30 04:23:04 +07:00
Nikita Gubarkov
f3f9a64c72 JBR-3951 Pass real glyph type from native code instead of guessing it by rowBytes & width
(cherry picked from commit 1833e198ef)
2021-11-30 04:22:59 +07:00
Nikita Gubarkov
378682352b JBR-2917 Added emoji support for Windows
(cherry picked from commit ddf5342684)
2021-11-30 04:22:52 +07:00
Anton Tarasov
47318503b3 JBR-3946 JavaTableRowAccessibility accessibilityChildren leaks children array
(cherry picked from commit 15d208c03f)
2021-11-30 04:21:35 +07:00
Vitaly Provodin
7b3eb94335 JBR-3937 Fix crashes in C1/C2 compilers
& JBR-3938 - fix race condition in anonymous class loading

(cherry picked from commit 5f1b8b5ab9)
2021-11-30 04:16:46 +07:00
Vitaly Provodin
6c46a1422e JBR-3973 provide macos-x64 build with Shenandoah GC
(cherry picked from commit b224bef5a3)
2021-11-30 04:00:26 +07:00
Vitaly Provodin
6592a8d07f JBR-3905 add incremental JBR building
(cherry picked from commit 8ea8b95a5a)
2021-11-30 03:59:04 +07:00
Vitaly Provodin
314d6d3304 JBR-3931 add the module jdk.unsupported.desktop into jbr
(cherry picked from commit 32def2fd42)
2021-11-30 03:54:11 +07:00
Artem Semenov
ac99bf4fd6 JBR-3868 Combobox list is not voiced of VoiceOver
(cherry picked from commit bd366e24b1)
2021-11-30 03:53:32 +07:00
Ivan Lopatin
31f2d97d2c JBR-3388: Fixed wrong graphic config in Component on primary display change 2021-11-05 14:23:32 +07:00
Vitaly Provodin
5c2d986e6f exclude javax/swing/JComboBox/8032878/bug8032878.java failing on Windows because of JDK-8196092, JDK-8196439
(cherry picked from commit aeaf8a9ce5)
2021-11-03 12:29:44 +07:00
Vitaly Provodin
cb90d570dc exclude javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java failing because of JDK-8272105
(cherry picked from commit bff0bbf317)
2021-11-03 11:46:04 +07:00
Vitaly Provodin
d6728ecceb exclude java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java failing because of JDK-8266059 on macosx
(cherry picked from commit b83787b6ee)
2021-11-03 11:46:03 +07:00
Vitaly Provodin
dab7d2d2b6 exclude tests failing because of JDK-8233568 on macosx
(cherry picked from commit a9f8f8fc00)
2021-11-03 11:46:02 +07:00
Vitaly Provodin
9b629aa622 exclude java/awt/Frame/MiscUndecorated/RepaintTest.java failing on macosx-aarch64 because of JDK-8266244
(cherry picked from commit 0a64776695)
2021-11-03 06:47:47 +07:00
Nikita Gubarkov
8b491206cf JBR-3944 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (Windows, Linux)
(cherry picked from commit 9255096a66)
2021-11-02 08:03:34 +03:00
Nikita Gubarkov
e7876b2b77 JBR-3944 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (macOS)
(cherry picked from commit 324e8a273d)
2021-11-02 08:03:25 +03:00
Maxim Kartashev
320d9caa19 JBR-3623 SIGSEGV at [libawt_xawt] Java_sun_awt_X11GraphicsDevice_getConfigColormap
This fix addresses two possible causes of crashes:
1. makeDefaultConfig() returning NULL. The fix is to die gracefully
instead of crashing in an attempt to de-reference the NULL pointer.

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

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

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

(cherry picked from commit 0b53cd291f)
2021-10-29 20:14:02 +07:00
Sergey Bylokhov
f50335118b JBR-3114 Deadlock in CGraphicsEnvironment.initDevices
Backport upstream fix:
8252133: The java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java fails if metal pipeline is active

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

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

(cherry picked from commit dc6ad31524)
2021-10-29 20:06:13 +07:00
Martin Balao
4f39164cd8 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Reviewed-by: mbaesken
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
(cherry picked from commit bbe3fec093)
2021-10-28 14:31:24 +07:00
Martin Balao
3c70f2521d 8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail
Backport-of: cd020a13c9
(cherry picked from commit f9a56f61ef)
2021-10-28 14:31:23 +07:00
Martin Balao
bcaca6288d 8157404: Unable to read certain PKCS12 keystores from SequenceInputStream
Backport-of: e0f37c15e4
(cherry picked from commit 619bab5b02)
2021-10-28 14:31:22 +07:00
Clive Verghese
eea619e867 8268199: Correct certificate requests
Reviewed-by: yan
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
(cherry picked from commit e072eaa78d)
2021-10-28 14:31:22 +07:00
Alexey Bakhtin
c1041bc752 8267712: Better LDAP reference processing
Reviewed-by: mbaesken, mbalao
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
(cherry picked from commit e7288787fe)
2021-10-28 14:31:21 +07:00
Martin Balao
2f23f21eab 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
(cherry picked from commit 542846c726)
2021-10-28 14:31:20 +07:00
Andrew Brygin
0536ce1a3e 8267735: Better BMP support
Reviewed-by: mbalao
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
(cherry picked from commit f36936e6ca)
2021-10-28 14:31:19 +07:00
Aleksei Voitylov
d5b1e25874 8270404: Better canonicalization
Reviewed-by: mbaesken
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
(cherry picked from commit bce4848e35)
2021-10-28 14:31:19 +07:00
Aleksei Voitylov
bce97b7a58 8270398: Enhance canonicalization
Reviewed-by: mbaesken
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
(cherry picked from commit b2f452cc12)
2021-10-28 14:31:18 +07:00
Yuri Nesterenko
727e201973 8266115: More Manifest Jar Loading
Reviewed-by: mbaesken, mbalao
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
(cherry picked from commit 40be42ee97)
2021-10-28 14:31:17 +07:00
Clive Verghese
dafb959f4d 8269618: Better session identification
Reviewed-by: mbaesken
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
(cherry picked from commit f996257654)
2021-10-28 14:31:16 +07:00
Martin Balao
d776fbc51f 8267729: Improve TLS client handshaking
Reviewed-by: mbaesken
Backport-of: 8e4cbf7fd373c5886be1980bed4fa9cd9045f893
(cherry picked from commit 530cffe1d2)
2021-10-28 14:31:16 +07:00
Martin Balao
9857f627f4 8269624: Enhance method selection support
Reviewed-by: mbaesken, mdoerr
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
(cherry picked from commit c06f606aec)
2021-10-28 14:31:15 +07:00
Sergey Bylokhov
4541604fe7 8269763: The JEditorPane is blank after JDK-8265167
Reviewed-by: mbalao
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
(cherry picked from commit 477f037983)
2021-10-28 14:31:14 +07:00
Sergey Bylokhov
ad791c9218 8265167: Richer Text Editors
Reviewed-by: mbalao
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
(cherry picked from commit f2f987e0a9)
2021-10-28 14:31:13 +07:00
Martin Balao
5062bfa9b0 8263314: Enhance XML Dsig modes
Reviewed-by: mbaesken
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
(cherry picked from commit f948178daa)
2021-10-28 14:31:13 +07:00
Clive Verghese
dd73d76f3a 8268205: Enhance DTLS client handshake
Reviewed-by: yan, mbalao
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
(cherry picked from commit 04957e59cd)
2021-10-28 14:31:12 +07:00
Clive Verghese
1c2a9a15ca 8268193: Improve requests of certificates
Reviewed-by: yan, mbalao
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
(cherry picked from commit 5373b3b10a)
2021-10-28 14:31:11 +07:00
Martin Balao
49b06f6a10 8266103: Better specified spec values
Reviewed-by: mbaesken
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
(cherry picked from commit 9ab7ec0539)
2021-10-28 14:31:10 +07:00
Yuri Nesterenko
117751bb1b 8266137: Improve Keystore integrity
Reviewed-by: mbaesken, mbalao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
(cherry picked from commit ea43cdf94b)
2021-10-28 14:31:10 +07:00
Yuri Nesterenko
66d1ee6bb5 8266097: Better hashing support
Reviewed-by: mbaesken, mbalao
Backport-of: 35c00175d8fba3fdae4f0bd31e3b416f52fb2283
(cherry picked from commit 9d09f2c707)
2021-10-28 14:31:09 +07:00
Martin Balao
9c45474a02 8265580: Enhanced style for RTF kit
Reviewed-by: mbaesken
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
(cherry picked from commit c881afa130)
2021-10-28 14:31:08 +07:00
Yuri Nesterenko
f3ffa1b067 8268506: More Manifest Digests
Reviewed-by: mbaesken
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
(cherry picked from commit 0fa7274198)
2021-10-28 14:31:07 +07:00
Yuri Nesterenko
4313e8e210 8266109: More Resilient Classloading
Reviewed-by: mbaesken, mbalao
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
(cherry picked from commit 8dad20e8e4)
2021-10-28 14:31:07 +07:00
Aleksei Voitylov
b3a06f2e9f 8265776: Improve Stream handling for SSL
Reviewed-by: yan, mbalao
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
(cherry picked from commit c4ed5ccdab)
2021-10-28 14:31:06 +07:00
Sergey Bylokhov
7a9f61a4af 8265574: Improve handling of sheets
Reviewed-by: mbaesken
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
(cherry picked from commit ab4f271c29)
2021-10-28 14:31:05 +07:00
Christoph Langer
f724c730c6 8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration
NetworkConfiguration updated to skip interfaces that have only IPv6 link local addresses.

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

Reviewed-by: clanger
Backport-of: eccfec498d
(cherry picked from commit 762a95f6a6)
2021-10-28 14:30:53 +07:00
Aleksey Shipilev
c716e6388f 8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64)
Reviewed-by: phh, rkennke
Backport-of: c5bb023584
(cherry picked from commit 8fb19cb3c9)
2021-10-28 14:30:52 +07:00
Zhengyu Gu
49f44490f9 8249548: backward focus traversal gets stuck in button group
Backport-of: 22bb597d0d
(cherry picked from commit f8dd19075b)
2021-10-28 14:30:52 +07:00
Reka Kovacs
3ecbaf878a 8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: f6e26f6f33
(cherry picked from commit 3f126ee438)
2021-10-28 14:30:51 +07:00
Reka Kovacs
0ee337a0a5 8263136: C4530 was reported from VS 2019 at access bridge
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Backport-of: d339320e0b
(cherry picked from commit 84845b3d3c)
2021-10-28 14:30:50 +07:00
Aleksey Shipilev
1a47f90644 8272772: Shenandoah: compiler/c2/aarch64/TestVolatilesShenandoah.java fails in 11u
Reviewed-by: rkennke, clanger
(cherry picked from commit 8b68a27d2f)
2021-10-28 14:30:49 +07:00
Aleksey Shipilev
e209913ff6 8272472: StackGuardPages test doesn't build with glibc 2.34
Backport-of: f77a1a156f
(cherry picked from commit 980cfdf8d0)
2021-10-28 14:30:48 +07:00
Aleksey Shipilev
ca43bdc3b9 8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
Backport-of: 4f322a9b6c
(cherry picked from commit 1806d95f1b)
2021-10-28 14:30:48 +07:00
Aleksey Shipilev
96fd636cca 8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1
Reviewed-by: zgu, rkennke
Backport-of: 4fb1980fd0
(cherry picked from commit cdf353ef5d)
2021-10-28 14:30:47 +07:00
Aleksey Shipilev
179370860d 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
Backport-of: 23d2996fee
(cherry picked from commit 97788712ac)
2021-10-28 14:30:46 +07:00
Aleksey Shipilev
c51def6197 8225790: Two NestedDialogs tests fail on Ubuntu
Backport-of: 21e67e5460
(cherry picked from commit b7f4d30774)
2021-10-28 14:30:46 +07:00
Aleksey Shipilev
786c39e43b 8213007: Update the link in test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java
Backport-of: ae77ef7d7a
(cherry picked from commit d153de5846)
2021-10-28 14:30:45 +07:00
Severin Gehwolf
c8b079fff7 8251549: Update docs on building for Git
Reviewed-by: shade, clanger
Backport-of: 042734cc5b
(cherry picked from commit abc17b34f0)
2021-10-28 14:30:44 +07:00
Hui Shi
4cf5b2a88e 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
Reviewed-by: phh
(cherry picked from commit a608418642)
2021-10-28 14:30:43 +07:00
Aleksey Shipilev
2b3fa25316 8272628: Problemlist gc/stress/gcbasher/TestGCBasherWithCMS.java for x86_32
Reviewed-by: sgehwolf
(cherry picked from commit 60182b6a17)
2021-10-28 14:30:42 +07:00
Zhengyu Gu
4715edb890 8226602: Test convenience reactive primitives from java.net.http with RS TCK
Backport-of: 3395bb591b
(cherry picked from commit b93ab61875)
2021-10-28 14:30:42 +07:00
Zhengyu Gu
e1d57ac605 8226319: Add forgotten test/jdk/java/net/httpclient/BodySubscribersTest.java
Reviewed-by: shade
Backport-of: d577d9c678
(cherry picked from commit 8caa003fd0)
2021-10-28 14:30:41 +07:00
Aleksey Shipilev
9cea6cfd6d 8272197: Update 11u GHA workflow with Shenandoah configurations
Reviewed-by: sgehwolf, clanger
(cherry picked from commit 413967fee8)
2021-10-28 14:30:40 +07:00
Aleksey Shipilev
26fa1b61e7 8225082: Remove IdenTrust certificate that is expiring in September 2021
Reviewed-by: phh
Backport-of: 2ec45dc2dd
(cherry picked from commit 622540cedf)
2021-10-28 14:30:39 +07:00
Aleksey Shipilev
0816f20b64 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, clanger
Backport-of: 2d6874b861
(cherry picked from commit d933ff939e)
2021-10-28 14:30:38 +07:00
Aleksey Shipilev
c2f67cedc0 8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test
Backport-of: f095a9ee49
(cherry picked from commit 1bad418274)
2021-10-28 14:30:37 +07:00
Aleksey Shipilev
e26d84e29d 8213409: Refactor sun.text.IntHashtable:i18n shell tests to plain java tests
Backport-of: e048289d95
(cherry picked from commit c541c4229f)
2021-10-28 14:30:36 +07:00
Aleksey Shipilev
33b97c483b 8248352: [TEST_BUG] Test test/jdk/java/awt/font/TextLayout/ArabicDiacriticTest.java can leave frame open
Backport-of: aa3862403b
(cherry picked from commit 354c0e9ed6)
2021-10-28 14:30:35 +07:00
Aleksey Shipilev
0845946e39 8214520: [TEST_BUG] sun/security/mscapi/nonUniqueAliases/NonUniqueAliases.java failed with incorrect jtreg tags order
Backport-of: f47bd19cbc
(cherry picked from commit 0c4473c805)
2021-10-28 14:30:35 +07:00
Aleksey Shipilev
84b6b06af2 8262862: Harden tests sun/security/x509/URICertStore/ExtensionsWithLDAP.java and krb5/canonicalize/Test.java
Backport-of: e1cad97049
(cherry picked from commit 8c5e0dac5e)
2021-10-28 14:30:34 +07:00
Christoph Langer
37a12dba7c 8210802: temp files left by tests in jdk/java/net/httpclient
Reviewed-by: stuefe
Backport-of: 1adaa503bb
(cherry picked from commit 8e448e267a)
2021-10-28 14:30:33 +07:00
Christoph Langer
41f1e43847 8210819: Update the host name in CNameTest.java
Backport-of: c1bbf898e4
(cherry picked from commit 0f3394e585)
2021-10-28 14:30:32 +07:00
Christoph Langer
a9c1819e59 8209772: Refactor shell test java/util/ServiceLoader/basic/basic.sh to java
Backport-of: 07392d976a
(cherry picked from commit ec09658594)
2021-10-28 14:30:31 +07:00
Aleksey Shipilev
137f84e316 8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test
Reviewed-by: phh
Backport-of: 6ce0aeb00b
(cherry picked from commit 2c82f0bd08)
2021-10-28 14:30:30 +07:00
Aleksey Shipilev
16b4e77a5d 8254850: Update terminology in java.awt.GridBagLayout source code comments
Backport-of: 9ed0b76403
(cherry picked from commit df7b71a8a3)
2021-10-28 14:30:30 +07:00
Aleksey Shipilev
a77171c8f8 8210406: Refactor java.util.PluggableLocale:i18n shell tests to plain java tests
Backport-of: 3c2c6bce02
(cherry picked from commit 9f5a745718)
2021-10-28 14:30:29 +07:00
Aleksey Shipilev
ed61a6f66c 8210407: Refactor java.util.Calendar:i18n shell tests to plain java tests
Backport-of: 533bd0a604
(cherry picked from commit 9dd68088a9)
2021-10-28 14:30:28 +07:00
Aleksey Shipilev
0c16b41e1b 8268776: Test ADatagramSocket.java missing /othervm from @run tag
Backport-of: 7d7bdbe135
(cherry picked from commit a9f0f858df)
2021-10-28 14:30:27 +07:00
Aleksey Shipilev
d0b5f1ebc4 8242882: opening jar file with large manifest might throw NegativeArraySizeException
Reviewed-by: phh
Backport-of: 782d45bdec
(cherry picked from commit 317adfb01e)
2021-10-28 14:30:26 +07:00
Aleksey Shipilev
737f600f38 8211092: test/jdk/sun/net/www/http/HttpClient/MultiThreadTest.java fails intermittently when cleaning up
Reviewed-by: phh
Backport-of: 20f6faa030
(cherry picked from commit 94e8da1502)
2021-10-28 14:30:25 +07:00
Aleksey Shipilev
25f2ec652a 8214937: sun/security/tools/jarsigner/warnings/NoTimestampTest.java failed due to unexpected expiration date
Backport-of: 017c702b8a
(cherry picked from commit 2deb6d77e3)
2021-10-28 14:30:25 +07:00
Aleksey Shipilev
9d79b001f6 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

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

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

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

Backport-of: ed5696dd2c
(cherry picked from commit ae8eef47e9)
2021-10-28 14:30:17 +07:00
Aleksey Shipilev
fc975f4aa0 8213694: Test Timeout.java should run in othervm mode
Backport-of: 1b20a6781f
(cherry picked from commit 87aac49db1)
2021-10-28 14:30:16 +07:00
Aleksey Shipilev
6095d7acc6 8252194: Add automated test for fix done in JDK-8218469
Backport-of: 1ae6b533fb
(cherry picked from commit 279c7fa0a6)
2021-10-28 14:30:16 +07:00
Aleksey Shipilev
3511ee0031 8251252: Add automated testcase for fix done in JDK-8214253
Backport-of: b6c861f9f8
(cherry picked from commit 9e99f69534)
2021-10-28 14:30:15 +07:00
Aleksey Shipilev
1f3b217321 8252825: Add automated test for fix done in JDK-8218479
Backport-of: 55c7e769c8
(cherry picked from commit 4188b23289)
2021-10-28 14:30:14 +07:00
Aleksey Shipilev
3c994dcab2 8251254: Add automated test for fix done in JDK-8218472
Backport-of: 8bf5b1d18b
(cherry picked from commit b4d4e47bd1)
2021-10-28 14:30:13 +07:00
Aleksey Shipilev
362af1616d 8251166: Add automated testcases for changes done in JDK-8214112
Backport-of: a0d6a8a174
(cherry picked from commit 5024eb818d)
2021-10-28 14:30:12 +07:00
Aleksey Shipilev
0924798f94 8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java
Backport-of: 389a110e56
(cherry picked from commit d0d680bafe)
2021-10-28 14:30:11 +07:00
Martin Balao
fe15eee00a 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
(cherry picked from commit dedb47108a)
2021-10-28 14:30:11 +07:00
Aleksey Shipilev
96c580018a 8246387: switch to jtreg 5.1
8238943: switch to jtreg 5.0
8235866: bump jtreg requiredVersion to 4.2b16
8219552: bump jtreg requiredVersion to b14 in test/jdk/sanity/client/
8219417: bump jtreg requiredVersion to b14
8236111: narrow allowSmartActionArgs disabling

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

Reviewed-by: sgehwolf, shade
(cherry picked from commit a84dba521d)
2021-10-28 14:29:28 +07:00
Christoph Langer
f49195a6f7 8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows
Backport-of: cd4faff0ec
(cherry picked from commit 5182d5add0)
2021-10-28 14:28:58 +07:00
Christoph Langer
3e9e2a82c2 8209380: ARM: cleanup maybe-uninitialized and reorder compiler warnings
Backport-of: 1712e272cd
(cherry picked from commit 86af8e5184)
2021-10-28 14:28:56 +07:00
Christoph Langer
3d582edad5 8238930: problem list compiler/c2/Test8004741.java
Backport-of: 93241e5db7
(cherry picked from commit cf0a51ec1b)
2021-10-28 14:28:56 +07:00
Christoph Langer
ebc8db6ffc 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c
Reviewed-by: stuefe
Backport-of: 0b7fba75c1
(cherry picked from commit 4b8d52834d)
2021-10-28 14:28:55 +07:00
Severin Gehwolf
2111d4874d 8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
Reviewed-by: clanger
Backport-of: 25f00d787c
(cherry picked from commit 843e5bd3dc)
2021-10-28 14:28:51 +07:00
Martin Doerr
93835cc715 8263432: javac may report an invalid package/class clash on case insensitive filesystems
Reviewed-by: clanger
Backport-of: 0a4c33826d
(cherry picked from commit 86b92e91cf)
2021-10-28 14:28:33 +07:00
Zhengyu Gu
8db3e0ea55 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
(cherry picked from commit 9edf5f7ab6)
2021-10-28 14:28:22 +07:00
Aleksey Shipilev
f8bbf41248 8230808: Remove Access::equals()
Reviewed-by: phh
Backport-of: cb50d3b4f3
(cherry picked from commit 1ef3bac766)
2021-10-28 14:28:06 +07:00
Aleksey Shipilev
7739e3f12c 8168304: Make all of DependencyContext_test available in product mode
Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode.

Reviewed-by: phh
Backport-of: 66c8794c81
(cherry picked from commit 4c64d5b46c)
2021-10-28 14:27:38 +07:00
Martin Doerr
925c3bfdbe 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted
Reviewed-by: phh
Backport-of: 2d2cd78bde
(cherry picked from commit 1df5df6158)
2021-10-28 14:27:33 +07:00
Martin Doerr
f3ef8303df 8257497: Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280
Reviewed-by: clanger
Backport-of: 05301f5fd2
(cherry picked from commit a57eb33d47)
2021-10-28 14:27:33 +07:00
Jiangli Zhou
60c536a9e2 8230674: Heap dumps should exclude dormant CDS archived objects of unloaded classes
Reviewed-by: phh
Backport-of: e90970b67b
(cherry picked from commit 9058c163f9)
2021-10-28 14:27:28 +07:00
Zhengyu Gu
d1330b8d09 8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
Backport-of: 3d090e7ee5
(cherry picked from commit 8bd8ab7a8c)
2021-10-28 14:27:16 +07:00
Severin Gehwolf
aa0d6e54d6 8269668: [aarch64] java.library.path not including /usr/lib64
Reviewed-by: andrew
Backport-of: e14801cdd9
(cherry picked from commit 6fb5337c38)
2021-10-28 14:27:00 +07:00
Zhengyu Gu
db6415f713 8225583: Examine the HttpResponse.BodySubscribers for null handling and multiple subscriptions
Backport-of: af2a46b094
(cherry picked from commit 120313acde)
2021-10-28 14:26:14 +07:00
Martin Doerr
9ef5ee4302 8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100%
Backport-of: ddb1d7a163
(cherry picked from commit 80bc31775f)
2021-10-28 14:26:13 +07:00
Martin Doerr
8d0be9f8a0 8268775: Password is being converted to String in AccessibleJPasswordField
Reviewed-by: zgu, kizune
Backport-of: 97e0e9e73d
(cherry picked from commit fdde4e06e0)
2021-10-28 14:26:07 +07:00
Alexander Scherbatiy
14774d98f1 8262470: Printed GlyphVector outline with low DPI has bad quality on Windows
Reviewed-by: clanger
Backport-of: 0228734902
(cherry picked from commit 59b6ebd4df)
2021-10-28 14:25:56 +07:00
Christoph Langer
6a65364532 8208363: test/jdk/java/lang/Package/PackageFromManifest.java missing module dependencies declaration
Backport-of: 73477220be
(cherry picked from commit 84def92ba4)
2021-10-28 14:25:40 +07:00
Christoph Langer
21e5182327 8209773: Refactor shell test javax/naming/module/basic.sh to java
Backport-of: 694380add3
(cherry picked from commit 1be6c972f8)
2021-10-28 14:25:23 +07:00
Christoph Langer
67e74fa10a 8209930: Refactor java/util/zip/ZipFile/deletetempjar.sh to plain java test
Backport-of: 6c7a19d52f
(cherry picked from commit 6e6cccd956)
2021-10-28 14:24:42 +07:00
Christoph Langer
99fee9e5d5 8042902: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails intermittently
Backport-of: 334d64e9a0
(cherry picked from commit 7a96602662)
2021-10-28 14:24:11 +07:00
Christoph Langer
a44144ad74 8209832: Refactor jdk/internal/reflect/Reflection/GetCallerClassTest.sh to plain java test
Backport-of: dc356698b8
(cherry picked from commit 94ee86f39b)
2021-10-28 14:24:10 +07:00
Christoph Langer
aa6382cb6a 8194230: jdk/internal/jrtfs/remote/RemoteRuntimeImageTest.java fails with java.lang.NullPointerException
Backport-of: b5f939c5db
(cherry picked from commit d0eef7a2ad)
2021-10-28 14:24:09 +07:00
Christoph Langer
95163d8885 8208227: tools/jdeps/DotFileTest.java fails on Win-X64
Backport-of: f0e9643542
(cherry picked from commit 7e60f86127)
2021-10-28 14:24:05 +07:00
Christoph Langer
203cb22de6 8207316: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed
Backport-of: 069fa394d0
(cherry picked from commit 743ee2c55f)
2021-10-28 14:23:53 +07:00
Aleksey Shipilev
587f352172 8252648: Shenandoah: name gang tasks consistently
Reviewed-by: zgu
Backport-of: a1176dc8c9
(cherry picked from commit 32cc09871a)
2021-10-28 14:23:32 +07:00
Aleksey Shipilev
4ce1453a0d 8256215: Shenandoah: re-organize saving/restoring machine state in assembler code
Reviewed-by: zgu
Backport-of: a97aedff9f
(cherry picked from commit 8222e9545e)
2021-10-28 14:23:20 +07:00
Martin Doerr
1ffaa0c068 8255255: Update Apache Santuario (XML Signature) to version 2.2.1
Reviewed-by: clanger
Backport-of: cb742f9560
(cherry picked from commit 06e2ad227e)
2021-10-28 14:23:05 +07:00
Aleksey Shipilev
12973d8225 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes
Reviewed-by: clanger
Backport-of: 7b98400c81
(cherry picked from commit 019a534346)
2021-10-28 14:23:03 +07:00
Vladimir Kempik
0a1aa16833 8253899: Make IsClassUnloadingEnabled signature match specification
Reviewed-by: mdoerr
Backport-of: c7f0064062
(cherry picked from commit 6a19b74c22)
2021-10-28 14:22:47 +07:00
Zhengyu Gu
bd0207bd07 8269661: JNI_GetStringCritical does not lock char array
8269650: Optimize gc-locker in [Get|Release]StringCritical for latin string

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

Reviewed-by: mbaesken
Backport-of: 073e095e60
(cherry picked from commit 64ec3f718a)
2021-10-28 14:21:58 +07:00
Alexey Bakhtin
0bbc2a95bb 8268965: TCP Connection Reset when connecting simple socket to SSL server
Reviewed-by: mdoerr
Backport-of: 6f171b9f0d
(cherry picked from commit 0c1b656d4e)
2021-10-28 14:21:41 +07:00
Martin Doerr
8add11fde7 8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134"
Backport-of: 20053ae242
(cherry picked from commit 9e5e54a2dc)
2021-10-28 14:21:40 +07:00
Martin Doerr
356d367eaa 8227815: Minimal VM: set_state is not a member of AttachListener
Reviewed-by: clanger
(cherry picked from commit b7324dbe33)
2021-10-28 14:21:23 +07:00
Martin Doerr
8927c55f39 8225690: Multiple AttachListener threads can be created
Reviewed-by: clanger
Backport-of: 2870c9d55e
(cherry picked from commit 252899b636)
2021-10-28 14:21:06 +07:00
Goetz Lindenmaier
dfc4511d7f 8245134: test/lib/jdk/test/lib/security/KeyStoreUtils.java should allow to specify aliases
Backport-of: 845799935b
(cherry picked from commit 8e3051745d)
2021-10-28 14:21:05 +07:00
Christoph Langer
95a30133d8 8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales.
Backport-of: 10fca535db
(cherry picked from commit dd6f4b7869)
2021-10-28 14:21:05 +07:00
Christoph Langer
dc5d2f0ae7 8206083: Make tools/javac/api/T6265137.java robust to JDK version changes
Reviewed-by: mdoerr
Backport-of: 69191fc4cc
(cherry picked from commit e3c75d2bf1)
2021-10-28 14:20:59 +07:00
Martin Doerr
b29757c7c2 8240983: Incorrect copyright header in Apache Santuario 2.1.3 files
Backport-of: 9d502f648c
(cherry picked from commit 9b99e90225)
2021-10-28 14:20:48 +07:00
Martin Doerr
c9f185bde6 8236671: NullPointerException in JKS keystore
Reviewed-by: clanger
Backport-of: 276a1bf767
(cherry picked from commit 1801949b7c)
2021-10-28 14:20:31 +07:00
Chris Cole
5c6af1ccc0 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header
Backport-of: 8f2456e5b0
(cherry picked from commit 93251926fa)
2021-10-28 14:20:14 +07:00
Martin Doerr
2f8a8de6db 8254967: com.sun.net.HttpsServer spins on TLS session close
Backport-of: 953e472ded
(cherry picked from commit 6fd9be5aed)
2021-10-28 14:20:14 +07:00
Christoph Langer
56115bff2e 8263531: Remove unused buffer int
Backport-of: ca806ef319
(cherry picked from commit 541bb8af03)
2021-10-28 14:19:58 +07:00
Ichiroh Takiguchi
0069098722 8267459: Pasting Unicode characters into JShell does not work.
Reviewed-by: clanger
Backport-of: de6472c441
(cherry picked from commit 7464ba015d)
2021-10-28 14:19:57 +07:00
Roland Westrelin
62bbafebd3 8269304: Regression ~5% in 2005 in b27
Backport-of: 8d09596f27
(cherry picked from commit 8d2f8106b0)
2021-10-28 14:19:41 +07:00
Zhengyu Gu
68413f333e 8268620: InfiniteLoopException test may fail on x86 platforms
Backport-of: 0b09129fae
(cherry picked from commit 98d4612e67)
2021-10-28 14:19:24 +07:00
Severin Gehwolf
cc453aa500 8270184: [TESTBUG] Add coverage for jvmci ResolvedJavaType.toJavaName() for lambdas
Backport-of: 6a9bc10873
(cherry picked from commit ee05348c36)
2021-10-28 14:19:23 +07:00
Severin Gehwolf
59bb0aaac2 8270196: [11u] [JVMCI] JavaType.toJavaName() returns incorrect type name for lambdas
Reviewed-by: clanger
(cherry picked from commit 9b72415faf)
2021-10-28 14:19:08 +07:00
Aleksey Shipilev
c79fe774c0 8249899: jdk/javadoc/tool/InlineTagsWithBraces.java uses @ignore w/o bug-id
8249897: jdk/javadoc/tool/LangVers.java uses @ignore w/o bug-id
8249898: jdk/javadoc/tool/6176978/T6176978.java uses @ignore w/o bug-id

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

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

Backport-of: d8355e0281
(cherry picked from commit 86d2196175)
2021-10-28 14:18:33 +07:00
Aleksey Shipilev
fc226450a7 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test
Backport-of: 2eaeb20697
(cherry picked from commit 7fc8b00202)
2021-10-28 14:18:32 +07:00
Thomas Stuefe
4a02169359 8261238: NMT should not limit baselining by size threshold
Backport-of: 578a0b3c3d
(cherry picked from commit 0c9a13a511)
2021-10-28 14:18:27 +07:00
Ilarion Nakonechnyy
8854ca6308 8263407: SPARC64 detection fails on Athena (SPARC64-X)
Reviewed-by: mdoerr
(cherry picked from commit 9dbf7fabd0)
2021-10-28 14:18:15 +07:00
Martin Doerr
ab43af8db9 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop
Reviewed-by: rrich, mbaesken
Backport-of: 3a02578b33
(cherry picked from commit 4db777e3c4)
2021-10-28 14:17:59 +07:00
Dmitry Chuyko
4420f48b95 8218145: block_if_requested is not proper inlined due to size
Backport-of: f1fbd69478
(cherry picked from commit 223973dd71)
2021-10-28 14:17:35 +07:00
Aleksey Shipilev
3de4a38c81 8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call
Reviewed-by: zgu
Backport-of: 3a8a15b5d0
(cherry picked from commit cd7068dbc2)
2021-10-28 14:17:26 +07:00
Denghui Dong
1a348852b4 8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*)
Reviewed-by: clanger, mgronlun
Backport-of: a9d2267f8d
(cherry picked from commit 0308e4ffa7)
2021-10-28 14:17:11 +07:00
Aleksey Shipilev
b8db00f617 8213922: fix ctw stand-alone build
Reviewed-by: roland
Backport-of: e53852dd51
(cherry picked from commit 4714a43b1e)
2021-10-28 14:17:09 +07:00
Aleksey Shipilev
4e94d6605f 8267396: Avoid recording "pc" in unhandled oops detector for better performance
Reviewed-by: phh
Backport-of: f67847f52a
(cherry picked from commit a28c351db1)
2021-10-28 14:16:24 +07:00
Aleksey Shipilev
9dc21bb87c 8227766: CheckUnhandledOops is broken in MemAllocator
Save oop created in handle more eagerly, so CheckUnhandledOops doesn't bash it.

Reviewed-by: phh
Backport-of: d35c1540e6
(cherry picked from commit 016383cbe3)
2021-10-28 14:16:22 +07:00
Aleksey Shipilev
0e35c00681 8255810: Zero: build fails without JVMTI
Reviewed-by: stuefe
Backport-of: ca216bae1a
(cherry picked from commit c2fe7a3246)
2021-10-28 14:16:21 +07:00
Christoph Langer
787044e463 8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test
Reviewed-by: shade
Backport-of: 54f5ffeaad
(cherry picked from commit f550ab8282)
2021-10-28 14:16:17 +07:00
Aleksey Shipilev
b8646808ac 8255718: Zero: VM should know it runs in interpreter-only mode
Backport-of: f0eeca9080
(cherry picked from commit 8cd7309276)
2021-10-28 14:15:51 +07:00
Aleksey Shipilev
6299a43b3d 8260923: Add more tests for SSLSocket input/output shutdown
Backport-of: 9bb1863ed7
(cherry picked from commit 3d0fda5bd3)
2021-10-28 14:15:44 +07:00
Aleksey Shipilev
2293c53072 8253631: Remove unimplemented CompileBroker methods after JEP-165
Backport-of: dc1ef58351
(cherry picked from commit b0e4113b5f)
2021-10-28 14:15:33 +07:00
Zhengyu Gu
5d728aeef9 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report
Reviewed-by: clanger
Backport-of: cd1c17c0a6
(cherry picked from commit 829118ef77)
2021-10-28 14:15:32 +07:00
Martin Doerr
afb8f2ac89 8269614: [s390] Interpreter checks wrong bit for slow path instance allocation
Backport-of: be0ac92e18
(cherry picked from commit 2703469310)
2021-10-28 14:15:31 +07:00
Christoph Langer
e2646c2591 8262409: sun/security/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions. SSL test failures caused by java failed with "Server reported the wrong exception"
Reviewed-by: stuefe
Backport-of: 3aa7062c3d
(cherry picked from commit 1414c3ef65)
2021-10-28 14:15:16 +07:00
Christoph Langer
ae3c15a4f1 8269529: javax/swing/reliability/HangDuringStaticInitialization.java fails in Windows debug build
Backport-of: d042029509
(cherry picked from commit cfb91cf777)
2021-10-28 14:15:15 +07:00
Alexey Bakhtin
d5ce807727 8163326: Update the default enabled cipher suites preference
Reviewed-by: clanger
Backport-of: d812742d68
(cherry picked from commit 66cba349f0)
2021-10-28 14:14:58 +07:00
Severin Gehwolf
26bf18094b 8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image
Backport-of: 7977e381ea
(cherry picked from commit 5eee401997)
2021-10-28 14:14:42 +07:00
Zhengyu Gu
e59e55ead1 8268699: Shenandoah: Add test for JDK-8268127
Backport-of: e59acd9860
(cherry picked from commit 9418a6bb90)
2021-10-28 14:14:41 +07:00
Christoph Langer
e0c582da18 8269415: [11u] Remove ea from DEFAULT_PROMOTED_VERSION_PRE in OpenJDK 11u
Reviewed-by: sgehwolf
(cherry picked from commit 5fe5826104)
2021-10-28 14:14:40 +07:00
Pavel Varchenko
15b9aad69e 8268771: javadoc -notimestamp option does not work on index.html
Reviewed-by: clanger
(cherry picked from commit b2b899568d)
2021-10-28 14:14:37 +07:00
Alexey Bakhtin
10fa7d921f 8140466: ChaCha20 and Poly1305 TLS Cipher Suites
Reviewed-by: mdoerr
Backport-of: 962e755c3a
(cherry picked from commit 4ad0db5e74)
2021-10-28 14:14:24 +07:00
Aleksey Shipilev
e824fb87b2 8265335: Epsilon: Minor typo in EpsilonElasticTLABDecay description
Backport-of: 17b6592d8f
(cherry picked from commit 0ad6d36b24)
2021-10-28 14:13:52 +07:00
Alexander Scherbatiy
59e7fb7408 8265761: Font with missed font family name is not properly printed on Windows
Backport-of: e9370a13b6
(cherry picked from commit 116058b8b4)
2021-10-28 14:13:21 +07:00
Aleksey Shipilev
1ff6d3c506 8261496: Shenandoah: reconsider pacing updates memory ordering
Reviewed-by: rkennke, clanger
Backport-of: 4642730b05
(cherry picked from commit c0cb8bd43e)
2021-10-28 14:13:19 +07:00
Aleksey Shipilev
bb995f9775 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress
Reviewed-by: rkennke
Backport-of: 9c9c47e403
(cherry picked from commit 76e8b08d95)
2021-10-28 14:13:19 +07:00
Aleksey Shipilev
fa79525288 8266018: Shenandoah: fix an incorrect assert
Reviewed-by: rkennke
Backport-of: 2dd56676fb
(cherry picked from commit 6e80a5e387)
2021-10-28 14:13:04 +07:00
Aleksey Shipilev
3cc22b0cf3 8210959: JShell fails and exits when statement throws an exception whose message contains a '%'.
Reviewed-by: sgehwolf
Backport-of: dafc483475
(cherry picked from commit 818e833f10)
2021-10-28 14:13:02 +07:00
Aleksey Shipilev
deced3959b 8247421: [TESTBUG] ReturnBlobToWrongHeapTest.java failed allocating blob
Backport-of: bf300e8d8c
(cherry picked from commit fc211f8525)
2021-10-28 14:12:46 +07:00
Hui Shi
ccd963682d 8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M
8266206: Build failure after JDK-8264752 with older GCCs

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

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

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

Reviewed-by: clanger
Backport-of: c0d51dc514
(cherry picked from commit 12f8e812fd)
2021-10-28 14:10:50 +07:00
Denghui Dong
965564aaec 8266642: Improve ResolvedMethodTable hash function
Backport-of: 83b3607290
(cherry picked from commit f15a892f5d)
2021-10-28 14:10:49 +07:00
Vladimir Kempik
4506bfd38c 8261652: Remove some dead comments from os_bsd_x86
Reviewed-by: phh
Backport-of: 28163a9e98
(cherry picked from commit 232aa679f7)
2021-10-28 14:10:49 +07:00
Zhengyu Gu
8cfb24cc81 8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821
Reviewed-by: phh
Backport-of: d1b28e7ad0
(cherry picked from commit 4cb15a6983)
2021-10-28 14:10:48 +07:00
Goetz Lindenmaier
c824566e2c 8267695: Bump update version for OpenJDK: jdk-11.0.13
Reviewed-by: sgehwolf, erikj
(cherry picked from commit 4ba47da3b9)
2021-10-28 14:10:38 +07:00
Aleksey Shipilev
235c43866b 8158066: SourceDebugExtensionTest fails to rename file
Backport-of: b979952d62
(cherry picked from commit e116ccd2c3)
2021-10-28 14:08:17 +07:00
Christoph Langer
d69b0c1c4b 8257913: Add more known library locations to simplify Linux cross-compilation
Reviewed-by: shade
Backport-of: 61cff4da90
(cherry picked from commit a150d49f71)
2021-10-28 14:08:17 +07:00
Martin Doerr
ef7348d3c3 8212040: Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12
Backport-of: a7c90c5400
(cherry picked from commit e4f4544f92)
2021-10-28 14:08:15 +07:00
Christoph Langer
228f98a1ad 8221988: add possibility to build with Visual Studio 2019
Reviewed-by: mdoerr
Backport-of: 2a00db0b2e
(cherry picked from commit 037804f4e6)
2021-10-28 14:08:12 +07:00
Christoph Langer
f869bfe7a2 8220445: Support for side by side MSVC Toolset versions
Reviewed-by: stuefe
Backport-of: 9833d2a1cd
(cherry picked from commit a034aab600)
2021-10-28 14:08:11 +07:00
Martin Doerr
7b5c593f9b 8211055: Provide print to a file (PDF) feature even when printer was not connected
Reviewed-by: clanger
Backport-of: 9b0d241a16
(cherry picked from commit 69c524ad35)
2021-10-28 14:08:10 +07:00
Vladimir Kempik
8fb324ec16 8257620: Do not use objc_msgSend_stret to get macOS version
Backport-of: d4c7db5060
(cherry picked from commit 8bd3b8fe7d)
2021-10-28 14:08:09 +07:00
Christoph Langer
1d553c9b31 8270556: Exclude security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA
Reverted part of 8233569: [TESTBUG] JTextComponent test bug6361367.java fails on macos (6036eb3c81)
not intended in 11u
Backport-of: 1350e2bd22

(cherry picked from commit 14ef4bbb6f)
2021-10-28 14:08:09 +07:00
Alan Hayward
7f33044d23 8266749: AArch64: Backtracing broken on PAC enabled systems
Reviewed-by: phh
Backport-of: ae986bc8df
(cherry picked from commit 5685dd0da3)
2021-10-28 14:06:51 +07:00
Ilarion Nakonechnyy
c181e18bcd 8268617: [11u REDO] - WebSocket over authenticating proxy fails with NPE
Reviewed-by: clanger
(cherry picked from commit 60ef15b303)
2021-10-28 14:06:50 +07:00
Severin Gehwolf
3621b8c5d5 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods
Reviewed-by: adinn
Backport-of: c18ffd6a79
(cherry picked from commit f9c016a47e)
2021-10-28 14:06:49 +07:00
Vladimir Kempik
edeff8c89c 8257148: Remove obsolete code in AWTView.m 2021-10-28 14:06:34 +07:00
Mikhail Grishchenko
751f0987e0 JBR-410 add golden emoji for Linux x64
(cherry picked from commit 9b18b6db07)
2021-10-23 11:53:04 +07:00
Christoph Langer
6914e70d0c 8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos
Backport-of: 823d1d222f
(cherry picked from commit b3926db99e)
(cherry picked from commit e148413b18)
2021-10-23 11:53:03 +07:00
Sergey Bylokhov
28adecfc43 JBR-3693 Backport fix for 8272966 to jbr11
(cherry picked from commit 180bc526b0)
(cherry picked from commit 4f0e658af6)
2021-10-23 11:53:03 +07:00
Vitaly Provodin
4ccb1b3e33 include TCKDateTimeFormatterBuilder test into regular runs after fixing JBR-2842 2021-10-23 08:23:07 +07:00
Vitaly Provodin
735a2c24ef include a11y test into regular runs after fixing JBR-3730 & JBR-3733 2021-10-23 08:20:48 +07:00
Vitaly Provodin
4544835a4c add javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java into Commit testing
(cherry picked from commit e2bc78646b)
2021-10-22 19:31:19 +07:00
Mikhail Grishchenko
d36be61cca Revert "JBR-3575: initial support for new screen menu implementation"
This reverts commit f91ce49684.
2021-10-20 18:22:24 +07:00
Mikhail Grishchenko
5b8c70cd05 Revert "JBR-3575: don't install screen menu via _AppMenuBarHandler.java"
This reverts commit 8c9a1e9c25.
2021-10-20 18:22:22 +07:00
Artem Bochkarev
8c9a1e9c25 JBR-3575: don't install screen menu via _AppMenuBarHandler.java
fixed DefaultMenuBarDispose.java

(cherry picked from commit 3c912178f8)
2021-10-20 06:58:48 +07:00
vprovodin
4c930c8a1e JBR-3887 fix M1 dcevm SIGBUS crash by using correct var arg processing 2021-10-20 05:33:16 +07:00
Artem Bochkarev
f91ce49684 JBR-3575: initial support for new screen menu implementation
force disable with VM property: disableJbScreenMenuBar

(cherry picked from commit 233bc5fa55)
2021-10-18 19:15:50 +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
Maxim Kartashev
9e16583b83 JBR-3618 Add info about releases to JBR README on github 2021-07-16 16:41:54 +03:00
Artem Semenov
390fc567ef JBR-3609: Eliminate regressions caused by JBR-3437 2021-07-16 14:08:55 +03:00
Dmitry Batrak
3674766d65 JBR-3598 [JCK] KEY_TYPED event is not dispatched
another part of the fix
2021-07-14 20:47:54 +03:00
Dmitry Batrak
3b0708af7d JBR-3598 [JCK] KEY_TYPED event is not dispatched 2021-07-14 20:37:14 +03:00
Anton Tarasov
995e2643c6 JBR-3525 SIGSEGV at sun.lwawt.macosx.CAccessible.unregisterFromCocoaAXSystem with enabled VO 2021-07-08 13:57:45 +03:00
Artem Semenov
ff7ca94ca3 JBR-3566: macOS: SIGILL at [libsystem_kernel] NPE in +[JavaComponentAccessibility createWithParent:accessible:role:index:withEnv:withView:isWrapped]: 2021-07-07 15:34:53 +03:00
Artem Semenov
4a393c0243 JBR-3548 macOS: SIGILL at [libsystem_kernel] __kill NPE / +[JavaComponentAccessibility createWithAccessible:withEnv:withView:isCurrent:] 2021-07-07 14:42:57 +03:00
Maxim Kartashev
b4316f0317 JBR-3592 Port 8267307 back to JBR11
8267307: Introduce new client property for XAWT: xawt.mwm_decor_title

Reviewed-by: azvegint, serb
2021-07-07 12:06:56 +03:00
Maxim Kartashev
404a4329c7 JBR-3590 Update JetBrains Runtime README 2021-07-06 18:04:56 +03:00
Nikita Gubarkov
504f91d4d1 JBR-3588 check for zero subpixel glyph resolution and fallback to 1x1 2021-07-06 14:25:31 +03:00
Maxim Kartashev
0895519455 JBR-3572 Wayland: java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java: title bar shown and hidden are the same.
Exclude the test when running under XWayland that doesn't implement
screen capture necessary for the test to function.
2021-07-06 01:23:31 -07:00
Vitaly Provodin
ba57c58ac7 return back security tests into exclude list 2021-07-06 07:24:20 +07:00
Maxim Kartashev
9d7b365b76 JBR-3393 gc/concurrent_phase_control tests fail in JBR 11
Add the W^X (write-or-execute) thread state transition to synthetic tests
in order to make the state change verification code happy.
2021-07-01 12:43:44 +03:00
Maxim Kartashev
84baaca0e7 JBR-3573 (8257828) Apply fixes for hotspot crashes to JBR11
8257828: SafeFetch may crash if invoked in non-JavaThreads

Reviewed-by: mdoerr, kbarrett, coleenp, dholmes
2021-06-29 16:58:23 +03:00
Maxim Kartashev
555feccdb1 JBR-3573 (8260653) Apply fixes for hotspot crashes to JBR11
8260653: Unreachable nodes keep speculative types alive

Reviewed-by: vlivanov, thartmann
2021-06-29 16:41:11 +03:00
Maxim Kartashev
fc6d53e035 JBR-3573 (8265938) Apply fixes for hotspot crashes to JBR11
8265938: C2's conditional move optimization does not handle top Phi

Reviewed-by: chagedorn, kvn, iignatyev
2021-06-29 16:41:11 +03:00
Maxim Kartashev
3b62f02c8a JBR-3573 (8265784) Apply fixes for hotspot crashes to JBR11
8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind

Reviewed-by: kvn, goetz
2021-06-29 16:41:11 +03:00
Maxim Kartashev
4f93d1c06e JBR-3573 (8264640) Apply fixes for hotspot crashes to JBR11
8264640: CMS ParScanClosure misses a barrier

Reviewed-by: yan, johnc
2021-06-29 16:41:11 +03:00
Maxim Kartashev
d85849294a JBR-3573 (8219586) Apply fixes for hotspot crashes to JBR11
8219586: CodeHeap State Analytics processes dead nmethods

Reviewed-by: thartmann, eosterlund
2021-06-29 16:41:11 +03:00
Maxim Kartashev
65fd106b1a JBR-3573 (8250635) Apply fixes for hotspot crashes to JBR11
8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks

Reviewed-by: mdoerr, thartmann
2021-06-29 16:41:10 +03:00
Maxim Kartashev
888350261c JBR-3573 (8217465) Apply fixes for hotspot crashes to JBR11
8217465: [REDO] - Optimize CodeHeap Analytics

Reviewed-by: kvn, thartmann
2021-06-29 16:22:31 +03:00
Maxim Kartashev
923a103580 JBR-3573 (8216314) Apply fixes for hotspot crashes to JBR11
8216314: SIGILL in CodeHeapState::print_names()

Reviewed-by: thartmann, kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
2797ba7b4a JBR-3573 (8217918) Apply fixes for hotspot crashes to JBR11
8217918: C2: -XX:+AggressiveUnboxing is broken

Reviewed-by: kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
8be8b407c9 JBR-3573 (8262295) Apply fixes for hotspot crashes to JBR11
8262295: C2: Out-of-Bounds Array Load from Clone Source

Reviewed-by: kvn, roland, neliasso, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
ff4546ee49 JBR-3573 (8265154) Apply fixes for hotspot crashes to JBR11
8265154: vinserti128 operand mix up for KNL platforms

Reviewed-by: thartmann, kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
6c9bc39e15 JBR-3573 (8264958) Apply fixes for hotspot crashes to JBR11
8264958: C2 compilation fails with assert "n is later than its clone"

Reviewed-by: neliasso, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
5e0f7c7a2b JBR-3573 (8259227) Apply fixes for hotspot crashes to JBR11
8259227: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
b7b0c8be3b JBR-3573 (8258505) Apply fixes for hotspot crashes to JBR11
8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions

Reviewed-by: thartmann, kvn, dcubed
2021-06-29 16:22:30 +03:00
Maxim Kartashev
34472d7aaa JBR-3573 (8257822) Apply fixes for hotspot crashes to JBR11
8257822: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
c607177336 JBR-3573 (8260420) Apply fixes for hotspot crashes to JBR11
8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, roland, chagedorn
2021-06-29 16:22:29 +03:00
Maxim Kartashev
9be32d1854 JBR-3573 (8264626) Apply fixes for hotspot crashes to JBR11
8264626: C1 should be able to inline excluded methods

Reviewed-by: iveresov, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
ec223b32be JBR-3573 (8263448) Apply fixes for hotspot crashes to JBR11
8263448: CTW: fatal error: meet not symmetric

Reviewed-by: roland
2021-06-29 16:22:29 +03:00
Maxim Kartashev
fe329e72bc JBR-3573 (8260255) Apply fixes for hotspot crashes to JBR11
8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized

Reviewed-by: neliasso, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
2918bd4f51 JBR-3573 (8262298) Apply fixes for hotspot crashes to JBR11
8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape"

Reviewed-by: kvn, vlivanov
2021-06-29 16:22:29 +03:00
Maxim Kartashev
48fbbd929e JBR-3573 (8264360) Apply fixes for hotspot crashes to JBR11
8264360: Loop strip mining verification fails with "should be on the backedge"

Reviewed-by: kvn, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
fa340f35b0 JBR-3573 (8264096) Apply fixes for hotspot crashes to JBR11
8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported

Reviewed-by: thartmann
2021-06-29 16:22:28 +03:00
Maxim Kartashev
e1bea797be JBR-3570 Backport JDK-8265677 to JBR11
8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier
Reviewed-by: phh
2021-06-25 18:59:35 +03:00
Mikhail Grishchenko
a2a2572f78 updated JTreg exclude list
exclude some tests from security/infra/java/security/cert/CertPathValidator
JBR-3500 exclude sun/java2d/ClassCastExceptionForInvalidSurface.java for linux-all
2021-06-25 19:22:14 +07:00
Maxim Kartashev
7b992c7cd7 JBR-3568 Backport JDK-8261812 to JBR11 2021-06-25 11:15:01 +03:00
Anton Tarasov
8678f41971 JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser" 2021-06-23 18:03:55 +03:00
Denis Konoplev
752c0e5a49 JBR-3544: Generate popup invoked instead of New in this directory
Fix logical error
2021-06-23 12:00:03 +03:00
Denis Konoplev
3ea7913eaf JBR-3544: Generate popup invoked instead of New in this directory
CR: change duplicate Ctrl to Cmd
2021-06-21 22:31:04 +03:00
Anton Tarasov
9b4f72ad18 JBR-3545 Window.setMinimumSize does not respect DPI scaling 2021-06-21 20:42:49 +03:00
Denis Konoplev
d5fa37b63f JBR-3544: Generate popup invoked instead of New in this directory
Fix duplicate system shortcut
2021-06-21 18:26:25 +03:00
Denis Fokin
6a42bb54bd JRE-408 JBR-3515 fix NullPointerException in MetalRootPaneUI.installWindowListeners
(cherry picked from commit 584d554af529cff445b0f09bc2d57be55e138b7a)
2021-06-18 07:18:59 +07:00
Alexey Ushakov
3b03c698ce JBR-2207 TitledBorder leaks PropertyChangeListener
Added a separate pass with sending setVisible(false) to the frames holding TitledBorder references in order to get WINDOW_DEACTIVATED (to clear KeyBoardFocusManager.activeWindow field)
2021-06-16 16:00:55 +03:00
Vitaly Provodin
a56060d465 exclude the test failing because of JDK-8268678 2021-06-15 05:30:09 +07:00
Maxim Kartashev
97ddad2e99 JBR-3516 IDEA doesn't start when located in folder with cyrillic characters
Fix failing Windows x86 builds.
Fixes commit cad1ad4ba1
2021-06-11 11:40:28 +03:00
Maxim Kartashev
01ea54d751 JBR-3520 Correct stack-use-after-scope in jni_NewObjectA
Casting a variable to a non-reference type technically makes the
resulting expression a prvalue, which then gets bound to a reference
that is alive up until the end of the function. The prvalue is then
touched in the destructor of DTraceReturnProbeMark_NewObjectA and this
is detected by Address Sanitizer as stack-use-after-scope.

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

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

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

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

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

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

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

Reviewed-by: iklam, alanb
2021-04-07 14:33:38 +07:00
Artem Semenov
9001a78701 JBR-3274: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxNavigableText accessibilitySelectedTextAttribute] 2021-04-05 14:47:34 +03:00
Artem Semenov
703cab8d0d JBR-3240: MAke a11y element for TabGroup 2021-04-02 15:51:57 +03:00
Nikita Gubarkov
3c9cdc9251 JBR-3269 Disabled subpixel antialiasing for MacOS Big Sur and newer 2021-04-02 01:24:57 +03:00
Denis Konoplev
032805520d JBR-3214: CR: remove double negation 2021-04-01 16:54:47 +03:00
Dmitry Batrak
b37f7cfdb1 JBR-3255 Applying 'incline' transform might change character's advance 2021-03-30 18:37:21 +03:00
Denis Konoplev
3668d631ca JBR-3214: Reuse openjdk logic and add unicode keycodes 2021-03-30 16:12:29 +03:00
Denis Konoplev
7fa3ea24ac JBR-2509: Fix Escape emulation after Cmd . 2021-03-30 16:05:16 +03:00
Artem Semenov
8a521cbf64 JR-CR-776: JBR-3239: MAke a11y component for ScrollView 2021-03-30 13:43:22 +03:00
Denis Konoplev
fe9601aa6d JBR-3214: Initialize stack variables to fix dead key prefix and enable support on aarch64 2021-03-29 20:06:22 +03:00
Artem Semenov
65e8162d67 JR-CR-775: JBR-3188: NSAccessibilityNavigableStaticText 2021-03-26 14:35:34 +03:00
Artem Semenov
b99be427ce JR-CR-774: JBR-3218: IDEA crash with opening drop down menu and click whatever next. 2021-03-24 18:38:32 +03:00
Denis Konoplev
6b3b011d0b Revert "JBR-2509: Fix Escape emulation after Cmd ."
This reverts commit f096bd2b
2021-03-24 14:01:10 +03:00
Denis Konoplev
b53ef867e4 Revert "JBR-2509: Remove Fokin code."
This reverts commit 99a8e455
2021-03-24 14:01:10 +03:00
Denis Konoplev
215fd32738 Revert "JBR-2509: Turn on option on M1"
This reverts commit 542ee611
2021-03-24 14:01:10 +03:00
Artem Semenov
921603e356 JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
JR-CR-773: JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
2021-03-23 21:04:25 +03:00
Denis Konoplev
542ee611fc JBR-2509: Turn on option on M1 2021-03-23 19:38:58 +03:00
Denis Konoplev
99a8e45598 JBR-2509: Remove Fokin code.
Reuse openjdk logic and add unicode keycodes
2021-03-23 16:45:33 +03:00
Denis Konoplev
f096bd2b0d JBR-2509: Fix Escape emulation after Cmd . 2021-03-23 16:45:33 +03:00
Ivan Migalev
26dd87ab7c JBR-3227 Reload type of required native file dialogs each time a file dialog is requested 2021-03-23 16:00:08 +03:00
Alexey Ushakov
a6ea081ba2 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Initiate move/resize event on first appearance of window having FULL_WINDOW_CONTENT property set
2021-03-23 00:44:30 +03:00
Artem Semenov
2e87610593 JR-CR-771: JBR-3187: NSAccessibilityStaticText 2021-03-22 20:26:07 +03:00
Artem Semenov
1c336fc03a JR-CR-768: Test for JBR-3187 and JBR-3188
Test for JBR-3187 and JBR-3188
2021-03-22 20:26:07 +03:00
Dmitry Batrak
8eafcaab24 JBR-3215 'deriveFont(float)' can return a different font (not just change the size) 2021-03-22 15:56:46 +03:00
Vitaly Provodin
c096f12994 updated JTreg exclude list 2021-03-22 06:40:23 +07:00
Alexey Ushakov
5cfc8b3629 JBR-3217 [bkp to JBR11] JDK-8262446 DragAndDrop hangs on Windows
backported JDK-8262446 without any conflicts
2021-03-20 00:26:45 +03:00
Denis Konoplev
65b3d32eca JBR-1718: Fix regression java/awt/MenuBar/DefaultMenuBarDispose.java 2021-03-19 21:30:41 +03:00
Alexey Ushakov
61de3c3065 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Review: disable coretext for now, cleanup
2021-03-18 13:33:55 +03:00
Nikita Gubarkov
3b101f673b JBR-2910 Fixed font size computation (extended glyph cache for MacOS) 2021-03-18 03:59:42 +03:00
Phil Race
bd79159249 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
Reviewed-by: serb
2021-03-18 05:47:50 +07:00
Alexey Ushakov
ca4425cb21 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Backported fix with some minor corrections
2021-03-17 20:50:22 +03:00
Alexey Ushakov
b386e44bf5 Revert "JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine"
This reverts commit e03c9829, 97c0e96a, 746affd7, e766df4b, 847705dc, f10e7aca, 9ee15508, 553e5ca6
2021-03-17 16:31:05 +03:00
Nikita Gubarkov
03995a0327 JBR-2910 Implemented extended glyph cache for MacOS 2021-03-17 01:25:08 +03:00
Vitaly Provodin
bd6a088aaf remove links to bintray - download zulu as BOOT JDK 2021-03-17 04:46:44 +07:00
Denis Konoplev
c2582f8e03 JBR-1718: Add backward compatibility 2021-03-15 16:00:58 +03:00
Denis Konoplev
c122e27068 JBR-1718: Fix MacOs handlers 2021-03-15 16:00:58 +03:00
Dmitry Batrak
52a2428c28 use GPL copyright header 2021-03-15 14:53:42 +03:00
Konstantin Bulenkov
87b60afdf7 Remove links to bintray 2021-03-14 13:03:11 +01:00
Vitaly Provodin
10069846d5 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
fix the misprint
2021-03-12 15:47:01 +07:00
Roman Shevchenko
f06f9fe734 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
... for a reason other that ERROR_INVALID_PARAMETER.
2021-03-11 12:16:11 +03:00
Vitaly Provodin
348e538d10 updated JTreg exclude list
JBR-3167 excluding java2d tests causing Xwayland crash
2021-03-09 06:37:34 +07:00
Dmitry Batrak
5b9ff9a29e JBR-2766 java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java: Wrong size 2021-03-02 19:42:44 +03:00
Dmitry Batrak
62b04983f2 JBR-3157 Maximized window with custom decorations isn't focused on showing 2021-03-02 19:00:15 +03:00
Vitaly Provodin
c40b9c8b9e JBR-1505 add jdk.jcmd module into JBR 2021-03-02 05:43:59 +07:00
Artem Semenov
46dfaeecc9 JR-CR-760:
JBR-3144 Extend test for list with list nested in Heavy Weight Window popup
2021-02-24 14:25:30 +03:00
Alexey Ushakov
e03c9829e3 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 06:57:05 -08:00
Alexey Ushakov
97c0e96a5a JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 02:57:25 -08:00
Vitaly Provodin
2b559a30df JBR-3138 fix the issues with signing JNF (follow up) 2021-02-20 16:39:00 +07:00
Sean Coffey
73b4a7e79e JBR-3139 backport the fix for 8253368: TLS connection always receives close_notify exception
Reviewed-by: xuelei
(cherry picked from commit 780ac896b1)
2021-02-20 16:38:20 +07:00
Anton Tarasov
7d8aeaf7de revert: JBR-1434 "New file dialog" popup remains above all windows on switching application
java.awt.peer.WindowPeer.isLightweightDialog() method does not exist.
2021-02-20 11:23:59 +03:00
Vitaly Provodin
94390c3f1e JBR-3138 fix the issues with signing JNF 2021-02-20 14:23:45 +07:00
Artem Bochkarev
78d509ac0f JBR-3131: support custom view for system menu items 2021-02-19 19:46:11 +03:00
Nikita Gubarkov
0b6238990b JBR-2910 Implemented extended glyph cache for Linux 2021-02-17 15:13:06 +03:00
Nikita Gubarkov
c0e4afcddd JBR-2910 Implemented extended glyph cache for Windows 2021-02-17 15:12:40 +03:00
Artem Bochkarev
be6a2c4f0c JBR-3127: add possibility to load NSJavaVirtualMachine
JavaVM framework is deprecated but this class is still checked by AppKit, see https://youtrack.jetbrains.com/issue/JBR-3127#focus=Comments-27-4684465.0-0
2021-02-17 15:00:21 +03:00
Artem Bochkarev
0b8ff1a7e6 JBR-3127: set NSWindowAllowsImplicitFullScreen=NO
fixed JBR-3127 Modal dialogs invoked from modal or floating dialogs are opened in full screen
2021-02-17 15:00:20 +03:00
Dmitry Batrak
63134e091b JBR-3119 Application's panel in KDE taskbar blinks when popup window is shown
this re-fixes JBR-2934 in a different way
2021-02-17 10:43:46 +03:00
Dmitry Batrak
50ab4690de JBR-1752 Floating windows overlap modal dialogs
fix for file dialog case
2021-02-11 12:52:14 +03:00
Ivan Migalev
c790bf3ebc JBR-3068: pass default button localization if not overridden 2021-02-11 11:16:56 +03:00
Alexey Ushakov
746affd753 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Corrected symbol name
2021-02-10 08:44:59 -08:00
Alexey Ushakov
e766df4bcc JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Added missing initializations
2021-02-10 06:17:56 -08:00
Alexey Ushakov
847705dc96 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
One more fix of compilation (on windows)
2021-02-10 09:53:00 +03:00
Alexey Ushakov
f10e7aca70 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Fixed compile problem
2021-02-09 23:18:52 +03:00
Alexey Ushakov
9ee1550815 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Added manual loading of harfbuzz library. Use pointers to functions to access it's API.
2021-02-09 22:31:18 +03:00
Konstantin Bulenkov
1de6eed0e1 compilation fix 2021-02-09 12:02:41 +01:00
Konstantin Bulenkov
78510922c5 Update JetBrains Mono stylistic set 2021-02-08 19:43:05 +01:00
Vitaly Provodin
41de3a4cb1 JBR-3064 Disable AllowEnhancedClassRedefinition in flight recorder 2021-02-08 16:35:14 +07:00
Dmitry Batrak
304eb7f919 make AwtListGarbageCollectionTest pass reliably 2021-02-08 12:22:09 +03:00
Ivan Migalev
442bb7eecc JBR-3068 Update path selector behavior when sun.awt.windows.useCommonItemDialog is enabled 2021-02-08 12:00:28 +03:00
Dmitry Batrak
09941119e1 JBR-3017 Focus issue in presence of third-party accessibility tool
Guard against possible deadlocks, if UI-related methods are invoked not on EDT.
Sample deadlock scenario:
* Application thread attempts to show the window, this involves calling CWrapper.NSWindow.makeKeyAndOrderFront under AWT tree lock, which blocks till 'makeKeyAndOrderFront' completes on AppKit thread
* AppKit thread, while executing 'makeKeyAndOrderFront' performs 'back-call' to CAccessibility.getFocusOwner, which waits for execution on EDT
* EDT performs some activity requiring AWT tree lock (e.g. processing of PaintEvent)
2021-02-05 19:46:17 +03:00
Dmitry Batrak
e3aaff5db4 JBR-3017 Focus issue in presence of third-party accessibility tool
use the new invocation approach for 'makeKeyAndOrderFront' as well, as it can also cause synchronous back-calls to accessibility subsystem, and change the global call order unexpectedly

this commit fixes TypeaheadSetVisibleTest and TypeaheadToFrontTest, when they are run with AltTab active
2021-02-05 19:46:16 +03:00
Dmitry Batrak
99242748ee JBR-3072 Deadlock on nested dialog hiding 2021-02-04 14:14:01 +03:00
Vitaly Provodin
c1f4b0ca72 JBR-2124 remove JavaFX from JBR 2021-02-04 07:08:36 +07:00
Alexey Ushakov
553e5ca631 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Renamed bundled harfbuzz with a new name (jharfbuzz) to use only inside libfontmanager.
2021-02-03 09:02:49 -08:00
Dmitry Batrak
aee4b48d20 JBR-3071 Remove naming workaround for Fira Code 2021-02-03 13:08:03 +03:00
Mikhail Grishchenko
bef85f8cea updated JTreg exclude list 2021-02-03 16:20:09 +07:00
Dmitry Batrak
0161050077 JBR-1752 Floating windows overlap modal dialogs 2021-02-01 17:00:13 +03:00
Denis Konoplev
a7c8b0b535 JBR-1995: Last character issue with korean
Fix for JTextComponent
2021-01-29 18:18:28 +03:00
Alexey Ushakov
985a1c8426 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Set styleBits default values for WINDOW_TRANSPARENT_TITLEBAR_APPEARANCE property
2021-01-28 22:08:25 +03:00
Konstantin Bulenkov
2106b67380 Merge pull request #51 from JetBrains/mono/2.225
JetBrains Mono release 2.225
2021-01-27 14:51:07 +01:00
Prasanta Sadhukhan
58493967cd 8257242: [macOS] Java app crashes while switching input methods
Reviewed-by: serb
(cherry picked from commit 706d936ebe)
2021-01-27 19:01:43 +07:00
Prasanta Sadhukhan
2c82032f4c 8248532: Every time I change keyboard language at my MacBook, Java crashes
Reviewed-by: serb, prr
(cherry picked from commit 532775249f)
2021-01-27 19:01:32 +07:00
Vitaly Provodin
c571f300c6 Revert "JBR-2340 Frequent IDEA 2020.2 crashes on macOS"
This reverts commit 08f9ba66
2021-01-27 19:01:15 +07:00
Vitaly Provodin
9d8b89962f merge DCEVM patches with update_11.0.10 2021-01-27 19:00:48 +07:00
Vitaly Provodin
af014f4c2d Merge branch 'update_11.0.10' 2021-01-27 19:00:25 +07:00
MonoBot
b1c1b24890 Fonts release 2.225 2021-01-27 14:23:44 +03:00
Dmitry Batrak
0c2b6e1c04 JBR-3054 Focus is not returned to frame after closing of second-level popup on Windows 2021-01-27 11:19:58 +03:00
Vitaly Provodin
44d8b28b0b JBR-3045 add pressing ESC to close the dialog after test completion 2021-01-27 05:04:04 +07:00
Vitaly Provodin
bd43a4298c JBR-410 add golden emoji for macOS 10.14 x64 2021-01-27 04:57:28 +07:00
Dmitry Batrak
0ed7deabaa JBR-2702 Tooltips display through other applications on hover
make code compile with older SDK
2021-01-26 13:55:11 +03:00
Alexey Ushakov
56629e4c90 JBR-2996 M1 warnings: CoreText note: Client requested name “.SFCompact-Black”, it will get Times-Roman rather than the intended font
Cached system fonts family names
2021-01-26 10:45:44 +03:00
Dmitry Batrak
11732c2469 JBR-2702 Tooltips display through other applications on hover 2021-01-25 19:17:57 +03:00
Elena Sayapina
c356f37efc updated JTreg exclude list 2021-01-22 19:41:00 +07:00
Alexey Ushakov
d987707b0d JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Fixed test/jdk/java/awt/Window/setLocRelativeTo/SetLocationRelativeToTest.java test failure by aligning code with OpenJDK
2021-01-22 11:11:07 +03:00
andrew
29a0e37cb2 Added tag jdk-11.0.10-ga for changeset 8b3498547395 2021-01-21 22:02:37 -05:00
bpb
9397a10682 8247619: Improve Direct Buffering of Characters
Reviewed-by: alanb, ahgross, rhalade, psandoz
2021-01-21 22:01:36 -05:00
alitvinov
5f0af9b0f7 8249183: JVM crash in "AwtFrame::WmSize" method Reviewed-by: serb, aivanov 2021-01-21 22:01:36 -05:00
coleenp
2af72dec9c 8235829: graal crashes with Zombie.java test
Summary: Start ServiceThread before compiler threads, and run nmethod barriers for zgc before adding to the service thread queues, or posting events from the java thread.
Reviewed-by: pliden, dholmes, rehn
2021-01-21 22:01:35 -05:00
sspitsyn
73802596bf 8236124: Minimal VM slowdebug build failed after JDK-8212160
Summary: Use macro JVMTI_ONLY to avoid slowdebug build fail
Reviewed-by: coleenp, cjplummer, dholmes
2021-01-21 22:01:35 -05:00
jiefu
10a677632d 8235456: Minimal VM is broken after JDK-8212160
Reviewed-by: dholmes
2021-01-21 22:01:34 -05:00
coleenp
7dc0618259 8212160: JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value"
Summary: Add local deferred event list to thread to post events outside CodeCache_lock.
Reviewed-by: eosterlund, dholmes, sspitsyn
2021-01-21 22:01:34 -05:00
coleenp
3f4e205ed7 8173658: JvmtiExport::post_class_unload() is broken for non-JavaThread initiators
Summary: call extension ClassUnload event as a deferred event from the ServiceThread and remove unsafe arguments
Reviewed-by: sspitsyn, dholmes
2021-01-21 22:01:33 -05:00
sgehwolf
a9320f9a7c 8256557: libharfbuzz fails to link on gcc 4.4.x due to -Wl,-z,defs
Reviewed-by: phh
2021-01-21 22:01:33 -05:00
prr
f2157fc2a3 8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11
Reviewed-by: kcr, psadhukhan
2021-01-21 22:01:33 -05:00
igerasim
10a904bd65 8234147: Avoid looking up standard charsets in core libraries
Reviewed-by: alanb
2021-01-21 22:01:32 -05:00
ysuenaga
478314786d 8250598: Hyper-V is detected in spite of running on host OS
Reviewed-by: mbaesken, mdoerr, dholmes
2021-01-21 22:01:32 -05:00
prr
87b4f75c81 8250894: Provide a configure option to build and run against the platform libharfbuzz
Reviewed-by: erikj
2021-01-21 22:01:31 -05:00
shade
3cb8a371cf 8250605: Linux x86_32 builds fail after JDK-8249821
Reviewed-by: erikj, prr
2021-01-21 22:01:31 -05:00
prr
2be0650a3c 8249821: Separate libharfbuzz from libfontmanager
Reviewed-by: erikj
2021-01-21 22:01:30 -05:00
chegar
38f59e7a39 8217976: test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently
Reviewed-by: dfuchs
2021-01-21 22:01:30 -05:00
goetz
9cae35c8fe 8252415: Bump update version for OpenJDK: jdk-11.0.10
Reviewed-by: shade
2021-01-21 22:01:29 -05:00
rhalade
d56539e2ef 8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs
8258630: Add expiry exception for QuoVadis root certificate
Reviewed-by: ascarpino
2021-01-21 21:57:52 -05:00
clanger
894c226ce0 8255050: Add pkcs11/KeyStore/ClientAuth.sh to Problem list
Reviewed-by: mbaesken
2021-01-21 21:57:51 -05:00
mseledtsov
8ad2c4c130 8215583: Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java
Summary: Added test to problem list
Reviewed-by: iignatyev
2021-01-21 21:57:51 -05:00
zgu
513fce6d1f 8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays
Reviewed-by: shade
2021-01-21 21:57:50 -05:00
zgu
6ce327bba0 8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false
Reviewed-by: shade
2021-01-21 21:57:49 -05:00
mbalao
a5182b1bc8 8257545: SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport
Reviewed-by: aph, goetz
2021-01-21 21:57:49 -05:00
stuefe
81e42d8949 8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM
Reviewed-by: zgu, dholmes
2021-01-21 21:57:48 -05:00
stuefe
534de1d9d3 8249748: gtest silently ignores bad jvm arguments
Reviewed-by: shade, dholmes, iignatyev
2021-01-21 21:57:48 -05:00
andrew
d26d470f41 8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
Summary: HttpClient no longer filters out system host header when sending tunelling CONNECT request to proxy
Reviewed-by: dfuchs
2021-01-21 21:57:47 -05:00
shade
6ecddfb581 8256736: Zero: GTest tests fail with "unsuppported vm variant"
Reviewed-by: dholmes
2021-01-21 21:57:46 -05:00
sspitsyn
382093e49b 8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv
Summary: Fix GenerateEvents() to send CompiledMethodLoad events to requesting agent only
Reviewed-by: jcbeyler, amenkov
2021-01-21 21:57:43 -05:00
stuefe
de1b27c174 8227275: Within native OOM error handling, assertions may hang the process
Reviewed-by: mdoerr, coleenp
2021-01-21 21:57:42 -05:00
shade
d0445b53b8 8257181: s390x builds are very noisy with gc-sections messages
Reviewed-by: mdoerr, lucy
2021-01-21 21:57:42 -05:00
stuefe
7c49be5fbf 8230910: libsspi_bridge does not build on Windows 32bit
Reviewed-by: alanb, weijun
2021-01-21 21:57:41 -05:00
psadhukhan
14bd84f9b6 8234393: [macos] printing ignores printer tray
Reviewed-by: psadhukhan, prr
Contributed-by: Vipin Menon <vipinmv1@in.ibm.com>
2021-01-21 21:57:40 -05:00
tonyp
4775d5b564 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&)
Reviewed-by: adinn
Contributed-by: Markus Gronlund <markus.gronlund@oracle.com>, Jon Spurling <jspurling@twitter.com>
2021-01-21 21:57:40 -05:00
jlahoda
24d1124689 8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows
Summary: Ensure correct wrapping of input on Windows.
Reviewed-by: rfield
2021-01-21 21:57:39 -05:00
shade
dc80bc7a42 8256618: Zero: Linux x86_32 build still fails
Reviewed-by: aph, dholmes, stuefe
2021-01-21 21:57:39 -05:00
ebaron
913c60c2e3 8256809: Annotation processing causes NPE during flow analysis
Reviewed-by: jlahoda
2021-01-21 21:57:38 -05:00
serb
20e6a76d22 8253269: The CheckCommonColors test should provide more info on failure
Reviewed-by: prr
2021-01-21 21:57:37 -05:00
weijun
67fa05a1d2 8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors
Reviewed-by: xuelei
2021-01-21 21:57:36 -05:00
dcherepanov
b101e233a0 8251365: Build failure on AIX after 8250636
Reviewed-by: dholmes
2021-01-21 21:57:35 -05:00
dcherepanov
dcecd60677 8250636: iso8601_time returns incorrect offset part on MacOS
Reviewed-by: dholmes, gziemski
2021-01-21 21:57:35 -05:00
weijun
085a4aadcb 6722928: Support SSPI as a native GSS-API provider
Reviewed-by: erikj, nwilliams, valeriep, sgehwolf
2021-01-21 21:57:34 -05:00
roland
f25553eb0b 8229495: SIGILL in C2 generated OSR compilation
Reviewed-by: kvn, chagedorn
2021-01-21 21:57:33 -05:00
sgehwolf
7debe89a72 8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations
Reviewed-by: phh
2021-01-21 21:57:33 -05:00
thartmann
7ac0ac677b 8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions
Summary: Added missing UnlockDiagnosticVMOptions.
Reviewed-by: tschatzl
2021-01-21 21:57:31 -05:00
thartmann
c00a394007 8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2
Summary: Added missing null checks and checks for pending exception.
Reviewed-by: kvn
2021-01-21 21:57:31 -05:00
serb
98ec465085 8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java
Reviewed-by: jdv
2021-01-21 21:57:30 -05:00
kravikumar
6dd3a81c0b 8255226: (tz) Upgrade time-zone data to tzdata2020d
Reviewed-by: naoto
2021-01-21 21:57:29 -05:00
bulasevich
f8d939adaf 8254016: Test8237524 fails with -XX:-CompactStrings option
Reviewed-by: shade
2021-01-21 21:57:28 -05:00
enikitin
2fbb8399e2 8244282: test/hotspot/jtreg/compiler/intrinsics/Test8237524.java fails with --illegal-access=deny
Summary: Add modules to test/hotspot/jtreg/compiler/intrinsics/Test8237524
Reviewed-by: iignatyev
2021-01-21 21:57:28 -05:00
clanger
6f149720d0 8256452: Integrate missing part of JDK-8232370 to 11u
Reviewed-by: mbaesken, sgehwolf
2021-01-21 21:57:27 -05:00
clanger
f777d886f5 8256427: Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX
Reviewed-by: jiefu, mbaesken
2021-01-21 21:57:26 -05:00
vtewari
ce51e61fb4 8238579: HttpsURLConnection drops the timeout and hangs forever in read
Summary: HttpsURLConnection drops the timeout and hangs forever in read
Reviewed-by: dfuchs
2021-01-21 21:57:26 -05:00
shade
79f7442e0f 8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback
Reviewed-by: zgu, rkennke
2021-01-21 21:57:25 -05:00
shade
10e00dd573 8255457: Shenandoah: cleanup ShenandoahMarkTask
Reviewed-by: rkennke
2021-01-21 21:57:24 -05:00
sgehwolf
797483db7f 8256483: [TESTBUG] serviceability/jvmti/GetClassMethods/libOverpassMethods.c fails to compile on gcc 4.4.x
Reviewed-by: shade, goetz
2021-01-21 21:57:24 -05:00
shade
9263119a35 8214787: Zero builds fail with "undefined JavaThread::thread_state()"
Reviewed-by: stuefe, zgu
2021-01-21 21:57:23 -05:00
vromero
d121ff949d 8211450: UndetVar::dup is not copying the kind field to the duplicated instance
Reviewed-by: mcimadamore
Contributed-by: filipe.roque@premium-minds.com
2021-01-21 21:57:23 -05:00
coffeys
a06c43399c 8250968: Symlinks attributes not preserved when using jarsigner on zip files
Reviewed-by: lancea, weijun, hchao
2021-01-21 21:57:22 -05:00
coffeys
6acc706e26 8218021: Have jarsigner preserve posix permission attributes
Reviewed-by: weijun, lancea, alanb
2021-01-21 21:57:21 -05:00
pconcannon
94d5941cc1 8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket
Summary: Tests added for methods: setSendBufferSize(int), getSendBufferSize(), and getReceieveBufferSize() to increase test coverage in the DatagramSocket class
Reviewed-by: alanb, chegar, dfuchs
2021-01-21 21:57:21 -05:00
thartmann
e05c7d817c 8251535: Partial peeling at unsigned test adds incorrect loop exit check
Reviewed-by: chagedorn, neliasso, kvn
2021-01-21 21:57:20 -05:00
kvn
7f8de5ab98 8255466: C2 crashes at ciObject::get_oop() const+0x0
Reviewed-by: vlivanov
2021-01-21 21:57:19 -05:00
jiefu
5921410376 8250825: C2 crashes with assert(field != __null) failed: missing field
Reviewed-by: kvn, thartmann
2021-01-21 21:57:19 -05:00
kravikumar
c0452cc7c5 8254982: (tz) Upgrade time-zone data to tzdata2020c
Reviewed-by: erikj, naoto
2021-01-21 21:57:18 -05:00
shade
e8f3d2efca 8253219: Epsilon: clean up unnecessary includes
Reviewed-by: tschatzl, kbarrett
2021-01-21 21:57:18 -05:00
ihse
e6d2594fea 8245168: jlink should not be treated as a "small" tool
Reviewed-by: erikj
2021-01-21 21:57:17 -05:00
shade
24e40f463e 8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect
Reviewed-by: kvn, eosterlund
2021-01-21 21:57:16 -05:00
xliu
66c9c759a3 8245051: c1 is broken if it is compiled by gcc without -fno-lifetime-dse
Summary: Initialize BlockBegin block id in constructor rather than operator new
Reviewed-by: kbarrett, thartmann
2021-01-21 21:57:16 -05:00
prr
4f90bf87af 8255365: Problem list failing client manual tests
Reviewed-by: kizune, serb
2021-01-21 21:57:15 -05:00
jiefu
86961069ef 8235218: Minimal VM is broken after JDK-8173361
Reviewed-by: dholmes
2021-01-21 21:57:15 -05:00
coleenp
32d1f9a117 8173361: various crashes in JvmtiExport::post_compiled_method_load
Summary: Don't post information that uses metadata from unloaded nmethods
Reviewed-by: eosterlund, dholmes, sspitsyn
2021-01-21 21:57:14 -05:00
redestad
2da1b23e0a 8234863: Increase default value of MaxInlineLevel
Reviewed-by: kvn, neliasso
2021-01-21 21:57:13 -05:00
serb
10fc5ddab4 8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard
Reviewed-by: prr
2021-01-21 21:57:13 -05:00
shade
6589997f4f 8255065: Zero: accessor_entry misses the IRIW case
Reviewed-by: mdoerr
2021-01-21 21:57:12 -05:00
shade
b335abd5ba 8197981: Missing return statement in __sync_val_compare_and_swap_8
Reviewed-by: andrew, dholmes
2021-01-21 21:57:11 -05:00
shade
22a7c3d601 8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp
Reviewed-by: zgu
2021-01-21 21:57:11 -05:00
jjiang
dfaaa4bad2 8243549: sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA
Reviewed-by: xuelei
2021-01-21 21:57:10 -05:00
jjiang
6cf1b086b9 8224650: Add tests to support X25519 and X448 in TLS
Reviewed-by: xuelei
2021-01-21 21:57:10 -05:00
wetmore
3d7f44bda6 8171279: Support X25519 and X448 in TLS
Reviewed-by: xuelei, mullan
2021-01-21 21:57:09 -05:00
phh
4c1cb2b327 8255269: Unsigned overflow in g1Policy.cpp
Reviewed-by: yan
Contributed-by: William Kemper <kemperw@amazon.com>
2021-01-21 21:57:08 -05:00
hseigel
94e531fafc 8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities
Reviewed-by: bobv, sgehwolf
2021-01-21 21:57:08 -05:00
clanger
34482f2d45 8255603: Memory/Performance regression after JDK-8210985
Reviewed-by: simonis, xuelei, aph
2021-01-21 21:57:07 -05:00
mdoerr
ba756da969 8254190: [s390] interpreter misses exception check after calling monitorenter
Reviewed-by: shade, rrich
2021-01-21 21:57:06 -05:00
serb
dded997fe2 8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
Reviewed-by: pbansal, psadhukhan
2021-01-21 21:57:06 -05:00
chagedorn
e4cba90584 8249607: C2: assert(!had_error) failed: bad dominance
Summary: Fix prevented igvn optimization in SplitIf for LoadNodes which resulted in dominanance errors with loop strip mining.
Reviewed-by: roland, kvn
2021-01-21 21:57:05 -05:00
aefimov
1ad4bb39b8 8250772: Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException
Reviewed-by: dfuchs
2021-01-21 21:57:04 -05:00
mgronlun
d9e062c03e 8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
Reviewed-by: hseigel
Contributed-by: Harold Seigel <harold.seigel@oracle.com>
2021-01-21 21:57:04 -05:00
iignatyev
30be19ce1b 8244142: some hotspot/runtime tests don't check exit code of forked JVM
Reviewed-by: gziemski, minqi
2021-01-21 21:57:03 -05:00
andrew
5f619d4a4d 8254177: (tz) Upgrade time-zone data to tzdata2020b
Summary: Remove obsolete systemv & pacificnew files and US/Pacific-New zone
Reviewed-by: yan
2021-01-21 21:57:02 -05:00
sviswanathan
c1e592568f 8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
Reviewed-by: kvn, thartmann
2021-01-21 21:57:02 -05:00
pli
ae7be26205 8237524: AArch64: String.compareTo() may return incorrect result
Reviewed-by: aph
2021-01-21 21:57:01 -05:00
shade
6ab515ca7f 8254166: Zero: return-type warning in zeroInterpreter_zero.cpp
Reviewed-by: sgehwolf
2021-01-21 21:57:00 -05:00
akolarkunnu
7908ea4a00 8248745: Add jarsigner and keytool tests for restricted algorithms
Reviewed-by: mullan, hchao
2021-01-21 21:57:00 -05:00
neliasso
87a402cce6 8244278: Excessive code cache flushes and sweeps
Reviewed-by: neliasso
Contributed-by: Man Cao <manc@google.com>
2021-01-21 21:56:59 -05:00
jiefu
da219becdc 8239886: Minimal VM build fails after JDK-8237499
Reviewed-by: dholmes
2021-01-21 21:56:58 -05:00
ddong
54d6fe8a30 8237499: JFR: Include stack trace in the ThreadStart event
Reviewed-by: egahlin
2021-01-21 21:56:58 -05:00
rhalade
8b674ce700 8249176: Update GlobalSignR6CA test certificates
Reviewed-by: xuelei
2021-01-21 21:56:56 -05:00
mhorie
fd882abe71 8248190: Enable Power10 system and implement new byte-reverse instructions
Reviewed-by: mdoerr, stuefe
Contributed-by: Jose Ziviani <joserz@linux.ibm.com>
2021-01-21 21:56:56 -05:00
neliasso
cee0a5a21b 8254185: Fix Code cache sweeper heuristics for JDK 11
Reviewed-by: thartmann, kvn
2021-01-21 21:56:55 -05:00
aefimov
08d859c5e1 8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
Reviewed-by: dfuchs, vtewari
2021-01-21 21:56:54 -05:00
xyin
96f470b00d 8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
Reviewed-by: aefimov, vtewari, dfuchs
2021-01-21 21:56:54 -05:00
xyin
98fd06a58d 8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:53 -05:00
xyin
2d7662cef9 8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:53 -05:00
xyin
bb5b8a47d2 8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:52 -05:00
xyin
ba0b40f364 8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:51 -05:00
xyin
d71e96da19 8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:51 -05:00
rhalade
91cff3e686 8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test
Summary: "8239105: added verisigntsaca and thawtepremiumserverca to EXPIRY_EXC_ENTRIES list"
Reviewed-by: mullan
2021-01-21 21:56:50 -05:00
shade
da5cfa80d9 8253284: Zero OrderAccess barrier mappings are incorrect
Reviewed-by: dholmes, aph, andrew
2021-01-21 21:56:49 -05:00
shade
739a0d94ed 8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
Reviewed-by: jiefu, rehn, rkennke
2021-01-21 21:56:49 -05:00
dtitov
e4a59bd712 8216324: GetClassMethods is confused by the presence of default methods in super interfaces
Reviewed-by: sspitsyn, amenkov
2021-01-21 21:56:48 -05:00
simonis
6ebab37627 8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x
Reviewed-by: erikj, ihse
2021-01-21 21:56:47 -05:00
roland
2437c2b79e 8252696: Loop unswitching may cause out of bound array load to be executed
Reviewed-by: neliasso, chagedorn
2021-01-21 21:56:47 -05:00
serb
9c64f005d4 8152332: [macosx] JFileChooser cannot be serialized on Mac OS X
Reviewed-by: pbansal, jdv
2021-01-21 21:56:46 -05:00
serb
13ff94ac5d 8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
Reviewed-by: psadhukhan
2021-01-21 21:56:45 -05:00
serb
9e3413ee97 8240633: Memory leaks in the implementations of FileChooserUI
Reviewed-by: pbansal, psadhukhan
2021-01-21 21:56:45 -05:00
sviswanathan
efd9998e42 8236944: The legVecZ operand should be limited to zmm0-zmm15 registers
Summary: Associate legVecZ operand with vectorz_reg_legacy register class
Reviewed-by: vlivanov, thartmann
2021-01-21 21:56:44 -05:00
lmesnik
6dce86ebc4 8161684: [testconf] Add VerifyOops' testing into compiler tiers
Reviewed-by: kvn
2021-01-21 21:56:44 -05:00
ngasson
6a5e116ae0 8248845: AArch64: stack corruption after spilling vector register
Reviewed-by: kvn
2021-01-21 21:56:42 -05:00
sgehwolf
1aba60c958 8251397: NPE on ClassValue.ClassValueMap.cacheArray
Summary: Add release fence to ClassValueMap constructor.
Reviewed-by: shade, psandoz
Contributed-by: Galder Zamarreno <galder@redhat.com>
2021-01-21 21:56:41 -05:00
jcm
ccc74a719c 8246381: VM crashes with "Current BasicObjectLock* below than low_mark"
Summary: save and restores "donotunlock" flag in check_and_handle_async_exceptions
Reviewed-by: coleenp, dholmes
2021-01-21 21:56:41 -05:00
mdoerr
1d46c49052 8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms
Reviewed-by: stuefe, dholmes
2021-01-21 21:56:40 -05:00
dmarkov
7fe093cf22 8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
Reviewed-by: serb, prr
2021-01-21 21:56:38 -05:00
dmarkov
02d123c56a 8232114: JVM crashed at imjpapi.dll in native code
Reviewed-by: serb, alitvinov
2021-01-21 21:56:38 -05:00
thartmann
fc9d253d07 8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"
Summary: Use T_ADDRESS instead of T_OBJECT to load metadata.
Reviewed-by: kvn
2021-01-21 21:56:37 -05:00
ssahoo
a57acf85d5 8242335: Additional Tests for RSASSA-PSS
Summary: New Tests for RSASSA-PSS
Reviewed-by: valeriep
2021-01-21 21:56:36 -05:00
chagedorn
e1ef260c8d 8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
Summary: Fix wrong replacement of loads by zero for non-completed InitializationNodes belonging to a clone when ReduceBulkZeroing is disabled.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:36 -05:00
chagedorn
5cb8539ef7 8249605: C2: assert(no_dead_loop) failed: dead loop detected
Summary: Fixed dead loop detection in PhiNode::Ideal() to additionally account for dead MergeMemNodes
Reviewed-by: kvn, thartmann
2021-01-21 21:56:34 -05:00
mbaesken
c2832bdca3 8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
Reviewed-by: bobv, sgehwolf
2021-01-21 21:56:34 -05:00
jiefu
341d176e43 8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker
Reviewed-by: sgehwolf, dholmes
2021-01-21 21:56:33 -05:00
bobv
094ac647d8 8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100
Reviewed-by: dholmes, sgehwolf, redestad
2021-01-21 21:56:33 -05:00
bobv
f2ac092d37 8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137
Reviewed-by: sgehwolf, mseledtsov
2021-01-21 21:56:32 -05:00
bobv
fae5f81fdd 8222533: jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine
Reviewed-by: mseledtsov, dholmes
2021-01-21 21:56:31 -05:00
naoto
0c621e96a6 8241311: Move some charset mapping tests from closed to open
Reviewed-by: iris, joehw, itakiguchi, amlu
2021-01-21 21:56:31 -05:00
shade
b845d916f0 8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
Reviewed-by: rkennke, zgu
2021-01-21 21:56:30 -05:00
shade
521c6e6b50 8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
Reviewed-by: rkennke, zgu
2021-01-21 21:56:29 -05:00
valeriep
c783454707 8216012: Infinite loop in RSA KeyPairGenerator
Summary: Check and error out on even RSA public exponents
Reviewed-by: valeriep
Contributed-by: Masanori Yano <yano-masanori@fujitsu.com>
2021-01-21 21:56:29 -05:00
shade
cc127b2513 8208665: Amend cross-compilation docs with qemu-debootstrap recipe
Reviewed-by: martin, glaubitz, erikj
2021-01-21 21:56:28 -05:00
sundar
fdc81b4580 8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java
Reviewed-by: alanb, sundar
Contributed-by: Ao Qi <aoqi@loongson.cn>
2021-01-21 21:56:28 -05:00
iignatyev
8fe37f1355 8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version
Reviewed-by: thartmann
2021-01-21 21:56:27 -05:00
chagedorn
7c7689c284 8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed
Summary: Use DUIterator instead of DUIterator_Fast due to legit insertions.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:26 -05:00
stefank
7149dc2118 8246434: Threads::print_on_error assumes that the heap has been set up
Reviewed-by: dholmes
2021-01-21 21:56:25 -05:00
ngasson
aba4cf9326 8242029: AArch64: skip G1 array copy pre-barrier if marking not active
Reviewed-by: aph
2021-01-21 21:56:24 -05:00
stefank
28110a97bd 8247201: Print potential pointer value of readable stack memory in hs_err file
Reviewed-by: eosterlund, dholmes, tschatzl
2021-01-21 21:56:23 -05:00
chagedorn
42d0b2714f 8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
Summary: Change C2 specific test to be executed only with server compiler.
Reviewed-by: roland, kvn, thartmann
2021-01-21 21:56:22 -05:00
sspitsyn
659a86e3a4 8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed
Summary: Improve synchronization in the test
Reviewed-by: dcubed, amenkov
2021-01-21 21:56:22 -05:00
jbachorik
cbb3a98a03 8252754: Hash code calculation of JfrStackTrace is inconsistent
Reviewed-by: egahlin
2021-01-21 21:56:21 -05:00
egahlin
0534cff8c3 8250928: JFR: Improve hash algorithm for stack traces
Reviewed-by: egahlin
Contributed-by: Gabriel Reid <gabriel.reid@datadoghq.com>
2021-01-21 21:56:21 -05:00
coleenp
1e6d3bd27a 8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java
Reviewed-by: kbarrett, jiangli
2021-01-21 21:56:20 -05:00
shade
ea8bf3a792 8252660: Shenandoah: support manageable SoftMaxHeapSize option
Reviewed-by: zgu
2021-01-21 21:56:20 -05:00
andrew
4a4ca84e39 8222286: Fix for JDK-8213419 is broken on s390
Summary: Cast sizeof argument to log2_intptr to uintptr_t to remove ambiguity
Reviewed-by: aph, clanger
2021-01-21 21:56:19 -05:00
chagedorn
29c749a870 8248552: C2 crashes with SIGFPE due to division by zero
Summary: Bail out in PhaseIdealLoop:split_thru_phi when trying to split a Div or ModNode iv phi whose zero check was removed but could potentially still be zero based on type information.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:19 -05:00
iignatyev
65c673e873 8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
Reviewed-by: thartmann
2021-01-21 21:56:18 -05:00
ljiang
39a5127d8f 8250665: Wrong translation for the month name of May in ar_JO,LB,SY
Reviewed-by: naoto
2021-01-21 21:56:18 -05:00
yan
14bf91f59b 8252497: Incorrect numeric currency code for ROL
Reviewed-by: naoto
2021-01-21 21:56:17 -05:00
valeriep
ece7a22aed 8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
Summary: Removed killSession() calls in certain impl classes when cancelling operations
Reviewed-by: xuelei
2021-01-21 21:56:17 -05:00
sviswanathan
5edf0a5a18 8249672: Include microcode revision in features_string on x86
Reviewed-by: kvn, stuefe
Contributed-by: vladimir.a.ivanov@intel.com
2021-01-21 21:56:16 -05:00
chagedorn
1c12fa294a 8248226: TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing
Summary: Taking GC barriers into account in LoadNode::find_previous_arraycopy() when ReduceInitialCardMarks is disabled.
Reviewed-by: kvn, roland
2021-01-21 21:56:16 -05:00
mdoerr
03c19f4da7 8241234: Unify monitor enter/exit runtime entries.
Reviewed-by: dcubed, coleenp
Contributed-by: Yudi Zheng <yudi.zheng@oracle.com>
2021-01-21 21:56:14 -05:00
ngasson
a2dd176afa 8237512: AArch64: aarch64TestHook leaks a BufferBlob
Reviewed-by: adinn, aph
2021-01-21 21:56:14 -05:00
bpb
d6f2d66235 8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java
Reviewed-by: mchung, lancea, prappo
2021-01-21 21:56:13 -05:00
thartmann
7c718843a3 8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
Summary: Limit the counter value to max_jint.
Reviewed-by: kvn, vlivanov, chagedorn
2021-01-21 21:56:13 -05:00
thartmann
73b7915762 8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
Summary: Removed allocation of large arrays to avoid OOME.
Reviewed-by: kvn, chagedorn
2021-01-21 21:56:12 -05:00
thartmann
e29237b197 8249608: Vector register used by C2 compiled method corrupted at safepoint
Summary: Always update 'max_vlen_in_bytes'.
Reviewed-by: kvn, vlivanov, chagedorn
2021-01-21 21:56:12 -05:00
chagedorn
60fb3522a9 8249603: C1: assert(has_error == false) failed: register allocation invalid
Summary: Added bailout in combine_spilled_intervals() to avoid an overlap between two intervals
Reviewed-by: kvn, thartmann
2021-01-21 21:56:11 -05:00
redestad
24a1d8e195 8220420: Cleanup c1_LinearScan
Reviewed-by: thartmann, neliasso
2021-01-21 21:56:11 -05:00
shade
d71b35062c 8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests
Reviewed-by: pliden
2021-01-21 21:56:10 -05:00
serb
78895cf47f 8213535: Windows HiDPI html lightweight tooltips are truncated
Reviewed-by: kizune
2021-01-21 21:56:10 -05:00
prr
8c44afebf9 8245400: Upgrade to LittleCMS 2.11
Reviewed-by: serb, jdv
2021-01-21 21:56:09 -05:00
pchilanomate
e228d72cfb 8251118: BiasedLocking::preserve_marks should not have a HandleMark
Summary: Removed HandleMark from BiasedLocking::preserve_marks() method
Reviewed-by: hseigel, coleenp, dcubed, tschatzl, dholmes
2021-01-21 21:56:09 -05:00
tschatzl
51719b3e8c 8249192: MonitorInfo stores raw oops across safepoints
Summary: Change raw oops in MonitorInfo to Handles and update Resource/HandleMarks.
Reviewed-by: sspitsyn, dholmes, coleenp, dcubed
2021-01-21 21:56:08 -05:00
prr
24960a2c2a 8247867: Upgrade to freetype 2.10.2
Reviewed-by: serb
2021-01-21 21:56:08 -05:00
kvn
88e7487067 8248347: windows build broken by JDK-8243114
Reviewed-by: dcubed, dholmes
2021-01-21 21:56:07 -05:00
stooke
a8922e6e16 8243114: Implement montgomery{Multiply,Square}intrinsics on Windows
Reviewed-by: dholmes, andrew
Contributed-by: Andrew Haley <aph@redhat.com>
2021-01-21 21:56:07 -05:00
ysuenaga
a7083a3b57 8244819: hsdis does not compile with binutils 2.34+
Reviewed-by: kvn, thartmann
2021-01-21 21:56:06 -05:00
dbuck
05b6cf6205 8191006: hsdis disassembler plugin does not compile with binutils 2.29+
Summary: update call to disassembler() function to match new signature used by Binutils
Reviewed-by: gromero, kvn
2021-01-21 21:56:06 -05:00
kizune
57ee4e4733 8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
Reviewed-by: serb
2021-01-21 21:56:05 -05:00
roland
a5d280c81f 8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined()
Reviewed-by: kvn, thartmann
2021-01-21 21:56:05 -05:00
thartmann
9165fafc08 8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
Summary: Postpone ConvI2L::Ideal optimization to IGVN.
Reviewed-by: kvn, neliasso
2021-01-21 21:56:04 -05:00
poonam
30c9dc3799 8243290: Improve diagnostic messages for class verification and redefinition failures
Reviewed-by: coleenp, hseigel, sspitsyn
2021-01-21 21:56:04 -05:00
kvn
3a97a8e4ab 8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled"
Summary: Wait Graal compilation to finish if request came from testing environment.
Reviewed-by: thartmann, iignatyev
2021-01-21 21:56:03 -05:00
serb
ba8b830efb 7185258: [macosx] Deadlock in SunToolKit.realSync()
Reviewed-by: prr
2021-01-21 21:56:03 -05:00
serb
4ec99bd75c 8241797: Add some tests to the problem list
Reviewed-by: jdv, prr, pbansal
2021-01-21 21:56:02 -05:00
coleenp
12ff105a3d 8218851: JVM crash in custom classloader stress test, JDK 12 & 13
Summary: Handle NULL and unloaded constraint class in loader constraint table, also cope with unloaded but not cleaned out klass in loader constraint entries.
Reviewed-by: hseigel, huntch, stuefe
2021-01-21 21:56:02 -05:00
weijun
428e88994d 8213400: Support choosing group name in keytool keypair generation
Reviewed-by: apetcher, xuelei
2021-01-21 21:56:01 -05:00
Alexey Ushakov
76351ec45e JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Reused apple.awt.fullWindowContent and apple.awt.transparentTitleBar client properties. Introduced the new one: apple.awt.windowTitleVisible
2021-01-21 23:27:57 +03:00
Elena Sayapina
50b24a147b JBR-1388 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java fails on macOS Mojave 2021-01-21 17:32:30 +07:00
Vitaly Provodin
e00b5ee977 updated JTreg exclude list 2021-01-21 11:24:53 +07:00
Dmitry Batrak
ddda860f42 JBR-3038 Unexpected windows z-order change on workspace switch 2021-01-20 16:31:58 +03:00
Elena Sayapina
18580ed527 updated JTreg exclude list 2021-01-20 19:10:30 +07:00
Vitaly Provodin
1c2bf33db2 JBR-3040 press the button END at the beggining in order to avoid text selection 2021-01-20 16:03:12 +07:00
Vitaly Provodin
45cf0422f9 JBR-410 add golden emoji for macOS 10.15&11 x64 2021-01-20 16:03:12 +07:00
Elena Sayapina
515e38030d updated JTreg exclude lis 2021-01-20 14:39:16 +07:00
Dmitry Batrak
470c3bd1b5 JBR-3035 The Confirm Exit pop-up window remains hidden behind a window of another application 2021-01-19 13:53:03 +03:00
Dmitry Batrak
ee298f5287 JBR-3024 Popups are shown with 1x1 size sometimes 2021-01-15 17:49:24 +03:00
Dmitry Batrak
a7fd723e43 log LWCToolkit invokeAndWait requests
as part of JBR-3017, to make investigation of similar issues simpler in the future
2021-01-15 15:21:05 +03:00
Dmitry Batrak
7e6db54f77 fix occasional freezes of JBR-3017 reproducer after the fix 2021-01-15 15:21:04 +03:00
Dmitry Batrak
88ead5d9e3 JBR-3017 Focus issue in presence of third-party accessibility tool 2021-01-15 15:21:04 +03:00
Dmitry Batrak
eeef67a335 refactor nativeCreateNSWindow call wrapping
as part of JBR-3017
2021-01-15 15:21:02 +03:00
Dmitry Batrak
f1dd523ba8 remove excessive wrapping with AccessController (AWTThreading does it internally now)
as part of JBR-3017
2021-01-15 15:21:01 +03:00
Vitaly Provodin
84ff4eab21 JBR-1718 add a regression test 2021-01-14 05:34:23 +07:00
Vitaly Provodin
0e7f9ce4ca JBR-2957 notarize JBR and JBRSDK as APPL 2021-01-02 07:01:23 +07:00
Elena Sayapina
1714d7b627 JBR-2890 [TESTUPDATE] Enable jcef tests on macOS aarch64 platform 2020-12-29 20:37:14 +07:00
Dmitry Batrak
95be4351d4 JBR-2934 Serious usability issue with GoLand 2020.3 caused by JBR 2020-12-28 20:37:55 +03:00
8020 changed files with 1128024 additions and 279765 deletions

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

File diff suppressed because it is too large Load Diff

28
.hgtags
View File

@@ -613,3 +613,31 @@ e872676174c7f171a9864becba83cb783cfec9d0 jdk-11.0.9+9
4fd46d208f0a4b55924af8e0c2fb6bcf46e18ec6 jdk-11.0.9.1+0
27723943c0dd65a191cbefe031cec001521e4b13 jdk-11.0.9.1+1
31affc22b3b5f5d43783ffadf57f22848bad9db8 jdk-11.0.9.1-ga
f3168de4eb0dd74bf8e81537f62742bde5e412c3 jdk-11.0.10+1
a35aa07b57bab3690224e3af939ee085d50eb476 jdk-11.0.10+2
bca12c00a776f8cee7a0eeaf788499b9eab9cf9d jdk-11.0.10+3
9504fa6f98f5aad0aa1ac36d5bff3260a32020c8 jdk-11.0.10+4
5f5c3544ccb4d0bbc638e665524b292860dd9515 jdk-11.0.10+5
4b9bc2a1dde0631958393125997855382325964d jdk-11.0.10+6
c45f74d45787a857d35b5a66c9b0304c91a9c5d0 jdk-11.0.10+7
43428f69099f6f87f6e1922deacbf13e1adb751f jdk-11.0.10+8
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10+9
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10-ga
4ed322bf6b0098353ceaecf35662fadf457cd81d jdk-11.0.11+1
b68647c6ecc1e73111d8047448d75966f255460f jdk-11.0.11+2
14cc036b17a5f4be5b0643e6b24ed32563684ab9 jdk-11.0.11+3
c4405735470a92e2c45490b89a8099252f3481d2 jdk-11.0.11+4
38430a8a4488582612c6a87ab58d109cc5217e8b jdk-11.0.11+5
e41ae00add1d76a8f25adb558933382947ea840d jdk-11.0.11+6
14f9928caac31368d27f13e4e21ca25c1e0be950 jdk-11.0.11+7
9f0347b029d3a0349f23befcfb68ee02d85d9034 jdk-11.0.11+8
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11+9
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11-ga
5720ffa08f8514b9f0ea8b3a49e05a872c9c0efe jdk-11.0.12+1
70a4031a8bef3e693f34864fdd482429c73dc76a jdk-11.0.12+2
873a691b1ae4fa8b55ca5d08fa21aca3a4904fb8 jdk-11.0.12+3
40d1e784e1937aaea696a9654cc2d944d3d78996 jdk-11.0.12+4
6aa6f6860508fca3a97aea1de7a36574498d22bf jdk-11.0.12+5
91e81ac088545abdc3eaaa707853d31a6cf99af3 jdk-11.0.12+6
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12+7
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12-ga

View File

@@ -1,9 +1,7 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="allowReplaceRegexp" value="JetBrains" />
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10; &#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -1,2 +1,31 @@
project=jdk10
bugids=dup
[general]
project=jdk-updates
jbs=JDK
version=11.0.14.1
[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.*)$

172
README.md
View File

@@ -1,91 +1,171 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Downloads
# Welcome to JetBrains Runtime!
|Windows-x64 |macOS |Linux-x64 |
|-------------|-------------|-------------|
|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-windows-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-windows-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-osx-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-osx-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-linux-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-linux-x64/_latestVersion)|
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.
## Releases
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
# How JetBrains Runtime is organised
## Workspaces
| IDE Version | Latest JBR | Date Released |
| --- | --- | --- |
| 2021.3 | [11_0_12-b1692.9](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_12b1692.9) | 28-Sep-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 |
[github.com/JetBrains/JetBrainsRuntime](https://github.com/JetBrains/JetBrainsRuntime)
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)
## Getting sources
__macOS, Linux:__
## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
__Windows:__
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
# Configure local build environment
[OpenJDK build docs](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html)
Tip for all platforms: run `./configure` and check output.
Usually, it has meaningful advice how to solve your problem.
## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html) for in-depth
coverage of all the details.
## Linux (Docker)
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have a meaningful advice on how to solve the problem.
### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
## Linux (Ubuntu 18.10 desktop)
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev \
openjdk-11-jdk
```
Then run the following:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
$ cd JetBrainsRuntime
$ sh ./configure --disable-warnings-as-errors
$ make images
```
## Windows
Install:
* [Cygwin x64](http://www.cygwin.com/)
Required packages: autoconf, binutils, cpio, diffutils, file, gawk, gcc-core, make, m4, unzip, zip.
**Install them while installing Cygwin**.
* Visual Studio compiler toolset [Download](https://visualstudio.microsoft.com/downloads/)
Visual Studio 2015 has support by default.
**Install with desktop development kit, it includes Windows SDK and compilers**.
* [Java 11](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
If you have problems while configuring [read Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html)
### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2015 is supported by default.
* [Java 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
From command line:
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
```
First command will set env vars, the second will run Cygwin shell with proper environment.
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In Cygwin shell:
```
cd JetBrainsRuntime
bash configure --enable-option-checking=fatal --with-toolchain-version=2015 --with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
make images
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ bash configure --enable-option-checking=fatal --with-toolchain-version=2015 \
--with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
$ make images
```
## macOS
Install Xcode command line developer tools, autoconf (via Homebrew).
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](getDpiInfo).
* [Java 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html).
Run:
From the command line:
```
sh ./configure --prefix=$(pwd)/build --disable-warnings-as-errors
make images
$ cd JetBrainsRuntime
$ sh ./configure --prefix=$(pwd)/build --disable-warnings-as-errors
$ make images
```
## Contribution
We will be happy to receive your pull requests. Before you submit one, please sign our Contributor License Agreement (CLA) https://www.jetbrains.com/agreements/cla/
## 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/).
## Resources
* [JetBrains Runtime on github](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html).
* [OpenJDK test instructions](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -68,10 +68,12 @@
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
<li><a href="#specifying-the-target-platform">Specifying the Target Platform</a></li>
<li><a href="#toolchain-considerations">Toolchain Considerations</a></li>
<li><a href="#native-libraries">Native Libraries</a></li>
<li><a href="#creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</a></li>
<li><a href="#building-for-armaarch64">Building for ARM/aarch64</a></li>
<li><a href="#verifying-the-build">Verifying the Build</a></li>
</ul></li>
@@ -91,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>
@@ -110,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>
@@ -129,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>
@@ -141,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>
@@ -191,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>
@@ -353,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>
@@ -565,6 +569,47 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>This requires a more complex setup and build procedure. This section assumes you are familiar with cross-compiling in general, and will only deal with the particularities of cross-compiling the JDK. If you are new to cross-compiling, please see the <a href="https://en.wikipedia.org/wiki/Cross_compiler#External_links">external links at Wikipedia</a> for a good start on reading materials.</p>
<p>Cross-compiling the JDK requires you to be able to build both for the build platform and for the target platform. The reason for the former is that we need to build and execute tools during the build process, both native tools and Java tools.</p>
<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it's a lot more work and will take much longer to build.)</p>
<h3 id="cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</h3>
<p>The OpenJDK build system provides out-of-the box support for creating and using so called devkits. A <code>devkit</code> is basically a collection of a cross-compiling toolchain and a sysroot environment which can easily be used together with the <code>--with-devkit</code> configure option to cross compile the OpenJDK. On Linux/x86_64, the following command:</p>
<pre><code>bash configure --with-devkit=&lt;devkit-path&gt; --openjdk-target=ppc64-linux-gnu &amp;&amp; make</code></pre>
<p>will configure and build OpenJDK for Linux/ppc64 assuming that <code>&lt;devkit-path&gt;</code> points to a Linux/x86_64 to Linux/ppc64 devkit.</p>
<p>Devkits can be created from the <code>make/devkit</code> directory by executing:</p>
<pre><code>make [ TARGETS=&quot;&lt;TARGET_TRIPLET&gt;+&quot; ] [ BASE_OS=&lt;OS&gt; ] [ BASE_OS_VERSION=&lt;VER&gt; ]</code></pre>
<p>where <code>TARGETS</code> contains one or more <code>TARGET_TRIPLET</code>s of the form described in <a href="https://sourceware.org/autobook/autobook/autobook_17.html">section 3.4 of the GNU Autobook</a>. If no targets are given, a native toolchain for the current platform will be created. Currently, at least the following targets are known to work:</p>
<table>
<thead>
<tr class="header">
<th>Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td>aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td>ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td>ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p><code>BASE_OS</code> must be one of &quot;OEL6&quot; for Oracle Enterprise Linux 6 or &quot;Fedora&quot; (if not specified &quot;OEL6&quot; will be the default). If the base OS is &quot;Fedora&quot; the corresponding Fedora release can be specified with the help of the <code>BASE_OS_VERSION</code> option (with &quot;27&quot; as default version). If the build is successful, the new devkits can be found in the <code>build/devkit/result</code> subdirectory:</p>
<pre><code>cd make/devkit
make TARGETS=&quot;ppc64le-linux-gnu aarch64-linux-gnu&quot; BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>Notice that devkits are not only useful for targeting different build platforms. Because they contain the full build dependencies for a system (i.e. compiler and root file system), they can easily be used to build well-known, reliable and reproducible build environments. You can for example create and use a devkit with GCC 7.3 and a Fedora 12 sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't have GCC 7.3 by default) to produce OpenJDK binaries which will run on all Linux systems with runtime libraries newer than the ones from Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).</p>
<h3 id="boot-jdk-and-build-jdk">Boot JDK and Build JDK</h3>
<p>When cross-compiling, make sure you use a boot JDK that runs on the <em>build</em> system, and not on the <em>target</em> system.</p>
<p>To be able to build, we need a &quot;Build JDK&quot;, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
@@ -634,6 +679,85 @@ cp: cannot stat `arm-linux-gnueabihf/libSM.so&#39;: No such file or directory
cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</code></pre></li>
<li><p>If the X11 libraries are not properly detected by <code>configure</code>, you can point them out by <code>--with-x</code>.</p></li>
</ul>
<h3 id="creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</h3>
<p>Fortunately, you can create sysroots for foreign architectures with tools provided by your OS. On Debian/Ubuntu systems, one could use <code>qemu-deboostrap</code> to create the <em>target</em> system chroot, which would have the native libraries and headers specific to that <em>target</em> system. After that, we can use the cross-compiler on the <em>build</em> system, pointing into chroot to get the build dependencies right. This allows building for foreign architectures with native compilation speed.</p>
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
<ul>
<li><p>Install cross-compiler on the <em>build</em> system:</p>
<pre><code>apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu</code></pre></li>
<li><p>Create chroot on the <em>build</em> system, configuring it for <em>target</em> system:</p>
<pre><code>sudo qemu-debootstrap \
--arch=arm64 \
--verbose \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
--resolve-deps \
buster \
~/sysroot-arm64 \
http://httpredir.debian.org/debian/</code></pre></li>
<li><p>Make sure the symlinks inside the newly created chroot point to proper locations:</p>
<pre><code>sudo chroot ~/sysroot-arm64 symlinks -cr .</code></pre></li>
<li><p>Configure and build with newly created chroot as sysroot/toolchain-path:</p>
<pre><code>CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64 \
--with-toolchain-path=~/sysroot-arm64 \
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
make images
ls build/linux-aarch64-normal-server-release/</code></pre></li>
</ul>
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
<p>Architectures that are known to successfully cross-compile like this are:</p>
<table>
<thead>
<tr class="header">
<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><code>--arch=...</code></th>
<th><code>--openjdk-target=...</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</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>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>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>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>s390x</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
@@ -680,14 +804,14 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</c
=== 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 ===
@@ -710,11 +834,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>
@@ -723,8 +847,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>
@@ -746,20 +870,6 @@ spawn failed</code></pre>
<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>
@@ -813,14 +923,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
@@ -875,6 +887,64 @@ If all you want to do is to compile a 32-bit version, for the same OS, on a
full-blown cross-compilation. (While this surely is possible, it's a lot more
work and will take much longer to build.)
### Cross compiling the easy way with OpenJDK devkits
The OpenJDK build system provides out-of-the box support for creating and using
so called devkits. A `devkit` is basically a collection of a cross-compiling
toolchain and a sysroot environment which can easily be used together with the
`--with-devkit` configure option to cross compile the OpenJDK. On Linux/x86_64,
the following command:
```
bash configure --with-devkit=<devkit-path> --openjdk-target=ppc64-linux-gnu && make
```
will configure and build OpenJDK for Linux/ppc64 assuming that `<devkit-path>`
points to a Linux/x86_64 to Linux/ppc64 devkit.
Devkits can be created from the `make/devkit` directory by executing:
```
make [ TARGETS="<TARGET_TRIPLET>+" ] [ BASE_OS=<OS> ] [ BASE_OS_VERSION=<VER> ]
```
where `TARGETS` contains one or more `TARGET_TRIPLET`s of the form
described in [section 3.4 of the GNU Autobook](
https://sourceware.org/autobook/autobook/autobook_17.html). If no
targets are given, a native toolchain for the current platform will be
created. Currently, at least the following targets are known to work:
Supported devkit targets
------------------------
x86_64-linux-gnu
aarch64-linux-gnu
arm-linux-gnueabihf
ppc64-linux-gnu
ppc64le-linux-gnu
s390x-linux-gnu
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
"Fedora" (if not specified "OEL6" will be the default). If the base OS
is "Fedora" the corresponding Fedora release can be specified with the
help of the `BASE_OS_VERSION` option (with "27" as default version).
If the build is successful, the new devkits can be found in the
`build/devkit/result` subdirectory:
```
cd make/devkit
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu
```
Notice that devkits are not only useful for targeting different build
platforms. Because they contain the full build dependencies for a
system (i.e. compiler and root file system), they can easily be used
to build well-known, reliable and reproducible build environments. You
can for example create and use a devkit with GCC 7.3 and a Fedora 12
sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't
have GCC 7.3 by default) to produce OpenJDK binaries which will run on
all Linux systems with runtime libraries newer than the ones from
Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).
### Boot JDK and Build JDK
When cross-compiling, make sure you use a boot JDK that runs on the *build*
@@ -1018,6 +1088,67 @@ Note that X11 is needed even if you only want to build a headless JDK.
* If the X11 libraries are not properly detected by `configure`, you can
point them out by `--with-x`.
### Creating And Using Sysroots With qemu-deboostrap
Fortunately, you can create sysroots for foreign architectures with tools
provided by your OS. On Debian/Ubuntu systems, one could use `qemu-deboostrap` to
create the *target* system chroot, which would have the native libraries and headers
specific to that *target* system. After that, we can use the cross-compiler on the *build*
system, pointing into chroot to get the build dependencies right. This allows building
for foreign architectures with native compilation speed.
For example, cross-compiling to AArch64 from x86_64 could be done like this:
* Install cross-compiler on the *build* system:
```
apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
```
* Create chroot on the *build* system, configuring it for *target* system:
```
sudo qemu-debootstrap \
--arch=arm64 \
--verbose \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
--resolve-deps \
buster \
~/sysroot-arm64 \
http://httpredir.debian.org/debian/
```
* Make sure the symlinks inside the newly created chroot point to proper locations:
```
sudo chroot ~/sysroot-arm64 symlinks -cr .
```
* Configure and build with newly created chroot as sysroot/toolchain-path:
```
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64 \
--with-toolchain-path=~/sysroot-arm64 \
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
make images
ls build/linux-aarch64-normal-server-release/
```
The build does not create new files in that chroot, so it can be reused for multiple builds
without additional cleanup.
Architectures that are known to successfully cross-compile like this are:
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
------------ ------------------------- --------------------------- ------------ ----------------------
x86 default default i386 i386-linux-gnu
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
ppc64el gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu ppc64el powerpc64le-linux-gnu
s390x gcc-s390x-linux-gnu g++-s390x-linux-gnu s390x s390x-linux-gnu
Additional architectures might be supported by Debian/Ubuntu Ports.
### Building for ARM/aarch64
A common cross-compilation target is the ARM CPU. When building for ARM, it is
@@ -1158,14 +1289,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 ===
@@ -1255,17 +1386,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
@@ -1290,13 +1419,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
@@ -1347,38 +1476,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
@@ -1521,16 +1618,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

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

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ HEAD_REVISION=0
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD modules.list src/java.desktop/share/classes/module-info.java
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi

View File

@@ -52,6 +52,8 @@ jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent
jdk.hotspot.agent,
jdk.jcmd

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

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -17,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
@@ -25,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}
@@ -67,7 +82,7 @@ JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
grep -v javafx jb/project/tools/common/modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \

View File

@@ -6,8 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# jfx - the release bundles with javafx
# jcef_jfx - the release bundles with jcef and javafx
# 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
@@ -26,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
@@ -36,22 +44,33 @@ 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}
case "${bundle_type}" in
"jfx" | "jcef" | "dcevm" | "nomod" | "fd")
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
cat modules.list > modules_tmp.list
cat jb/project/tools/common/modules.list > modules_tmp.list
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=${JBR_BASE_NAME}-linux-x64-b${build_number}
@@ -80,19 +99,10 @@ WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-b${build_number}
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
do_reset_changes=1
;;
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"jfx_jcef")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
@@ -115,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
@@ -165,4 +167,4 @@ if [ "$bundle_type" == "jcef" ]; then
gzip -f ${JBRSDK_TEST}.tar || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -64,7 +63,7 @@ JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
grep -v javafx jb/project/tools/common/modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
@@ -80,4 +79,4 @@ gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -6,8 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# jfx - the release bundles with javafx
# jcef_jfx - the release bundles with jcef and javafx
# 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
@@ -26,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
@@ -41,27 +49,59 @@ source jb/project/tools/common.sh
function copyJNF {
__contents_dir=$1
# we can't notarize this library as usual framework (with headers and tbd-file)
# but single library notarizes correctly
mkdir -p ${__contents_dir}/Frameworks/JavaNativeFoundation.framework/Resources
cp -p Frameworks/JavaNativeFoundation.framework/JavaNativeFoundation \
${__contents_dir}/Frameworks/JavaNativeFoundation.framework || do_exit $?
cp -p Frameworks/JavaNativeFoundation.framework/Resources/Info.plist \
${__contents_dir}/Frameworks/JavaNativeFoundation.framework/Resources || do_exit $?
# unsign JavaNativeFoundation binary (otherwise notarization will fail)
codesign --remove-signature ${__contents_dir}/Frameworks/JavaNativeFoundation.framework/JavaNativeFoundation || do_exit $?
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-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-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` \
--enable-cds=yes || do_exit $?
fi
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jfx" | "jcef" | "dcevm" | "nomod" | "fd")
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
@@ -69,11 +109,11 @@ function create_jbr {
if [[ "${architecture}" == *aarch64* ]] && [[ "${enable_aot}" != *enable_aot* ]]; then
# aot isn't supported yet, so remove dependent modules
echo "Exclude jdk.internal.vm.compiler and jdk.aot (because aot not supported yet)"
cat modules.list | \
cat jb/project/tools/common/modules.list | \
grep -v "jdk.internal.vm.compiler\|jdk.aot" \
> modules_tmp.list
else
cat modules.list > modules_tmp.list
cat jb/project/tools/common/modules.list > modules_tmp.list
fi
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
@@ -122,19 +162,10 @@ CONF_NAME=macosx-${CONF_ARCHITECTURE}-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-osx-${architecture}-b${build_number}
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
do_reset_changes=1
;;
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"jfx_jcef")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
@@ -157,45 +188,10 @@ 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=$RELEASE_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
@@ -236,4 +232,4 @@ if [ "$bundle_type" == "jcef" ]; then
--exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -58,7 +58,7 @@ file="$APP_NAME.zip"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"

View File

@@ -26,8 +26,7 @@ log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib" \
"Contents/Frameworks"; do
"Contents/Home/lib"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
@@ -37,6 +36,20 @@ for f in \
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

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -x
#immediately exit script with an error if a command fails
set -euo pipefail
@@ -32,8 +32,10 @@ mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
rm "$INPUT_FILE"
BUILD_NAME="$(ls "$EXPLODED")"
sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
@@ -129,4 +131,4 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"
log "Done"

View File

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

View File

@@ -1,18 +0,0 @@
diff --git modules.list modules.list
index e23d793ca61..14b9a6c8e50 100644
--- modules.list
+++ modules.list
@@ -20,6 +20,13 @@ java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
+javafx.base,
+javafx.controls,
+javafx.fxml,
+javafx.graphics,
+javafx.media,
+javafx.swing,
+javafx.web,
jdk.accessibility,
jdk.aot,
jdk.attach,

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
From dcf2c02f9ce950170b0e448b8ef3aceb19732a86 Mon Sep 17 00:00:00 2001
From 049d83cfb1db63a0c20cd53696686a7ae11be824 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/17] Support for Concurrent Mark Sweep (CMS) collector
Subject: [PATCH 03/44] Support for Concurrent Mark Sweep (CMS) collector
---
.../share/gc/cms/compactibleFreeListSpace.cpp | 139 ++++++++++++------
@@ -422,47 +422,47 @@ index 6b109fcd2e5..8c255d6d428 100644
Klass* new_version = oop(cur_obj)->klass()->new_version();
if (new_version->update_information() == NULL) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 43d761cdbb2..14af1aad21b 100644
index 92ce6c27b8a..41e82ae7a69 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -54,6 +54,7 @@
#include "prims/jvmtiThreadState.inline.hpp"
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
+#include "gc/cms/cmsHeap.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
#include "prims/jvmtiThreadState.inline.hpp"
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
+#include "gc/cms/cmsHeap.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
@@ -416,13 +417,11 @@ public:
Klass* new_klass = obj->klass()->new_version();
if (new_klass->update_information() != NULL) {
- int size_diff = obj->size() - obj->size_given_klass(new_klass);
-
- // Either new size is bigger or gap is to small to be filled
- if (size_diff < 0 || (size_diff > 0 && (size_t) size_diff < CollectedHeap::min_fill_size())) {
+ if (obj->size() - obj->size_given_klass(new_klass) != 0) {
// We need an instance update => set back to old klass
_needs_instance_update = true;
} else {
+ // Either new size is bigger or gap is to small to be filled
oop src = obj;
if (new_klass->is_copying_backwards()) {
copy_to_tmp(obj);
Klass* new_klass = obj->klass()->new_version();
if (new_klass->update_information() != NULL) {
- int size_diff = obj->size() - obj->size_given_klass(new_klass);
-
- // Either new size is bigger or gap is to small to be filled
- if (size_diff < 0 || (size_diff > 0 && (size_t) size_diff < CollectedHeap::min_fill_size())) {
+ if (obj->size() - obj->size_given_klass(new_klass) != 0) {
// We need an instance update => set back to old klass
_needs_instance_update = true;
} else {
+ // Either new size is bigger or gap is to small to be filled
oop src = obj;
if (new_klass->is_copying_backwards()) {
copy_to_tmp(obj);
@@ -432,11 +431,6 @@ public:
// FIXME: instance updates...
//guarantee(false, "instance updates!");
MarkSweep::update_fields(obj, src, new_klass->update_information());
-
- if (size_diff > 0) {
- HeapWord* dead_space = ((HeapWord *)obj) + obj->size();
- CollectedHeap::fill_with_object(dead_space, size_diff);
- }
}
} else {
obj->set_klass(obj->klass()->new_version());
// FIXME: instance updates...
//guarantee(false, "instance updates!");
MarkSweep::update_fields(obj, src, new_klass->update_information());
-
- if (size_diff > 0) {
- HeapWord* dead_space = ((HeapWord *)obj) + obj->size();
- CollectedHeap::fill_with_object(dead_space, size_diff);
- }
}
} 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 663ccc831cc21ffddc5bc035de2c72666df00a4e Mon Sep 17 00:00:00 2001
From 199dbcfcc71ea6992970c9cf9cfeee6f13d2a600 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/17] Fix class cast exception on redefinition of class A,
Subject: [PATCH 04/44] 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/17] 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 312d9af2527..4312c2c4ca9 100644
index e3724984aa5..b10e566b7c3 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 25cb9b5fa97749d3bc13dc6c848c7eb9cc1b66bb Mon Sep 17 00:00:00 2001
From 238ef84478962cdba49b479803163b6e71f46914 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 14 Nov 2018 21:20:08 +0100
Subject: [PATCH 05/17] HotswapAgent integration
Subject: [PATCH 05/44] HotswapAgent integration
It include:
@@ -37,7 +37,7 @@ old DCEVM
make/launcher/Launcher-jdk.jartool.gmk | 2 +
make/launcher/Launcher-jdk.javadoc.gmk | 3 +-
make/launcher/Launcher-jdk.jcmd.gmk | 13 +++-
make/launcher/Launcher-jdk.jconsole.gmk | 3 +-
make/launcher/Launcher-jdk.jconsole.gmk | 5 +-
make/launcher/Launcher-jdk.jdeps.gmk | 3 +
make/launcher/Launcher-jdk.jdi.gmk | 1 +
make/launcher/Launcher-jdk.jlink.gmk | 5 +-
@@ -55,7 +55,7 @@ old DCEVM
.../classes/com/sun/beans/package-info.java | 26 +++++++
.../com/sun/beans/util/package-info.java | 26 +++++++
.../share/classes/module-info.java | 3 +
28 files changed, 209 insertions(+), 11 deletions(-)
28 files changed, 210 insertions(+), 12 deletions(-)
create mode 100644 src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/util/package-info.java
@@ -259,16 +259,18 @@ index 7117fa78059..761a52d8466 100644
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.jconsole.gmk b/make/launcher/Launcher-jdk.jconsole.gmk
index 575b9e0595b..9b38683a489 100644
index 575b9e0595b..2ec087d710f 100644
--- a/make/launcher/Launcher-jdk.jconsole.gmk
+++ b/make/launcher/Launcher-jdk.jconsole.gmk
@@ -29,7 +29,8 @@ $(eval $(call SetupBuildLauncher, jconsole, \
@@ -28,8 +28,9 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jconsole, \
MAIN_CLASS := sun.tools.jconsole.JConsole, \
JAVA_ARGS := --add-opens java.base/java.io=jdk.jconsole \
-Djconsole.showOutputViewer \
- -Djconsole.showOutputViewer \
- -Djdk.attach.allowAttachSelf=true, \
+ -Djdk.attach.allowAttachSelf=true \
+ -XX:+DisableHotswapAgent, \
+ -Djconsole.showOutputViewer \
+ -Djdk.attach.allowAttachSelf=true \
+ -XX:+DisableHotswapAgent, \
CFLAGS_windows := -DJAVAW, \
LIBS_windows := user32.lib, \
))
@@ -392,10 +394,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 41e9a84cd69..1f67eb202b5 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>") \
@@ -417,10 +419,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();
@@ -429,7 +431,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
}
@@ -499,7 +501,7 @@ index 013ba213c00..2b5ba619f43 100644
+
+}
diff --git a/src/hotspot/share/runtime/arguments.hpp b/src/hotspot/share/runtime/arguments.hpp
index cc7f71a4404..b2bab2e1f44 100644
index 5cb7f5c4bd8..d7fd03d079e 100644
--- a/src/hotspot/share/runtime/arguments.hpp
+++ b/src/hotspot/share/runtime/arguments.hpp
@@ -507,6 +507,9 @@ class Arguments : AllStatic {
@@ -513,7 +515,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 7b061359c1d..fc0405b5df2 100644
index 35b8205f7c7..4d6fe0034a3 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -32,6 +32,12 @@
@@ -529,7 +531,7 @@ index 7b061359c1d..fc0405b5df2 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);
@@ -2687,8 +2693,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 28d352b4b7cda96a37f95d75cf576570271157e3 Mon Sep 17 00:00:00 2001
From 2b6afed7b4bd890326b2cc7a3eaf3020e3f0fe44 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/17] Support for Lambda class redefinition
Subject: [PATCH 06/44] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
@@ -15,7 +15,7 @@ Subject: [PATCH 06/17] 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,10 +47,10 @@ index 7e357929971..00a84610b43 100644
void unload();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index e464b94b420..791b49c68ad 100644
index 0059af83584..89375cd59fa 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,
@@ -970,12 +970,16 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
Handle protection_domain,
ClassFileStream* st,
const InstanceKlass* host_klass,
@@ -67,7 +67,7 @@ index e464b94b420..791b49c68ad 100644
if (host_klass != NULL) {
// Create a new CLD for anonymous class, that uses the same class loader
// as the host_klass
@@ -1000,8 +1004,12 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
@@ -999,8 +1003,12 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
protection_domain,
host_klass,
cp_patches,
@@ -81,7 +81,7 @@ index e464b94b420..791b49c68ad 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) {
@@ -1841,7 +1849,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
@@ -91,10 +91,10 @@ index e464b94b420..791b49c68ad 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 8b5ba8546dd..0002abe6122 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,119 +111,119 @@ index 06f6c869d63..1dbbffa197f 100644
TRAPS);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 14af1aad21b..0b239b2ff6d 100644
index 41e82ae7a69..b94caa39562 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -488,6 +488,8 @@ void VM_EnhancedRedefineClasses::doit() {
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;
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;
@@ -750,12 +752,34 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// load hook event.
state->set_class_being_redefined(the_class, _class_load_kind);
- InstanceKlass* k = SystemDictionary::resolve_from_stream(the_class_sym,
- the_class_loader,
- protection_domain,
- &st,
- the_class,
- THREAD);
+ InstanceKlass* k;
+
+ if (InstanceKlass::cast(the_class)->is_anonymous()) {
+ const InstanceKlass* host_class = the_class->host_klass();
+
+ // Make sure it's the real host class, not another anonymous class.
+ while (host_class != NULL && host_class->is_anonymous()) {
+ host_class = host_class->host_klass();
+ }
+
+ k = SystemDictionary::parse_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ host_class,
+ the_class,
+ NULL,
+ THREAD);
+ k->class_loader_data()->exchange_holders(the_class->class_loader_data());
+ the_class->class_loader_data()->inc_keep_alive();
+ } else {
+ k = SystemDictionary::resolve_from_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ the_class,
+ THREAD);
+ }
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
// load hook event.
state->set_class_being_redefined(the_class, _class_load_kind);
- InstanceKlass* k = SystemDictionary::resolve_from_stream(the_class_sym,
- the_class_loader,
- protection_domain,
- &st,
- the_class,
- THREAD);
+ InstanceKlass* k;
+
+ if (InstanceKlass::cast(the_class)->is_anonymous()) {
+ const InstanceKlass* host_class = the_class->host_klass();
+
+ // Make sure it's the real host class, not another anonymous class.
+ while (host_class != NULL && host_class->is_anonymous()) {
+ host_class = host_class->host_klass();
+ }
+
+ k = SystemDictionary::parse_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ host_class,
+ the_class,
+ NULL,
+ THREAD);
+ k->class_loader_data()->exchange_holders(the_class->class_loader_data());
+ the_class->class_loader_data()->inc_keep_alive();
+ } else {
+ k = SystemDictionary::resolve_from_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ the_class,
+ THREAD);
+ }
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
@@ -1436,6 +1460,30 @@ 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) {
Method* old_method = _matching_old_methods[j];
}
}
+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) {
Method* old_method = _matching_old_methods[j];
@@ -1973,7 +2021,10 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
// Find classes not directly redefined, but affected by a redefinition (because one of its supertypes is redefined)
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ ClassLoaderDataGraph::classes_do(&closure);
+ //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
// Sort the affected klasses such that a supertype is always on a smaller array index than its subtype.
// Find classes not directly redefined, but affected by a redefinition (because one of its supertypes is redefined)
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ ClassLoaderDataGraph::classes_do(&closure);
+ //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
// Sort the affected klasses such that a supertype is always on a smaller array index than its subtype.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index a48e07e3a6a..3551b06ecde 100644
index 60b62c3170a..d8a11b51fe9 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,6 +116,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(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
void rollback();
static void mark_as_scavengable(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
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,10 +242,10 @@ 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 2f14e01ce0d..d0e0367d8eb 100644
index 5f9f93c6b4c..c35ef044e65 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -818,6 +818,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,
@@ -820,6 +820,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,
host_domain,
&st,
InstanceKlass::cast(host_klass),

View File

@@ -1,7 +1,7 @@
From 3b6c7d2f807857712df6fd51a36a5a906b705f57 Mon Sep 17 00:00:00 2001
From d78e34a89b273508d3502d7456bf40b568edb3fd 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/17] Fix "no original bytecode found" error if method with
Subject: [PATCH 07/44] Fix "no original bytecode found" error if method with
bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
@@ -28,10 +28,10 @@ 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 f367e658879..71bbd15a4f5 100644
index aeafba285f0..026fe9234fb 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -834,7 +834,7 @@ IRT_END
@@ -819,7 +819,7 @@ IRT_END
// Invokes
IRT_ENTRY(Bytecodes::Code, InterpreterRuntime::get_original_bytecode_at(JavaThread* thread, Method* method, address bcp))
@@ -41,10 +41,10 @@ index f367e658879..71bbd15a4f5 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 0a12f01536a..037ceef2c44 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,34 +102,34 @@ index 4533476ff8f..193e1845b23 100644
void set_breakpoint(int bci);
void clear_breakpoint(int bci);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 0b239b2ff6d..aba99bb60fa 100644
index b94caa39562..1fbba406087 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1356,14 +1356,16 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
if (code == Bytecodes::_breakpoint) {
int bci = method->bci_from(bcp);
- code = method->orig_bytecode_at(bci);
- java_code = Bytecodes::java_code(code);
- if (code != java_code &&
- (java_code == Bytecodes::_getfield ||
- java_code == Bytecodes::_putfield ||
- java_code == Bytecodes::_aload_0)) {
- // Let breakpoint table handling unpatch bytecode
- method->set_orig_bytecode_at(bci, java_code);
+ code = method->orig_bytecode_at(bci, true);
+ if (code != Bytecodes::_shouldnotreachhere) {
+ java_code = Bytecodes::java_code(code);
+ if (code != java_code &&
+ (java_code == Bytecodes::_getfield ||
+ java_code == Bytecodes::_putfield ||
+ java_code == Bytecodes::_aload_0)) {
+ // Let breakpoint table handling unpatch bytecode
+ method->set_orig_bytecode_at(bci, java_code);
+ }
}
} else {
java_code = Bytecodes::java_code(code);
if (code == Bytecodes::_breakpoint) {
int bci = method->bci_from(bcp);
- code = method->orig_bytecode_at(bci);
- java_code = Bytecodes::java_code(code);
- if (code != java_code &&
- (java_code == Bytecodes::_getfield ||
- java_code == Bytecodes::_putfield ||
- java_code == Bytecodes::_aload_0)) {
- // Let breakpoint table handling unpatch bytecode
- method->set_orig_bytecode_at(bci, java_code);
+ code = method->orig_bytecode_at(bci, true);
+ if (code != Bytecodes::_shouldnotreachhere) {
+ java_code = Bytecodes::java_code(code);
+ if (code != java_code &&
+ (java_code == Bytecodes::_getfield ||
+ java_code == Bytecodes::_putfield ||
+ java_code == Bytecodes::_aload_0)) {
+ // Let breakpoint table handling unpatch bytecode
+ method->set_orig_bytecode_at(bci, java_code);
+ }
}
} else {
java_code = Bytecodes::java_code(code);
--
2.23.0

View File

@@ -1,7 +1,7 @@
From 102b7a0ba69c1411ec926985c79a36a2fc1978dd Mon Sep 17 00:00:00 2001
From 7035df8436fdda697753f1af48c26701328f684a 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/17] Replace deleted method with
Subject: [PATCH 08/44] Replace deleted method with
Universe::throw_no_such_method_error
---
@@ -9,10 +9,10 @@ Subject: [PATCH 08/17] 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,11 +1,11 @@
From a89a7aad1d44b540e4704332939d639e66392bd5 Mon Sep 17 00:00:00 2001
From 7c0fb4d6401dd7f87e6985c514484ee9846bf447 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/17] Support for G1 gc
Subject: [PATCH 09/44] Support for G1 gc
---
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 20 +++
src/hotspot/share/gc/g1/g1CollectedHeap.hpp | 3 +
src/hotspot/share/gc/g1/g1CollectedHeap.hpp | 2 +
src/hotspot/share/gc/g1/g1FullCollector.cpp | 16 +-
.../share/gc/g1/g1FullGCCompactTask.cpp | 92 +++++++++-
.../share/gc/g1/g1FullGCCompactTask.hpp | 19 +++
@@ -26,15 +26,15 @@ Subject: [PATCH 09/17] Support for G1 gc
.../prims/jvmtiEnhancedRedefineClasses.hpp | 6 +-
src/hotspot/share/runtime/arguments.cpp | 4 +-
src/hotspot/share/utilities/growableArray.hpp | 4 +
22 files changed, 628 insertions(+), 141 deletions(-)
22 files changed, 627 insertions(+), 141 deletions(-)
create mode 100644 src/hotspot/share/gc/shared/dcevmSharedGC.cpp
create mode 100644 src/hotspot/share/gc/shared/dcevmSharedGC.hpp
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index dea8d9fdb0e..33664a30519 100644
index 3b0e6eb6587..d33a5ff3a54 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -2108,6 +2108,21 @@ public:
@@ -2115,6 +2115,21 @@ public:
}
};
@@ -56,7 +56,7 @@ index dea8d9fdb0e..33664a30519 100644
void G1CollectedHeap::object_iterate(ObjectClosure* cl) {
IterateObjectClosureRegionClosure blk(cl);
heap_region_iterate(&blk);
@@ -2117,6 +2132,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
@@ -2152,6 +2167,11 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
_hrm.iterate(cl);
}
@@ -69,7 +69,7 @@ index dea8d9fdb0e..33664a30519 100644
HeapRegionClaimer *hrclaimer,
uint worker_id) const {
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
index 8a171dc6b52..05a068bb2e0 100644
index 1f2029ab1f0..39b05017b92 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
@@ -144,6 +144,7 @@ class G1CollectedHeap : public CollectedHeap {
@@ -80,15 +80,14 @@ index 8a171dc6b52..05a068bb2e0 100644
// Other related classes.
friend class HeapRegionClaimer;
@@ -1116,6 +1117,8 @@ public:
@@ -1117,6 +1118,7 @@ public:
// Iteration functions.
void object_iterate_parallel(ObjectClosure* cl, uint worker_id, HeapRegionClaimer* claimer);
+ void object_par_iterate(ObjectClosure* cl);
+
// Iterate over all objects, calling "cl.do_object" on each.
virtual void object_iterate(ObjectClosure* cl);
diff --git a/src/hotspot/share/gc/g1/g1FullCollector.cpp b/src/hotspot/share/gc/g1/g1FullCollector.cpp
index 4362ee87e30..7b9496976b8 100644
--- a/src/hotspot/share/gc/g1/g1FullCollector.cpp
@@ -1024,7 +1023,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,236 +1039,236 @@ index d0a6d665aa0..3dc4cc1323c 100644
SystemDictionary::oops_do(oopClosure);
}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index aba99bb60fa..8b6fad2128e 100644
index 1fbba406087..e67fc2dd58f 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -36,7 +36,6 @@
#include "memory/metaspaceShared.hpp"
#include "memory/resourceArea.hpp"
#include "memory/iterator.inline.hpp"
-#include "gc/serial/markSweep.hpp"
#include "oops/fieldStreams.hpp"
#include "oops/klassVtable.hpp"
#include "oops/oop.inline.hpp"
#include "memory/metaspaceShared.hpp"
#include "memory/resourceArea.hpp"
#include "memory/iterator.inline.hpp"
-#include "gc/serial/markSweep.hpp"
#include "oops/fieldStreams.hpp"
#include "oops/klassVtable.hpp"
#include "oops/oop.inline.hpp"
@@ -55,6 +54,8 @@
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
#include "gc/cms/cmsHeap.hpp"
+#include "gc/g1/g1CollectedHeap.hpp"
+#include "gc/shared/dcevmSharedGC.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
#include "gc/cms/cmsHeap.hpp"
+#include "gc/g1/g1CollectedHeap.hpp"
+#include "gc/shared/dcevmSharedGC.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
@@ -78,7 +79,7 @@ Klass* VM_EnhancedRedefineClasses::_the_class_oop = NULL;
// - class_defs class definition - either new class or redefined class
// note that this is not the final array of classes to be redefined
// we need to scan for all affected classes (e.g. subclasses) and
-// caculcate redefinition for them as well.
+// calculate redefinition for them as well.
// @param class_load_kind always jvmti_class_load_kind_redefine
VM_EnhancedRedefineClasses::VM_EnhancedRedefineClasses(jint class_count, const jvmtiClassDefinition *class_defs, JvmtiClassLoadKind class_load_kind) :
VM_GC_Operation(Universe::heap()->total_collections(), GCCause::_heap_inspection, Universe::heap()->total_full_collections(), true) {
// - class_defs class definition - either new class or redefined class
// note that this is not the final array of classes to be redefined
// we need to scan for all affected classes (e.g. subclasses) and
-// caculcate redefinition for them as well.
+// calculate redefinition for them as well.
// @param class_load_kind always jvmti_class_load_kind_redefine
VM_EnhancedRedefineClasses::VM_EnhancedRedefineClasses(jint class_count, const jvmtiClassDefinition *class_defs, JvmtiClassLoadKind class_load_kind) :
VM_GC_Operation(Universe::heap()->total_collections(), GCCause::_heap_inspection, Universe::heap()->total_full_collections(), true) {
@@ -216,6 +217,13 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
}
}
+void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->register_nmethod(nm);
+ }
+}
+
// TODO comment
struct StoreBarrier {
// TODO: j10 review change ::oop_store -> HeapAccess<>::oop_store
}
}
+void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->register_nmethod(nm);
+ }
+}
+
// TODO comment
struct StoreBarrier {
// TODO: j10 review change ::oop_store -> HeapAccess<>::oop_store
@@ -430,7 +438,7 @@ public:
src->set_klass(obj->klass()->new_version());
// FIXME: instance updates...
//guarantee(false, "instance updates!");
- MarkSweep::update_fields(obj, src, new_klass->update_information());
+ DcevmSharedGC::update_fields(obj, src, new_klass->update_information());
}
} else {
obj->set_klass(obj->klass()->new_version());
src->set_klass(obj->klass()->new_version());
// FIXME: instance updates...
//guarantee(false, "instance updates!");
- MarkSweep::update_fields(obj, src, new_klass->update_information());
+ DcevmSharedGC::update_fields(obj, src, new_klass->update_information());
}
} else {
obj->set_klass(obj->klass()->new_version());
@@ -452,6 +460,10 @@ public:
void VM_EnhancedRedefineClasses::doit() {
Thread *thread = Thread::current();
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_vm_op_doit.start();
+ }
+
#if INCLUDE_CDS
if (UseSharedSpaces) {
// Sharing is enabled so we remap the shared readonly space to
void VM_EnhancedRedefineClasses::doit() {
Thread *thread = Thread::current();
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_vm_op_doit.start();
+ }
+
#if INCLUDE_CDS
if (UseSharedSpaces) {
// Sharing is enabled so we remap the shared readonly space to
@@ -507,12 +519,31 @@ void VM_EnhancedRedefineClasses::doit() {
// mark such nmethod's as "scavengable".
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
- CodeCache::nmethods_do(mark_as_scavengable);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(mark_as_scavengable_g1);
+ } else {
+ CodeCache::nmethods_do(mark_as_scavengable);
+ }
}
Universe::heap()->ensure_parsability(false);
- Universe::heap()->object_iterate(&objectClosure);
+ if (UseG1GC) {
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_iterate.start();
+ }
+ G1CollectedHeap::heap()->object_par_iterate(&objectClosure);
+ _timer_heap_iterate.stop();
+ } else {
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_iterate.start();
+ }
+ Universe::heap()->object_iterate(&objectClosure);
+ _timer_heap_iterate.stop();
+ }
+
Universe::root_oops_do(&oopClosureNoBarrier);
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
// mark such nmethod's as "scavengable".
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
- CodeCache::nmethods_do(mark_as_scavengable);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(mark_as_scavengable_g1);
+ } else {
+ CodeCache::nmethods_do(mark_as_scavengable);
+ }
}
Universe::heap()->ensure_parsability(false);
- Universe::heap()->object_iterate(&objectClosure);
+ if (UseG1GC) {
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_iterate.start();
+ }
+ G1CollectedHeap::heap()->object_par_iterate(&objectClosure);
+ _timer_heap_iterate.stop();
+ } else {
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_iterate.start();
+ }
+ Universe::heap()->object_iterate(&objectClosure);
+ _timer_heap_iterate.stop();
+ }
+
Universe::root_oops_do(&oopClosureNoBarrier);
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
@@ -565,11 +596,19 @@ void VM_EnhancedRedefineClasses::doit() {
if (objectClosure.needs_instance_update()) {
// Do a full garbage collection to update the instance sizes accordingly
+
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_full_gc.start();
+ }
+
Universe::set_redefining_gc_run(true);
notify_gc_begin(true);
+ // TODO: check _metadata_GC_clear_soft_refs with ScavengeRootsInCode
Universe::heap()->collect_as_vm_thread(GCCause::_heap_inspection);
notify_gc_end();
Universe::set_redefining_gc_run(false);
+
+ _timer_heap_full_gc.stop();
}
// Unmark Klass*s as "redefining"
if (objectClosure.needs_instance_update()) {
// Do a full garbage collection to update the instance sizes accordingly
+
+ if (log_is_enabled(Info, redefine, class, timer)) {
+ _timer_heap_full_gc.start();
+ }
+
Universe::set_redefining_gc_run(true);
notify_gc_begin(true);
+ // TODO: check _metadata_GC_clear_soft_refs with ScavengeRootsInCode
Universe::heap()->collect_as_vm_thread(GCCause::_heap_inspection);
notify_gc_end();
Universe::set_redefining_gc_run(false);
+
+ _timer_heap_full_gc.stop();
}
// Unmark Klass*s as "redefining"
@@ -617,6 +656,7 @@ void VM_EnhancedRedefineClasses::doit() {
}
#endif
+ _timer_vm_op_doit.stop();
}
// Cleanup - runs in JVM thread
}
#endif
+ _timer_vm_op_doit.stop();
}
// Cleanup - runs in JVM thread
@@ -640,16 +680,14 @@ void VM_EnhancedRedefineClasses::doit_epilogue() {
if (log_is_enabled(Info, redefine, class, timer)) {
// Used to have separate timers for "doit" and "all", but the timer
// overhead skewed the measurements.
- jlong doit_time = _timer_rsc_phase1.milliseconds() +
- _timer_rsc_phase2.milliseconds();
- jlong all_time = _timer_vm_op_prologue.milliseconds() + doit_time;
+ jlong all_time = _timer_vm_op_prologue.milliseconds() + _timer_vm_op_doit.milliseconds();
log_info(redefine, class, timer)
("vm_op: all=" JLONG_FORMAT " prologue=" JLONG_FORMAT " doit=" JLONG_FORMAT,
- all_time, _timer_vm_op_prologue.milliseconds(), doit_time);
+ all_time, _timer_vm_op_prologue.milliseconds(), _timer_vm_op_doit.milliseconds());
log_info(redefine, class, timer)
- ("redefine_single_class: phase1=" JLONG_FORMAT " phase2=" JLONG_FORMAT,
- _timer_rsc_phase1.milliseconds(), _timer_rsc_phase2.milliseconds());
+ ("doit: heap iterate=" JLONG_FORMAT " fullgc=" JLONG_FORMAT,
+ _timer_heap_iterate.milliseconds(), _timer_heap_full_gc.milliseconds());
}
}
if (log_is_enabled(Info, redefine, class, timer)) {
// Used to have separate timers for "doit" and "all", but the timer
// overhead skewed the measurements.
- jlong doit_time = _timer_rsc_phase1.milliseconds() +
- _timer_rsc_phase2.milliseconds();
- jlong all_time = _timer_vm_op_prologue.milliseconds() + doit_time;
+ jlong all_time = _timer_vm_op_prologue.milliseconds() + _timer_vm_op_doit.milliseconds();
log_info(redefine, class, timer)
("vm_op: all=" JLONG_FORMAT " prologue=" JLONG_FORMAT " doit=" JLONG_FORMAT,
- all_time, _timer_vm_op_prologue.milliseconds(), doit_time);
+ all_time, _timer_vm_op_prologue.milliseconds(), _timer_vm_op_doit.milliseconds());
log_info(redefine, class, timer)
- ("redefine_single_class: phase1=" JLONG_FORMAT " phase2=" JLONG_FORMAT,
- _timer_rsc_phase1.milliseconds(), _timer_rsc_phase2.milliseconds());
+ ("doit: heap iterate=" JLONG_FORMAT " fullgc=" JLONG_FORMAT,
+ _timer_heap_iterate.milliseconds(), _timer_heap_full_gc.milliseconds());
}
}
@@ -1398,7 +1436,7 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
// arrayKlassOops. See Open Issues in jvmtiRedefineClasses.hpp.
void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
if (!k->is_instance_klass()) {
- return;
+ return;
}
HandleMark hm(_thread);
// arrayKlassOops. See Open Issues in jvmtiRedefineClasses.hpp.
void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
if (!k->is_instance_klass()) {
- return;
+ return;
}
HandleMark hm(_thread);
@@ -1584,7 +1622,7 @@ class TransferNativeFunctionRegistration {
// Recursively search the binary tree of possibly prefixed method names.
// Iteration could be used if all agents were well behaved. Full tree walk is
- // more resilent to agents not cleaning up intermediate methods.
+ // more resilient to agents not cleaning up intermediate methods.
// Branch at each depth in the binary tree is:
// (1) without the prefix.
// (2) with the prefix.
// Recursively search the binary tree of possibly prefixed method names.
// Iteration could be used if all agents were well behaved. Full tree walk is
- // more resilent to agents not cleaning up intermediate methods.
+ // more resilient to agents not cleaning up intermediate methods.
// Branch at each depth in the binary tree is:
// (1) without the prefix.
// (2) with the prefix.
@@ -1689,7 +1727,7 @@ void VM_EnhancedRedefineClasses::transfer_old_native_function_registrations(Inst
transfer.transfer_registrations(_matching_old_methods, _matching_methods_length);
}
-// DCEVM - it always deoptimases everything! (because it is very difficult to find only correct dependencies)
+// DCEVM - it always deoptimizes everything! (because it is very difficult to find only correct dependencies)
// Deoptimize all compiled code that depends on this class.
//
// If the can_redefine_classes capability is obtained in the onload
transfer.transfer_registrations(_matching_old_methods, _matching_methods_length);
}
-// DCEVM - it always deoptimases everything! (because it is very difficult to find only correct dependencies)
+// DCEVM - it always deoptimizes everything! (because it is very difficult to find only correct dependencies)
// Deoptimize all compiled code that depends on this class.
//
// If the can_redefine_classes capability is obtained in the onload
@@ -1816,10 +1854,6 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
HandleMark hm(THREAD); // make sure handles from this call are freed
- if (log_is_enabled(Info, redefine, class, timer)) {
- _timer_rsc_phase1.start();
- }
-
InstanceKlass* new_class = new_class_oop;
InstanceKlass* the_class = InstanceKlass::cast(new_class_oop->old_version());
assert(the_class != NULL, "must have old version");
HandleMark hm(THREAD); // make sure handles from this call are freed
- if (log_is_enabled(Info, redefine, class, timer)) {
- _timer_rsc_phase1.start();
- }
-
InstanceKlass* new_class = new_class_oop;
InstanceKlass* the_class = InstanceKlass::cast(new_class_oop->old_version());
assert(the_class != NULL, "must have old version");
@@ -1874,7 +1908,6 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
new_class->external_name(),
java_lang_Class::classRedefinedCount(new_class->java_mirror()));
}
- _timer_rsc_phase2.stop();
} // end redefine_single_class()
new_class->external_name(),
java_lang_Class::classRedefinedCount(new_class->java_mirror()));
}
- _timer_rsc_phase2.stop();
} // end redefine_single_class()
@@ -2057,8 +2090,8 @@ static bool match_second(void* value, KlassPair elem) {
// For each class to be redefined parse the bytecode and figure out the superclass and all interfaces.
// First newly introduced classes (_class_defs) are scanned and then affected classed (_affected_klasses).
// Affected flag is cleared (clear_redefinition_flag(Klass::MarkedAsAffected))
-// For each dependency create a KlassPair instance. Finnaly, affected classes (_affected_klasses) are sorted according to pairs.
-// TODO - the class file is potentionally parsed multiple times - introduce a cache?
+// For each dependency create a KlassPair instance. Finally, affected classes (_affected_klasses) are sorted according to pairs.
+// TODO - the class file is potentially parsed multiple times - introduce a cache?
jvmtiError VM_EnhancedRedefineClasses::do_topological_class_sorting(TRAPS) {
ResourceMark mark(THREAD);
// For each class to be redefined parse the bytecode and figure out the superclass and all interfaces.
// First newly introduced classes (_class_defs) are scanned and then affected classed (_affected_klasses).
// Affected flag is cleared (clear_redefinition_flag(Klass::MarkedAsAffected))
-// For each dependency create a KlassPair instance. Finnaly, affected classes (_affected_klasses) are sorted according to pairs.
-// TODO - the class file is potentionally parsed multiple times - introduce a cache?
+// For each dependency create a KlassPair instance. Finally, affected classes (_affected_klasses) are sorted according to pairs.
+// TODO - the class file is potentially parsed multiple times - introduce a cache?
jvmtiError VM_EnhancedRedefineClasses::do_topological_class_sorting(TRAPS) {
ResourceMark mark(THREAD);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 3551b06ecde..62a0fbf54d4 100644
index d8a11b51fe9..9755944d70b 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -86,9 +86,10 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
// Performance measurement support. These timers do not cover all
// the work done for JVM/TI RedefineClasses() but they do cover
// the heavy lifting.
- elapsedTimer _timer_rsc_phase1;
- elapsedTimer _timer_rsc_phase2;
+ elapsedTimer _timer_vm_op_doit;
elapsedTimer _timer_vm_op_prologue;
+ elapsedTimer _timer_heap_iterate;
+ elapsedTimer _timer_heap_full_gc;
// These routines are roughly in call order unless otherwise noted.
// Performance measurement support. These timers do not cover all
// the work done for JVM/TI RedefineClasses() but they do cover
// the heavy lifting.
- elapsedTimer _timer_rsc_phase1;
- elapsedTimer _timer_rsc_phase2;
+ elapsedTimer _timer_vm_op_doit;
elapsedTimer _timer_vm_op_prologue;
+ elapsedTimer _timer_heap_iterate;
+ elapsedTimer _timer_heap_full_gc;
// These routines are roughly in call order unless otherwise noted.
@@ -115,6 +116,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
+ static void mark_as_scavengable_g1(nmethod* nm);
static void unpatch_bytecode(Method* method);
static void fix_invoke_method(Method* method);
void rollback();
static void mark_as_scavengable(nmethod* nm);
+ static void mark_as_scavengable_g1(nmethod* nm);
static void unpatch_bytecode(Method* method);
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 +1284,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 2c6512bb54400e3836a3c348c10c78557c1abbf5 Mon Sep 17 00:00:00 2001
From 840e28ad947e63d97d40a5e05fdacc0bfd371962 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/17] Change log level in advanced redefinition
Subject: [PATCH 10/44] 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,23 +11,23 @@ Subject: [PATCH 10/17] Change log level in advanced redefinition
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 8b6fad2128e..a8adfa5af47 100644
index e67fc2dd58f..5be9bb74305 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -915,7 +915,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// Calculated the difference between new and old class (field change, method change, supertype change, ...).
int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_class) {
int result = Klass::NoRedefinition;
- log_info(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
+ log_debug(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
assert(new_class->old_version() != NULL, "must have old version");
InstanceKlass* the_class = InstanceKlass::cast(new_class->old_version());
// Calculated the difference between new and old class (field change, method change, supertype change, ...).
int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_class) {
int result = Klass::NoRedefinition;
- log_info(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
+ log_debug(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
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 9c8d44a088bfd73f9be3678110a67a5ed8954c8a Mon Sep 17 00:00:00 2001
From 68c65981000d71555a529443831a18c9738c9566 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/17] AllowEnhancedClassRedefinition is false (disabled) by
Subject: [PATCH 11/44] AllowEnhancedClassRedefinition is false (disabled) by
default
---
@@ -9,10 +9,10 @@ Subject: [PATCH 11/17] 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 fc0405b5df2..607a39449dc 100644
index 4d6fe0034a3..1984b8c28f9 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);
@@ -2691,7 +2691,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 69bc6c03ad25d485182d1b17f265a59ff98e3352 Mon Sep 17 00:00:00 2001
From b7e705f79f0a6fcc486511a5b8d7007dde4feec0 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/17] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
Subject: [PATCH 12/44] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
---
jb/project/hotspot-cmake/CMakeLists.txt | 2 ++

View File

@@ -1,14 +1,14 @@
From 5e66d1cd39dcae56adfa3a4785e8da47218d7b72 Mon Sep 17 00:00:00 2001
From 7f887b3b4819fbbe79a8caaae0e4f175c1368f77 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/17] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
Subject: [PATCH 13/44] 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 bb9d863c992..e462ab57217 100644
index f8945e435aa..30f6b825493 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 5b1408b47bd86a5bd2a4aa1f39705687efc73223 Mon Sep 17 00:00:00 2001
From 01acfab08f6fb1c1a0db80915cacf8987021272c 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/17] Fix G1 nmethod registration
Subject: [PATCH 14/44] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
@@ -9,63 +9,63 @@ Subject: [PATCH 14/17] Fix G1 nmethod registration
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index a8adfa5af47..4ee12b7021f 100644
index 5be9bb74305..f4bde7504c8 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -217,7 +217,14 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
}
}
-void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->unregister_nmethod(nm);
+ }
+}
+
+void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
if (!nm->is_zombie() && !nm->is_unloaded()) {
Universe::heap()->register_nmethod(nm);
}
}
-void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->unregister_nmethod(nm);
+ }
+}
+
+void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
if (!nm->is_zombie() && !nm->is_unloaded()) {
Universe::heap()->register_nmethod(nm);
@@ -520,8 +527,9 @@ void VM_EnhancedRedefineClasses::doit() {
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
if (UseG1GC) {
- // this should work also for other GCs
- CodeCache::nmethods_do(mark_as_scavengable_g1);
+ // G1 holds references to nmethods in regions based on oops values. Since oops in nmethod can be changed in ChangePointers* closures
+ // we unregister nmethods from G1 heap, then closures are processed (oops are changed) and finally we register nmethod to G1 again
+ CodeCache::nmethods_do(unregister_nmethod_g1);
} else {
CodeCache::nmethods_do(mark_as_scavengable);
}
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
if (UseG1GC) {
- // this should work also for other GCs
- CodeCache::nmethods_do(mark_as_scavengable_g1);
+ // G1 holds references to nmethods in regions based on oops values. Since oops in nmethod can be changed in ChangePointers* closures
+ // we unregister nmethods from G1 heap, then closures are processed (oops are changed) and finally we register nmethod to G1 again
+ CodeCache::nmethods_do(unregister_nmethod_g1);
} else {
CodeCache::nmethods_do(mark_as_scavengable);
}
@@ -544,6 +552,11 @@ void VM_EnhancedRedefineClasses::doit() {
Universe::root_oops_do(&oopClosureNoBarrier);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(register_nmethod_g1);
+ }
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
Universe::root_oops_do(&oopClosureNoBarrier);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(register_nmethod_g1);
+ }
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 62a0fbf54d4..d00109a0b92 100644
index 9755944d70b..4c0412d343d 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,7 +116,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
- static void mark_as_scavengable_g1(nmethod* nm);
+ 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);
void rollback();
static void mark_as_scavengable(nmethod* nm);
- static void mark_as_scavengable_g1(nmethod* nm);
+ 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);
--
2.23.0

View File

@@ -1,14 +1,14 @@
From c5bae0e9c9c0b0a6e05a966648fb2ddaf9a16564 Mon Sep 17 00:00:00 2001
From ca37cdca38fa1dd08844767510fce418a8c49b9e 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/17] Initialize method's _new_version/_old_version to NULL
Subject: [PATCH 15/44] 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 037ceef2c44..6b8e2198e55 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 5504812403a0673c428fc5589cd94f2c3fea7616 Mon Sep 17 00:00:00 2001
From 400fa82043b7b9589e1f77c43f6696b133fc1188 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/17] Clear dcevm code separation
Subject: [PATCH 16/44] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 4 ++--
@@ -15,10 +15,10 @@ Subject: [PATCH 16/17] 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 791b49c68ad..011a14eab32 100644
index 89375cd59fa..a61c342f5bd 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,
@@ -1147,7 +1147,7 @@ InstanceKlass* SystemDictionary::resolve_from_stream(Symbol* class_name,
MutexLocker mu(SystemDictionary_lock, THREAD);
Klass* check = find_class(h_name, k->class_loader_data());
@@ -27,7 +27,7 @@ index 791b49c68ad..011a14eab32 100644
} );
return k;
@@ -2153,7 +2153,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
@@ -2149,7 +2149,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
// also hold array classes.
assert(check->is_instance_klass(), "noninstance in systemdictionary");
@@ -93,10 +93,10 @@ index 9dc184d02f5..bff1c3627b0 100644
is_static ? "static" : "non-static", resolved_klass->external_name(), fd.name()->as_C_string(),
current_klass->external_name());
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 8afe8985026..4e7b39406fa 100644
index 61a406377ee..da9df7a21a2 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1467,7 +1467,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
@@ -1471,7 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
NULL, // host klass
NULL, // cp_patches
ClassFileParser::INTERNAL, // internal visibility
@@ -106,7 +106,7 @@ index 8afe8985026..4e7b39406fa 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 4312c2c4ca9..7335f0cffc9 100644
index b10e566b7c3..7557a84fbf3 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 4312c2c4ca9..7335f0cffc9 100644
wait = true;
ol.waitUninterruptibly(CHECK);
}
@@ -3617,7 +3619,7 @@ void InstanceKlass::verify_on(outputStream* st) {
@@ -3632,7 +3634,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
@@ -148,10 +148,10 @@ index 4312c2c4ca9..7335f0cffc9 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 6b8e2198e55..2af3e71635e 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) {
@@ -2144,7 +2144,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 a9bc3c0b7acfe8432f4f50362df3d8f95d7b5d9d Mon Sep 17 00:00:00 2001
From 22608d7381bc606fa488389c3d4e56987abd166b 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/17] Fix metadataOnStack bug
Subject: [PATCH 17/44] Fix metadataOnStack bug
---
.../share/classfile/classLoaderData.cpp | 7 +-
@@ -11,10 +11,10 @@ Subject: [PATCH 17/17] 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
@@ -143,7 +143,7 @@ index 8da4ac6f92b..6d327ab98f2 100644
static void record(Metadata* m);
diff --git a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
index 1b2070d686f..1178c863c30 100644
index aee84b1d7c5..3dd86d63a1f 100644
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
@@ -199,7 +199,7 @@ void VM_RedefineClasses::doit() {

View File

@@ -1,26 +0,0 @@
From dbce1c2db6bcb28327fd715d389c824805174690 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Wed, 11 Nov 2020 18:45:15 +0100
Subject: [PATCH 18/18] Fix LoadedClassesClosure - fixes problems with remote
debugging
---
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 325bffb7ad0..30752e37f1c 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -51,7 +51,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
+ if (!AllowEnhancedClassRedefinition || k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
}
}
--
2.23.0

View File

@@ -0,0 +1,25 @@
From 371093160151f400b149a5e5e4cd1acc89b1ab52 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/44] 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 7b88f6b44d9..2f6329f3e4d 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -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();
- MetadataOnStackMark md_on_stack(walk_all_metadata, AllowEnhancedClassRedefinition);
+ MetadataOnStackMark md_on_stack(walk_all_metadata, Universe::is_redefining_gc_run());
// Save previous _unloading pointer for CMS which may add to unloading list before
// purging and we don't want to rewalk the previously unloaded class loader data.
--
2.23.0

View File

@@ -0,0 +1,26 @@
From 3151c71be433365e2d8ce5fb6e061b12fbca009a 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/44] Fix LoadedClassesClosure - fixes problems with remote
debugging
---
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 325bffb7ad0..30752e37f1c 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -51,7 +51,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
+ if (!AllowEnhancedClassRedefinition || k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
}
}
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 9a869a57205c3e0f75ea0c23f6c5dc4334e6ddd8 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/44] Disable AllowEnhancedClassRedefinition in flight
recorder
---
src/hotspot/share/runtime/arguments.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 0db55d00bd3..65839b842e2 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3967,6 +3967,13 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();
+ if (FlightRecorder) {
+ if (AllowEnhancedClassRedefinition) {
+ warning("EnhancedClassRedefinition was disabled, it is not allowed in FlightRecorder.");
+ AllowEnhancedClassRedefinition = false;
+ }
+ }
+
setup_hotswap_agent();
#if !INCLUDE_CDS
--
2.23.0

View File

@@ -0,0 +1,41 @@
From a6b2a48880db25c3c8ce5bc3bae9040eda6f18f2 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/44] JBR-3106 Check InstanceKlass::has_nestmate_access_to
with active classes
Dcevm can leave old host in nested class if nested class is not
redefined together with host class
---
src/hotspot/share/oops/instanceKlass.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 7557a84fbf3..ed26b33466a 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -327,11 +327,21 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
return false;
}
+ // (DCEVM) cur_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ cur_host = InstanceKlass::cast(cur_host->active_version());
+ }
+
Klass* k_nest_host = k->nest_host(icce, CHECK_false);
if (k_nest_host == NULL) {
return false;
}
+ // (DCEVM) k_nest_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ k_nest_host = InstanceKlass::cast(k_nest_host->active_version());
+ }
+
bool access = (cur_host == k_nest_host);
if (log_is_enabled(Trace, class, nestmates)) {
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 01b00e2df98dbcfc2e37c42017a545de5f29e852 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/44] JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
---
src/hotspot/share/classfile/metadataOnStackMark.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/metadataOnStackMark.cpp b/src/hotspot/share/classfile/metadataOnStackMark.cpp
index 9d7bdbde74b..66049f11629 100644
--- a/src/hotspot/share/classfile/metadataOnStackMark.cpp
+++ b/src/hotspot/share/classfile/metadataOnStackMark.cpp
@@ -49,10 +49,11 @@ NOT_PRODUCT(bool MetadataOnStackMark::_is_active = false;)
MetadataOnStackMark::MetadataOnStackMark(bool redefinition_walk, bool ignore) : _ignore(ignore) {
assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
assert(_used_buffers == NULL, "sanity check");
- assert(!_is_active, "MetadataOnStackMarks do not nest");
- NOT_PRODUCT(_is_active = true;)
if (!ignore) {
+ assert(!_is_active, "MetadataOnStackMarks do not nest");
+ NOT_PRODUCT(_is_active = true;)
+
Threads::metadata_handles_do(Metadata::mark_on_stack);
if (redefinition_walk) {
--
2.23.0

View File

@@ -0,0 +1,78 @@
From 214a02487be521857a088595f8568df7846acd62 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/44] Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
---
src/hotspot/share/classfile/dictionary.cpp | 6 +++---
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/memory/universe.hpp | 5 -----
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 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,
int index = hash_to_index(hash);
DictionaryEntry* entry = get_entry(index, hash, name);
if (entry != NULL && entry->is_valid_protection_domain(protection_domain)) {
- return old_if_redefined(entry->instance_klass());
+ return old_if_redefining(entry->instance_klass());
} else {
return NULL;
}
@@ -394,7 +394,7 @@ InstanceKlass* Dictionary::find_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
@@ -406,7 +406,7 @@ InstanceKlass* Dictionary::find_shared_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index 5eaa741d500..f6e08e7bfd5 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -120,7 +120,7 @@ public:
void rollback_redefinition();
// (DCEVM) return old class if redefining in AllowEnhancedClassRedefinition, otherwise return "k"
- static InstanceKlass* old_if_redefined(InstanceKlass* k) {
+ static InstanceKlass* old_if_redefining(InstanceKlass* k) {
return (k != NULL && k->is_redefining()) ? ((InstanceKlass* )k->old_version()) : k;
}
};
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index b32db16b9cf..742dada0e8f 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -52,13 +52,8 @@ class LatestMethodCache : public CHeapObj<mtClass> {
Klass* _klass;
int _method_idnum;
- static bool _is_redefining_gc_run;
-
public:
- static bool is_redefining_gc_run() { return _is_redefining_gc_run; }
- static void set_redefining_gc_run(bool b) { _is_redefining_gc_run = b; }
-
LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
~LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
--
2.23.0

View File

@@ -0,0 +1,95 @@
From 88d359a84fb3a7dd7556c91ed0e17dca5b8d7d25 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/44] JBR-3111 Update class in all dictionaries where it was
already defined
This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.
---
src/hotspot/share/classfile/classLoaderData.cpp | 9 +++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 3 +++
src/hotspot/share/classfile/dictionary.cpp | 2 +-
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/classfile/systemDictionary.cpp | 4 +++-
5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 2f6329f3e4d..68df33b6c40 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1277,6 +1277,15 @@ void ClassLoaderDataGraph::rollback_redefinition() {
}
}
+// (DCEVM) - iterate over all classes in all dictionaries
+bool ClassLoaderDataGraph::dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
+ bool ok = false;
+ FOR_ALL_DICTIONARY(cld) {
+ ok = cld->dictionary()->update_klass(name, k, old_klass) || ok;
+ }
+ return ok;
+}
+
// Walks all entries in the dictionary including entries initiated by this class loader.
void ClassLoaderDataGraph::dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*)) {
Thread* thread = Thread::current();
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 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 {
// Enhanced class redefinition
static void rollback_redefinition();
+ // Enhanced class redefinition
+ static bool dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
+
// Iterate all classes and their class loaders, including initiating class loaders.
static void dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*));
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 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,
}
// (DCEVM) replace old_class by new class in dictionary
-bool Dictionary::update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass) {
+bool Dictionary::update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
// There are several entries for the same class in the dictionary: One extra entry for each parent classloader of the classloader of the class.
bool found = false;
for (int index = 0; index < table_size(); index++) {
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index f6e08e7bfd5..2932cc9c320 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -115,7 +115,7 @@ public:
void free_entry(DictionaryEntry* entry);
// Enhanced class redefinition
- bool update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass);
+ bool update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
void rollback_redefinition();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index a61c342f5bd..cf0a05176c8 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1603,7 +1603,9 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, InstanceKlass* ol
Dictionary* dictionary = loader_data->dictionary();
unsigned int d_hash = dictionary->compute_hash(name_h);
if (is_redefining) {
- bool ok = dictionary->update_klass(d_hash, name_h, loader_data, k, old_klass);
+ // Update all dictionaries containing old_class to new_class
+ // outcome must be same as result of standard redefinition, that does not create a new Klass
+ bool ok = ClassLoaderDataGraph::dictionary_classes_do_update_klass(name_h, k, old_klass);
assert (ok, "must have found old class and updated!");
}
check_constraints(d_hash, k, class_loader_h, !is_redefining, CHECK);
--
2.23.0

View File

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

View File

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

View File

@@ -0,0 +1,27 @@
From acafc3515aa1083d2214336af596cb579a488c8d 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/44] JBR-3458: Skip dynamic proxy classes based on
com.sun.proxy
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 80d4e68ccae..10c375d601c 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -689,7 +689,8 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
for (int i = 0; i < _new_classes->length(); i++) {
InstanceKlass* cur = _new_classes->at(i);
- if (cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/")) {
+ if ((cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/"))
+ && cur->name()->index_of_at(0, "$$") == -1) { // skip dynamic proxies
if (cur == SystemDictionary::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
--
2.23.0

View File

@@ -0,0 +1,79 @@
From 4ba18f232db0dd92369d110cbb4f38f5a35eb5c7 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/44] JBR-3459: Fix race condition in
ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.
---
src/hotspot/share/classfile/classLoaderData.cpp | 10 ++++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 4 ++++
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 13 +++++++++++--
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 68df33b6c40..b12784954af 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1169,6 +1169,16 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
+void ClassLoaderDataGraph::anonymous_classes_do(KlassClosure* klass_closure) {
+ Thread* thread = Thread::current();
+ for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
+ if (cld->is_anonymous()) {
+ Handle holder(thread, cld->holder_phantom());
+ cld->classes_do(klass_closure);
+ }
+ }
+}
+
void ClassLoaderDataGraph::classes_do(void f(Klass* const)) {
Thread* thread = Thread::current();
for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 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 {
// for redefinition. These classes are removed during the next class unloading.
// Walking the ClassLoaderDataGraph also includes anonymous classes.
static void classes_do(KlassClosure* klass_closure);
+
+ // Enhanced class redefinition
+ static void anonymous_classes_do(KlassClosure* klass_closure);
+
static void classes_do(void f(Klass* const));
static void methods_do(void f(Method*));
static void modules_do(void f(ModuleEntry*));
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 10c375d601c..5de5f78aea0 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2130,8 +2130,17 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::classes_do(&closure);
- //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+ // 0. we can't use ClassLoaderDataGraph::classes_do since classes can be uninitialized in cld,
+ // fully initialized class is in system dictionary
+ // ClassLoaderDataGraph::classes_do(&closure);
+
+ // 1. Scan over dictionaries
+ ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ // 2. Anonymous class is not in dictionary, we have to iterate anonymous cld directly, but there is race cond...
+ // TODO: review ... anonymous class is added to cld before InstanceKlass initialization,
+ // find out how to check if the InstanceKlass is initialized
+ ClassLoaderDataGraph::anonymous_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -0,0 +1,222 @@
From f0c417c9f5eaf721a7c022e7c901af59a0993885 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/44] 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 43ad1316176425552ac8aa34e26ab8554ec3a9f1 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/44] 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 39d5a7e6ffd06362a40984c43a439b5778b65d53 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/44] 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 56b381db23651cc1cec0a4b649dd2796b85e8b09 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/44] 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 bd662b5ebef..bd0f9f0efab 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;
@@ -2191,7 +2193,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) {
@@ -2853,3 +2870,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 962796e56be75ef70c1d6dcaa9eaf19e755c61d8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 1 Nov 2021 19:20:13 +0100
Subject: [PATCH 33/44] 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 5de5f78aea0..a8546a5fbe2 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 79ea17b0d47..fc0d8e82643 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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
From 15d06f325a892e2fa665698b4b76988cff236075 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Nov 2021 18:16:01 +0100
Subject: [PATCH 35/44] JBR-3963 - fix memory leaks in G1 in redefinition
ChangePointersObjectClosure allocates handles and resources, that must
be properly released in worker thread
---
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index d33a5ff3a54..7c68dbf4bf1 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -2125,6 +2125,8 @@ class G1IterateObjectClosureTask : public AbstractGangTask {
_cl(cl), _g1h(g1h), _hrclaimer(g1h->workers()->active_workers()) { }
virtual void work(uint worker_id) {
+ ResourceMark rm;
+ HandleMark hm;
IterateObjectClosureRegionClosure blk(_cl);
_g1h->heap_region_par_iterate_from_worker_offset(&blk, &_hrclaimer, worker_id);
}
--
2.23.0

View File

@@ -0,0 +1,114 @@
From eb5af1af95c0f1dcd7298be6114d9af74f72b5f8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Nov 2021 18:53:11 +0100
Subject: [PATCH 36/44] JBR-3937 - use specialized DcevmCompilation_lock to
pause C1/C2
Sources are synchronized now with dcevm17 code base. Compilation_lock is
used exclusively for WhiteBox, so we use a new lock for dcevm
---
src/hotspot/share/compiler/compileBroker.cpp | 10 +++++-----
src/hotspot/share/prims/jvmtiEnv.cpp | 4 ++--
src/hotspot/share/runtime/mutexLocker.cpp | 3 +++
src/hotspot/share/runtime/mutexLocker.hpp | 1 +
4 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp
index bd0f9f0efab..448e9b1002b 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -2196,7 +2196,7 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
if (AllowEnhancedClassRedefinition) {
{
- MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ MonitorLockerEx locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
while (_compilation_stopped) {
locker.wait(Mutex::_no_safepoint_check_flag);
}
@@ -2873,19 +2873,19 @@ void CompileBroker::print_heapinfo(outputStream* out, const char* function, size
void CompileBroker::stopCompilationBeforeEnhancedRedefinition() {
if (AllowEnhancedClassRedefinition) {
- MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ MonitorLockerEx locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
_compilation_stopped = true;
while (_active_compilations > 0) {
- VM_ThreadsSuspendJVMTI tsj;
+ VM_ThreadsSuspendJVMTI tsj; // force safepoint to run C1/C2 VM op
VMThread::execute(&tsj);
- locker.wait(Mutex::_no_safepoint_check_flag);
+ locker.wait(Mutex::_no_safepoint_check_flag, 10);
}
}
}
void CompileBroker::releaseCompilationAfterEnhancedRedefinition() {
if (AllowEnhancedClassRedefinition) {
- MonitorLockerEx locker(Compilation_lock, Mutex::_no_safepoint_check_flag);
+ MonitorLockerEx locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
_compilation_stopped = false;
locker.notify_all();
}
diff --git a/src/hotspot/share/prims/jvmtiEnv.cpp b/src/hotspot/share/prims/jvmtiEnv.cpp
index 0ca9ec020a9..221e8a20c76 100644
--- a/src/hotspot/share/prims/jvmtiEnv.cpp
+++ b/src/hotspot/share/prims/jvmtiEnv.cpp
@@ -454,9 +454,9 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
class_definitions[index].klass = jcls;
}
if (AllowEnhancedClassRedefinition) {
+ MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
// 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();
@@ -473,9 +473,9 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
jvmtiError
JvmtiEnv::RedefineClasses(jint class_count, const jvmtiClassDefinition* class_definitions) {
if (AllowEnhancedClassRedefinition) {
+ MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
// 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();
diff --git a/src/hotspot/share/runtime/mutexLocker.cpp b/src/hotspot/share/runtime/mutexLocker.cpp
index 16e91c85fd1..ae68611e992 100644
--- a/src/hotspot/share/runtime/mutexLocker.cpp
+++ b/src/hotspot/share/runtime/mutexLocker.cpp
@@ -95,6 +95,7 @@ Mutex* Compile_lock = NULL;
Monitor* MethodCompileQueue_lock = NULL;
Monitor* CompileThread_lock = NULL;
Monitor* Compilation_lock = NULL;
+Monitor* DcevmCompilation_lock = NULL;
Mutex* CompileTaskAlloc_lock = NULL;
Mutex* CompileStatistics_lock = NULL;
Mutex* DirectivesStack_lock = NULL;
@@ -327,6 +328,8 @@ void mutex_init() {
def(Compilation_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_never);
}
+ def(DcevmCompilation_lock , PaddedMonitor, nonleaf+1, false, Monitor::_safepoint_check_never);
+
#if INCLUDE_JFR
def(JfrMsg_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always);
def(JfrBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
diff --git a/src/hotspot/share/runtime/mutexLocker.hpp b/src/hotspot/share/runtime/mutexLocker.hpp
index b41abcb82ae..a9530a3a0e9 100644
--- a/src/hotspot/share/runtime/mutexLocker.hpp
+++ b/src/hotspot/share/runtime/mutexLocker.hpp
@@ -99,6 +99,7 @@ extern Mutex* Compile_lock; // a lock held when Compilation
extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued
extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization
extern Monitor* Compilation_lock; // a lock used to pause compilation
+extern Monitor* DcevmCompilation_lock; // a lock used to pause compilation from dcevm
extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated
extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics
extern Mutex* DirectivesStack_lock; // a lock held when mutating the dirstack and ref counting directives
--
2.23.0

View File

@@ -0,0 +1,29 @@
From eda304d04f9d7ca3d8c488d0375c77eae989a268 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Nov 2021 19:36:08 +0100
Subject: [PATCH 37/44] JBR-3964 - now G1 is the default GC in
AllowEnhancedClassRedefinition
---
src/hotspot/share/gc/shared/gcConfig.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index 20e0ef9ee8a..aea0ae3759f 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -106,9 +106,9 @@ void GCConfig::fail_if_unsupported_gc_is_selected() {
}
void GCConfig::select_gc_ergonomically() {
- if (AllowEnhancedClassRedefinition && !UseConcMarkSweepGC && !UseG1GC) {
+ if (AllowEnhancedClassRedefinition && !UseConcMarkSweepGC && !UseSerialGC) {
// Enhanced class redefinition only supports serial GC at the moment
- FLAG_SET_ERGO(bool, UseSerialGC, true);
+ FLAG_SET_ERGO(bool, UseG1GC, true);
} else if (os::is_server_class_machine()) {
#if INCLUDE_G1GC
FLAG_SET_ERGO_IF_DEFAULT(bool, UseG1GC, true);
--
2.23.0

View File

@@ -0,0 +1,76 @@
From 983a17c530f48d95cc5c48d548d991749d1d49e2 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 6 Nov 2021 19:43:35 +0100
Subject: [PATCH 38/44] Code cleanup
---
src/hotspot/share/compiler/compileBroker.cpp | 2 ++
src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp | 5 ++---
src/hotspot/share/gc/shared/gcConfig.cpp | 2 +-
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 1 +
4 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp
index 448e9b1002b..23f3a16c589 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -2872,6 +2872,8 @@ void CompileBroker::print_heapinfo(outputStream* out, const char* function, size
}
void CompileBroker::stopCompilationBeforeEnhancedRedefinition() {
+ // There are hard to fix C1/C2 race conditions with dcevm. The easiest solution
+ // is to stop compilation.
if (AllowEnhancedClassRedefinition) {
MonitorLockerEx locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
_compilation_stopped = true;
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
index e7d830979f6..58d9a6015e7 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
@@ -114,7 +114,7 @@ void G1FullGCCompactTask::work(uint worker_id) {
}
}
- // TODO: (DCEV) check it
+ // TODO: (DCEVM) check it
G1ResetHumongousClosure hc(collector()->mark_bitmap());
G1CollectedHeap::heap()->heap_region_par_iterate_from_worker_offset(&hc, &_claimer, worker_id);
log_task("Compaction task", worker_id, start);
@@ -146,8 +146,7 @@ void G1FullGCCompactTask::compact_region_dcevm(HeapRegion* hr, GrowableArray<Hea
void G1FullGCCompactTask::serial_compaction_dcevm() {
GCTraceTime(Debug, gc, phases) tm("Phase 4: Serial Compaction", collector()->scope()->timer());
- // compact remaining, not parallel compacted rescued oops using serial compact point
-
+ // Clear allocated resources at compact points now, since all rescued oops are copied to destination.
for (uint i = 0; i < collector()->workers(); i++) {
G1FullGCCompactionPoint* cp = collector()->compaction_point(i);
DcevmSharedGC::clear_rescued_objects_heap(cp->rescued_oops_values());
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index aea0ae3759f..c056e564fa3 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -107,7 +107,7 @@ void GCConfig::fail_if_unsupported_gc_is_selected() {
void GCConfig::select_gc_ergonomically() {
if (AllowEnhancedClassRedefinition && !UseConcMarkSweepGC && !UseSerialGC) {
- // Enhanced class redefinition only supports serial GC at the moment
+ // (DCEVM) use G1 as default GC in Enhanced class redefinition
FLAG_SET_ERGO(bool, UseG1GC, true);
} else if (os::is_server_class_machine()) {
#if INCLUDE_G1GC
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 1e63561064a..ee6e6f1d8d5 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -548,6 +548,7 @@ void VM_EnhancedRedefineClasses::doit() {
if (log_is_enabled(Info, redefine, class, timer)) {
_timer_heap_iterate.start();
}
+ // returns after the iteration is finished
G1CollectedHeap::heap()->object_par_iterate(&objectClosure);
_timer_heap_iterate.stop();
} else {
--
2.23.0

View File

@@ -0,0 +1,93 @@
From 8eb32c4c4dd67aeaebae168e17201559ac0fb50f Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 21 Nov 2021 16:57:57 +0100
Subject: [PATCH 39/44] JBR-4018 - fix zero variant compilation issues
---
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 12 ++++++++++++
src/hotspot/share/runtime/arguments.cpp | 2 ++
2 files changed, 14 insertions(+)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index ee6e6f1d8d5..c2721b2aab1 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -54,7 +54,9 @@
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
#include "gc/cms/cmsHeap.hpp"
+#if INCLUDE_G1GC
#include "gc/g1/g1CollectedHeap.hpp"
+#endif
#include "gc/shared/dcevmSharedGC.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
@@ -534,16 +536,21 @@ void VM_EnhancedRedefineClasses::doit() {
// mark such nmethod's as "scavengable".
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
+#if INCLUDE_G1GC
if (UseG1GC) {
// G1 holds references to nmethods in regions based on oops values. Since oops in nmethod can be changed in ChangePointers* closures
// we unregister nmethods from G1 heap, then closures are processed (oops are changed) and finally we register nmethod to G1 again
CodeCache::nmethods_do(unregister_nmethod_g1);
} else {
+#endif
CodeCache::nmethods_do(mark_as_scavengable);
+#if INCLUDE_G1GC
}
+#endif
}
Universe::heap()->ensure_parsability(false);
+#if INCLUDE_G1GC
if (UseG1GC) {
if (log_is_enabled(Info, redefine, class, timer)) {
_timer_heap_iterate.start();
@@ -552,19 +559,24 @@ void VM_EnhancedRedefineClasses::doit() {
G1CollectedHeap::heap()->object_par_iterate(&objectClosure);
_timer_heap_iterate.stop();
} else {
+#endif
if (log_is_enabled(Info, redefine, class, timer)) {
_timer_heap_iterate.start();
}
Universe::heap()->object_iterate(&objectClosure);
_timer_heap_iterate.stop();
+#if INCLUDE_G1GC
}
+#endif
Universe::root_oops_do(&oopClosureNoBarrier);
+#if INCLUDE_G1GC
if (UseG1GC) {
// this should work also for other GCs
CodeCache::nmethods_do(register_nmethod_g1);
}
+#endif
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index dce89a044e9..77238a4608d 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3967,12 +3967,14 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();
+#ifndef ZERO
if (FlightRecorder) {
if (AllowEnhancedClassRedefinition) {
warning("EnhancedClassRedefinition was disabled, it is not allowed in FlightRecorder.");
AllowEnhancedClassRedefinition = false;
}
}
+#endif
setup_hotswap_agent();
--
2.23.0

View File

@@ -0,0 +1,111 @@
From 96862f74063229132611259eb35f523badd0c9e1 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 28 Nov 2021 11:10:58 +0100
Subject: [PATCH 40/44] JBR-3997 - fix _invokehandle and _invokedynamic race
conditions
Old clear mechanism of CpCacheEntry has cleared partially _flags and the
entire _f1, but both values could be later used in interpreter for
invocation. It ended up with various types of crashes. To prevent dcevm
crashes, we keep the old _f1 and _flags values until they are resolved
again. We need a new flag 'is_f1_null_dcevm_shift' indicating that _f1
is NULL (while f1 keeps old value).
---
src/hotspot/share/oops/cpCache.cpp | 14 ++++----------
src/hotspot/share/oops/cpCache.hpp | 8 ++++----
src/hotspot/share/oops/cpCache.inline.hpp | 7 ++++++-
3 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/hotspot/share/oops/cpCache.cpp b/src/hotspot/share/oops/cpCache.cpp
index 4318df227d1..52cf5fe5bdf 100644
--- a/src/hotspot/share/oops/cpCache.cpp
+++ b/src/hotspot/share/oops/cpCache.cpp
@@ -450,6 +450,8 @@ void ConstantPoolCacheEntry::set_method_handle_common(const constantPoolHandle&
release_set_f1(adapter()); // This must be the last one to set (see NOTE above)!
+ OrderAccess::release_store(&_flags, _flags & ~(1u << is_f1_null_dcevm_shift));
+
// The interpreter assembly code does not check byte_2,
// but it is used by is_resolved, method_if_resolved, etc.
set_bytecode_1(invoke_code);
@@ -654,16 +656,8 @@ void ConstantPoolCacheEntry::clear_entry() {
_indices = constant_pool_index();
if (clearData) {
- if (!is_resolved_reference()) {
- _f2 = 0;
- }
- // FIXME: (DCEVM) we want to clear flags, but parameter size is actually used
- // after we return from the method, before entry is re-initialized. So let's
- // keep parameter size the same.
- // For example, it's used in TemplateInterpreterGenerator::generate_return_entry_for
- // Also, we need to keep flag marking entry as one containing resolved_reference
- _flags &= parameter_size_mask | (1 << is_resolved_ref_shift);
- _f1 = NULL;
+ // DCEVM: do not clear f1 now, since it can be used before cache entry is re-resolved
+ _flags |= (1 << is_f1_null_dcevm_shift);
}
}
diff --git a/src/hotspot/share/oops/cpCache.hpp b/src/hotspot/share/oops/cpCache.hpp
index 2a9eb978b43..bb4e40373b2 100644
--- a/src/hotspot/share/oops/cpCache.hpp
+++ b/src/hotspot/share/oops/cpCache.hpp
@@ -178,8 +178,9 @@ class ConstantPoolCacheEntry {
tos_state_bits = 4,
tos_state_mask = right_n_bits(tos_state_bits),
tos_state_shift = BitsPerInt - tos_state_bits, // see verify_tos_state_shift below
- // (DCEVM) We need to remember entries which has resolved reference indices as we don't want to clean them
- is_resolved_ref_shift = 27,
+ // (DCEVM) dcevm additional indicator, that f1 is NULL. DCEVM need to keep the old value of the f1 until the
+ // cache entry is reresolved to avoid race condition
+ is_f1_null_dcevm_shift = 27,
// misc. option bits; can be any bit position in [16..27]
is_field_entry_shift = 26, // (F) is it a field or a method?
has_method_type_shift = 25, // (M) does the call site have a MethodType?
@@ -213,7 +214,6 @@ class ConstantPoolCacheEntry {
void initialize_resolved_reference_index(int ref_index) {
assert(_f2 == 0, "set once"); // note: ref_index might be zero also
_f2 = ref_index;
- _flags = 1 << is_resolved_ref_shift;
}
void set_field( // sets entry to resolved field state
@@ -363,7 +363,6 @@ class ConstantPoolCacheEntry {
bool is_method_entry() const { return (_flags & (1 << is_field_entry_shift)) == 0; }
bool is_field_entry() const { return (_flags & (1 << is_field_entry_shift)) != 0; }
bool is_long() const { return flag_state() == ltos; }
- bool is_resolved_reference() const { return (_flags & (1 << is_resolved_ref_shift)) != 0; }
bool is_double() const { return flag_state() == dtos; }
TosState flag_state() const { assert((uint)number_of_states <= (uint)tos_state_mask+1, "");
return (TosState)((_flags >> tos_state_shift) & tos_state_mask); }
@@ -407,6 +406,7 @@ class ConstantPoolCacheEntry {
void verify_just_initialized(bool f2_used);
void reinitialize(bool f2_used);
+
};
diff --git a/src/hotspot/share/oops/cpCache.inline.hpp b/src/hotspot/share/oops/cpCache.inline.hpp
index c876e669de3..2cf48c67a9f 100644
--- a/src/hotspot/share/oops/cpCache.inline.hpp
+++ b/src/hotspot/share/oops/cpCache.inline.hpp
@@ -65,7 +65,12 @@ inline Klass* ConstantPoolCacheEntry::f1_as_klass() const {
return (Klass*)f1;
}
-inline bool ConstantPoolCacheEntry::is_f1_null() const { Metadata* f1 = f1_ord(); return f1 == NULL; }
+inline bool ConstantPoolCacheEntry::is_f1_null() const {
+ Metadata* f1 = f1_ord();
+ intx flags = flags_ord();
+ return f1 == NULL || (flags & (1 << is_f1_null_dcevm_shift)) != 0;
+}
+
inline bool ConstantPoolCacheEntry::has_appendix() const {
return (!is_f1_null()) && (_flags & (1 << has_appendix_shift)) != 0;
--
2.23.0

View File

@@ -0,0 +1,30 @@
From be92eb0b4440f27298330581ec34b17fdac14da9 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 29 Nov 2021 17:28:36 +0100
Subject: [PATCH 41/44] JBR-3997 - change order of clear is_f1_null_dcevm_shift
and set _f1
---
src/hotspot/share/oops/cpCache.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/oops/cpCache.cpp b/src/hotspot/share/oops/cpCache.cpp
index 52cf5fe5bdf..a223fc17cae 100644
--- a/src/hotspot/share/oops/cpCache.cpp
+++ b/src/hotspot/share/oops/cpCache.cpp
@@ -448,10 +448,10 @@ void ConstantPoolCacheEntry::set_method_handle_common(const constantPoolHandle&
resolved_references->obj_at_put(method_type_index, method_type());
}
- release_set_f1(adapter()); // This must be the last one to set (see NOTE above)!
-
OrderAccess::release_store(&_flags, _flags & ~(1u << is_f1_null_dcevm_shift));
+ release_set_f1(adapter()); // This must be the last one to set (see NOTE above)!
+
// The interpreter assembly code does not check byte_2,
// but it is used by is_resolved, method_if_resolved, etc.
set_bytecode_1(invoke_code);
--
2.23.0

View File

@@ -0,0 +1,26 @@
From 73b3c3daf4f521c103f8474708add0717adcda70 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 19 Dec 2021 10:14:48 +0100
Subject: [PATCH 42/44] JBR-4125 - fix wrong addition of java.lang.Object as
superclass
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index c2721b2aab1..66600206aab 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1018,7 +1018,7 @@ int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_
cur_klass = new_class->super();
while (cur_klass != NULL) {
- if (!the_class->is_subclass_of(cur_klass->old_version())) {
+ if (!the_class->is_subclass_of(cur_klass->is_redefining() ? cur_klass->old_version() : cur_klass)) {
log_info(redefine, class, load)("added super class %s", cur_klass->name()->as_C_string());
result = result | Klass::ModifyClass | Klass::ModifyInstances;
}
--
2.23.0

View File

@@ -0,0 +1,26 @@
From d211ae68e72eac8b868c9b198929f73f385c18d7 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 29 Dec 2021 17:44:02 +0100
Subject: [PATCH 43/44] JBR-4148 - removed meaningless copying of data to
itself
---
src/hotspot/share/oops/method.cpp | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 2af3e71635e..55eb4e8c294 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1448,8 +1448,6 @@ 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);
- newm->set_new_version(newm->new_version());
- newm->set_old_version(newm->old_version());
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");
--
2.23.0

View File

@@ -0,0 +1,29 @@
From 71dea432524297595b3193943981e18bcf35e822 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 28 Jan 2022 18:52:58 +0100
Subject: [PATCH 44/44] Fix compilation problem - remove notice_modification
SystemDictionary::notice_modification was removed in jdk11.0.4, it contained
number of redefinition counter for informational purposes
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 66600206aab..ece6e71b209 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -658,8 +658,8 @@ void VM_EnhancedRedefineClasses::doit() {
// TODO: explain...
ciObjectFactory::resort_shared_ci_metadata();
- // Disable any dependent concurrent compilations
- SystemDictionary::notice_modification();
+ // notice_modification() was removed in 11.0.14
+ // SystemDictionary::notice_modification();
// Set flag indicating that some invariants are no longer true.
// See jvmtiExport.hpp for detailed explanation.
--
2.23.0

View File

@@ -0,0 +1,164 @@
#!/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 jb/project/tools/common/modules.list | \
grep -v "jdk.internal.vm.compiler\|jdk.aot" \
> modules_tmp.list
echo ",jdk.crypto.mscapi" >> 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.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.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module.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

@@ -6,8 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# jfx - the release bundles with javafx
# jcef_jfx - the release bundles with jcef and javafx
# 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
@@ -26,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
@@ -34,26 +42,41 @@ 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_x64}
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2015}
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2017}
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}
case "${bundle_type}" in
"jfx" | "jcef" | "dcevm" | "nomod" | "fd")
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
cat modules.list > modules_tmp.list
cat jb/project/tools/common/modules.list > modules_tmp.list
echo ",jdk.crypto.mscapi" >> modules_tmp.list
rm -rf ${JBR_BUNDLE}
echo Running jlink....
@@ -73,19 +96,10 @@ WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
do_reset_changes=1
;;
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"jfx_jcef")
git apply -p0 < jb/project/tools/patches/add_jfx_module.patch || do_exit $?
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
@@ -109,25 +123,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
@@ -144,4 +152,4 @@ fi
create_jbr || do_exit $?
do_exit 0
do_exit 0

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -22,6 +21,7 @@ JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2017}
source jb/project/tools/common.sh
@@ -39,7 +39,7 @@ PATH="/usr/local/bin:/usr/bin:${PATH}"
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=2015 \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
@@ -57,7 +57,8 @@ mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
grep -v javafx jb/project/tools/common/modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo ",jdk.crypto.mscapi" >> modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?

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

View File

@@ -6,8 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# jfx - the release bundles with javafx
# jcef_jfx - the release bundles with jcef and javafx
# 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
@@ -38,12 +36,9 @@ function pack_jbr {
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jfx" | "jcef" | "dcevm" | "nomod" | "fd")
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz

View File

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

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

@@ -276,7 +276,7 @@ $(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN \
MAX_MEM, \
MAX_MEM RETRY_COUNT, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS AOT_MODULES, \
))
@@ -312,8 +312,6 @@ langtools_JTREG_PROBLEM_LIST += $(TOPDIR)/test/langtools/ProblemList.txt
nashorn_JTREG_PROBLEM_LIST += $(TOPDIR)/test/nashorn/ProblemList.txt
hotspot_JTREG_PROBLEM_LIST += $(TOPDIR)/test/hotspot/jtreg/ProblemList.txt
langtools_JTREG_MAX_MEM := 768m
################################################################################
# Parse test selection
#
@@ -532,6 +530,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) \
@@ -626,7 +625,7 @@ define SetupRunJtregTestBody
# Convert JTREG_foo into $1_JTREG_foo with a suitable value.
$$(eval $$(call SetJtregValue,$1,JTREG_TEST_MODE,agentvm))
$$(eval $$(call SetJtregValue,$1,JTREG_ASSERT,true))
$$(eval $$(call SetJtregValue,$1,JTREG_MAX_MEM,512m))
$$(eval $$(call SetJtregValue,$1,JTREG_MAX_MEM,768m))
$$(eval $$(call SetJtregValue,$1,JTREG_NATIVEPATH))
$$(eval $$(call SetJtregValue,$1,JTREG_BASIC_OPTIONS))
$$(eval $$(call SetJtregValue,$1,JTREG_PROBLEM_LIST))
@@ -642,7 +641,7 @@ define SetupRunJtregTestBody
# Make sure MaxRAMPercentage is high enough to not cause OOM or swapping since
# we may end up with a lot of JVM's
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $(AWK) 'BEGIN { print 25 / $$($1_JTREG_JOBS); }')
# SPARC is in general slower per core so need to scale up timeouts a bit.
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
@@ -652,6 +651,7 @@ define SetupRunJtregTestBody
endif
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
JTREG_RETRY_COUNT ?= 0
ifneq ($$($1_JTREG_MAX_MEM), 0)
$1_JTREG_BASIC_OPTIONS += -vmoption:-Xmx$$($1_JTREG_MAX_MEM)
@@ -741,24 +741,43 @@ define SetupRunJtregTestBody
clean-workdir-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
$1_COMMAND_LINE := \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_IMAGE_DIR) \
-dir:$$(JTREG_TOPDIR) \
-reportDir:$$($1_TEST_RESULTS_DIR) \
-workDir:$$($1_TEST_SUPPORT_DIR) \
-status:$$$${JTREG_STATUS} \
$$(JTREG_OPTIONS) \
$$(JTREG_FAILURE_HANDLER_OPTIONS) \
$$($1_TEST_NAME) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE)
ifneq ($$(JTREG_RETRY_COUNT), 0)
$1_COMMAND_LINE := \
for i in {0..$$(JTREG_RETRY_COUNT)}; do \
if [ "$$$$i" != 0 ]; then \
$$(PRINTF) "\nRetrying Jtreg run. Attempt: $$$$i\n"; \
fi; \
$$($1_COMMAND_LINE); \
if [ "`$$(CAT) $$($1_EXITCODE)`" = "0" ]; then \
break; \
fi; \
export JTREG_STATUS="-status:error,fail"; \
done
endif
run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
$$($1_TEST_TMP_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, ( \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_IMAGE_DIR) \
-dir:$$(JTREG_TOPDIR) \
-reportDir:$$($1_TEST_RESULTS_DIR) \
-workDir:$$($1_TEST_SUPPORT_DIR) \
$$(JTREG_OPTIONS) \
$$(JTREG_FAILURE_HANDLER_OPTIONS) \
$$($1_TEST_NAME) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
$$($1_COMMAND_LINE) \
))
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/text/stats.txt

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
@@ -73,9 +73,9 @@ TOOL_HASHER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
TOOL_TZDB = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.tzdb.TzdbZoneRulesCompiler
TOOL_BLACKLISTED_CERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
TOOL_BLOCKED_CERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
build.tools.blacklistedcertsconverter.BlacklistedCertsConverter
build.tools.blockedcertsconverter.BlockedCertsConverter
TOOL_MAKEJAVASECURITY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.makejavasecurity.MakeJavaSecurity

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

@@ -97,6 +97,15 @@ if [ "x$OUT" = x ]; then
fi
fi
# Test and fix LoongArch64.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on Macosx when C preprocessor is not on the path
echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then

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

@@ -391,16 +391,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
CFLAGS="$CFLAGS_OLD"
CXXFLAGS="$CXXFLAGS_OLD"
# Tests are only ever compiled for TARGET
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
CFLAGS_TESTEXE="$CFLAGS_JDKEXE"
CXXFLAGS_TESTEXE="$CXXFLAGS_JDKEXE"
AC_SUBST(CFLAGS_TESTLIB)
AC_SUBST(CFLAGS_TESTEXE)
AC_SUBST(CXXFLAGS_TESTLIB)
AC_SUBST(CXXFLAGS_TESTEXE)
])
################################################################################
@@ -705,7 +695,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"
@@ -715,9 +707,21 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# CFLAGS PER CPU
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
AC_MSG_CHECKING([if $1 is x86])
if test "x$FLAGS_CPU" = xx86; then
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if control flow protection is enabled by additional compiler flags])
if echo "${EXTRA_CFLAGS}${EXTRA_CXXFLAGS}${EXTRA_ASFLAGS}" | ${GREP} -q 'fcf-protection' ; then
# cf-protection requires CMOV and thus i686
$1_CFLAGS_CPU="-march=i686"
AC_MSG_RESULT([yes, forcing ${$1_CFLAGS_CPU}])
else
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([no, forcing ${$1_CFLAGS_CPU}])
fi
else
AC_MSG_RESULT([no])
fi
fi

View File

@@ -51,9 +51,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB"
LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE ${TARGET_LDFLAGS_JDK_LIBPATH}"
AC_SUBST(LDFLAGS_TESTLIB)
LDFLAGS_TESTEXE="${TARGET_LDFLAGS_JDK_LIBPATH}"
AC_SUBST(LDFLAGS_TESTEXE)
])
@@ -77,7 +75,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
# s390x : remove unused code+data in link step
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections"
fi
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"
@@ -118,7 +116,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Assume clang or gcc.
# FIXME: We should really generalize SET_SHARED_LIBRARY_ORIGIN instead.
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
OS_LDFLAGS_JDK_ONLY="-mmacosx-version-min=$MACOSX_VERSION_MIN"
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN"
fi
fi
@@ -187,12 +185,14 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
$1_CPU_LDFLAGS_JVM_ONLY="-xarch=sparc"
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
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"
elif test "x${OPENJDK_$1_CPU}" = "xaarch64"; then
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
else
$1_CPU_LDFLAGS_JVM_ONLY="-machine:AMD64"
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
@@ -201,7 +201,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
# 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}"
@@ -209,13 +209,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
# Export variables according to old definitions, prefix with $2 if present.
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
$OS_LDFLAGS_JDK_ONLY $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS"
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
${$1_CPU_EXECUTABLE_LDFLAGS}"
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS_JVM_ONLY \
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS $OS_LDFLAGS_JVM_ONLY \
$DEBUGLEVEL_LDFLAGS $DEBUGLEVEL_LDFLAGS_JVM_ONLY $BASIC_LDFLAGS_ONLYCXX \
${$1_CPU_LDFLAGS} ${$1_CPU_LDFLAGS_JVM_ONLY} ${$2EXTRA_LDFLAGS}"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -107,6 +107,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

@@ -90,7 +90,7 @@ apt_help() {
devkit)
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
openjdk)
PKGHANDLER_COMMAND="sudo apt-get install openjdk-8-jdk" ;;
PKGHANDLER_COMMAND="sudo apt-get install openjdk-11-jdk" ;;
alsa)
PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
cups)
@@ -99,6 +99,8 @@ apt_help() {
PKGHANDLER_COMMAND="sudo apt-get install libfontconfig1-dev" ;;
freetype)
PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo apt-get install libharfbuzz-dev" ;;
ffi)
PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
x11)
@@ -115,7 +117,7 @@ yum_help() {
devkit)
PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
openjdk)
PKGHANDLER_COMMAND="sudo yum install java-1.8.0-openjdk-devel" ;;
PKGHANDLER_COMMAND="sudo yum install java-11-openjdk-devel" ;;
alsa)
PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
cups)
@@ -124,6 +126,8 @@ yum_help() {
PKGHANDLER_COMMAND="sudo yum install fontconfig-devel" ;;
freetype)
PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo yum install harfbuzz-devel" ;;
x11)
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel" ;;
ccache)

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
@@ -363,7 +363,12 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
# Only enable Shenandoah on supported arches, and only if requested
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
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 +376,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 +426,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 +459,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

@@ -37,6 +37,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS],
LIB_SETUP_LIBPNG
LIB_SETUP_ZLIB
LIB_SETUP_LCMS
LIB_SETUP_HARFBUZZ
])
################################################################################
@@ -260,3 +261,43 @@ AC_DEFUN_ONCE([LIB_SETUP_LCMS],
AC_SUBST(LCMS_CFLAGS)
AC_SUBST(LCMS_LIBS)
])
################################################################################
# Setup harfbuzz
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ],
[
AC_ARG_WITH(harfbuzz, [AS_HELP_STRING([--with-harfbuzz],
[use harfbuzz from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
AC_MSG_CHECKING([for which harfbuzz to use])
DEFAULT_HARFBUZZ=bundled
# If user didn't specify, use DEFAULT_HARFBUZZ
if test "x${with_harfbuzz}" = "x"; then
with_harfbuzz=${DEFAULT_HARFBUZZ}
fi
if test "x${with_harfbuzz}" = "xbundled"; then
USE_EXTERNAL_HARFBUZZ=false
HARFBUZZ_CFLAGS=""
HARFBUZZ_LIBS=""
AC_MSG_RESULT([bundled])
elif test "x${with_harfbuzz}" = "xsystem"; then
AC_MSG_RESULT([system])
PKG_CHECK_MODULES([HARFBUZZ], [harfbuzz], [HARFBUZZ_FOUND=yes], [HARFBUZZ_FOUND=no])
if test "x${HARFBUZZ_FOUND}" = "xyes"; then
# PKG_CHECK_MODULES will set HARFBUZZ_CFLAGS and HARFBUZZ_LIBS
USE_EXTERNAL_HARFBUZZ=true
else
HELP_MSG_MISSING_DEPENDENCY([harfbuzz])
AC_MSG_ERROR([--with-harfbuzz=system specified, but no harfbuzz found! $HELP_MSG])
fi
else
AC_MSG_ERROR([Invalid value for --with-harfbuzz: ${with_harfbuzz}, use 'system' or 'bundled'])
fi
AC_SUBST(USE_EXTERNAL_HARFBUZZ)
AC_SUBST(HARFBUZZ_CFLAGS)
AC_SUBST(HARFBUZZ_LIBS)
])

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

@@ -79,6 +79,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
loongarch64)
VAR_CPU=loongarch64
VAR_CPU_ARCH=loongarch
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
m68k)
VAR_CPU=m68k
VAR_CPU_ARCH=m68k
@@ -127,6 +133,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
riscv64)
VAR_CPU=riscv64
VAR_CPU_ARCH=riscv
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
s390)
VAR_CPU=s390
VAR_CPU_ARCH=s390
@@ -209,6 +221,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 +268,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 +285,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 +294,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 +303,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 +320,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 +332,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])
@@ -486,6 +535,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xs390x; then
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xriscv64; then
HOTSPOT_$1_CPU_DEFINE=RISCV
elif test "x$OPENJDK_$1_CPU" != x; then
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
fi

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
@@ -508,11 +508,6 @@ LDCXX:=@FIXPATH@ @LDCXX@
LIBCXX:=@LIBCXX@
# Compiler and linker flags used when building native tests
CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@
CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@
CFLAGS_TESTEXE:=@CFLAGS_TESTEXE@
CXXFLAGS_TESTEXE:=@CXXFLAGS_TESTEXE@
LDFLAGS_TESTLIB:=@LDFLAGS_TESTLIB@
LDFLAGS_TESTEXE:=@LDFLAGS_TESTEXE@
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
@@ -617,7 +612,7 @@ JAVA_JAVAC=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
JAVAC=@FIXPATH@ $(JAVAC_CMD)
JAVADOC=@FIXPATH@ $(JAVADOC_CMD)
JAR=@FIXPATH@ $(JAR_CMD)
JLINK = @FIXPATH@ $(JLINK_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JLINK = @FIXPATH@ $(JLINK_CMD)
JMOD = @FIXPATH@ $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
# A specific java binary with specific options can be used to run
@@ -832,6 +827,10 @@ USE_EXTERNAL_LCMS:=@USE_EXTERNAL_LCMS@
LCMS_CFLAGS:=@LCMS_CFLAGS@
LCMS_LIBS:=@LCMS_LIBS@
USE_EXTERNAL_HARFBUZZ:=@USE_EXTERNAL_HARFBUZZ@
HARFBUZZ_CFLAGS:=@HARFBUZZ_CFLAGS@
HARFBUZZ_LIBS:=@HARFBUZZ_LIBS@
USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
PNG_LIBS:=@PNG_LIBS@
PNG_CFLAGS:=@PNG_CFLAGS@

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -229,7 +229,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test -n "$XCODEBUILD"; then
# On Mac OS X, default toolchain to clang after Xcode 5
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
$ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
if test $? -ne 0; then
AC_MSG_ERROR([Failed to determine Xcode version.])
@@ -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
# 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
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
BASIC_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
# Probe: Using well-known location from VS 2017 and VS 2019
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/$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=9
DEFAULT_VERSION_UPDATE=14
DEFAULT_VERSION_PATCH=1
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-11-04
DEFAULT_VERSION_DATE=2022-02-08
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
DEFAULT_PROMOTED_VERSION_PRE=ea
DEFAULT_PROMOTED_VERSION_PRE=
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK

View File

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

View File

@@ -60,14 +60,16 @@ define SetupTestFilesCompilationBody
ifeq ($$($1_TYPE), LIBRARY)
$1_PREFIX = lib
$1_OUTPUT_SUBDIR := lib
$1_CFLAGS := $(CFLAGS_TESTLIB)
$1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
$1_COMPILATION_TYPE := LIBRARY
else ifeq ($$($1_TYPE), PROGRAM)
$1_PREFIX = exe
$1_OUTPUT_SUBDIR := bin
$1_CFLAGS := $(CFLAGS_TESTEXE)
$1_LDFLAGS := $(LDFLAGS_TESTEXE)
$1_BASE_CFLAGS := $(CFLAGS_JDKEXE)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE)
$1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE)
$1_COMPILATION_TYPE := EXECUTABLE
else
$$(error Unknown type: $$($1_TYPE))
@@ -75,7 +77,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)*.cpp $$($1_PREFIX)*.m)
$1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
$1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))
@@ -91,9 +93,13 @@ define SetupTestFilesCompilationBody
INCLUDE_FILES := $$(notdir $$(file)), \
OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
CFLAGS := $$($1_BASE_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
CXXFLAGS := $$($1_BASE_CXXFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
DISABLED_WARNINGS_CXX_solstudio := wvarhidenmem, \
DISABLED_WARNINGS_CXX_gcc := format, \
LIBS := $$($1_LIBS_$$(name)), \
TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
COPY_DEBUG_SYMBOLS := false, \
STRIP_SYMBOLS := false, \

View File

@@ -242,7 +242,7 @@ var getJibProfilesCommon = function (input, data) {
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
configure_args: concat(["--enable-jtreg-failure-handler"],
"--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--disable-manpages",
versionArgs(input, common))
};
@@ -854,7 +854,7 @@ var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc7.3.0-OEL6.4+1.1",
macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
macosx_x64: "Xcode11.3.1-MacOSX10.15+1.0",
solaris_x64: "SS12u4-Solaris11u1+1.0",
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
windows_x64: "VS2017-15.9.16+1.0",
@@ -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

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