Compare commits

...

1772 Commits
1398 ... master

Author SHA1 Message Date
MonoBot
641424a3e3 Fonts release 2.242 2022-09-09 20:09:28 +02:00
Alexey Ushakov
095f376e49 Update README.md
Deprecation note
2022-05-31 19:16:42 +02:00
Vitaly Provodin
5b39fadeae Update README.md
update the link to JBR for IDEA 2022.2
2022-05-18 05:46:38 +07:00
Vitaly Provodin
2b958707dc Update README.md
update the link to JBR for IDEA 2022.1
2022-05-18 05:35:13 +07:00
Dmitry Batrak
f987d22cd2 JBR-1740 Menu remains open when application loses focus 2022-05-17 17:00:23 +03:00
Maxim Kartashev
ce5ad85ae0 JBR-4471 Linux: popup appears on wrong screen after desktop scale change
When screen scale changes, the cached screen bounds must be explicitly
updated. Call resetBoundsCache() whenever X11GraphicsDevice.scale has
changed.

(cherry picked from commit 4f4f3c9e41)
2022-05-17 02:09:02 -07:00
Vitaly Provodin
e5ffbcb229 JBR-4292 add rsync into image 2022-05-14 05:07:18 +07:00
Nikita Gubarkov
c9b90ca19f JBR-4460 Allow changing custom window decorations on Windows on the fly 2022-05-13 14:08:16 +03:00
Nikita Gubarkov
aed132754a Use reflection instead of method handle lookup to find JBR API implementation classes
This is useful for internal services and allows to keep implementation in classes normally not accessible from the point where service is created
2022-05-13 13:59:23 +03:00
Maxim Kartashev
1243464b1b JBR-3498 Windows: exception when trying to delete a directory with a trailing space
Allow Windows Path to have a trailing space despite Windows naming conventions
discouraging it. Many programs - including Explorer - successfully work
with such files or directories.

(cherry picked from commit 9a81ca792e)
2022-05-12 13:31:14 +03:00
Dmitry Batrak
2b05925276 JBR-4463 Activating app-modal dialog brings all app windows to front 2022-05-11 21:56:30 +03:00
Alexey Ushakov
b2cea74f09 JBR-4292 generate and save debug symbols for JBR on macos/linux 2022-05-05 07:39:36 +07:00
Anton Kozlov
6c96c03a88 8284920: Incorrect Token type causes XPath expression to return empty result
Reviewed-by: andrew
2022-05-05 07:37:29 +07:00
Christoph Langer
34bdcd7c5e 8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
Reviewed-by: andrew
2022-05-05 07:37:29 +07:00
Yuri Nesterenko
17567e3b9f 8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
Reviewed-by: mbaesken
Backport-of: e6afb6ff81c9004aadaa6f694e643de9703dd32d
2022-05-05 07:37:29 +07:00
Yuri Nesterenko
a61d443c40 8278972: Improve URL supports
Reviewed-by: andrew
Backport-of: 94f1fbfd6d23f18ade3cc1b36f6dd368963c9d02
2022-05-05 07:37:29 +07:00
Andrew Brygin
196da5763b 8278805: Enhance BMP image loading
Reviewed-by: andrew
Backport-of: 6319119be51e595be82f253b9f5e9495e72d4ad9
2022-05-05 07:37:29 +07:00
Alexey Bakhtin
ba690ebd3e 8278449: Improve keychain support
Reviewed-by: andrew
Backport-of: 2376bb88eff3ae6922c4cae276e1d703a520853d
2022-05-05 07:37:28 +07:00
Martin Balao
2f2288e53c 8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
Reviewed-by: mbaesken
Backport-of: d48181536fa9b99f01fc80f8adb73777ec6ffa58
2022-05-05 07:37:28 +07:00
Martin Balao
ef62081fad 8278356: Improve file creation
Reviewed-by: andrew
Backport-of: 3c75bf069973c1d05b94cb42edf6eb62820b1ef5
2022-05-05 07:37:28 +07:00
Yuri Nesterenko
60a9634330 8270504: Better Xpath expression handling
Reviewed-by: andrew
Backport-of: b61a2ca626b1da5e555c50e548b643a2daa396c6
2022-05-05 07:37:28 +07:00
Martin Balao
8ef66bae01 8281388: Change wrapping of EncryptedPrivateKeyInfo
Reviewed-by: mbaesken
Backport-of: 405381ce9b44c8b122a06e590e4d8240fd9ba996
2022-05-05 07:37:28 +07:00
Martin Balao
c97fe3da81 8278798: Improve supported intrinsic
Reviewed-by: roland
Backport-of: 7ed3d37203da74f3f2cc92d06250f74aa5ceccd1
2022-05-05 07:37:28 +07:00
David Alvarez
e9e9d25e83 8274221: More definite BER encodings
Backport-of: ee39b0fc22a55a051b8a4d5754c34105fe4b734e
2022-05-05 07:37:28 +07:00
Sergey Bylokhov
e1ad5d9990 8272255: Completely handle MIDI files
Reviewed-by: mbaesken
Backport-of: 6efdd1870e7ddb77a04d8c8183ced385039d0913
2022-05-05 07:37:27 +07:00
Aleksei Voitylov
cb77059c7e 8277672: Better invocation handler handling
Reviewed-by: mbaesken
Backport-of: 0691804665559f1935b7361d5f1207ac46f823f0
2022-05-05 07:37:27 +07:00
Aleksei Voitylov
a7d6b154bb 8277227: Better identification of OIDs
Reviewed-by: mbaesken
Backport-of: 3ac5f0175356fad40b59f879322fa7d89dfbcaab
2022-05-05 07:37:27 +07:00
Aleksei Voitylov
b1253f16c2 8275151: Improved Object Identification
Reviewed-by: mbaesken
Backport-of: 4cffe1cc913f895f54281de8e91ca39f4bde4b5f
2022-05-05 07:37:27 +07:00
Martin Balao
c567df5ba1 8272594: Better record of recordings
Reviewed-by: evergizova
Backport-of: 44d9bf6d4afac7b17273b0de1189f3487c1a22f7
2022-05-05 07:37:27 +07:00
Oli Gillespie
304e37b793 8272261: Improve JFR recording file processing
Reviewed-by: mbaesken
Backport-of: 71dc970b928a6b3ccc4973f56765a4ff7c43860d
2022-05-05 07:37:27 +07:00
Martin Balao
ae1780bcfb 8269938: Enhance XML processing passes redux
Reviewed-by: mbaesken
Backport-of: ff4e11b1a83d6910e39f1d46bea154f0876f39da
2022-05-05 07:37:27 +07:00
Martin Doerr
3acaddd6bc 8283270: [11u] broken JRT_ENTRY_NO_ASYNC after Backport of JDK-8253795
Reviewed-by: sgehwolf, clanger
2022-05-05 07:37:26 +07:00
Goetz Lindenmaier
dac5fa68ec 8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
Reviewed-by: mbaesken
Backport-of: 6aa02d75d9
2022-05-05 07:37:26 +07:00
Goetz Lindenmaier
84249493db 8211333: AArch64: Fix another build failure after JDK-8211029
Reviewed-by: aph
Backport-of: 21af2af13e
2022-05-05 07:37:26 +07:00
Goetz Lindenmaier
1ef8aff61f 8282372: [11] build issue on MacOS/aarch64 12.2.1 using Xcode 13.1: call to 'log2_intptr' is ambiguous
Reviewed-by: clanger
2022-05-05 07:37:26 +07:00
Reka Kovacs
3f24c5549a 8254072: AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: burban, aph
Backport-of: d2812f780e
2022-05-05 07:37:26 +07:00
Vladimir Kempik
c124b8e7c9 8253795: Implementation of JEP 391: macOS/AArch64 Port
8253816: Support macOS W^X
8253817: Support macOS Aarch64 ABI in Interpreter
8253818: Support macOS Aarch64 ABI for compiled wrappers
8253819: Implement os/cpu for macOS/AArch64
8253839: Update tests and JDK code for macOS/Aarch64
8254941: Implement Serviceability Agent for macOS/AArch64
8255776: Change build system for macOS/AArch64
8262903: [macos_aarch64] Thread::current() called on detached thread
8262896: [macos_aarch64] Crash in jni_fast_GetLongField

Reviewed-by: adinn, burban, aph
Backport-of: dbc9e4b50c
2022-05-05 07:37:26 +07:00
Vladimir Kempik
850f9fcde5 8261071: AArch64: Refactor interpreter native wrappers
Backport-of: 682e78e89b
2022-05-05 07:37:25 +07:00
bell-sw
ced7cec153 Revert "ZULU-17389: Support macos aarch64 packed abi"
This reverts commit 06e1ffdccb.
2022-05-05 07:37:25 +07:00
bell-sw
a428b9347e Revert "ZULU-18130: Refactor ZULU-17389 for inclusion into openjdk"
This reverts commit aea9725329.
2022-05-05 07:37:25 +07:00
Sergey Bylokhov
dcd348517a 8256321: Some "inactive" color profiles use the wrong profile class
Backport-of: a6c088131b
2022-05-05 07:37:25 +07:00
Sergey Bylokhov
dcb1c76eb5 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Reviewed-by: phh
Backport-of: 03473b4c27
2022-05-05 07:37:25 +07:00
Reka Kovacs
9b2d6da560 8254827: JVMCI: Enable it for Windows+AArch64
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: aph
Backport-of: 88ee973334
2022-05-05 07:37:25 +07:00
Goetz Lindenmaier
a27afd633a 8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Backport-of: 6cf70f5f08
2022-05-05 07:37:24 +07:00
Goetz Lindenmaier
87398e295a 8258554: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Backport-of: c7c53d016e
2022-05-05 07:37:24 +07:00
Dongbo He
d25fad639a 8202142: jfr/event/io/TestInstrumentation is unstable
Reviewed-by: phh, mli
Backport-of: 0b9ff0c3a4
2022-05-05 07:37:24 +07:00
Martin Doerr
131744db59 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
Reviewed-by: serb
Backport-of: febcc72a54
2022-05-05 07:37:24 +07:00
Martin Doerr
33b6014fd4 8199079: Test javax/swing/UIDefaults/6302464/bug6302464.java is unstable
Reviewed-by: serb
Backport-of: 41fc7ddd8d
2022-05-05 07:37:24 +07:00
Goetz Lindenmaier
b15db7289a 8277796: Bump update version for OpenJDK: jdk-11.0.15
Reviewed-by: mdoerr
2022-05-05 07:37:24 +07:00
Christoph Langer
cc624cec70 8233642: [TESTBUG] JMenuBar test bug 4750590.java fails on macos
Backport-of: 5f0d11e1e9
2022-05-05 07:37:24 +07:00
Christoph Langer
2e4a926871 8283778: 11u GHA: Fix GCC 9 ubuntu package names
Reviewed-by: mdoerr, mbaesken
2022-05-05 07:37:23 +07:00
Christoph Langer
624fbf4919 8283018: 11u GHA: Update GCC 9 minor versions
Backport-of: 997c55f360
2022-05-05 07:37:23 +07:00
Matthias Baesken
5f059140c9 8275082: Update XML Security for Java to 2.3.0
Reviewed-by: yan
Backport-of: b0c0dc5ad2
2022-05-05 07:37:23 +07:00
Goetz Lindenmaier
0606768064 8282761: XPathFactoryImpl remove setProperty and getProperty methods
Reviewed-by: yan
Backport-of: 67dd89154a5a8bd4661101d8d97e8b249063cca6
2022-05-05 07:37:23 +07:00
Goetz Lindenmaier
37b8841459 8277795: ldap connection timeout not honoured under contention
Reviewed-by: mbaesken
Backport-of: 3d926dd66e
2022-05-05 07:37:23 +07:00
Goetz Lindenmaier
ac3a6a650a 8276141: XPathFactory set/getProperty method
Backport-of: 4b2f75b0b0441e1ffb4fb3b4f789f13008c20307
2022-05-05 07:37:23 +07:00
Goetz Lindenmaier
26e0b2a437 8255410: Add ChaCha20 and Poly1305 support to SunPKCS11 provider
Reviewed-by: mdoerr
Backport-of: 5d8c1cc8a0
2022-05-05 07:37:22 +07:00
Zdenek Zambersky
47f51b214a 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Reviewed-by: sgehwolf
Backport-of: 4c52eb3943
2022-05-05 07:37:22 +07:00
Sergey Bylokhov
78c53e5432 8261107: ArrayIndexOutOfBoundsException in the ICC_Profile.getInstance(InputStream)
Backport-of: 06b33a0ad7
2022-05-05 07:37:22 +07:00
Kimura Yukihiro
edbf69e607 8214004: Missing space between compiler thread name and task info in hs_err
Reviewed-by: phh
2022-05-05 07:37:22 +07:00
Matthias Baesken
431917fef2 8250750: JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols
Backport-of: d12fdfa3b7
2022-05-05 07:37:22 +07:00
Matthias Baesken
1b124495a5 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Backport-of: d3749de478
2022-05-05 07:37:22 +07:00
Matthias Baesken
5c8e3cdac9 8247515: OSX pc_to_symbol() lookup does not work with core files
Backport-of: ab729d7075
2022-05-05 07:37:22 +07:00
Kimura Yukihiro
0012e7029d 8254085: javax/swing/text/Caret/TestCaretPositionJTextPane.java failed with "RuntimeException: Wrong caret position"
Backport-of: 51a865d66a
2022-05-05 07:37:21 +07:00
Matthias Baesken
c2b833a554 8247272: SA ELF file support has never worked for 64-bit causing address to symbol name mapping to fail
Backport-of: fd206e1e7e
2022-05-05 07:37:21 +07:00
Alexey Bakhtin
ad27b6614c 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Reviewed-by: phh
Backport-of: 58dae60da0
2022-05-05 07:37:21 +07:00
Kimura Yukihiro
20abcf1787 8255239: The timezone of the hs_err_pid log file is corrupted in Japanese locale
Backport-of: b46d73bee8
2022-05-05 07:37:21 +07:00
Andrew John Hughes
ded85e7e21 8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
Backport-of: d1aeca117c
2022-05-05 07:37:21 +07:00
Vladimir Kempik
230e397f2c 8262894: [macos_aarch64] SIGBUS in Assembler::ld_st2
Reviewed-by: adinn, burban
Backport-of: 8a4a9117f5
2022-05-05 07:37:21 +07:00
Vladimir Kempik
85b12c089d 8266889: [macosx-aarch64] Crash with SIGBUS in MarkActivationClosure::do_code_blob during vmTestbase/nsk/jvmti/.../bi04t002 test run
Reviewed-by: akozlov, adinn, burban
Backport-of: 381bd62107
2022-05-05 07:37:20 +07:00
Ahmed Muhsin
42f5529446 8241004: NMT tests fail on unaligned thread size with debug build
Backport-of: 0b20eafb30
2022-05-05 07:37:20 +07:00
Matthias Baesken
b2857fe9bb 8280414: Memory leak in DefaultProxySelector
Backport-of: fe77250fa4
2022-05-05 07:37:20 +07:00
Aleksey Shipilev
8bc7b86262 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Reviewed-by: kvn
Backport-of: a24f44d17d
2022-05-05 07:37:20 +07:00
Aleksey Shipilev
aa7b452086 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Reviewed-by: roland, kvn
Backport-of: 9d5ae2e380
2022-05-05 07:37:20 +07:00
Denghui Dong
4cc927eb61 8281520: JFR: A wrong parameter is passed to the constructor of LeakKlassWriter
Reviewed-by: phh
2022-05-05 07:37:20 +07:00
Martin Doerr
283d906217 8281599: test/lib/jdk/test/lib/KnownOIDs.java is redundant since JDK-8268801
Reviewed-by: phh, clanger
2022-05-05 07:37:20 +07:00
Goetz Lindenmaier
538cfdd2f0 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
Backport-of: f1c20e91d8
2022-05-05 07:37:19 +07:00
Martin Doerr
0ef3c21909 8281061: [s390] JFR runs into assertions while validating interpreter frames
Reviewed-by: lucy, goetz
Backport-of: 7f19c70070
2022-05-05 07:37:19 +07:00
Martin Doerr
944731d6d1 8280155: [PPC64, s390] frame size checks are not yet correct
Reviewed-by: lucy
Backport-of: f37bfeadcf
2022-05-05 07:37:19 +07:00
Martin Doerr
bf19dadf44 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Reviewed-by: lucy, goetz
Backport-of: c809d34f9e
2022-05-05 07:37:19 +07:00
Liam Miller-Cushon
670127f6c3 8261205: AssertionError: Cannot add metadata to an intersection type
Reviewed-by: phh
Backport-of: 81f39ed3e0
2022-05-05 07:37:19 +07:00
Aleksey Shipilev
8284acf176 8277992: Add fast jdk_svc subtests to jdk:tier3
Reviewed-by: serb
Backport-of: 30f0c64753
2022-05-05 07:37:19 +07:00
Goetz Lindenmaier
4a48bf523f 8216969: ParseException thrown for certain months with russian locale
Backport-of: 0623444ae5
2022-05-05 07:37:19 +07:00
Vladimir Kempik
64974eb3bd 8264650: Cross-compilation to macos/aarch64
Reviewed-by: burban
Backport-of: 7f9ece23dc
2022-05-05 07:37:18 +07:00
Goetz Lindenmaier
bec1b379f1 8177814: jdk/editpad is not in jdk TEST.groups
Reviewed-by: mbaesken
Backport-of: cfe7471f17
2022-05-05 07:37:18 +07:00
Bernhard Urban-Forster
05ebd3096a 8279702: [macosx] ignore xcodebuild warnings on M1
Reviewed-by: clanger
Backport-of: 4b520f0001
2022-05-05 07:37:18 +07:00
Aleksey Shipilev
614aaf2afe 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
2022-05-05 07:37:18 +07:00
Goetz Lindenmaier
42399ae23c 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Reviewed-by: stuefe
Backport-of: ff85659311
2022-05-05 07:37:18 +07:00
Goetz Lindenmaier
cba3fe24a2 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
2022-05-05 07:37:18 +07:00
Goetz Lindenmaier
d55e323042 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
2022-05-05 07:37:17 +07:00
Liam Miller-Cushon
4992241936 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: phh
Backport-of: 0f98701e87
2022-05-05 07:37:17 +07:00
Goetz Lindenmaier
c55bad9d2b 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
2022-05-05 07:37:17 +07:00
Goetz Lindenmaier
ed3ae31d18 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
2022-05-05 07:37:17 +07:00
Goetz Lindenmaier
9054e9034f 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: phh
Backport-of: b46f0b0b1f
2022-05-05 07:37:17 +07:00
Goetz Lindenmaier
d495156fcc 8275610: C2: Object field load floats above its null check resulting in a segfault
Reviewed-by: phh
Backport-of: 7c6f57fcb1
2022-05-05 07:37:17 +07:00
Sergey Bylokhov
aa800b51bd 8266421: Deadlock in Sound System
Reviewed-by: phh, aph
Backport-of: f6f82c3168
2022-05-05 07:37:17 +07:00
Bernhard Urban-Forster
ee5f97e3f4 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
2022-05-05 07:37:16 +07:00
Yi-Fan Tsai
793547af89 8232533: G1 uses only a single thread for pretouching the java heap
Backport-of: 9611320f69
2022-05-05 07:37:16 +07:00
Goetz Lindenmaier
2663c70bd4 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
2022-05-05 07:37:16 +07:00
Goetz Lindenmaier
d4cfeec82b 8268542: serviceability/logging/TestFullNames.java tests only 1st test case
Backport-of: 74007890bb
2022-05-05 07:37:16 +07:00
Goetz Lindenmaier
3c56972cd7 8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
Backport-of: 6612598a13
2022-05-05 07:37:16 +07:00
Aleksey Shipilev
63eeb1907b 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
2022-05-05 07:37:16 +07:00
Aleksey Shipilev
d518ab75f8 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
2022-05-05 07:37:16 +07:00
Zhengyu Gu
c595a1f3cd 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
2022-05-05 07:37:15 +07:00
Goetz Lindenmaier
14e939def0 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Reviewed-by: mdoerr
Backport-of: 6f0e8da6d3
2022-05-05 07:37:15 +07:00
Goetz Lindenmaier
2919cdf819 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
2022-05-05 07:37:15 +07:00
Goetz Lindenmaier
359c4f763d 8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests
Backport-of: c98fd38979
2022-05-05 07:37:15 +07:00
Goetz Lindenmaier
02a6b29c86 8252005: narrow disabling of allowSmartActionArgs in vmTestbase
Backport-of: b2da6e1a90
2022-05-05 07:37:15 +07:00
Aleksey Shipilev
39bdc80acb 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Reviewed-by: aph
Backport-of: 4d9b3f4cee
2022-05-05 07:37:15 +07:00
Liam Miller-Cushon
de7eeff038 8193277: SimpleFileObject inconsistency between getName and getShortName
Backport-of: 0720686823
2022-05-05 07:37:14 +07:00
Liam Miller-Cushon
54e2999e93 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
2022-05-05 07:37:14 +07:00
Liam Miller-Cushon
860a7c3e59 8220634: SymLinkArchiveTest should handle not being able to create symlinks
Reviewed-by: phh
Backport-of: ab3f5e3e15
2022-05-05 07:37:14 +07:00
Liam Miller-Cushon
9f30b4a7ee 8214026: Canonicalized archive paths appearing in diagnostics
Backport-of: bddbbd85f9
2022-05-05 07:37:14 +07:00
Goetz Lindenmaier
0a194d9248 8251126: nsk.share.GoldChecker should read golden file from ${test.src}
Backport-of: b37b1a391a
2022-05-05 07:37:14 +07:00
Goetz Lindenmaier
b159584e67 8237798: rewrite vmTestbase/jit/tiered from shell to java
Backport-of: fc8d71b119
2022-05-05 07:37:14 +07:00
Goetz Lindenmaier
7b50c2aabf 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Reviewed-by: mbaesken
Backport-of: 4d95a5d6dc
2022-05-05 07:37:13 +07:00
Aleksey Shipilev
a79dc4c403 8210194: [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback
Backport-of: 3c135ae705
2022-05-05 07:37:13 +07:00
Goetz Lindenmaier
1ff40e87db 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
2022-05-05 07:37:13 +07:00
Goetz Lindenmaier
92bc110e92 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: 2cac565b24
2022-05-05 07:37:13 +07:00
Goetz Lindenmaier
a52220be03 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
2022-05-05 07:37:13 +07:00
Goetz Lindenmaier
951dff2e46 8251132: make main classes public in vmTestbase/jit tests
Backport-of: 65577cf58a
2022-05-05 07:37:13 +07:00
Goetz Lindenmaier
67c7d3711c 8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
Backport-of: bb4500d0d2
2022-05-05 07:37:12 +07:00
Goetz Lindenmaier
30411ca134 8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
Backport-of: 67e52a3078
2022-05-05 07:37:12 +07:00
Goetz Lindenmaier
ec95bdb149 8249019: clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests
Backport-of: c5ad1daa96
2022-05-05 07:37:12 +07:00
Sergey Nazarkin
7f8758c49d 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Backport-of: 6613ce64d7
2022-05-05 07:37:12 +07:00
Zhengyu Gu
e2acf34989 8273682: Upgrade Jline to 3.20.0
Backport-of: b8cb76ad21
2022-05-05 07:37:12 +07:00
Goetz Lindenmaier
087da2d736 8256154: Some TestNG tests require default constructors
Backport-of: 5ed704484e
2022-05-05 07:37:12 +07:00
Goetz Lindenmaier
f33096a469 8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java
Backport-of: c484e1cee0
2022-05-05 07:37:11 +07:00
Goetz Lindenmaier
5dea39ab49 8223142: Clean-up WS and CB.
Reviewed-by: phh
Backport-of: 7bb9062f84
2022-05-05 07:37:11 +07:00
Zhengyu Gu
a1b1c9ba0c 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Reviewed-by: shade
Backport-of: 769f14db84
2022-05-05 07:37:11 +07:00
Zhengyu Gu
9d3eda2ec7 8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
Backport-of: 0d938cedca
2022-05-05 07:37:11 +07:00
Zhengyu Gu
0d0a3304b0 8279077: JFR crashes on Linux ppc due to missing crash protector in signal handler
Backport-of: 250ef7dd34d2622864a6d7f92b645405997fad98
2022-05-05 07:37:11 +07:00
Aleksey Shipilev
cc8f95f50e 8279225: [arm32] C1 longs comparison operation destroys argument registers
Backport-of: 299022dfac
2022-05-05 07:37:11 +07:00
Goetz Lindenmaier
8f0d12a20a 8276623: JDK-8275650 accidentally pushed "out" file
Backport-of: 38fdf4f1d2
2022-05-05 07:37:10 +07:00
Aleksey Shipilev
8458ed7f8f 8279379: GHA: Print tests that are in error
Backport-of: 06f3713271
2022-05-05 07:37:10 +07:00
Goetz Lindenmaier
d169f2916d 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
Backport-of: 97d3280eb4
2022-05-05 07:37:10 +07:00
Goetz Lindenmaier
bb5c70ae36 8274658: ISO 4217 Amendment 170 Update
Backport-of: 4a38659524
2022-05-05 07:37:10 +07:00
Goetz Lindenmaier
9c4d62d0b0 8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
Backport-of: b7425b63f6
2022-05-05 07:37:10 +07:00
Zhengyu Gu
a12cd2fcbe 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
Backport-of: 09e8c8c64a
2022-05-05 07:37:10 +07:00
Goetz Lindenmaier
bb3827656b 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
Reviewed-by: clanger
Backport-of: 32895ac609
2022-05-05 07:37:09 +07:00
Jie Fu
4f6dbb86bb 8268014: Build failure on SUSE Linux Enterprise Server 11.4 (s390x) due to 'SYS_get_mempolicy' was not declared
Backport-of: fbaebd4243
2022-05-05 07:37:09 +07:00
Jie Fu
03df75cada 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default
Backport-of: 1413f9e070
2022-05-05 07:37:09 +07:00
Vladimir Kempik
5aa4afdb3e 8065704: Set LC_ALL=C for all relevant commands in the build system
Reviewed-by: jiefu, phh
Backport-of: 54a3efc829
2022-05-05 07:37:09 +07:00
Vladimir Kozlov
9cd3eb7dd2 8276314: [JVMCI] check alignment of call displacement during code installation
Reviewed-by: dnsimon, goetz
Backport-of: 2f4b5405f0
2022-05-05 07:37:09 +07:00
Zhengyu Gu
7fe06ce28c 8265150: AsyncGetCallTrace crashes on ResourceMark
Reviewed-by: phh
Backport-of: 267c024eb5
2022-05-05 07:37:09 +07:00
Zhengyu Gu
41712cc8c0 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
Reviewed-by: mdoerr
Backport-of: a907b2b144
2022-05-05 07:37:08 +07:00
Aleksey Shipilev
6aed763f02 8277385: Zero: Enable CompactStrings support
Backport-of: 3f847fe89a
2022-05-05 07:37:08 +07:00
Aleksey Shipilev
3623add3fa 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
Backport-of: bef5c7a286
2022-05-05 07:37:08 +07:00
Aleksey Shipilev
dc82e43cc3 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
Reviewed-by: goetz
Backport-of: 0fbd2713f1
2022-05-05 07:37:08 +07:00
Zhengyu Gu
36f90524a9 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
Reviewed-by: mdoerr
Backport-of: 8822d41fdc
2022-05-05 07:37:08 +07:00
Thomas Stuefe
a7c7a03382 8278309: [windows] use of uninitialized OSThread::_state
Reviewed-by: mdoerr
Backport-of: 54993b1307
2022-05-05 07:37:08 +07:00
Vladimir Kempik
5b9e9f0df4 8207793: [TESTBUG] runtime/Metaspace/FragmentMetaspace.java fails: heap needs to be increased
Reduce test time and allow OOM.

Reviewed-by: stuefe
Backport-of: 98242123a3
2022-05-05 07:37:08 +07:00
Vladimir Kempik
f4e63593d4 8211170: AArch64: Warnings in C1 and template interpreter
Backport-of: 08828a5a4f
2022-05-05 07:37:07 +07:00
Goetz Lindenmaier
cbed38fd68 8273575: memory leak in appendBootClassPath(), paths must be deallocated
Backport-of: 45e4e30909e316e53e8cded176ffe3f47302f3aa
2022-05-05 07:37:07 +07:00
Goetz Lindenmaier
477af71685 8266187: Memory leak in appendBootClassPath()
Backport-of: aa90df6f51
2022-05-05 07:37:07 +07:00
Goetz Lindenmaier
0e715f903b 8240904: Screen flashes on test failures when running tests from make
Reviewed-by: mdoerr
Backport-of: 59563a4ca9
2022-05-05 07:37:07 +07:00
Zhengyu Gu
b72ef7d9e1 8275811: Incorrect instance to dispose
Reviewed-by: mdoerr
Backport-of: cddc6ce446
2022-05-05 07:37:07 +07:00
Paul Hohensee
ee2cc74f22 8186780: clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
Backport-of: 6d44ff7d93
2022-05-05 07:37:07 +07:00
Paul Hohensee
19f1ad9a84 8266170: -Wnonnull happens in classLoaderData.inline.hpp
Reviewed-by: mdoerr
Backport-of: a1c942c02b
2022-05-05 07:37:06 +07:00
Paul Hohensee
f6c407d2fd 8207011: Remove uses of the register storage class specifier
Backport-of: 6ffd168ad1
2022-05-05 07:37:06 +07:00
Paul Hohensee
35e7542be4 8266172: -Wstringop-overflow happens in vmError.cpp
Reviewed-by: mdoerr
Backport-of: c97f56cdaf
2022-05-05 07:37:06 +07:00
Goetz Lindenmaier
2b94ad4b4f 8274714: Incorrect verifier protected access error message
Backport-of: e39bdc9ddb
2022-05-05 07:37:06 +07:00
Goetz Lindenmaier
c7e26f77ab 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
Backport-of: f531b5c796
2022-05-05 07:37:06 +07:00
Goetz Lindenmaier
04d51b9a6b 8214761: Bug in parallel Kahan summation implementation
Backport-of: dd871819a0
2022-05-05 07:37:06 +07:00
Goetz Lindenmaier
b3a69f23c6 8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
Reviewed-by: phh
Backport-of: fe7d70886c
2022-05-05 07:37:05 +07:00
Goetz Lindenmaier
1d03ac5e29 8255035: Update BCEL to Version 6.5.0
Backport-of: 1a0ff28ea1
2022-05-05 07:37:05 +07:00
Goetz Lindenmaier
4df017706c 8257769: Cipher.getParameters() throws NPE for ChaCha20-Poly1305
Backport-of: 500ab45770
2022-05-05 07:37:05 +07:00
Goetz Lindenmaier
2de1af9e25 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS
Reviewed-by: mdoerr
Backport-of: 5705a55161
2022-05-05 07:37:05 +07:00
Goetz Lindenmaier
6dee206cc8 8210236: Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class unloading
Backport-of: a602e0b80c
2022-05-05 07:37:05 +07:00
Sergey Bylokhov
3043944cf3 8256373: [Windows/HiDPI] The Frame#setBounds does not work in a minimized state
Backport-of: b5ce8af3d7
2022-05-05 07:37:05 +07:00
Aleksey Shipilev
1edbb6d9b0 8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
Reviewed-by: goetz, zgu
Backport-of: f8415a9b2f
2022-05-05 07:37:04 +07:00
Goetz Lindenmaier
df5aaf0c2d 8208074: [TESTBUG] vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java failed with NullPointerException
Fixed refactoring caused by JDK-8203820

Backport-of: 16f9e07ba1
2022-05-05 07:37:04 +07:00
Andrew John Hughes
3d8f3e2b7e 8251558: J2DBench should support shaped and translucent windows
Reviewed-by: shade
Backport-of: 484864c932
2022-05-05 07:37:04 +07:00
Vladimir Kempik
e1c37133c2 8254940: AArch64: Cleanup non-product thread members
Backport-of: 4ffed326fa
2022-05-05 07:37:04 +07:00
Paul Hohensee
68a888e8e4 8257467: [TESTBUG] -Wdeprecated-declarations is reported at sigset() in exesigtest.c
Backport-of: fb139cff1a
2022-05-05 07:37:04 +07:00
Paul Hohensee
f7f08fbd8d 8266176: -Wmaybe-uninitialized happens in libArrayIndexOutOfBoundsExceptionTest.c
Backport-of: 39abac98f9
2022-05-05 07:37:04 +07:00
Matthias Baesken
7f2a082655 8274265: Suspicious string concatenation in logTestUtils.inline.hpp
Backport-of: c57a6c62ba
2022-05-05 07:37:03 +07:00
Boris Ulasevich
fe2b800716 8222825: ARM32 SIGILL issue on single core CPU (not supported PLDW instruction)
Reviewed-by: shade
Backport-of: 989fa190a6
2022-05-05 07:37:03 +07:00
Aleksey Shipilev
aeaddb9108 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
Backport-of: 0488ebdf14
2022-05-05 07:37:03 +07:00
Martin Doerr
f596d6e0a4 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Backport-of: 0699220830
2022-05-05 07:37:03 +07:00
Alex Kasko
9cac9ba45c 8272345: macos doesn't check os::set_boot_path() result
Reviewed-by: phh
Backport-of: bd27bb9cbe
2022-05-05 07:37:03 +07:00
Dmitry Batrak
849356ee01 JBR-1518 JBR 11 does not support chain of popups on Linux 2022-05-04 14:46:23 +03:00
Maxim Kartashev
7ba3d0cb5d JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The crashes begin with the call to getDefaultConfig() in
createStatusWindow() returning garbage. With 8280468 fixed, there aren't
many reasons left for it to do so; it must be that the argument to the
call (the screen number) is out of range.

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

Although on modern systems with Xinerama there should really be no
screen other than zero, as the last resort, this number is also
range-checked in getDefaultConfig() itself.
2022-04-29 06:25:44 -07:00
Alexey Ushakov
17bc232f6f JBR-4412 Changing editor font size freezes the UI
Fixed gcc11 warnings
2022-04-28 22:32:39 +02:00
Alexey Ushakov
23b6b18806 Merge pull request #121 from osialr/fontmanager-cache-pattern-result
JBR-4412 Changing editor font size freezes the UI

Cache results of font-config pattern search for reuse
2022-04-28 22:27:01 +02:00
Alexey Ushakov
6d7bdb0623 Merge branch 'master' into fontmanager-cache-pattern-result 2022-04-28 22:19:22 +02:00
Vitaly Provodin
1c0ee365bb exclude compiler/rtm/locking tests because of 8183263 2022-04-27 14:47:46 +07:00
Vitaly Provodin
b845936726 JBR-4370 modify the test to check non existing and extra artifacts 2022-04-27 14:47:46 +07:00
Vitaly Provodin
243591b179 update the link to JBR for IDEA 2022.1 2022-04-26 17:41:08 +07:00
Alexey Ushakov
341fdddcee JBR-4415 jbr11: resolve gcc11 warnings
Minor corrections
2022-04-26 01:15:29 +02:00
Vitaly Provodin
32d527c704 JBR-3906 move building Linux aarch64 onto docker 2022-04-23 20:18:50 +07:00
Dan Lutker
85758c3893 8280999: array_bounds should be array-bounds after 8278507
Reviewed-by: phh, sgehwolf
2022-04-22 22:00:02 +02:00
Alexey Ushakov
b0e2de16f9 JBR-4415 jbr11: resolve gcc11 warnings 2022-04-22 21:56:30 +02:00
Paul Hohensee
071469a7f8 8266171: -Warray-bounds happens in imageioJPEG.c
Reviewed-by: serb
Backport-of: b1725550a2
2022-04-22 20:35:19 +02:00
Paul Hohensee
44323bdadf 8266174: -Wmisleading-indentation happens in libmlib_image sources
Backport-of: 49372149e5
2022-04-22 20:23:17 +02:00
Paul Hohensee
86bc163bb0 8266168: -Wmaybe-uninitialized happens in check_code.c
Backport-of: 0f9852c63b
2022-04-22 20:12:17 +02:00
Paul Hohensee
7f772a0da5 8266173: -Wmaybe-uninitialized happens in jni_util.c
Reviewed-by: simonis
Backport-of: 4a9f2319c9
2022-04-22 20:09:47 +02:00
Paul Hohensee
daeb9e1578 8263185: Mallinfo deprecated in glibc 2.33
Reviewed-by: simonis
Backport-of: 454af8719e
2022-04-22 20:05:31 +02:00
Paul Hohensee
e91c6601db 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Backport-of: 4f594e6a28
2022-04-22 19:55:03 +02:00
Anton Tarasov
c0b2b59d4a JBR-4355 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java: # C [libobjc.A.dylib+0x90ff] objc_release+0x1f 2022-04-21 13:37:07 +03:00
Anton Tarasov
2700907223 JBR-3906 JBR for Linux aarch64 with JCEF is missing, is there any support plan? 2022-04-21 12:11:02 +03:00
Dmitry Batrak
b7e5d3cfcf remove duplicate bundled JetBrains Mono bold italic font
following JBR-4402
2022-04-20 21:47:49 +03:00
Dmitry Batrak
76831e22d1 JBR-4398 Gear emoji displayed monochrome in Editor since 2022.1
this reverts JBR-4072 and associated fixes (JBR-4194, JBR-4314)
2022-04-19 20:51:28 +03:00
Vitaly Provodin
8e94fff6aa JBR-4297 add a regression test 2022-04-18 07:23:05 +07:00
Vitaly Provodin
4638d486fc JBR-4297 specify -with-boot-jdk parameter via BOOT_JDK env variable 2022-04-16 05:12:10 +07:00
Vitaly Provodin
f94676f55d JBR-4326 build jbrsdk_nomod binaries 2022-04-16 05:12:10 +07:00
Dmitry Batrak
800220af16 JBR-4382 [i3] All dialogs are tiled 2022-04-15 17:59:41 +03:00
Anton Tarasov
daa0220176 JBR-4389 IDEA UI font becomes too large after disconnecting the external monitor / sleep 2022-04-15 17:56:39 +03:00
Anton Tarasov
e32defe49d JBR-4362 [mac] system menu opens with duplicated items 2022-04-12 15:28:07 +03:00
Vitaly Provodin
f16c4814c7 JBR-4370 create a test checking all JBR artifacts exist 2022-04-08 19:24:47 +07:00
Vitaly Provodin
7c86d4db8f JBR-4326 build jbrsdk for each JBR type 2022-04-08 19:19:23 +07:00
Dmitry Batrak
ad299f1e74 JBR-4346 [Xfce] Windows are moved unexpectedly between workspaces when modal dialog is shown 2022-04-06 22:04:07 +03:00
Vitaly Provodin
46b2db590d update the link to JBR for IDEA 2021.3 and 2022.1 2022-04-02 19:33:07 +07:00
Anton Tarasov
e015fbbf83 JBR-4349 jb/java/awt/Toolkit/LWCToolkitInvokeAndWaitTest.java: Test FAILED! (not found in the log: “lost”) 2022-04-01 22:06:26 +03:00
Anton Tarasov
4eec565bd0 JBR-4347 jb/java/awt/Toolkit/AWTThreadingCMenuTest.java fails by ClassNotFoundException 2022-04-01 22:06:25 +03:00
Dmitry Batrak
3b5ded0d02 JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
re-fix JBR-4306 in a different way
2022-03-29 18:47:32 +03:00
Dmitry Batrak
0f33031484 JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
revert original fix for JBR-4306
2022-03-29 17:25:32 +03:00
Mikhail Grishchenko
f3777b24ea JBR-3975 print Teamcity messages 2022-03-26 05:58:18 +07:00
Vitaly Provodin
996e6f9936 JBR-4326 build jbrsdk artefacts for dcevm binaries 2022-03-24 20:03:06 +07:00
Anton Tarasov
9a3f31a6c4 JBR-4328 remove LWCToolkit.unsafeNonblockingExecute 2022-03-23 18:32:50 +03:00
Anton Tarasov
36190505f5 JBR-4134 PyCharm is slow and unusable on MacBook Pro with M1 2022-03-22 19:19:18 +03:00
Anton Tarasov
c464e4748e JBR-4284 Sub items of main menu options are not displayed
A regression of JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss
2022-03-22 16:42:22 +03:00
Ryan Osial
432f637904 Cache results of font-config pattern search for reuse 2022-03-21 22:29:51 -04:00
Dmitry Batrak
9040fd56cd better handle multi-monitor configurations in tests related to macOS spaces
Detect the presence of an additional space by looking at number of spaces for the first monitor, not at the total number of spaces.
The latter is larger than one in a multi-monitor configuration, as each monitor corresponds to a separate space.
This approach should be better than the original one, but it relies on the primary (default) monitor to be mentioned first
in the plist file, which isn't known to be always true.
2022-03-21 21:27:30 +03:00
Alexey Ushakov
d2f8d0e248 JBR-4319 Enter doesn't close combobox popup anymore (when combobox is in another popup)
Revert "JBR-4229: backport fix for 8067986:"
This reverts commit 9d7c88eb0a.
2022-03-18 21:46:08 +01:00
Alexey Ushakov
f30aa7f3bf JBR-3827 SIGILL at [libsystem_kernel] __kill in Java Exception at -[CDragSource convertData:]
Added check for drag source
2022-03-18 17:32:47 +01:00
Dmitry Batrak
7d69734465 JBR-4306 Robot doesn't work as expected in some cases on macOS 2022-03-18 18:26:55 +03:00
Vitaly Provodin
bc7cb5711b JBR-4303 add a regression test 2022-03-18 07:35:35 +07:00
Alexey Ushakov
ef2cbbdd55 JBR-3366 SIGILL at [libsystem_kernel] __kill in NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition
Wrapped the native exception and added logging
2022-03-17 15:42:00 +01:00
Dmitry Batrak
82048d1d73 JBR-4314 2022.1 EAP version's JBR use incorrect fallback font to render Chinese characters in macOS 2022-03-17 14:57:01 +03:00
Mikhail Grishchenko
6e6bd16446 JBR-3975 add fastdebug binaries processing. 2022-03-17 16:45:30 +07:00
Mikhail Grishchenko
06b2d8e412 JBR-3975 add PASSED message in check_jbr_size.sh 2022-03-17 03:36:01 +07:00
Anton Tarasov
b6cdb167a0 JBR-4119 [update_2] UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles 2022-03-16 12:33:52 +03:00
Alexey Ushakov
ac3d8f7d3b JBR-3365 SIGILL at [libsystem_kernel] __kill in java.lang.RuntimeException: Failed to convert, no screen / primaryScreen
Wrapped the native exception and added logging
2022-03-10 11:22:04 +01:00
Ivan Lopatin
193503dc51 JBR-4303: Fixed Java_sun_awt_windows_WMouseInfoPeer_fillPointWithCoords post 8211999 backporting 2022-03-10 15:26:50 +07:00
Sergey Bylokhov
a35ea82b73 JBR-4302 NPE: DocumentationComponent$0.loadImageFromUrl
Backport 6986863: ProfileDeferralMgr throwing ConcurrentModificationException
2022-03-09 10:16:08 +01:00
Mikhail Grishchenko
23131fc435 JBR-3975 Fix regexp in check_jbr_size.sh 2022-03-09 14:18:26 +07:00
Dmitry Batrak
8d22e4dcb0 JBR-3751 Window content isn't rendered with some window managers on Linux 2022-03-05 19:46:12 +03:00
Nikita Provotorov
59348ae2d9 fixup! JBR-2226: Typing non-accent character after a backtick (dead key) results in two backticks typed on macOS. 2022-03-01 20:34:23 +07:00
Maxim Kartashev
fc26509160 JBR-4147 Some nio tests failed due to Watch Service native implementation
Added catch clauses for DirectoryIteratorException next to IOException
as the former is a wrapper for the latter for iterators and both can be
thrown in similar circumstances.

Fixed WatchService/Move.java test so that it doesn't expect strict
ordering of events.
2022-03-01 12:47:17 +03:00
Goetz Lindenmaier
952ca7a96f 8280786: Build failure on Solaris after 8262392
Reviewed-by: clanger
Backport-of: 6837e1484b
(cherry picked from commit b8cdf1ae18)
2022-03-01 04:05:50 +07:00
Goetz Lindenmaier
a1f48609e9 8281324: Bump update version for OpenJDK: jdk-11.0.14.1
Reviewed-by: sgehwolf, clanger
(cherry picked from commit 8359d7fe09)
2022-03-01 04:05:50 +07:00
Dmitry Kulikov
8ddc7707e1 [Fix] 8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows) (#117) 2022-02-28 19:16:44 +07:00
Dmitry Batrak
363650bbf4 JBR-4281 Window losing focus isn't detected in some cases on macOS 2022-02-24 11:49:29 +03:00
Mikhail Grishchenko
420865b278 JBR-3975 actualize jbrsdk filename pattern to JBR 11 2022-02-22 20:13:43 +07:00
Mikhail Grishchenko
f60792e700 update jtreg exclude list
Exclude from regular runs:
java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.java
java/awt/MenuBar/8007006/bug8007006.java
2022-02-22 20:04:53 +07:00
Nikita Gubarkov
46829b3102 JBR API v1.1.2 - Ignore unsupported window peers for CustomWindowDecoration client-side fallback 2022-02-22 10:59:18 +03:00
Nikita Provotorov
dda07e42db JBR-2226: Typing non-accent character after a backtick (dead key) results in two backticks typed on macOS.
Fixing only a couple of keyboard layouts.
2022-02-22 09:16:16 +07:00
Anton Tarasov
fc1fc0fd8e JBR-4119 [update_1] UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles 2022-02-21 19:22:22 +03:00
Anton Tarasov
814f267c04 JBR-4106 [update_1] PyCharm hangs with 100% CPU usage on one core 2022-02-21 16:34:24 +03:00
Anton Tarasov
6ba79774d8 JBR-4119 UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles 2022-02-21 16:34:24 +03:00
Nikita Gubarkov
c63802fe59 Added internal services to JBR API 2022-02-21 15:15:15 +03:00
Maxim Kartashev
37975e6b67 fixup! JBR-4259 jb/build/CheckJBRModules.java fails on MacOS M1 2022-02-21 11:12:16 +03:00
Maxim Kartashev
24ccad3a09 JBR-4259 jb/build/CheckJBRModules.java fails on MacOS M1 2022-02-21 10:28:15 +03:00
Mikhail Grishchenko
b146b6d64e JBR-3975 added script comparing jbr size 2022-02-21 05:15:43 +07:00
Ivan Lopatin
42c3f9235d Backporting JDK-8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI)
Reviewed-by: kizune, aivanov

Reverted following changes:
JRE-119 [Mind device scale when changing window native bounds]
JRE-119 [Handle WM_DPICHANGED with appropriate re-size]
JRE-153 [hidpi] monitors bounds can overlap in multi-dpi env
JRE-660 [windows] display DPI change damage UI
JRE-742 [windows] IME candidate window position is wrong on HiDPI displa
JRE-765 [win] window dragged to another display is not resized
JRE-961 Windows size and position are not preserved on jdk 9
JRE-1172 [cleanup]
JRE-1172 forwardport: JRE-1163[IDEA-187439] Modal dialogs (e.g commit dialog or diff from it) are sometimes invisible
JBR-2687: Fixed problems with maximizing to a new screen
JBR-4095: Fixed monitors bounds

Fixes JRE-119, JRE-153, JRE-660, JRE-742, JRE-765, JRE-961, JRE-1172, JBR-2687, JBR-4095
2022-02-19 01:43:07 +07:00
Maxim Kartashev
f9483505d9 fixup! fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-18 16:24:32 +03:00
Goetz Lindenmaier
37d2b153a6 8218546: Unable to connect to https://google.com using java.net.HttpClient
Reviewed-by: clanger
Backport-of: b240c60427
2022-02-18 00:23:58 +03:00
Maxim Kartashev
21a4de02a2 Drop build/ from .gitignore in favor of /build/
'/build/' filters out build artifacts, while 'build/' is interpreted as
a path component at any level and interferes with, for instance,
tests under 'test/jdk/jb/build/'.
2022-02-17 17:10:41 +03:00
Anton Tarasov
a0da2bd267 JBR-4106 PyCharm hangs with 100% CPU usage on one core 2022-02-17 16:46:48 +03:00
Maxim Kartashev
4fd22dd235 fixup! fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 15:17:01 +03:00
Maxim Kartashev
ce379a03cd fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 13:17:32 +03:00
Maxim Kartashev
da41adf366 JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 12:31:04 +03:00
Nikita Gubarkov
c7d8fa3914 JBR API v1.1.1 - Implemented client-side fallbacks for JBR API 2022-02-16 16:58:39 +03:00
Anton Tarasov
18e0b4fa5c JBR-4208 [followup] LWCToolkit.invokeAndWait should not stuck on invocation loss
Changed the custom log handler in the test to:
 a) merge streams
 b) simplify logging settings

Fixed warnings.
2022-02-16 12:11:55 +03:00
Anton Tarasov
025e3f0f76 JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss 2022-02-15 18:57:47 +03:00
Nikita Gubarkov
e068de8629 JBR API v1.1.0
JBR-4228 report HTMINBUTTON, HTMAXBUTTON, HTCLOSE, HTMENU, HTCAPTION targets via JBR API & handle corresponding non-client mouse events for windows with custom decorations
2022-02-14 21:56:22 +03:00
Mikhail Grishchenko
140622c60c JBR-4229 update jtreg exclude list
update file extension from .html to .java
2022-02-12 03:25:20 +07:00
Alexey Ushakov
7978c05ee5 JBR-4224 java/awt/image/VolatileImage/GradientPaints.java: Number of mismatches (300000) exceeds limit (54000) with tolerance=5
Updated reg test to handle contentLost event
2022-02-11 17:00:37 +01:00
Maxim Kartashev
ba1bbb1744 JBR-3950 javax/swing/JFormattedTextField/TestSelectedTextBackgroundColor.java: The expected background color for Selected Text was not found
Made Robot image capture work when sun.java2d.uiScale
doesn't match the desktop scale on Linux.
Improved tests to verify that color picking is precise to the pixel
(only on Linux and Windows; Mac may not always give precise color
of the desired pixel).
2022-02-10 01:27:33 -08:00
Dmitry Batrak
42fa3e3d34 JBR-4194 RenderPerfTest: TextNoAA >10% degradation in OGL 2022-02-10 11:10:19 +03:00
Nikita Provotorov
eae5198b20 JBR-3299: The test /jb/sun/awt/macos/NationalLayoutTest/Layout_ABC.java fails on MacOS.
Fixes the Layout_*.java tests by giving them to know the <Ctrl + key> combinations can generate KEY_TYPED event.
2022-02-08 21:31:12 +07:00
Mikhail Grishchenko
292a677472 JBR-4229 update jtreg exclude list
actualize jbProblemList.txt after 11.0.14 CPU
2022-02-08 19:07:05 +07:00
Pankaj Bansal
b743db3126 JBR-4229: backport fix for 8233551:
[TESTBUG] SelectEditTableCell.java fails on MacOS

Reviewed-by: psadhukhan
2022-02-08 19:04:16 +07:00
Brent Christian
c1f5d1428b JBR-4229: backport fix for 8072130:
java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Mac OSX

Reviewed-by: sherman
2022-02-08 19:04:16 +07:00
Prasanta Sadhukhan
9d7c88eb0a JBR-4229: backport fix for 8067986:
Test javax/swing/JComboBox/ConsumedKeyTest/ConsumedKeyTest.java fails

Reviewed-by: serb
2022-02-08 19:04:16 +07:00
Alexey Ushakov
b359a6b43e JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Reg test update: replace management api with jfr
2022-02-07 14:02:23 +01:00
Anton Tarasov
642544c1f6 Use modular-sdk from jcef_linux_x64 2022-02-07 15:54:29 +03:00
Anton Tarasov
e6197c40b7 Use modular-sdk from jcef_mac 2022-02-07 15:03:24 +03:00
Anton Tarasov
c4c8638581 Use modular-sdk from jcef_win_<arch> 2022-02-07 12:48:23 +03:00
Mikhail Grishchenko
953cdf7667 update jtreg exclude list
actualize jbProblemList.txt after 11.0.14 CPU
2022-02-04 19:43:36 +07:00
Mikhail Grishchenko
162d41d14d exclude java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java on Wayland due to JBR-4223 2022-02-03 18:51:50 +07:00
Vitaly Provodin
1860de168c JBR-4221 set toolchain to VS 2017 2022-02-03 05:26:47 +07:00
Vitaly Provodin
abb6c744a8 Revert "Revert "8255264: Support for identifying the full range of IPv4 localhost addresses on Windows""
This reverts commit f7a7b2fbae.
2022-02-03 05:26:46 +07:00
Vitaly Provodin
453446ea4f Revert "Revert "8250521: Configure initial RTO to use minimal retry for loopback connections on Windows""
This reverts commit 6184b28c14.
2022-02-03 05:26:46 +07:00
Vitaly Provodin
f7ec03e860 Revert "Revert "8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl""
This reverts commit 2024c80409.
2022-02-03 05:26:46 +07:00
KIRIYAMA Takuya
cf0aef62a5 JBR-4216 - backport fix for JDK-8277866
8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size

Reviewed-by: tschatzl, shade
2022-02-02 14:13:20 +07:00
Maxim Kartashev
93ba9e86f9 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.
2022-02-01 08:40:38 +03:00
Nikita Provotorov
aaa46c29fd JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
This commit disables the regression test of the (already reverted) fix of JDK-8041928.
2022-02-01 05:17:05 +07:00
Dmitry Batrak
67b6cd871f JBR-4186 Unexpected desktop switch after moving a window to another desktop 2022-01-31 11:25:31 +03:00
Vitaly Provodin
2024c80409 Revert "8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl"
This reverts commit 4cacd185f3.
2022-01-29 08:04:30 +07:00
Vitaly Provodin
6184b28c14 Revert "8250521: Configure initial RTO to use minimal retry for loopback connections on Windows"
This reverts commit 9d04f213ea.
2022-01-29 07:22:08 +07:00
Vitaly Provodin
f7a7b2fbae Revert "8255264: Support for identifying the full range of IPv4 localhost addresses on Windows"
This reverts commit e2e4c5c426.
2022-01-29 07:21:59 +07:00
Vitaly Provodin
5d1326f675 resolve conflicts between dcevm and 11.0.14 update 2022-01-29 04:53:05 +07:00
Martin Balao
1486460307 8217375: jarsigner breaks old signature with long lines in manifest
8268795: Enhance digests of Jar files

Reviewed-by: mbaesken
Backport-of: b6d1b1e085
2022-01-28 15:23:13 +07:00
Yuri Nesterenko
1e5db2b3a3 8270498: Improve SAX Parser configuration management
Reviewed-by: mbalao
Backport-of: ecb210277a93f2f8d87b1dee34eb1e7fe3c8625d
2022-01-28 15:23:05 +07:00
Andrew John Hughes
9fd8b45413 8279541: Improve HarfBuzz
Reviewed-by: mbaesken
2022-01-28 15:22:57 +07:00
Martin Balao
15ee202861 8268801: Improve PKCS attribute handling
Reviewed-by: mbaesken
2022-01-28 15:22:49 +07:00
Aleksei Voitylov
bee4ff8c2c 8272026: Verify Jar Verification
Reviewed-by: mbaesken, mbalao
Backport-of: 0e2b2951adc965d6b71ffbc63b4293fd9fb68eaa
2022-01-28 15:22:42 +07:00
Andrew Brygin
5d17aaf6c6 8273756: Enhance BMP image support
Reviewed-by: mbaesken
Backport-of: 2ee2053a0dde445237924f136c859c8b18ab882e
2022-01-28 15:22:35 +07:00
Martin Balao
ade9387072 8273968: JCK javax_xml tests fail in CI
Backport-of: d1910329352e878badf8fdc6634a177dd4745d4a
2022-01-28 15:22:27 +07:00
Aleksei Voitylov
608d094ee8 8270416: Enhance construction of Identity maps
Reviewed-by: mbaesken
Backport-of: d445bf3f60c654bee77dcabe86f6fa28eaf5abfa
2022-01-28 15:22:20 +07:00
Tianmin Shi
4364639092 8270392: Improve String constructions
Reviewed-by: mbaesken
Backport-of: bfa21d073b1e301919bbe1f46fa4182958f458f0
2022-01-28 15:22:13 +07:00
Joshua Cao
5ecd1e42b8 8270386: Better verification of scan methods
Reviewed-by: mbaesken
Backport-of: ac329cef45979bd0159ecd1347e36f7129bb2ce4
2022-01-28 15:22:05 +07:00
Martin Balao
518da5baf2 8268494: Better inlining of inlined interfaces
Reviewed-by: adinn
Backport-of: 3c7fbbd703a50a9762e7f7dbafa8d44191346f52
2022-01-28 15:21:58 +07:00
Martin Balao
5e7073f0d5 8268488: More valuable DerValues
Reviewed-by: mbaesken
Backport-of: 99f72cf1c44c58682d93a81ee76ef9c3707152a9
2022-01-28 15:21:50 +07:00
Yuri Nesterenko
10e3dffb50 8274096: Improve decoding of image files
Reviewed-by: mbaesken
Backport-of: 62ce0cd73a2dc0c7e3e65783a2707a0984ba4acf
2022-01-28 15:21:47 +07:00
Andrew Brygin
d126001027 8273838: Enhanced BMP processing
Reviewed-by: mbaesken
Backport-of: f5cc6f23a46bee06731fdd2b257c8ea8007eebad
2022-01-28 15:21:39 +07:00
Aleksei Voitylov
f93e265835 8273290: Enhance sound handling
Backport-of: 5d4a8f3c9ca82ed501944c670823b5de5e1ba344
2022-01-28 15:21:31 +07:00
Aleksei Voitylov
2eb706f59e 8272462: Enhance image handling
Backport-of: 3d1745d54b93a62a7f404e33c70211db0e31d536
2022-01-28 15:21:23 +07:00
Aleksei Voitylov
4123760ce5 8272272: Enhance jcmd communication
Backport-of: 1a67dd1ba853d535c718840dcdada12e1b312eb8
2022-01-28 15:21:11 +07:00
Aleksei Voitylov
f4b98e78b8 8272236: Improve serial forms for transport
Reviewed-by: mbaesken
Backport-of: ed0621893e7c365673ed87fbd4aca2bca27b9b73
2022-01-28 15:21:03 +07:00
Tianmin Shi
cf6dfa9481 8272014: Better array indexing
Backport-of: 937c31d896d05aa24543b74e98a2ea9f05b5d86f
2022-01-28 15:20:55 +07:00
Joshua Cao
fb6742a842 8271987: Manifest improved manifest entries
Backport-of: 885f3699edf517d11d17607aad41e32d059f547a
2022-01-28 15:20:48 +07:00
Aleksei Voitylov
1ba34b4565 8271968: Better canonical naming
Backport-of: a716aacb662bb49aa5b1e805175196c29d8cb77a
2022-01-28 15:20:41 +07:00
Aleksei Voitylov
8a4b6ec030 8271962: Better TrueType font loading
Reviewed-by: mbaesken
Backport-of: 27827c186c43a7a2d983788f6d5e8b7f31e5e079
2022-01-28 15:20:33 +07:00
Andrew Brygin
8346bb72fb 8270952: Improve TIFF file handling
Reviewed-by: mbaesken
Backport-of: 4db9acd53f549cac1603c6c41566b16ee939c04b
2022-01-28 15:20:26 +07:00
Sergey Bylokhov
87e022ecd3 8270646: Improved scanning of XML entities
Reviewed-by: mbalao
Backport-of: 2b6dad98a6739df983a01b96cffea971268d1523
2022-01-28 15:20:23 +07:00
Yuri Nesterenko
4165f17ea0 8270492: Better resolution of URIs
Reviewed-by: mbaesken
Backport-of: ceda336a2ddea62e2ff8df653f54e08d45fc197a
2022-01-28 15:20:15 +07:00
Clive Verghese
283f05f869 8269944: Better HTTP transport redux
Backport-of: 0e123d6e0e50cdac714a001b9f67dfc7c1c2b293
2022-01-28 15:20:07 +07:00
Martin Balao
a500ec8183 8269151: Better construction of EncryptedPrivateKeyInfo
Backport-of: 9fd7b2d4f333834f03a0e4fbc1e2a7d867331961
2022-01-28 15:20:05 +07:00
Oli Gillespie
a200ca0b7f 8273308: PatternMatchTest.java fails on CI
Backport-of: 1a5bacfcf8e0c22e49b29c0f484f0e879227dc05
2022-01-28 15:19:58 +07:00
Oli Gillespie
0c39591526 8268813: Better String matching
Backport-of: c1b73a786d5881315cb7119d89f719b79c6a0c67
2022-01-28 15:19:50 +07:00
Martin Balao
43b4980ffe 8268512: More content for ContentInfo
Backport-of: 4a1ea63840ec90e52c036c408baef4a1cf0abdff
2022-01-28 15:19:37 +07:00
Martin Balao
ae239859ae 8264934: Enhance cross VM serialization
Backport-of: 4369957f6699993d94481c766348fb554d53cd6d
2022-01-28 15:19:30 +07:00
Tyler Steele
50a32e9263 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-01-28 15:19:22 +07:00
Martin Doerr
55db535ebe 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: goetz
Backport-of: 01cb2b9883
2022-01-28 15:19:14 +07:00
Martin Doerr
f8d131df86 8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
Reviewed-by: goetz
Backport-of: 3e3051e2ee
2022-01-28 15:19:06 +07:00
Martin Doerr
df18795c2f 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
Reviewed-by: clanger, dfuchs
Backport-of: 03debf2775
2022-01-28 15:18:58 +07:00
Mat Carter
4cacd185f3 8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
Backport-of: df332ff6e8
2022-01-28 15:18:51 +07:00
Reka Kovacs
849cb8f44c 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-01-28 15:18:43 +07:00
Mat Carter
e2e4c5c426 8255264: Support for identifying the full range of IPv4 localhost addresses on Windows
Backport-of: 7e01bc967d
2022-01-28 15:18:36 +07:00
Goetz Lindenmaier
be1b933bca 8212148: Remove remaining NSK_CPP_STUBs
Remove remaining macros

Backport-of: a623db2148
2022-01-28 15:18:28 +07:00
Zhengyu Gu
a848957211 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-01-28 15:18:20 +07:00
Zhengyu Gu
8d7f95ba32 8223400: Replace some enums with static const members in hotspot/runtime
Backport-of: 41bd7c5e76
2022-01-28 15:18:17 +07:00
Goetz Lindenmaier
6bcb1c7710 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-01-28 15:18:09 +07:00
Goetz Lindenmaier
d9622732ab 8212083: Handle remaining gc/lock native code and fix two strings
Migrate code to using wrapping JNI for exceptions

Backport-of: 7afa70096a
2022-01-28 15:17:56 +07:00
Goetz Lindenmaier
12bbc3fcdb 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-01-28 15:17:48 +07:00
Goetz Lindenmaier
3b18f3dc25 8211432: [REDO] Handle JNIGlobalRefLocker.cpp
Adding a JNI verification wrapper for tests

Backport-of: b68500521e
2022-01-28 15:17:40 +07:00
Thomas Stuefe
5cfa987839 8261661: gc/stress/TestReclaimStringsLeaksMemory.java fails because Reserved memory size is too big
Reviewed-by: shade
Backport-of: 735757f1e0
2022-01-28 15:17:32 +07:00
Alex Kasko
c1ad02f9ab 8270290: NTLM authentication fails if HEAD request is used
Backport-of: 3e0d7c33d4
2022-01-28 15:17:24 +07:00
Goetz Lindenmaier
45d94e3561 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-01-28 15:17:17 +07:00
Goetz Lindenmaier
c8141ba7ad 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-01-28 15:17:09 +07:00
Mat Carter
9d04f213ea 8250521: Configure initial RTO to use minimal retry for loopback connections on Windows
Backport-of: c2fa441d8d
2022-01-28 15:17:01 +07:00
Reka Kovacs
3277966480 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-01-28 15:16:54 +07:00
Martin Doerr
9e7553f72f 8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
Backport-of: 49f8ce6e9c
2022-01-28 15:16:46 +07:00
Martin Doerr
5e06880293 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
Backport-of: 6bb04626af
2022-01-28 15:16:43 +07:00
Christoph Langer
52b842c99f 8277815: Fix mistakes in legal header backports
Reviewed-by: aph
2022-01-28 15:16:36 +07:00
Goetz Lindenmaier
6e8f91ec50 8211801: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[A-E]
Remove the NSK_CPP_STUB macros

Backport-of: efa175f20e
2022-01-28 15:16:28 +07:00
Goetz Lindenmaier
643c0e220e 8211905: Remove multiple casts for EM06 file
Remove multiple casts for EM06 file

Backport-of: 11da699d9e
2022-01-28 15:16:20 +07:00
Goetz Lindenmaier
56b4329a43 8211131: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[G-I]*
Remove the NSK_CPP_STUB macros

Backport-of: 85c6642e38
2022-01-28 15:16:11 +07:00
Goetz Lindenmaier
413e913efb 8211261: Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/[A-G]*
Remove the NSK_CPP_STUB macros

Backport-of: 57622ed115
2022-01-28 15:16:03 +07:00
Goetz Lindenmaier
88a768d1ea 8210984: [TESTBUG] hs203t003 fails with "# ERROR: hs203t003.cpp, 218: NSK_CPP_STUB2 ( ResumeThread, jvmti, thread)"
Backport-of: c0fd523c05
2022-01-28 15:15:55 +07:00
Goetz Lindenmaier
ec7cbf6f81 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-01-28 15:15:47 +07:00
Goetz Lindenmaier
953fe60ce5 8210726: Fix up a few minor nits forgotten by JDK-8210665
Minor changes to 4 tests to make one-liners

Backport-of: fddc4b8ccb
2022-01-28 15:15:39 +07:00
Goetz Lindenmaier
bc04365071 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-01-28 15:15:31 +07:00
Andrew Haley
ca832c819b 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Reviewed-by: shade, xliu
Backport-of: 4f3b626a36
2022-01-28 15:15:22 +07:00
Jie Fu
bd7a1a6930 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
Reviewed-by: phh
Backport-of: 2af9e5976f
2022-01-28 15:15:14 +07:00
Goetz Lindenmaier
a97ca49f5b 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-01-28 15:15:05 +07:00
Goetz Lindenmaier
82ae30e4dd 8210481: Remove #ifdef cplusplus from vmTestbase
Remove all cplusplus ifdefs from vmTestbase

Reviewed-by: stuefe
Backport-of: 510336c210
2022-01-28 15:14:54 +07:00
Goetz Lindenmaier
d1b3616bec 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-01-28 15:14:43 +07:00
Goetz Lindenmaier
c8a5c1aaa8 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-01-28 15:14:33 +07:00
Goetz Lindenmaier
4c72f29290 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-01-28 15:14:23 +07:00
Zhengyu Gu
2f371e826d 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-01-28 15:14:14 +07:00
Adam Farley
b9ead7efa3 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
Backport-of: fc0fe25679
2022-01-28 15:14:12 +07:00
Ilarion Nakonechnyy
fd63b6b072 8273026: Slow LoginContext.login() on multi threading application
Reviewed-by: clanger
Backport-of: c0cda1db4f
2022-01-28 15:14:03 +07:00
Goetz Lindenmaier
9aa2c1e47e 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-01-28 15:13:53 +07:00
Goetz Lindenmaier
d085b119ef 8210182: Remove macros for C compilation from vmTestBase but non jvmti
Remove the macros and update the code

Backport-of: d0560a2860
2022-01-28 15:13:42 +07:00
Goetz Lindenmaier
b1383f96d7 8226943: compile error in libfollowref003.cpp with XCode 10.2 on macosx
Backport-of: 4dececb589
2022-01-28 15:13:31 +07:00
Goetz Lindenmaier
9b54225627 8209611: use C++ compiler for hotspot tests
Reviewed-by: mbaesken, stuefe
Backport-of: 8c47dc4a94
2022-01-28 15:13:12 +07:00
Joshua Cao
9265b47b65 8274860: gcc 10.2.1 produces an uninitialized warning in sharedRuntimeTrig.cpp
Reviewed-by: phh
2022-01-28 15:13:01 +07:00
Thomas Stuefe
414a4833c8 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
Backport-of: b8d33a2a4e
2022-01-28 15:12:53 +07:00
Martin Doerr
0b56f03b5c 8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
Backport-of: ad3be04d2a
2022-01-28 15:12:49 +07:00
Martin Doerr
eeaff2b62c 8275766: (tz) Update Timezone Data to 2021e
8275849: TestZoneInfo310.java fails with tzdata2021e

Backport-of: 5b4e39863d
2022-01-28 15:12:40 +07:00
Jie Fu
be17881c00 8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64
Backport-of: b1d1499356
2022-01-28 15:12:31 +07:00
Aleksey Shipilev
9a3c4bf230 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
Backport-of: 465d350d0b
2022-01-28 15:12:12 +07:00
Aleksey Shipilev
c140c9b188 8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
Backport-of: 4bc9b04984
2022-01-28 15:12:03 +07:00
Goetz Lindenmaier
cc942dc166 8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens
Reviewed-by: phh
Backport-of: 65bfe0928a
2022-01-28 15:12:01 +07:00
Goetz Lindenmaier
d1284abc70 8202342: [Graal] fromTonga/nsk/jvmti/unit/FollowReferences/followref003/TestDescription.java fails with "Location mismatch" errors
Backport-of: f1553a5f0f
2022-01-28 15:11:52 +07:00
Zhengyu Gu
e23f616a9b 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
Reviewed-by: shade
Backport-of: dbf5100dd7
2022-01-28 15:11:42 +07:00
Goetz Lindenmaier
6376201cac 8034084: nsk.nsk/jvmti/ThreadStart/threadstart003 Wrong number of thread end events
Backport-of: 14bb47410b
2022-01-28 15:11:33 +07:00
Christoph Langer
6e866d9812 8258457: testlibrary_tests/ctw/JarDirTest.java fails with InvalidPathException on windows
Reviewed-by: mdoerr
Backport-of: 40ef00cebf
2022-01-28 15:11:23 +07:00
Goetz Lindenmaier
d50c10971a 8201224: Make string buffer size dynamic in mlvmJvmtiUtils.c
Calculate the string size for the buffer first

Backport-of: 49b859b9d3
2022-01-28 15:11:14 +07:00
Goetz Lindenmaier
6294f1d6dc 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
Backport-of: 633eab23f0
2022-01-28 15:11:05 +07:00
Goetz Lindenmaier
f283f65437 8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception
Backport-of: c2867d6577
2022-01-28 15:10:54 +07:00
Petra Mikova
83c8b2e89b 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-01-28 15:10:35 +07:00
Thomas Stuefe
54890c2de9 8261916: gtest/GTestWrapper.java vmErrorTest.unimplemented1_vm_assert failed
Reviewed-by: clanger
Backport-of: 8c1112a690
2022-01-28 15:10:26 +07:00
Aleksey Shipilev
41a7a593dd 8276550: Use SHA256 hash in build.tools.depend.Depend
Reviewed-by: andrew
Backport-of: afb502e28a
2022-01-28 15:10:25 +07:00
Andrew John Hughes
64cdd97e94 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-01-28 15:10:16 +07:00
Aleksey Shipilev
d563fddcef 8276854: Windows GHA builds fail due to broken Cygwin
Reviewed-by: aph, clanger
Backport-of: 403f3185f0
2022-01-28 15:10:07 +07:00
Christoph Langer
1cd3998663 8198617: java/awt/Focus/6382144/EndlessLoopTest.java fails on mac
Backport-of: ce48f04085
2022-01-28 15:09:58 +07:00
Christoph Langer
4ba543e855 8136517: [macosx]Test java/awt/Focus/8073453/AWTFocusTransitionTest.java fails on MacOSX
Backport-of: 0438cea65b
2022-01-28 15:09:49 +07:00
Zhengyu Gu
45fc86ae1e 8276943: Backout JDK-8274338 11u backport
Reviewed-by: goetz, sgehwolf
2022-01-28 15:09:33 +07:00
Aleksey Shipilev
65fe371753 8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
Backport-of: c0533ef2d8
2022-01-28 15:09:23 +07:00
Christoph Langer
6339afa755 8171381: [TEST_BUG] [macos] javax/swing/JPopupMenu/7156657/bug7156657.java fails on OS X
Backport-of: ca6b1b49ab
2022-01-28 15:09:21 +07:00
Christoph Langer
20909695ac 8233562: [TESTBUG] Swing StyledEditorKit test bug4506788.java fails on MacOS
Backport-of: 4107670d62
2022-01-28 15:09:13 +07:00
Jie Fu
41ebaca29d 8264526: javax/swing/text/html/parser/Parser/8078268/bug8078268.java timeout
Backport-of: da643cdb20
2022-01-28 15:09:04 +07:00
Jie Fu
c559e0ad22 8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines
Backport-of: 0daec497fe
2022-01-28 15:08:54 +07:00
Alexey Pavlyutkin
9c9e41efec 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
Reviewed-by: aph
Backport-of: 6750c34c92
2022-01-28 15:08:46 +07:00
Christoph Langer
11b0435bc3 8233561: [TESTBUG] Swing text test bug8014863.java fails on macos
Backport-of: 9beb866b12
2022-01-28 15:08:37 +07:00
Jie Fu
48f74e24d8 8256009: Remove src/hotspot/share/adlc/Test/i486.ad
Backport-of: a1d4b9f35b
2022-01-28 15:08:22 +07:00
Aleksey Shipilev
a893d6a161 8256182: Update qemu-debootstrap cross-compilation recipe
Reviewed-by: sgehwolf
Backport-of: 421a7c3b41
2022-01-28 15:08:14 +07:00
Zhengyu Gu
5a650258db 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Reviewed-by: phh
Backport-of: 172aed1a2d
2022-01-28 15:08:10 +07:00
Christoph Langer
511bb35f54 8233637: [TESTBUG] Swing ActionListenerCalledTwiceTest.java fails on macos
Backport-of: 98c91b64b2
2022-01-28 15:08:01 +07:00
Christoph Langer
efadf0a542 8233641: [TESTBUG] JMenuItem test bug4171437.java fails on macos
Backport-of: e97809d3d4
2022-01-28 15:07:52 +07:00
Christoph Langer
a6e4fe8d73 8233560: [TESTBUG] ToolTipManager/Test6256140.java is failing on macos
Backport-of: caec8d2208
2022-01-28 15:07:42 +07:00
Bernhard Urban-Forster
dbb39a4285 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-01-28 15:07:32 +07:00
Christoph Langer
fbe4fdaf07 8233570: [TESTBUG] HTMLEditorKit test bug5043626.java is failing on macos
Backport-of: a5b42ec8b2
2022-01-28 15:07:21 +07:00
Jie Fu
2e26f76e08 8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
Backport-of: 1ea437a4b8
2022-01-28 15:07:10 +07:00
Jie Fu
6f84740e05 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Backport-of: 0ab910d626
2022-01-28 15:06:59 +07:00
Christoph Langer
436921f9b2 8233556: [TESTBUG] JPopupMenu tests fail on MacOS
Reviewed-by: mdoerr
Backport-of: 3f8bd92308
2022-01-28 15:06:50 +07:00
Christoph Langer
8ecb189a68 8015602: [macosx] Test javax/swing/SpringLayout/4726194/bug4726194.java fails on MacOSX
Backport-of: dc85a3fe81
2022-01-28 15:06:49 +07:00
Jie Fu
42fc15dd67 8223141: Change (count) suffix _ct into _cnt.
Backport-of: 55e3cc8f6f
2022-01-28 15:06:38 +07:00
Aleksey Shipilev
a8c8a560a0 8267304: Bump global JTReg memory limit to 768m
Backport-of: e749f75de0
2022-01-28 15:06:35 +07:00
Martin Doerr
6919b35c69 8235784: java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java fails due to timeout with fastdebug bits
Reviewed-by: goetz
Backport-of: f0b1194004
2022-01-28 15:06:34 +07:00
Christoph Langer
d0493aae86 7151826: [TEST_BUG] [macosx] The test javax/swing/JPopupMenu/4966112/bug4966112.java not for mac
Backport-of: 4d9f207347
2022-01-28 15:06:33 +07:00
Christoph Langer
400fc3ae99 8233635: [TESTBUG] ProgressMonitorEscapeKeyPress.java fails on macos
Backport-of: 38636a8c96
2022-01-28 15:05:54 +07:00
Christoph Langer
ab998393aa 8199529: javax/swing/text/Utilities/8142966/SwingFontMetricsTest.java fails on windows
Reviewed-by: phh
Backport-of: 1ce6ec6a28
2022-01-28 15:05:26 +07:00
Christoph Langer
e69d2ac868 8249195: Change to Xcode 11.3.1 for building on Macos at Oracle
Reviewed-by: mdoerr
Backport-of: 097720cce5
2022-01-28 15:05:16 +07:00
Martin Doerr
3ce367ec44 8256202: Some tweaks for jarsigner tests PosixPermissionsTest and SymLinkTest
Reviewed-by: clanger
Backport-of: 1e9a432d59
2022-01-28 15:05:07 +07:00
Christoph Langer
8a406198b7 8219986: Change to Xcode 10.1 for building on Macosx at Oracle
Reviewed-by: mdoerr
Backport-of: 53adab6857
2022-01-28 15:05:02 +07:00
Severin Gehwolf
6488353168 8275713: TestDockerMemoryMetrics test fails on recent runc
Reviewed-by: mbaesken
2022-01-28 15:04:53 +07:00
Goetz Lindenmaier
090fb49a7e 8262844: (fs) FileStore.supportsFileAttributeView might return false negative in case of ext3
Backport-of: 8d3de4b1bd
2022-01-28 15:04:44 +07:00
Goetz Lindenmaier
6a04fcb145 8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
Backport-of: 45ce06c9f3
2022-01-28 15:04:34 +07:00
Alexey Pavlyutkin
8d06e59356 8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
Reviewed-by: mdoerr
Backport-of: c3d8e9228d
2022-01-28 15:04:25 +07:00
Goetz Lindenmaier
4dc85f3f6d 8197811: Test java/awt/Choice/PopupPosTest/PopupPosTest.java fails on Windows
Reviewed-by: mdoerr
Backport-of: d1c8c9eabb
2022-01-28 15:04:16 +07:00
Christoph Langer
2cd98ce0d8 8198623: java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java fails on mac
Backport-of: 3c472b6700
2022-01-28 15:04:07 +07:00
Christoph Langer
f2f68d9674 8246807: Incorrect copyright header in TimeZoneDatePermissionCheck.sh
Reviewed-by: shade
2022-01-28 15:03:58 +07:00
Christoph Langer
9e2a098f6a 8131745: java/lang/management/ThreadMXBean/AllThreadIds.java still fails intermittently
Reviewed-by: mdoerr
Backport-of: ea9aeda5ee
2022-01-28 15:03:49 +07:00
Martin Doerr
247b81b11f 8274407: (tz) Update Timezone Data to 2021c
8274467: TestZoneInfo310.java fails with tzdata2021b
8274468: TimeZoneTest.java fails with tzdata2021b

Backport-of: 8ca084617f
2022-01-28 15:03:39 +07:00
Christoph Langer
af57a8ba46 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-01-28 15:03:29 +07:00
Martin Doerr
9b35273ac8 8233567: [TESTBUG] FocusSubRequestTest.java fails on macos
Backport-of: b90ad76d6b
2022-01-28 15:03:19 +07:00
Martin Doerr
e40ea70579 8233555: [TESTBUG] JRadioButton tests failing on MacoS
Backport-of: 227f99d394
2022-01-28 15:03:12 +07:00
Martin Doerr
ca00a9264d 8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
Backport-of: cb36880281
2022-01-28 15:02:57 +07:00
Christoph Langer
51cc5ea97c 8220575: Correctly format test URI's that contain a retrieved IPv6 address
Reviewed-by: mdoerr
Backport-of: 0c2b7c4fc3
2022-01-28 15:02:45 +07:00
Ao Qi
28478e4c23 8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled
Skip test if C1 is not available.

Backport-of: eef02376bd
2022-01-28 15:02:30 +07:00
Zhengyu Gu
c8fea9abb4 8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
Reviewed-by: phh
Backport-of: 1ab64143c0
2022-01-28 15:02:18 +07:00
Martin Doerr
b5f74318bb 8197800: Test java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java fails on Windows
Backport-of: ca37be1ead
2022-01-28 15:02:05 +07:00
Martin Doerr
26ea8b7a49 8198619: java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java fails on mac
Backport-of: cf92693957
2022-01-28 15:01:55 +07:00
Martin Doerr
05f9c57d45 8171998: javax/swing/JMenu/4692443/bug4692443.java fails on Windows
Backport-of: 4acf634d05
2022-01-28 15:01:42 +07:00
Martin Doerr
ee593a5df8 8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java
Backport-of: fcedfc8a3b
2022-01-28 15:01:29 +07:00
Martin Doerr
f9cf0587b6 8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
Backport-of: 4bd37c3153
2022-01-28 15:01:18 +07:00
Martin Doerr
65da6dec9d 8247510: typo in IllegalHandshakeMessage
Backport-of: 1faed205df
2022-01-28 15:01:09 +07:00
Martin Doerr
c439c6a5e9 8207936: TestZipFile failed with java.lang.AssertionError exception
Backport-of: 65455ff60b
2022-01-28 15:00:58 +07:00
Ao Qi
57e95df13e 8270517: Add Zero support for LoongArch
Backport-of: e92e2fd4e0
2022-01-28 15:00:53 +07:00
Christoph Langer
512a23b1c6 8233559: [TESTBUG] TestNimbusOverride.java is failing on macos
Backport-of: c638618814
2022-01-28 15:00:52 +07:00
Joshua Cao
d5c9095214 8252051: Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly
Reviewed-by: phh
2022-01-28 15:00:52 +07:00
Jonathan Dowland
44a04bd0f6 8275131: Exceptions after a touchpad gesture on macOS
Backport-of: 89999f70e0
2022-01-28 15:00:31 +07:00
Christoph Langer
bb6deca2e5 8198624: java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html fails on mac
Reviewed-by: mdoerr
Backport-of: fe6aa29326
2022-01-28 15:00:00 +07:00
Christoph Langer
3d86e1c780 8233550: [TESTBUG] JTree tests fail regularly on MacOS
Backport-of: 04b3bf6024
2022-01-28 14:59:59 +07:00
Christoph Langer
0a86a9f9a5 8239827: The test OpenByUNCPathNameTest.java should be changed to be manual
Backport-of: 7cc3ba5f9b
2022-01-28 14:59:59 +07:00
Christoph Langer
3475585bed 8233647: [TESTBUG] JColorChooser/Test8051548.java is failing on macos
Backport-of: 342e9f88cd
2022-01-28 14:59:28 +07:00
Christoph Langer
6d1abacd98 8233566: [TESTBUG] KeyboardFocusManager tests failing on MacoS
Backport-of: 85822a50d5
2022-01-28 14:59:16 +07:00
Christoph Langer
3ac87a0a4c 8233552: [TESTBUG] JTable Test bug7068740.java fails on MacOS
Backport-of: 15433df97f
2022-01-28 14:58:41 +07:00
Christoph Langer
9fcda5d5a7 8233553: [TESTBUG] JSpinner test bug4973721.java fails on MacOS
Backport-of: 9ae8b32dee
2022-01-28 14:58:06 +07:00
Vladimir Kempik
8f29f50a52 8267652: c2 loop unrolling by 8 results in reading memory past array
Reviewed-by: mdoerr
Backport-of: 0c99b19258
2022-01-28 14:57:47 +07:00
Martin Doerr
f1fa7fa957 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on
Backport-of: 3c72042627
2022-01-28 14:57:42 +07:00
Yi Yang
1943e32767 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
Backport-of: ddc262746a
2022-01-28 14:57:40 +07:00
Jie Fu
026a989a6f 8251155: HostIdentifier fails to canonicalize hostnames starting with digits
Reviewed-by: goetz
Backport-of: 5585e6f63a
2022-01-28 14:57:38 +07:00
Christoph Langer
a806c4d71f 8233643: [TESTBUG] JMenu test bug4515762.java fails on macos
Backport-of: 1f2f808794
2022-01-28 14:57:38 +07:00
Christoph Langer
8499d305a2 8169953: JComboBox/8057893: ComboBoxEdited event is not fired! on Windows
Backport-of: 0d2cc3b449
2022-01-28 14:56:20 +07:00
Martin Doerr
649810a3e1 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 16c3ad1ff4
2022-01-28 14:55:30 +07:00
Ao Qi
cdf8ee8ca8 8230228: [TESTBUG] Several runtime/ErrorHandling tests may fail on some platforms
Prevent downgraded compilation tasks from recompiling.

Reviewed-by: goetz
Backport-of: 63dbcdc874
2022-01-28 14:55:16 +07:00
Ao Qi
af9f5c0024 8250888: nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java fails
Reviewed-by: goetz
Backport-of: 5fedb69e66
2022-01-28 14:55:07 +07:00
Goetz Lindenmaier
5ce059e2a0 8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
Backport-of: 04b73bc4e0
2022-01-28 14:54:58 +07:00
Martin Doerr
fd9d771ab0 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: goetz
Backport-of: 3953e0774c
2022-01-28 14:54:54 +07:00
Goetz Lindenmaier
422573922f 8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
Reviewed-by: mdoerr
Backport-of: dcdb1b6aaa
2022-01-28 14:54:46 +07:00
Christoph Langer
65823f7e76 8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris
Backport-of: a040c56dd9
2022-01-28 14:54:37 +07:00
Goetz Lindenmaier
b799c46325 8180568: Refactor javax/crypto shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 20ad428974
2022-01-28 14:54:28 +07:00
Goetz Lindenmaier
30288339d0 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
Backport-of: a5108a605e
2022-01-28 14:54:19 +07:00
Jie Fu
2af00eddb7 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Reviewed-by: kvn
Backport-of: c833b4d130
2022-01-28 14:54:10 +07:00
Goetz Lindenmaier
0a40edb46d 8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java
Reviewed-by: mdoerr
Backport-of: 6cbf57aa37
2022-01-28 14:53:59 +07:00
Goetz Lindenmaier
0f176d452a 8273826: Correct Manifest file name and NPE checks
Reviewed-by: mdoerr
Backport-of: 03a8d342b8
2022-01-28 14:53:49 +07:00
Goetz Lindenmaier
a351f8434b 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
Reviewed-by: mdoerr
Backport-of: 7f78803b09
2022-01-28 14:53:40 +07:00
Christoph Langer
1378f04bb1 8242793: Incorrect copyright header in ContinuousCallSiteTargetChange.java
Backport-of: 25cd1774a7
2022-01-28 14:53:31 +07:00
Christoph Langer
a4ae67433a 7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater()
Backport-of: 84fc4850a6
2022-01-28 14:53:30 +07:00
Christoph Langer
00034d692c 8237589: Fix copyright header formatting
Reviewed-by: shade
2022-01-28 14:53:21 +07:00
Goetz Lindenmaier
716031e181 8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
Backport-of: 45abbeed2f
2022-01-28 14:53:11 +07:00
Goetz Lindenmaier
287650573b 8211148: var in implicit lambdas shouldn't be accepted for source < 11
Backport-of: 2589e9733e
2022-01-28 14:53:02 +07:00
Jonathan Dowland
ecdfdd4a1e 8198616: java/awt/Focus/6378278/InputVerifierTest.java fails on mac
Backport-of: dd8286e2f3
2022-01-28 14:52:54 +07:00
Martin Doerr
3f90685961 8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
Backport-of: 47262670f3
2022-01-28 14:52:53 +07:00
Martin Doerr
da2dc96086 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
Backport-of: 71788c69db
2022-01-28 14:52:47 +07:00
Martin Doerr
f0548a8f53 8273498: compiler/c2/Test7179138_1.java timed out
Backport-of: 84f6cb4ae4
2022-01-28 14:52:36 +07:00
Martin Doerr
329e679c1e 8273229: Update OS detection code to recognize Windows Server 2022
Backport-of: c2e015c3c1
2022-01-28 14:52:24 +07:00
Zhengyu Gu
5ccf7aad0d 8273342: Null pointer dereference in classFileParser.cpp:2817
Backport-of: 8609ea55ac
2022-01-28 14:52:22 +07:00
Martin Doerr
47aa1bca6e 8271340: Crash PhaseIdealLoop::clone_outer_loop
Backport-of: 2abf3b3b27
2022-01-28 14:52:21 +07:00
Martin Doerr
e4c370cb95 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Backport-of: 6afcf5f5a2
2022-01-28 14:52:20 +07:00
Martin Doerr
7f3b6eecc2 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Backport-of: 99fb12c798
2022-01-28 14:52:19 +07:00
Martin Doerr
43984fd9f2 8274381: missing CAccessibility definitions in JNI code
Backport-of: a9981fb0ff
2022-01-28 14:51:36 +07:00
Aleksey Shipilev
7a9e4ed345 8274083: Update testing docs to mention tiered testing
Backport-of: 971aa353aa
2022-01-28 14:51:20 +07:00
Aleksey Shipilev
3541207b55 8273314: Add tier4 test groups
Reviewed-by: clanger
Backport-of: 1f8af524ff
2022-01-28 14:51:14 +07:00
Aleksey Shipilev
c44776dbc0 8199138: Add RISC-V support to Zero
Backport-of: edc4ffe54b
2022-01-28 14:51:03 +07:00
Jonathan Dowland
f50c8db80c 8272180: Upgrade JSZip from v3.6.0 to v3.7.1
8272828: Add correct licenses to jszip.md

Reviewed-by: goetz
2022-01-28 14:50:54 +07:00
Jonathan Dowland
4919570865 8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
Reviewed-by: clanger
Backport-of: a199ebc017
2022-01-28 14:50:52 +07:00
Martin Doerr
d640e4cb7e 8272570: C2: crash in PhaseCFG::global_code_motion
Backport-of: 0f428ca533
2022-01-28 14:50:51 +07:00
Martin Doerr
dac2e78912 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
Backport-of: d39aad9230
2022-01-28 14:50:50 +07:00
Martin Doerr
401abb2e28 8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
Backport-of: 2cffe4c8e0
2022-01-28 14:47:41 +07:00
Goetz Lindenmaier
933f351ad4 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
Backport-of: 566d77a2ae
2022-01-28 14:45:39 +07:00
Goetz Lindenmaier
210afd358e 8262438: sun/security/ssl/SSLLogger/LoggingFormatConsistency.java failed with "SocketException: Socket is closed"
Backport-of: b2a2ddff44
2022-01-28 14:45:30 +07:00
Goetz Lindenmaier
efc1685c8e 8159904: [TEST_BUG] Failure on solaris of java/awt/Window/MultiWindowApp/MultiWindowAppTest.java
Reviewed-by: clanger
Backport-of: 6ce52e6277
2022-01-28 14:45:27 +07:00
Goetz Lindenmaier
6fce571b18 8265173: [test] divert spurious log output away from stream under test in ProcessBuilder Basic test
Backport-of: 7b61a426e0
2022-01-28 14:45:19 +07:00
Goetz Lindenmaier
a337a2a5a9 8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
Reviewed-by: aph
Backport-of: f84b52b84d
2022-01-28 14:45:11 +07:00
Goetz Lindenmaier
d2c4192d5c 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-01-28 14:45:02 +07:00
Goetz Lindenmaier
ca82683d6a 8159597: [TEST_BUG] closed/javax/swing/JPopupMenu/4760494/bug4760494.java leaves key pressed
Backport-of: 604005d65c
2022-01-28 14:44:53 +07:00
Goetz Lindenmaier
9093eb924a 8223140: Clean-up in 'ok_to_convert()'
Simplify logic in function. Added precond/postcond macros.

Reviewed-by: shade
Backport-of: f4faee7bae
2022-01-28 14:44:44 +07:00
Aleksey Shipilev
34ae2eedd2 8272783: Epsilon: Refactor tests to improve performance
Reviewed-by: clanger
Backport-of: 7f80683cfe
2022-01-28 14:44:34 +07:00
Aleksey Shipilev
57c300e356 8273606: Zero: SPARC64 build fails with si_band type mismatch
Reviewed-by: clanger
Backport-of: 241ac89f12
2022-01-28 14:44:25 +07:00
Aleksey Shipilev
7d76fc9bc8 8272914: Create hotspot:tier2 and hotspot:tier3 test groups
Reviewed-by: clanger
Backport-of: 5ee5dd9b18
2022-01-28 14:44:16 +07:00
Christoph Langer
f06eb769d0 8224829: AsyncSSLSocketClose.java has timing issue
Reviewed-by: mdoerr
Backport-of: a4277e56c8
2022-01-28 14:44:07 +07:00
Reka Kovacs
d4a66bb427 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-01-28 14:43:59 +07:00
Christoph Langer
4f9e3d7f08 8230067: Add optional automatic retry when running jtreg tests
Reviewed-by: mdoerr
Backport-of: 72cb073c09
2022-01-28 14:43:50 +07:00
Christoph Langer
767880735d 8180573: Refactor sun/security/tools shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 15aae2f622
2022-01-28 14:43:36 +07:00
Aleksey Shipilev
1813661d6d 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
Backport-of: 2166ed1369
2022-01-28 14:43:33 +07:00
Aleksey Shipilev
d6749b8dc3 8272836: Limit run time for java/lang/invoke/LFCaching tests
Backport-of: a3308af060
2022-01-28 14:43:25 +07:00
Aleksey Shipilev
e8c0111762 8273373: Zero: Cannot invoke JVM in primordial threads on Zero
Backport-of: 0f31d0fb2c
2022-01-28 14:43:15 +07:00
Goetz Lindenmaier
c112a87d58 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-01-28 14:43:06 +07:00
Zhengyu Gu
3bd7262d08 8187649: ArrayIndexOutOfBoundsException in java.util.JapaneseImperialCalendar
Backport-of: bea4109ef7
2022-01-28 14:42:58 +07:00
Goetz Lindenmaier
731d9cc85d 8268555: Update HttpClient tests that use ITestContext to jtreg 6+1
Reviewed-by: mdoerr
Backport-of: da043e99b8
2022-01-28 14:42:49 +07:00
Aleksey Shipilev
804693a241 8223923: C2: Missing interference with mismatched unsafe accesses
Backport-of: 86add21a85
2022-01-28 14:42:40 +07:00
Jonathan Dowland
09f36b8b98 8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
Reviewed-by: goetz, clanger
Backport-of: 9248bd08cf
2022-01-28 14:42:29 +07:00
Goetz Lindenmaier
692c33db54 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-01-28 14:42:19 +07:00
Goetz Lindenmaier
b4081922d4 8248187: [TESTBUG] javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java fails with String is not properly drawn
Backport-of: c3ec97d41a
2022-01-28 14:42:09 +07:00
Goetz Lindenmaier
23634182ee 8143021: [TEST_BUG] Test javax/swing/JColorChooser/Test6541987.java fails
Backport-of: 7597cba92b
2022-01-28 14:42:01 +07:00
Goetz Lindenmaier
d817eae6c1 8256152: tests fail because of ambiguous method resolution
Backport-of: 646c20022c
2022-01-28 14:42:00 +07:00
Goetz Lindenmaier
82dcc226a9 8211171: move JarUtils to top-level testlibrary
Reviewed-by: mdoerr
Backport-of: ab8c7f710c
2022-01-28 14:41:59 +07:00
Goetz Lindenmaier
4e92a83a5f 8265524: Upgrading JSZip from v3.2.2 to v3.6.0
Reviewed-by: mdoerr
2022-01-28 14:41:53 +07:00
Christoph Langer
a8481a1594 8234823: java/net/Socket/Timeouts.java testcase testTimedConnect2() fails on Windows 10
Backport-of: a2fad13ce2
2022-01-28 14:41:42 +07:00
Goetz Lindenmaier
835a830f6e 8229935: [TEST_BUG]: bug8132119.java inconsistently positions text
Backport-of: 5686851c12
2022-01-28 14:41:33 +07:00
Goetz Lindenmaier
8aea15b00e 8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'.
Backport-of: fcbca82247
2022-01-28 14:41:27 +07:00
Goetz Lindenmaier
8099529b84 8269426: Rename test/jdk/java/lang/invoke/t8150782 to accessClassAndFindClass
Reviewed-by: mdoerr
Backport-of: 56240690f6
2022-01-28 14:41:17 +07:00
Christoph Langer
b4ecdc4ce3 8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails
Reviewed-by: mdoerr
Backport-of: b5b24b904a
2022-01-28 14:41:10 +07:00
Jonathan Dowland
499cd8345b 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-01-28 14:40:58 +07:00
Jonathan Dowland
24c49816af 8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
Backport-of: a5ad7720d2
2022-01-28 14:40:49 +07:00
Jonathan Dowland
aa4267acdf 8078219: Verify lack of @test tag in files in java/net test directory
Backport-of: a9f92bec7f
2022-01-28 14:40:41 +07:00
Martin Doerr
09e765a4b9 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-01-28 14:40:32 +07:00
Martin Doerr
a3e1ff58f5 8215889: assert(!_unloading) failed: This oop is not available to unloading class loader data with ZGC
Reviewed-by: goetz, zgu
Backport-of: f08eeac278
2022-01-28 14:40:26 +07:00
Goetz Lindenmaier
c8febb6aa3 8268093: Manual Testcase: "sun/security/krb5/config/native/TestDynamicStore.java" Fails with NPE
Backport-of: e39346e708
2022-01-28 14:40:23 +07:00
Goetz Lindenmaier
7f2ae062cd 8269768: JFR Terminology Refresh
Backport-of: 1c18f91438
2022-01-28 14:40:22 +07:00
Goetz Lindenmaier
68e97f8aec 8179880: Refactor javax/security shell tests to plain java tests
Reviewed-by: mdoerr
Backport-of: 7f55dc1576
2022-01-28 14:40:22 +07:00
Martin Doerr
0022d15198 8274056: JavaAccessibilityUtilities leaks JNI objects
Backport-of: 42d5d2abaa
2022-01-28 14:39:38 +07:00
Zhengyu Gu
ba4a4c1d5f 8213707: [TEST] vmTestbase/nsk/stress/except/except011.java failed due to wrong class name
Fixed wrong class name in test

Backport-of: 83155e1ea6
2022-01-28 14:39:20 +07:00
Goetz Lindenmaier
da8916695a 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface
Backport-of: 0544a732a4
2022-01-28 14:39:12 +07:00
Goetz Lindenmaier
84cd4cd911 8266949: Check possibility to disable OperationTimedOut on Unix
Backport-of: e6705c0e4b
2022-01-28 14:39:04 +07:00
Goetz Lindenmaier
191b1ab652 8248341: ProblemList java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
Backport-of: 8a424425e1
2022-01-28 14:38:56 +07:00
Goetz Lindenmaier
7e0b152479 8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception
Backport-of: 271a0c7133
2022-01-28 14:38:47 +07:00
Goetz Lindenmaier
7e536c560e 8163086: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java fails
Backport-of: abdff7905f
2022-01-28 14:38:39 +07:00
Goetz Lindenmaier
129b8b7304 8233564: [TESTBUG] MouseComboBoxTest.java is failing
Backport-of: b72d99e77b
2022-01-28 14:38:31 +07:00
Goetz Lindenmaier
99793c8b0d 8258855: Two tests sun/security/krb5/auto/ReplayCacheTestProc.java and ReplayCacheTestProcWithMD5.java failed on OL8.3
Reviewed-by: mdoerr
Backport-of: d70fd7b3c4
2022-01-28 14:38:23 +07:00
Goetz Lindenmaier
9b593b5c13 8265019: Update tests for additional TestNG test permissions
Reviewed-by: mdoerr
Backport-of: ffb3771816
2022-01-28 14:38:15 +07:00
Goetz Lindenmaier
f83ea2f532 8253866: Security Libs Terminology Refresh
Reviewed-by: mdoerr
Backport-of: 8554fe6ebc
2022-01-28 14:38:06 +07:00
Goetz Lindenmaier
a440b5d82a 8253497: Core Libs Terminology Refresh
Reviewed-by: mdoerr
Backport-of: b2f035549a
2022-01-28 14:37:58 +07:00
Goetz Lindenmaier
d4ee18498c 8081652: [TESTBUG] java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java timed out intermittently
Reviewed-by: mdoerr
Backport-of: 5805cbeaaf
2022-01-28 14:37:49 +07:00
Goetz Lindenmaier
ca06ac6778 8216417: cleanup of IPv6 scope-id handling
Reviewed-by: mdoerr
Backport-of: 247a6a2ce4
2022-01-28 14:37:41 +07:00
Goetz Lindenmaier
f5922189c7 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-01-28 14:37:32 +07:00
Goetz Lindenmaier
368dfc8d82 8244292: Headful clients failing with --illegal-access=deny
Reviewed-by: mdoerr
Backport-of: 0efacb3eed
2022-01-28 14:37:24 +07:00
Christoph Langer
38db6b7908 8223658: Performance regression of XML.validation in 13-b19
Reviewed-by: sviswanathan
Backport-of: 50eb86d003
2022-01-28 14:37:16 +07:00
Goetz Lindenmaier
b3533dd98d 8039261: [TEST_BUG]: There is not a minimal security level in Java Preferences and the TestApplet.html is blocked.
Backport-of: 26186ec3f6
2022-01-28 14:37:08 +07:00
Goetz Lindenmaier
8b75260962 8264824: java/net/Inet6Address/B6206527.java doesn't close ServerSocket properly
Backport-of: 6293299dd3
2022-01-28 14:37:00 +07:00
Goetz Lindenmaier
660a721f44 8250839: Improve test template SSLEngineTemplate with SSLContextTemplate
Backport-of: 473fa82000
2022-01-28 14:36:52 +07:00
Goetz Lindenmaier
dec4079dd0 8255722: Create a new test for rotated blit
Backport-of: a53b12df2d
2022-01-28 14:36:42 +07:00
Goetz Lindenmaier
f7e73fe7a3 8245665: Test WeakAlg.java should only make sure no warning for weak signature algorithms by keytool on root CA
Backport-of: ccd7d70586
2022-01-28 14:36:41 +07:00
Goetz Lindenmaier
42668f67f3 8169954: JFileChooser/8021253: java.lang.RuntimeException: Default button is not pressed
Backport-of: cacce843aa
2022-01-28 14:36:40 +07:00
Goetz Lindenmaier
c1561748d9 8245165: Update bug id for javax/swing/text/StyledEditorKit/4506788/bug4506788.java in ProblemList
Backport-of: 08ded85a5c
2022-01-28 14:35:59 +07:00
Martin Doerr
7db4e09f60 8263773: Reenable German localization for builds at Oracle
Backport-of: ef4a532802
2022-01-28 14:22:32 +07:00
Goetz Lindenmaier
0879794d36 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
Backport-of: fbca3fa710
2022-01-28 14:22:24 +07:00
Christoph Langer
a3b8e645b1 8180569: Refactor sun/security/krb5/ shell tests to plain java tests
Backport-of: 8b83b515b1
2022-01-28 14:22:15 +07:00
Christoph Langer
46fdb81b1a 8210920: Native C++ tests are not using CXXFLAGS
Reviewed-by: mdoerr
Backport-of: 481a045635
2022-01-28 14:22:09 +07:00
Goetz Lindenmaier
17db3f4354 8221902: PIT: javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java fails on ubuntu
Backport-of: 4071546506
2022-01-28 14:22:00 +07:00
Goetz Lindenmaier
7dac480937 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-01-28 14:21:52 +07:00
Goetz Lindenmaier
cab2d1304d 8234802: [TESTBUG] Test Right Mouse Button Drag Gesture Recognition in all the platforms
Backport-of: 24232989ba
2022-01-28 14:21:44 +07:00
Goetz Lindenmaier
da57536602 8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
Reviewed-by: mdoerr
Backport-of: 9a69bb807b
2022-01-28 14:21:35 +07:00
Goetz Lindenmaier
b565cff34f 8221903: PIT: javax/swing/RepaintManager/IconifyTest/IconifyTest.java fails on ubuntu18.04
Reviewed-by: mdoerr
Backport-of: e9e86ffb30
2022-01-28 14:21:27 +07:00
Goetz Lindenmaier
ea3671de26 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-01-28 14:21:19 +07:00
Goetz Lindenmaier
974704d031 8214469: [macos] PIT: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java fails
Reviewed-by: mdoerr
Backport-of: c2824531a7
2022-01-28 14:21:11 +07:00
Martin Doerr
bcd5957941 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-01-28 14:21:03 +07:00
Goetz Lindenmaier
731f97ce90 8233634: [TESTBUG] Swing text test bug4278839.java fails on macos
Backport-of: 456fd9003e
2022-01-28 14:20:54 +07:00
Goetz Lindenmaier
38446f56a1 8228508: [TESTBUG] java/net/httpclient/SmokeTest.java fails on Windows7
Backport-of: b4a7fb856b
2022-01-28 14:20:47 +07:00
Goetz Lindenmaier
c56336e14a 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-01-28 14:20:39 +07:00
Goetz Lindenmaier
56beed59f3 8165828: [TEST_BUG] The reg case:javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java failed as No Metal Look and Feel
Backport-of: 6b80f1e7cd
2022-01-28 14:20:30 +07:00
Christoph Langer
7e58dfe40b 8221259: New tests for java.net.Socket to exercise long standing behavior
Backport-of: fd14375ae2
2022-01-28 14:20:21 +07:00
Christoph Langer
34a2845c20 8217438: Adapt tools//launcher/Test7029048.java for AIX
Backport-of: 05a8750ec7
2022-01-28 14:20:18 +07:00
Christoph Langer
7eb3f8b918 8080569: java/lang/ProcessBuilder/DestroyTest.java fails with "RuntimeException: Process terminated prematurely"
Backport-of: 2ee8882fb9
2022-01-28 14:20:10 +07:00
Thomas Stuefe
9458aaf329 8261297: NMT: Final report should use scale 1
Backport-of: 1740de2a0d
2022-01-28 14:20:02 +07:00
Goetz Lindenmaier
1d98884008 8217882: java/net/httpclient/MaxStreams.java failed once
Added some more traces to help diagnosis

Backport-of: 6dcfd0f93a
2022-01-28 14:19:54 +07:00
Goetz Lindenmaier
6acd9fc2ba 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-01-28 14:19:45 +07:00
Goetz Lindenmaier
3cf384e6bb 8217377: javax/swing/JPopupMenu/6583251/bug6583251.java failed with UnsupportedOperation exception
Reviewed-by: clanger
Backport-of: 37a7f89c34
2022-01-28 14:19:37 +07:00
Richard Reingruber
ac222ff922 8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
Backport-of: 72530ef666
2022-01-28 14:19:29 +07:00
Aleksey Shipilev
4efa5dc41d 8272850: Drop zapping values in the Zap* option descriptions
Backport-of: c5a271259d
2022-01-28 14:19:21 +07:00
Aleksey Shipilev
fc384aedfe 8272318: Improve performance of HeapDumpAllTest
Backport-of: 73da66ffb7
2022-01-28 14:19:12 +07:00
Christoph Langer
52d395b32d 8215410: Regression test for JDK-8214994
Added a regression test for 8214994 which was fixed by accident with 8211451.

Backport-of: 2e989366ea
2022-01-28 14:19:04 +07:00
Christoph Langer
081b19416b 8129310: java/net/Socket/asyncClose/AsyncClose.java fails intermittently
Backport-of: fb6de4b0b6
2022-01-28 14:18:55 +07:00
Christoph Langer
d12cd7ba42 8213189: Make restricted headers in HTTP Client configurable and remove Date by default
Reviewed-by: mdoerr
Backport-of: 028f2e14b3
2022-01-28 14:18:47 +07:00
Martin Doerr
b70a2ee42c 8256066: Tests use deprecated TestNG API that is no longer available in new versions
Backport-of: 6d8acd2696
2022-01-28 14:18:38 +07:00
Martin Doerr
dfc1304bb1 8216318: The usage of Disposer in the java.awt.Robot can be deleted
Reviewed-by: goetz
Backport-of: 293f77f18f
2022-01-28 14:18:30 +07:00
Goetz Lindenmaier
9364669643 8197560: test javax/swing/JTree/8003400/Test8003400.java fails
Reviewed-by: mdoerr
Backport-of: 5699024184
2022-01-28 14:18:22 +07:00
Martin Doerr
ad72e33d66 8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
Backport-of: f18c0fac11
2022-01-28 14:18:13 +07:00
Martin Doerr
630bbadb2a 8270344: Session resumption errors
Reviewed-by: clanger
Backport-of: 04a806ec86
2022-01-28 14:18:05 +07:00
Martin Doerr
843e1d8b85 8259237: Demo selection changes with left/right arrow key. No need to press space for selection.
Backport-of: 28ff2de186
2022-01-28 14:17:56 +07:00
Martin Doerr
d6f24e6d0c 8217633: Configurable extensions with system properties
Backport-of: 71bfe962eb
2022-01-28 14:17:48 +07:00
Goetz Lindenmaier
3f09c61ae0 8253682: The AppletInitialFocusTest1.java is unstable
Backport-of: 1d88172c06
2022-01-28 14:17:39 +07:00
Jonathan Dowland
ebc86440f3 6849922: java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html fails
Backport-of: 1b012e213d
2022-01-28 14:17:31 +07:00
Goetz Lindenmaier
10739c3d9b 8213110: Remove the use of applets in automatic tests
Reviewed-by: clanger
Backport-of: b5998aadf0
2022-01-28 14:17:22 +07:00
Martin Doerr
e83c16fb8d 8269034: AccessControlException for SunPKCS11 daemon threads
Reviewed-by: clanger
Backport-of: 0d745ae8fd
2022-01-28 14:17:13 +07:00
Martin Doerr
8b301319c5 8240256: Better resource cleaning for SunPKCS11 Provider
Reviewed-by: goetz
Backport-of: bdeaeb47d0
2022-01-28 14:17:04 +07:00
Martin Doerr
9c1b6755f9 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-01-28 14:16:55 +07:00
Aleksey Shipilev
7483688153 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-01-28 14:16:51 +07:00
Jonathan Dowland
0f9f94f2b5 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-01-28 14:16:50 +07:00
Aleksey Shipilev
55e10f8e20 8273795: Zero SPARC64 debug builds fail due to missing interpreter fields
Reviewed-by: coleenp
2022-01-28 14:16:49 +07:00
Martin Doerr
f6bbfc6385 8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2
Backport-of: 4e6de5f9de
2022-01-28 14:16:49 +07:00
Martin Doerr
742feac7fa 8261036: Reduce classes loaded by CleanerFactory initialization
Backport-of: 992b50087d
2022-01-28 14:16:48 +07:00
Martin Doerr
01788a2004 8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
Reviewed-by: stuefe
Backport-of: f681d6544a
2022-01-28 14:15:55 +07:00
Martin Doerr
cc3de14617 8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
Reviewed-by: stuefe
Backport-of: 481c1f0549
2022-01-28 14:11:57 +07:00
Martin Doerr
99f5f5c614 8273358: macOS Monterey does not have the font Times needed by Serif
Reviewed-by: stuefe
Backport-of: efe3ed1e70
2022-01-28 14:11:42 +07:00
Christoph Langer
ba393eb474 8218483: Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5"
Reviewed-by: stuefe
Backport-of: 2f20909d10
2022-01-28 14:11:33 +07:00
Christoph Langer
e077534548 8213330: Fix legal headers in i18n tests
Reviewed-by: phh
Backport-of: a1029a4729
2022-01-28 14:11:24 +07:00
Thomas Stuefe
759d58e2ad 8260571: Add PrintMetaspaceStatistics to print metaspace statistics upon VM exit
Reviewed-by: clanger
Backport-of: ddd2951ba9
2022-01-28 14:11:16 +07:00
Zhengyu Gu
adb725ee4c 8169959: javax/swing/JTable/6263446/bug6263446.java: Table should be editing
Reviewed-by: shade
Backport-of: 8812113984
2022-01-28 14:11:07 +07:00
Lutz Schmidt
8725b04306 8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
Reviewed-by: mdoerr
Backport-of: 276b07b36a
2022-01-28 14:10:58 +07:00
Martin Doerr
f6e3d8c0c7 8252049: Native memory leak in ciMethodData ctor
Reviewed-by: phh
Backport-of: 044616bd71
2022-01-28 14:10:49 +07:00
Martin Doerr
e4ad1b3cd9 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
Backport-of: d3ad8cd344
2022-01-28 14:10:40 +07:00
Martin Doerr
8705541eed 8268019: C2: assert(no_dead_loop) failed: dead loop detected
Reviewed-by: phh
Backport-of: 489e5fd12a
2022-01-28 14:10:31 +07:00
Martin Doerr
5360e07c3b 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-01-28 14:10:23 +07:00
Vladimir Kempik
b63220b66e 8273671: Backport of 8260616 misses one JNF header inclusion removal
Reviewed-by: phh
2022-01-28 14:10:14 +07:00
Christoph Langer
09499606da 8213301: Fix legal headers in jdk logging tests
Backport-of: 059682d681
2022-01-28 14:10:05 +07:00
Christoph Langer
434ee5d058 8213328: Update test copyrights in test/java/util/zip and test/jdk/tools
Reviewed-by: mdoerr
Backport-of: 87f243d539
2022-01-28 14:09:57 +07:00
Christoph Langer
ddc14b66a2 8213306: Fix legal headers in test/java/nio
Reviewed-by: stuefe
Backport-of: 36ca4f5893
2022-01-28 14:09:48 +07:00
Christoph Langer
388409b96d 8213305: Fix legal headers in test/java/math
Reviewed-by: stuefe
Backport-of: e21d8fef64
2022-01-28 14:09:39 +07:00
Christoph Langer
f54c92a9c4 8213296: Fix legal headers in test/jdk/java/net
Backport-of: 84d6099da9
2022-01-28 14:09:35 +07:00
Martin Doerr
b5f5e36c0c 8211227: Inconsistent TLS protocol version in debug output
Reviewed-by: sgehwolf
Backport-of: a86728850e
2022-01-28 14:09:27 +07:00
Martin Doerr
f561c07056 8228442: DHKeyExchange/LegacyDHEKeyExchange.java failed due to "SSLException: An established connection was aborted by the software in your host machine"
Backport-of: 7e3bc4cb44
2022-01-28 14:09:16 +07:00
Aleksey Shipilev
41247d9a7a 8250863: Build error with GCC 10 in NetworkInterface.c and k_standard.c
Backport-of: e3c6574ac0
2022-01-28 14:09:08 +07:00
Bin Liao
f6ef63869d 8237354: Add option to jcmd to write a gzipped heap dump
Reviewed-by: rschmelter, clanger
Backport-of: 19be497143
2022-01-28 14:08:56 +07:00
Christoph Langer
70614cf2b3 8225083: Remove Google certificate that is expiring in December 2021
Backport-of: 1cbf41a87b
2022-01-28 14:08:47 +07:00
Christoph Langer
fe3aab39a3 8213263: fix legal headers in test/langtools
Reviewed-by: mdoerr
Backport-of: 73fa99ae86
2022-01-28 14:08:35 +07:00
Christoph Langer
5fdee45970 8210353: Move java/util/Arrays/TimSortStackSize2.java back to tier1
Backport-of: a0594bc138
2022-01-28 14:08:34 +07:00
Christoph Langer
bc76622a18 8195703: BasicJDWPConnectionTest.java: 'App exited unexpectedly with 2'
Reviewed-by: phh, amenkov
Backport-of: 24fb839864
2022-01-28 14:08:33 +07:00
Sergey Bylokhov
bc92dc2923 8272966: test/jdk/java/awt/Robot/FlushCurrentEvent.java fails by timeout
Reviewed-by: clanger
2022-01-28 14:07:42 +07:00
Severin Gehwolf
080868e3ae 8273547: [11u] [JVMCI] Partial module-info.java backport of JDK-8223332
Reviewed-by: clanger
2022-01-28 14:03:44 +07:00
Martin Doerr
311322284b 8247403: JShell: No custom input (e.g. from GUI) possible with JavaShellToolBuilder
Reviewed-by: clanger
Backport-of: 2c8e94f680
2022-01-28 14:03:28 +07:00
Martin Doerr
db5bdf1b75 8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard
Backport-of: b5d32bbfc7
2022-01-28 14:03:26 +07:00
Martin Doerr
98d4ca8c3e 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font
Reviewed-by: clanger
Backport-of: 005d8a7fca
2022-01-28 14:03:24 +07:00
Christoph Langer
4fa5f8497f 8210395: Add doc to SecurityTools.java
Reviewed-by: phh
Backport-of: 5cf91fc60e
2022-01-28 14:03:22 +07:00
Christoph Langer
613ba3a228 8206085: Refactor langtools/tools/javac/versions/Versions.java
Reviewed-by: phh
Backport-of: 28e2dea71d
2022-01-28 14:03:21 +07:00
Clive Verghese
34779b1c99 8270317: Large Allocation in CipherSuite
Backport-of: e627caec84
2022-01-28 14:03:19 +07:00
Aleksey Shipilev
62cff8f12c 8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
Reviewed-by: phh
Backport-of: d6bb846159
2022-01-28 14:03:17 +07:00
Bin Liao
13222583b5 8251570: JDK-8215624 causes assert(worker_id < _n_workers) failed: Invalid worker_id
Reviewed-by: rschmelter, clanger
Backport-of: 2631422bc5
2022-01-28 14:03:15 +07:00
Bin Liao
4fd7611118 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-01-28 14:03:14 +07:00
Christoph Langer
898f528afd 8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
Backport-of: 4e18ec26dd
2022-01-28 14:03:12 +07:00
Martin Doerr
9e3843c1b1 8269984: [macos] JTabbedPane title looks like disabled
Reviewed-by: goetz, serb
Backport-of: 8adf008b15
2022-01-28 14:03:11 +07:00
Matthias Baesken
c50be07564 8272316: Wrong Boot JDK help message in 11
Reviewed-by: stuefe
2022-01-28 14:03:09 +07:00
Martin Doerr
9ca4ae3ce5 8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
Backport-of: c0b4407d09
2022-01-28 14:03:07 +07:00
Sergey Nazarkin
18899d30cf 8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
Reviewed-by: phh
Backport-of: 752b6df34c
2022-01-28 14:03:06 +07:00
Vladimir Kempik
cf981e1d3e 8270216: [macOS] Update named used for Java run loop mode
Backport-of: 254600658a
2022-01-28 14:03:04 +07:00
Martin Doerr
3f99c49d82 8251377: [macos11] JTabbedPane selected tab text is barely legible
Reviewed-by: shade
Backport-of: 3f67afd3a8
2022-01-28 14:03:03 +07:00
Martin Doerr
904c7f0590 7179006: [macosx] Print-to-file doesn't work: printing to the default printer instead
Reviewed-by: clanger
Backport-of: ea7c47c1bb
2022-01-28 14:03:01 +07:00
Matthias Baesken
a8add32022 8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify
Backport-of: ea30bd6684
2022-01-28 14:03:00 +07:00
Goetz Lindenmaier
1981359793 8272902: Bump update version for OpenJDK: jdk-11.0.14
Reviewed-by: clanger
2022-01-28 14:02:59 +07:00
Nikita Gubarkov
20507505f8 JBR-2567 Fix max file path buffer size for fontpath.c 2022-01-28 03:57:25 +03:00
Nikita Provotorov
4b28211912 JBR-4207, IDEA-287559 IDEA incorrectly handles AltGr key modifier.
This commit includes only initial cosmetic changes.
2022-01-28 07:19:43 +07:00
Anton Tarasov
ee3c56abdc JBR-4204 provide an option to disable a11y support on macOS 2022-01-26 17:56:07 +03:00
Alexey Ushakov
7d87735e57 JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Removed double allocation of surface data
2022-01-25 15:22:54 +01:00
Maxim Kartashev
abe769be4b fixup! JBR-4118 NIO methods fail on Google Drive's virtual volume 2022-01-25 13:00:35 +03:00
Alexey Ushakov
d9366800c8 JBR-4177 libc++abi: terminating with uncaught exception of type NSException
Added check for AppContext
2022-01-20 23:49:55 +01:00
Anton Tarasov
530055579c JBR-4096 Table scrolling lag in newest JBR 2022-01-20 21:34:32 +03:00
Mikhail Grishchenko
e232a275a5 update the link to JBR for IDEA 2021.3 and 2022.1 2022-01-20 12:46:20 +07:00
Alexey Ushakov
a9f701e43d JBR-4174 java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java fails on mac aarch64
Hide cursor to fix OGL&Metal Robot issue (it reads cursor image). Added tolerance to fix Metal Robot inaccuracy.
2022-01-19 17:44:14 +01:00
Maxim Kartashev
82693aa985 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.
2022-01-19 16:21:02 +03:00
Dmitry Batrak
c040e05703 JBR-4181 JB focus tests failed on macos-12 2022-01-17 16:53:14 +03:00
Alexey Ushakov
69922b5fc7 JBR-4164 IDEs cannot be launched via launch configuration
Moved execution of displayChanged() to EDT
2022-01-14 21:23:15 +01:00
Artem Semenov
1222b870f9 JBR-4167 [JCK] AccassibleJTree tests fail on Ubuntu 2022-01-14 20:38:47 +03:00
Vitaly Provodin
8f7295ecf4 update the link to JBR for IDEA 2021.3.2 Preview 2022-01-14 04:47:23 +07:00
Vitaly Provodin
0e3311fb0d exclude java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java on Fedora & ArchLinux due to JBR-3572 2022-01-14 03:46:50 +07:00
Dmitry Batrak
63331307cc JBR-4171 Unexpected workspace switching when using Chinese input method in project view on macOS
backport JDK-8272806 fix from OpenJDK
2022-01-13 15:55:52 +03:00
Ivan Lopatin
60b03db8e1 JBR-4095: Fixed monitors bounds 2022-01-13 06:04:39 +07:00
Nikita Gubarkov
00c017e76c JBR API v1.0.1
Fixed NPE in JBRFileDialog
2022-01-11 01:59:48 +03:00
Alexey Ushakov
1f4335b593 JBR-3044 Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.sh fails on macOS BigSur (11.1 aarch64 and 11.2 x64)
Disable the test on mac (there is no way to enable LCD)
2022-01-02 11:56:45 +01:00
Vitaly Provodin
c990539381 exclude com/sun/jdi/PrivateTransportTest.java due to 8279326 on macosx-all (macOS 12.X)
make the list of jdi tests correct
2021-12-30 15:15:22 +07:00
Vitaly Provodin
2c5fe51987 exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java due to 8266283 on ArchLinux 2021-12-30 15:15:22 +07:00
Alexey Ushakov
5f459e639f JBR-4150 IDE regularly locks up at sun.lwawt.macosx.LWCToolkit.getScreenInsets
Restored caching screen insets. Added handling of dock resize.
2021-12-29 17:13:09 +01:00
Artem Semenov
55cabbd75d JBR-3406 Hang/crash when navigating or stepping through code (AWT accessibility / Talon related) 2021-12-29 11:14:44 +03:00
Maxim Kartashev
6e51cdd0ca JBR-4147 Some nio tests failed due to Watch Service native implementation
1. jdk/nio/zipfs/Basic.java requires an explicit permission to open
   the nio library, which it now loads because of the call to
   FileSystems.getDefault().newWatchService().

2. Terminate the run loop explicitly with CFRunLoopStop()
   in case it's stuck in CFRunLoopRun() at the time of WatchService.close().

3. catch IOException when building the directory snapshot; but if
   the exception occurred for the watch root, report it as we may
   have nothing to watch anymore and the user has to know that.
2021-12-28 19:56:02 +03:00
Dmitry Batrak
9cc82c39d9 JBR-2907 [JCK] Font.equals(Font) returns false after serialization/deserialization 2021-12-25 00:17:55 +03:00
Vitaly Provodin
d8128299f9 exclude java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java on Wayland configs due to 8279256 2021-12-24 20:05:58 +07:00
Vitaly Provodin
394d9f1b3d exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java on Scale2 configs due to 8279190 2021-12-24 19:54:04 +07:00
Vitaly Provodin
7d4ba1005a add exclude list for Scale2 test runs 2021-12-24 19:53:28 +07:00
Vitaly Provodin
44068739c9 add exclude list for Wayland failures 2021-12-24 19:02:08 +07:00
Vitaly Provodin
09cf241458 exclude sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java on windows due to 8144029 2021-12-24 18:55:21 +07:00
Aleksandr Veselov
094719bd90 JBR-4141 Access Bridge: Wrong frame position and hit test result on HiDPI display 2021-12-23 19:13:29 +03:00
Maxim Kartashev
3d23e8d6a5 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.
2021-12-23 10:26:21 +03:00
Sergey Bylokhov
43f468fa6c JBR-4142 8275843: Random crashes while the UI code is executed
Reviewed-by: azvegint
(cherry picked from commit a9c1acbb8a)
2021-12-22 20:35:24 +03:00
Nikita Provotorov
371990083c 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.
2021-12-22 06:35:36 +07:00
Dmitry Batrak
685562aafc JBR-4131 Popup doesn't get focus if created from context menu 2021-12-20 21:29:05 +03:00
Mikhail Grishchenko
713b3c1006 update the link to JBR for IDEA 2021.3 EAP 2021-12-16 21:36:42 +07:00
Nikita Gubarkov
492348be4f JBR API v1.0.0 2021-12-16 12:36:15 +03:00
Nikita Gubarkov
b83674a956 JBR API v0.0.1
Added constant extraction to JBR API

Added file dialog customization via JBR API & fixed bugs in windows common item dialog
2021-12-15 15:41:18 +03:00
Dmitry Batrak
09c2d5fd74 JBR-4117 HBShaper.c cleanup 2021-12-14 17:17:11 +03:00
Dmitry Batrak
d8d4c55a61 JBR-4113 java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java fails by time out on macOS 2021-12-14 16:30:11 +03:00
Dmitry Batrak
755a231799 JBR-741 Modal dialog stays above other process windows. 2021-12-13 13:02:21 +03:00
Dmitry Batrak
c785b3de0e JBR-4114 Rollback JBR-10 fix 2021-12-13 12:21:14 +03:00
Anton Tarasov
761239703b JBR-4107 A11y: macOS - wrong frame position if window is not on primary screen 2021-12-10 17:59:30 +03:00
Vitaly Provodin
c75d75b84d JBR-4081 enable java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java for regular runs 2021-12-10 07:07:07 +07:00
Anton Tarasov
59dde04f10 JBR-4081 VO: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java crashes JBR at # V [libjvm.dylib+0x51d192] LinkResolver::resolve_invokeinterface 2021-12-09 18:43:49 +03:00
Vitaly Provodin
730e5d9e01 JBR-3756 remove JNF from mac-aarch64 binaries 2021-12-07 15:19:02 +07:00
Dmitry Batrak
4fde082d53 JBR-4084 Default font '. AppleSystemUIFont' does not have bold weight on Chinese characters 2021-12-06 19:06:29 +03:00
Vitaly.Provodin
a953db1c0e JBR-4081 excludes java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java from VO regular runs on macOS 2021-12-05 05:40:36 +07:00
Dmitry Batrak
a155760e94 JBR-4072 Migrate font fallback implementation on macOS to cascade lists 2021-12-03 16:02:54 +03:00
Artem Semenov
51dc9aeb99 JBR-4012 On Idea Vo often speeks selected element of tables, lists, and trees 2021-12-01 20:37:28 +03:00
Martin Doerr
d69eac67d5 8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error
Backport-of: f4b3ee5dca

(cherry picked from commit 777ec9b757)
2021-11-29 15:22:29 +07:00
Dmitry Batrak
2a398ebb24 JBR-4021 Unexpected focus event order on window showing 2021-11-24 09:22:26 +03:00
Nikita Gubarkov
9e959b0043 JBR-4017 Open com.jetbrains.bootstrap package only for reflection 2021-11-23 11:24:21 +03:00
Vitaly Provodin
653123737c update the link to JBR for IDEA 2021.2.4 2021-11-23 10:03:30 +07:00
Ivan Lopatin
3c34696d27 IDEA-229577: Marked i3wm as GravityBuggy 2021-11-22 21:16:03 +07:00
Maxim Kartashev
aa0b61cb75 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.
2021-11-19 09:27:49 +03:00
Dmitry Batrak
1002eff4f3 JBR-4007 [JCK] javax.swing.text.GlyphView.calcBreakSpots method breaks public API 2021-11-16 19:48:56 +03:00
Dmitry Batrak
f20a3d8679 JBR-4006 [JCK] javax.swing.text.html.CSS$Attribute.OVERFLOW_WRAP field breaks public API 2021-11-16 19:01:03 +03:00
Dmitry Batrak
961e036158 JBR-4005 [JCK] java.awt.Font.LAYOUT_NO_PAIRED_CHARS_AT_SCRIPT_SPLIT field breaks public API 2021-11-16 16:38:56 +03:00
Dmitry Batrak
cafb374afc JBR-3989 Broken focus state after a quick succession of activation/deactivation events on Windows 2021-11-15 15:47:11 +03:00
Vitaly Provodin
32def2fd42 JBR-3931 add the module jdk.unsupported.desktop into jbr 2021-11-12 05:37:10 +07:00
Alexey Ushakov
224f78ca62 JBR-3954 Transparent text color rendering (needed for experimental UI)
Performed conversion from ARGB_PRE to ARGB in the grayscale text shader
2021-11-11 19:40:35 +01:00
Nikita Gubarkov
b775b37bd3 JBR-3982 Fixed non-antialiased text rendering on macOS 2021-11-11 01:11:19 +03:00
Artem Semenov
bd366e24b1 JBR-3868 Combobox list is not voiced of VoiceOver 2021-11-10 22:15:09 +03:00
Dmitry Batrak
25e087d269 JBR-3979 Focus is not transferred to parent window 2021-11-10 19:52:00 +03:00
Mikhail Grishchenko
23bf121a1e update the link to JBR for IDEA 2021.3 EAP 2021-11-10 14:08:16 +07:00
Vitaly Provodin
b224bef5a3 JBR-3973 provide macos-x64 build with Shenandoah GC 2021-11-09 15:02:57 +07:00
Nikita Gubarkov
d0600837ed JBR-3951 JBR-2917 Generate native pixel format constants from StrikeCache.java 2021-11-09 02:07:43 +03:00
Nikita Gubarkov
77be5ba45f JBR-3951 JBR-2917 Add constants for glyph pixel formats 2021-11-08 15:00:22 +03:00
Ivan Lopatin
4af628cefe JBR-2687: Fixed problems with maximizing to a new screen 2021-11-08 17:15:50 +07:00
Nikita Gubarkov
d7b9b249f3 JBR-2917 select glyph rendering loop depending on actual glyph format instead of antialiasing mode 2021-11-04 07:41:38 +03:00
Nikita Gubarkov
6b3172e632 JBR-2917 disable GDI rendering on Windows for colored fonts 2021-11-04 07:38:46 +03:00
Nikita Gubarkov
1833e198ef JBR-3951 Pass real glyph type from native code instead of guessing it by rowBytes & width 2021-11-03 17:11:31 +03:00
Vitaly Provodin
aeaf8a9ce5 exclude javax/swing/JComboBox/8032878/bug8032878.java failing on Windows because of JDK-8196092, JDK-8196439 2021-11-03 12:15:54 +07:00
Vitaly Provodin
bff0bbf317 exclude javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java failing because of JDK-8272105 2021-11-03 11:44:53 +07:00
Vitaly Provodin
b83787b6ee exclude java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java failing because of JDK-8266059 on macosx 2021-11-03 11:35:42 +07:00
Vitaly Provodin
a9f8f8fc00 exclude tests failing because of JDK-8233568 on macosx 2021-11-03 11:29:55 +07:00
Vitaly Provodin
0a64776695 exclude java/awt/Frame/MiscUndecorated/RepaintTest.java failing on macosx-aarch64 because of JDK-8266244 2021-11-03 06:46:44 +07:00
Nikita Gubarkov
ddf5342684 JBR-2917 Added emoji support for Windows 2021-11-02 21:42:33 +03:00
Nikita Gubarkov
ff285c76f5 JBR-3915 Fix comment about subpixel glyph resolution in freetype implementation 2021-11-02 21:39:14 +03:00
Anton Tarasov
15d208c03f JBR-3946 JavaTableRowAccessibility accessibilityChildren leaks children array 2021-11-02 17:56:42 +03:00
Anton Tarasov
41c4c334d9 JBR-3936 increase ogl blit tile size to achieve better performance 2021-11-02 13:39:22 +03:00
Vitaly Provodin
5f1b8b5ab9 JBR-3937 Fix crashes in C1/C2 compilers
& JBR-3938 - fix race condition in anonymous class loading
2021-11-02 17:36:11 +07:00
Vitaly Provodin
80217db8d0 update the link to JBR for IDEA 2021.3 EAP 2021-11-02 08:57:42 +07:00
Ivan Lopatin
0e16e8140d JBR-3388: Fixed wrong graphic config in Component on primary display change 2021-11-01 19:22:16 +07:00
Pavel
c0e26ff5d5 JBR-3926 make AwtComponent transparent for hit events by default
* JBR-3926 make AwtComponent transparent for hit events by default

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

Prior to (repeatedly) checking for NET_FRAME_EXTENTS property of a
window, check that the property is supported by the window manager.
2021-10-28 19:27:46 +03:00
Vitaly Provodin
8b06568f22 Merge pull request #93
Update 11.0.13
2021-10-28 05:53:37 +07:00
Artem Bochkarev
0ed1c1c58f Revert "JBR-3575: initial support for new screen menu implementation"
This reverts commit 233bc5fa55.
2021-10-27 19:15:04 +07:00
Artem Bochkarev
53b91d9ee8 Revert "JBR-3575: don't install screen menu via _AppMenuBarHandler.java"
This reverts commit 3c912178f8.
2021-10-27 19:14:58 +07:00
Maxim Kartashev
0b53cd291f JBR-3623 SIGSEGV at [libawt_xawt] Java_sun_awt_X11GraphicsDevice_getConfigColormap
This fix addresses two possible causes of crashes:
1. makeDefaultConfig() returning NULL. The fix is to die gracefully
instead of crashing in an attempt to de-reference the NULL pointer.

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

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

The fix is to eliminate the race by protecting X11GraphisDevice.screen
with the AWT lock.
2021-10-27 10:52:27 +03:00
Nikita Gubarkov
324e8a273d JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (macOS) 2021-10-27 02:16:58 +03:00
Alexey Ushakov
52770703ef JBR-3918 JBR11 does not compile with 12.5.1
Corrected a11y code
2021-10-26 23:53:04 +02:00
Artem Bochkarev
5e0e4153dc JBR-3918 JBR11 does not compile with 12.5.1
Backported following fixes:
JBR-2562: fixed invokation of parent method

(cherry picked from commit 93cbab2f2d)

JBR-2562: suppress exceptions from [NSWindow _changeJustMain]

temporary workaround to prevent crashes

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

Reviewed-by: prr, azvegint
(cherry picked from commit dedddd5ab2)
2021-10-26 18:18:58 +02:00
Alexander Lobas
56c8c9ae5f JBR-3918 JBR11 does not compile with 12.5.1
Use @available check to avoid compiler warnings
2021-10-26 18:07:34 +02:00
Sergey Bylokhov
3f1b524181 JBR-3114 Deadlock in CGraphicsEnvironment.initDevices
Backport upstream fix:
8252133: The java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java fails if metal pipeline is active
2021-10-26 17:44:47 +02:00
Maxim Kartashev
dc6ad31524 JBR-3916 Deadlock in pGetBounds() on Linux
The deadlock occurred because one thread was holding the AWT lock and
waiting for boundsCacheLock in resetBoundsCache() and the other vice
versa stuck in pGetBounds() owning boundsCacheLock and waiting for the
AWT lock.

The solution is to get rid of boundsCacheLock altogether. It was
introduced in order to never return null from getBoundsCached() so that
resetBoundsCache() wouldn't interfere. But the same effect can be
achieved by simply using a local variable to hold a copy of the current
bounds. The worst case scenario now is that two threads update
boundsCached immediately one after another (if they both have observed
the null value there at about the same time), but that's harmless as
pGetBounds() grabs the AWT lock when necessary.
2021-10-26 18:29:44 +03:00
Dmitry Batrak
a943b850ef log one more focus-related call (for JBR-2696) 2021-10-25 21:03:28 +03:00
Vitaly Provodin
8ea8b95a5a JBR-3905 add incremental JBR building 2021-10-25 07:40:16 +07:00
Vitaly Provodin
8aed05eb0f include TCKDateTimeFormatterBuilder test into regular runs after fixing JBR-2842 2021-10-23 08:25:19 +07:00
Vitaly Provodin
08f2d873cb include a11y test into regular runs after fixing JBR-3730 & JBR-3733 2021-10-23 08:24:12 +07:00
Vitaly Provodin
e2bc78646b add javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java into Commit testing 2021-10-22 19:30:55 +07:00
Mikhail Grishchenko
9b18b6db07 JBR-410 add golden emoji for Linux x64 2021-10-22 13:46:09 +07:00
Christoph Langer
e148413b18 8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos
Backport-of: 823d1d222f
(cherry picked from commit b3926db99e)
2021-10-22 13:45:47 +07:00
Sergey Bylokhov
4f0e658af6 JBR-3693 Backport fix for 8272966 to jbr11
(cherry picked from commit 180bc526b0)
2021-10-22 13:45:45 +07:00
Maxim Kartashev
7cdc3d261d JBR-3862 Implement native WatchService on MacOS
The watch service is based on FSEvents API that notifies about file
system changes at a directory level. It is possible to go back to
using the old polling watch service with -Dwatch.service.polling=true.

Features include:
- support for FILE_TREE option (recursive directory watching),
- minimum necessary I/O (no filesystem access more than once
  unless needed),
- one thread ("run loop") per WatchService instance,
- changes are detected by comparing file modification times with
  millisecond precision,
- a directory tree snapshot is taken at the time of WatchKey creation
  and can take a long time (proportional to the number of files).
2021-10-21 15:43:44 +03:00
Vitaly Provodin
3cb1ff0420 update the link to JBR for IDEA 2021.3 EAP 2021-10-21 15:23:04 +07:00
Vitaly Provodin
ebb7e5b243 update the link to JBR for IDEA 2021.3 EAP 2021-10-21 11:34:03 +07:00
Vitaly Provodin
20e0bd6fe8 JBR-3887 fix M1 dcevm SIGBUS crash by using correct var arg processing 2021-10-21 05:13:47 +07:00
Martin Balao
bbe3fec093 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Reviewed-by: mbaesken
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
2021-10-20 19:02:49 +03:00
Martin Balao
f9a56f61ef 8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail
Backport-of: cd020a13c9
2021-10-20 19:02:48 +03:00
Martin Balao
619bab5b02 8157404: Unable to read certain PKCS12 keystores from SequenceInputStream
Backport-of: e0f37c15e4
2021-10-20 19:02:48 +03:00
Clive Verghese
e072eaa78d 8268199: Correct certificate requests
Reviewed-by: yan
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
2021-10-20 19:02:48 +03:00
Alexey Bakhtin
e7288787fe 8267712: Better LDAP reference processing
Reviewed-by: mbaesken, mbalao
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
2021-10-20 19:02:47 +03:00
Martin Balao
542846c726 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
2021-10-20 19:02:47 +03:00
Andrew Brygin
f36936e6ca 8267735: Better BMP support
Reviewed-by: mbalao
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
2021-10-20 19:02:47 +03:00
Aleksei Voitylov
bce4848e35 8270404: Better canonicalization
Reviewed-by: mbaesken
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
2021-10-20 19:02:46 +03:00
Aleksei Voitylov
b2f452cc12 8270398: Enhance canonicalization
Reviewed-by: mbaesken
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
2021-10-20 19:02:46 +03:00
Yuri Nesterenko
40be42ee97 8266115: More Manifest Jar Loading
Reviewed-by: mbaesken, mbalao
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
2021-10-20 19:02:46 +03:00
Clive Verghese
f996257654 8269618: Better session identification
Reviewed-by: mbaesken
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
2021-10-20 19:02:46 +03:00
Martin Balao
530cffe1d2 8267729: Improve TLS client handshaking
Reviewed-by: mbaesken
Backport-of: 8e4cbf7fd373c5886be1980bed4fa9cd9045f893
2021-10-20 19:02:45 +03:00
Martin Balao
c06f606aec 8269624: Enhance method selection support
Reviewed-by: mbaesken, mdoerr
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
2021-10-20 19:02:45 +03:00
Sergey Bylokhov
477f037983 8269763: The JEditorPane is blank after JDK-8265167
Reviewed-by: mbalao
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
2021-10-20 19:02:45 +03:00
Sergey Bylokhov
f2f987e0a9 8265167: Richer Text Editors
Reviewed-by: mbalao
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
2021-10-20 19:02:44 +03:00
Martin Balao
f948178daa 8263314: Enhance XML Dsig modes
Reviewed-by: mbaesken
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
2021-10-20 19:02:44 +03:00
Clive Verghese
04957e59cd 8268205: Enhance DTLS client handshake
Reviewed-by: yan, mbalao
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
2021-10-20 19:02:44 +03:00
Clive Verghese
5373b3b10a 8268193: Improve requests of certificates
Reviewed-by: yan, mbalao
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
2021-10-20 19:02:43 +03:00
Martin Balao
9ab7ec0539 8266103: Better specified spec values
Reviewed-by: mbaesken
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
2021-10-20 19:02:43 +03:00
Yuri Nesterenko
ea43cdf94b 8266137: Improve Keystore integrity
Reviewed-by: mbaesken, mbalao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
2021-10-20 19:02:43 +03:00
Yuri Nesterenko
9d09f2c707 8266097: Better hashing support
Reviewed-by: mbaesken, mbalao
Backport-of: 35c00175d8fba3fdae4f0bd31e3b416f52fb2283
2021-10-20 19:02:42 +03:00
Martin Balao
c881afa130 8265580: Enhanced style for RTF kit
Reviewed-by: mbaesken
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
2021-10-20 19:02:42 +03:00
Yuri Nesterenko
0fa7274198 8268506: More Manifest Digests
Reviewed-by: mbaesken
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
2021-10-20 19:02:42 +03:00
Yuri Nesterenko
8dad20e8e4 8266109: More Resilient Classloading
Reviewed-by: mbaesken, mbalao
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
2021-10-20 19:02:41 +03:00
Aleksei Voitylov
c4ed5ccdab 8265776: Improve Stream handling for SSL
Reviewed-by: yan, mbalao
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
2021-10-20 19:02:41 +03:00
Sergey Bylokhov
ab4f271c29 8265574: Improve handling of sheets
Reviewed-by: mbaesken
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
2021-10-20 19:02:41 +03:00
Christoph Langer
720ef332b4 8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration
NetworkConfiguration updated to skip interfaces that have only IPv6 link local addresses.

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

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

Backport-of: 5eef59d22d
2021-10-20 19:02:24 +03:00
Aleksey Shipilev
57c9a31852 8246261: TCKLocalTime.java failed due to "AssertionError: expected [18:14:22] but found [18:14:23]"
Backport-of: d347d2ebf9
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
f33ec7e550 8213235: java/nio/channels/SocketChannel/AsyncCloseChannel.java fails with threads that didn't exit
8213576: Make test AsyncCloseChannel.java run in othervm

Reviewed-by: phh
Backport-of: a6f0e10fe8
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
32aea3718a 8216532: tools/launcher/Test7029048.java fails (Solaris)
Backport-of: be44ced10a
2021-10-20 19:02:23 +03:00
Aleksey Shipilev
54010e6f77 8210934: Move sun/net/www/protocol/http/GetErrorStream.java to OpenJDK
Repalce internet website dependency with a built-in http server

Backport-of: 3edf95fc44
2021-10-20 19:02:22 +03:00
Aleksey Shipilev
0aadfe1b2a 8210669: Some launcher tests assume a pre-JDK 9 run-time image layout
Backport-of: 6bc30c6707
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
243d2c8ff9 8258703: Incorrect 512-bit vector registers restore on x86_32
Backport-of: 216c2ec077
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
2dd3859caa 8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException
Backport-of: fab6158c19
2021-10-20 19:02:21 +03:00
Aleksey Shipilev
ae8eef47e9 8251361: Potential race between Logger configuration and GCs in HttpURLConWithProxy test
Keep a static reference to the logger to prevent its inadvertent garbage collection while the test is running.

Backport-of: ed5696dd2c
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
87aac49db1 8213694: Test Timeout.java should run in othervm mode
Backport-of: 1b20a6781f
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
279c7fa0a6 8252194: Add automated test for fix done in JDK-8218469
Backport-of: 1ae6b533fb
2021-10-20 19:02:20 +03:00
Aleksey Shipilev
9e99f69534 8251252: Add automated testcase for fix done in JDK-8214253
Backport-of: b6c861f9f8
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
4188b23289 8252825: Add automated test for fix done in JDK-8218479
Backport-of: 55c7e769c8
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
b4d4e47bd1 8251254: Add automated test for fix done in JDK-8218472
Backport-of: 8bf5b1d18b
2021-10-20 19:02:19 +03:00
Aleksey Shipilev
5024eb818d 8251166: Add automated testcases for changes done in JDK-8214112
Backport-of: a0d6a8a174
2021-10-20 19:02:18 +03:00
Aleksey Shipilev
d0d680bafe 8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java
Backport-of: 389a110e56
2021-10-20 19:02:18 +03:00
Martin Balao
dedb47108a 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
2021-10-20 19:02:18 +03:00
Aleksey Shipilev
a8a1b3c42d 8246387: switch to jtreg 5.1
8238943: switch to jtreg 5.0
8235866: bump jtreg requiredVersion to 4.2b16
8219552: bump jtreg requiredVersion to b14 in test/jdk/sanity/client/
8219417: bump jtreg requiredVersion to b14
8236111: narrow allowSmartActionArgs disabling

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

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

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

Reviewed-by: shade
Backport-of: 0f4e07b7d9
2021-10-20 19:02:06 +03:00
Christoph Langer
aeb1c883ce 8267666: Add option to jcmd GC.heap_dump to use existing file
Reviewed-by: rschmelter, goetz, stuefe
Backport-of: 7cbb67a3f8
2021-10-20 19:02:05 +03:00
Martin Doerr
041b0feaba 8259535: ECDSA SignatureValue do not always have the specified length
Reviewed-by: mbaesken
Backport-of: a4c249610e
2021-10-20 19:02:05 +03:00
Martin Doerr
64ec3f718a 8235211: serviceability/attach/RemovingUnixDomainSocketTest.java fails with AttachNotSupportedException: Unable to open socket file
8244973: serviceability/attach/RemovingUnixDomainSocketTest.java fails "stderr was not empty"

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

Backport-of: 69d01b6bca
2021-10-20 19:01:59 +03:00
Aleksey Shipilev
d95c16fa82 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE
Backport-of: a14f02d8e5
2021-10-20 19:01:58 +03:00
Aleksey Shipilev
9b7927c125 8217825: Verify @AfterTest is used correctly in WebSocket tests
Remove @AfterTest tags; added in explicit closing of resources e.g. httpServer, webSocket, etc

Backport-of: 11d43732bc
2021-10-20 19:01:58 +03:00
Aleksey Shipilev
86d2196175 8249773: Upgrade ReceiveISA.java test to be resilient to failure due to stray packets and interference
This fix upgrades java/nio/channels/DatagramChannel/ReceiveISA.java so it can handle interference from stray packets.

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

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

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

Backport-of: 78accb5602
2021-10-20 19:01:44 +03:00
Paul Hohensee
a8e3d0fc46 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5
Backport-of: dedddd5ab2
2021-10-20 19:01:44 +03:00
Severin Gehwolf
4b632d4ffe 8024368: private methods are allocated vtable indices
Stop allocating vtable slots for  private methods

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

Reviewed-by: clanger
Backport-of: c0d51dc514
2021-10-20 19:01:39 +03:00
Denghui Dong
f15a892f5d 8266642: Improve ResolvedMethodTable hash function
Backport-of: 83b3607290
2021-10-20 19:01:39 +03:00
Vladimir Kempik
232aa679f7 8261652: Remove some dead comments from os_bsd_x86
Reviewed-by: phh
Backport-of: 28163a9e98
2021-10-20 19:01:39 +03:00
Zhengyu Gu
4cb15a6983 8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821
Reviewed-by: phh
Backport-of: d1b28e7ad0
2021-10-20 19:01:38 +03:00
Goetz Lindenmaier
4ba47da3b9 8267695: Bump update version for OpenJDK: jdk-11.0.13
Reviewed-by: sgehwolf, erikj
2021-10-20 19:01:38 +03:00
Vladimir Kempik
a19b9a51bc 8273939: Backport of 8248414 to JDK11 breaks MacroAssembler::adrp
changes applied earlier under "ZULU-18387: zulu_macarm crashes in C1 when working with above 32-bit memory regions" (d2cadcef11)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: I8de047c8fc241dbab9ad57c5e361118a3a94893d

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

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

* Performance is about 40% faster

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

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

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

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

Change-Id: Id79d89d477a6d5dcf151c63a9d6072c6f7ef43b2

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

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

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

Reviewed-by: phh, simonis
Backport-of: eac28d7fae
2021-09-07 17:45:21 +03:00
Adam Farley
76647e1edf 8267773: PhaseStringOpts::int_stringSize doesn't handle min_jint correctly
Backport-of: d47a77d2d5
2021-09-07 16:30:14 +03:00
Roland Westrelin
92f67861bb 8266615: C2 incorrectly folds subtype checks involving an interface array
Backport-of: ce88b33488
2021-09-07 16:30:14 +03:00
Maxim Kartashev
13a904ddb5 JBR-2273 JBR musl port
Detect if we're running on a musl-based system by checking for the presence
of the libgcompat.so glibc compatibility library in the process' map.
If so, java is re-started with LD_LIBRARY_PATH set to point to the right
directory with libjvm.so. This works around the problem with the musl
dynamic library loader.
2021-09-07 12:08:02 +03:00
Vitaly Provodin
3fd8325932 update the link to JBR build targeted for 212.5284 2021.2.2 RC 2021-09-07 08:34:53 +07:00
Maxim Kartashev
7fe2bec657 fixup! JBR-3712 Add project creation instructions to JBR README 2021-09-04 18:02:10 +03:00
Alexey Ushakov
a2e23e49ba Added support for otf into the build scripts. Updated prebuild maps. 2021-09-04 16:35:09 +02:00
Konstantin Bulenkov
52169d7c56 bundle Inter font 2021-09-04 16:27:14 +02:00
Nikita Gubarkov
9a23638660 JBR-3638 Remove check for greyscale/non-antialiased mode in CStrike#getGlyphImageBounds 2021-09-03 18:02:09 +03:00
Artem Bochkarev
a08c2a715b JBR-3715: partial cherry-pick of PR "Windows AArch64 Support"
implemented correct r18 usage
fixed JBR-3715
patch from V.Kempik
2021-09-03 12:44:37 +03:00
Artem Bochkarev
ba7eef6063 JBR-3715: revert "ZULU-17387: Port X18 exclusion patch from win_aarch64 jep"
patch from V.Kempik
2021-09-03 12:44:35 +03:00
Nikita Gubarkov
42a6fefec9 JBR-3638 Adjust subpixel glyph positions for correct rounding in CStrike#getGlyphImageBounds 2021-09-03 01:46:32 +03:00
Maxim Kartashev
770b4dc9c1 fixup! JBR-3664 Logging for communications with X server 2021-09-01 06:52:29 -07:00
Artem Semenov
70015b02b4 JBR-3724 : macOS: SIGSEGV at [libjvm.dylib+0x3fc074] jni_CallStaticObjectMethod / +[JavaComponentAccessibility childrenOfParent:withEnv:withChildrenCode:allowIgnored:recursive:] 2021-09-01 16:30:50 +03:00
Dmitry Batrak
d9baf2d9db JBR-3726 Modal windows 'disappear' on minimize in KDE 2021-09-01 16:09:09 +03:00
Maxim Kartashev
410f39e6b6 JBR-3665 Typing is slow in remote X session
Only call XGetKeyboardMapping() once for all valid codes and cache the
resulting table. Use the cache on the subsequent calls to
keycodeToKeysym().
2021-09-01 04:12:48 -07:00
Artem Semenov
55c69787cf JBR-3722 : macOS: SIGSEGV at [libjvm] _ZN14AccessInternal19PostRuntimeDispatchIN12G1BarrierSet13AccessBarrierILy1097844ES1_EELNS_11BarrierTypeE2ELy1097844EE18oop_access_barrierEPv 2021-09-01 14:02:57 +03:00
Maxim Kartashev
792a58ea0e JBR-3664 Logging for communications with X server
Introduced logging controlled with -Dsun.awt.x11.trace.
Currently, only looks at the AWT lock and reports methods holding it
sorted by average hold time.
2021-09-01 00:36:11 -07:00
Vitaly Provodin
5be30023b9 exclude sun/security/tools/keytool/ListKeychainStore.sh due to 8156889 2021-09-01 06:00:25 +07:00
Vitaly Provodin
bc866184ee include tests into regular testing
java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html into Commit testing
java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java into Full testing
2021-09-01 06:00:25 +07:00
Maxim Kartashev
0a81e49d9e 8269223: -Xcheck:jni WARNINGs working with fonts on Linux
Reviewed-by: prr, serb

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

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

1
.gitattributes vendored Normal file
View File

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

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

File diff suppressed because it is too large Load Diff

1
.gitignore vendored
View File

@@ -6,7 +6,6 @@ JTreport
.idea/modules.xml
.idea/shelf/
JetBrainsRuntime.iml
build/
# Project exclude paths
/jb/project/java-gradle/.gradle/
/build/

18
.hgtags
View File

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

View File

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

View File

@@ -1,84 +1,7 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# How JetBrains Runtime is organised
## Workspaces
# Welcome to JetBrains Runtime!
<a name="jetbrains-runtime"></a>
[github.com/JetBrains/JetBrainsRuntime](https://github.com/JetBrains/JetBrainsRuntime)
## Getting sources
__macOS, Linux:__
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
__Windows:__
```
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.
## Linux (Docker)
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
$ 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)
```
$ 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)
From 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
```
First command will set env vars, the second will run Cygwin shell with 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
```
## macOS
Install Xcode command line developer tools, autoconf (via Homebrew).
Run:
```
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/
Do not use this branch. It is [outdated](https://youtrack.jetbrains.com/issue/JBR-4375/New-branch-naming-policy-in-JBR-repo).
Please use [jbr11](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr11) instead.

View File

@@ -93,12 +93,10 @@
<li><a href="#getting-help">Getting Help</a></li>
</ul></li>
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
<li><a href="#setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</a></li>
<li><a href="#bash-completion">Bash Completion</a></li>
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
<li><a href="#handling-reconfigurations">Handling Reconfigurations</a></li>
<li><a href="#using-fine-grained-make-targets">Using Fine-Grained Make Targets</a></li>
<li><a href="#learn-about-mercurial">Learn About Mercurial</a></li>
</ul></li>
<li><a href="#understanding-the-build-system">Understanding the Build System</a><ul>
<li><a href="#configurations">Configurations</a></li>
@@ -112,10 +110,10 @@
</ul>
</nav>
<h2 id="tldr-instructions-for-the-impatient">TL;DR (Instructions for the Impatient)</h2>
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Mercurial (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Git (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
<ol type="1">
<li><p><a href="#getting-the-source-code">Get the complete source code</a>:<br />
<code>hg clone http://hg.openjdk.java.net/jdk/jdk</code></p></li>
<code>git clone https://git.openjdk.java.net/jdk/</code></p></li>
<li><p><a href="#running-configure">Run configure</a>:<br />
<code>bash configure</code></p>
<p>If <code>configure</code> fails due to missing dependencies (to either the <a href="#native-compiler-toolchain-requirements">toolchain</a>, <a href="#build-tools-requirements">build tools</a>, <a href="#external-library-requirements">external libraries</a> or the <a href="#boot-jdk-requirements">boot JDK</a>), most of the time it prints a suggestion on how to resolve the situation on your platform. Follow the instructions, and try running <code>bash configure</code> again.</p></li>
@@ -131,8 +129,8 @@
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<h2 id="getting-the-source-code">Getting the Source Code</h2>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner's Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="https://git.openjdk.java.net/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>If you are new to Git, a good place to start is the book <a href="https://git-scm.com/book/en/v2">Pro Git</a>. The rest of this document assumes a working knowledge of Git.</p>
<h3 id="special-considerations">Special Considerations</h3>
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
<ul>
@@ -143,7 +141,11 @@
<ul>
<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it's children will inherit those attributes.</p></li>
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
<li><p>Clone the JDK repository using the Cygwin command line <code>hg</code> client as instructed in this document. That is, do <em>not</em> use another Mercurial client such as TortoiseHg.</p></li>
<li><p>You need to install a git client. You have two choices, Cygwin git or Git for Windows. Unfortunately there are pros and cons with each choice.</p>
<ul>
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
<li><p>The <a href="https://gitforwindows.org">Git for Windows</a> client has issues with line endings, and do not understand Cygwin paths. It does work well with the Skara CLI tooling, however. To alleviate the line ending problems, make sure you set <code>core.autocrlf</code> to <code>false</code> (this is asked during installation).</p></li>
</ul></li>
</ul>
<p>Failure to follow this procedure might result in hard-to-debug build problems.</p></li>
</ul>
@@ -193,7 +195,7 @@
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
<p><strong>Note:</strong> Cygwin has a model of continuously updating all packages without any easy way to install or revert to a specific version of a package. This means that whenever you add or update a package in Cygwin, you might (inadvertently) update tools that are used by the JDK build process, and that can cause unexpected build problems.</p>
@@ -355,7 +357,7 @@ cc: Sun C 5.13 SunOS_i386 2014/10/20
$ CC -V
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2017. Versions older than 2017 are unlikely to continue working for long.</p>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
@@ -577,27 +579,27 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Supported devkit targets</th>
<th>Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86_64-linux-gnu</td>
<td>x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64-linux-gnu</td>
<td>ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc64le-linux-gnu</td>
<td>ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
@@ -684,11 +686,24 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</c
<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,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/</code></pre></li>
<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=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
<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>
@@ -700,8 +715,8 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
<th style="text-align: left;">Target</th>
<th style="text-align: left;"><code>CC</code></th>
<th style="text-align: left;"><code>CXX</code></th>
<th style="text-align: left;"><code>--arch=...</code></th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
<th><code>--arch=...</code></th>
<th><code>--openjdk-target=...</code></th>
</tr>
</thead>
<tbody>
@@ -709,36 +724,36 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
<td>i386</td>
<td>i386-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>armhf</td>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>arm64</td>
<td>aarch64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
<td>ppc64el</td>
<td>powerpc64le-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
<td style="text-align: left;">g++-s390x-linux-gnu</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
@@ -789,14 +804,14 @@ ls build/linux-aarch64-normal-server-release/</code></pre></li>
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_psMemoryPool.o:
/localhome/hg/jdk9-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: &#39;failhere&#39; does not name a type
/localhome/git/jdk-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: &#39;failhere&#39; does not name a type
... (rest of output omitted)
* All command lines available in /localhome/hg/jdk9-sandbox/build/linux-x64/make-support/failure-logs.
* All command lines available in /localhome/git/jdk-sandbox/build/linux-x64/make-support/failure-logs.
=== End of repeated output ===
=== Make failed targets repeated here ===
lib/CompileJvm.gmk:207: recipe for target &#39;/localhome/hg/jdk9-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o&#39; failed
lib/CompileJvm.gmk:207: recipe for target &#39;/localhome/git/jdk-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o&#39; failed
make/Main.gmk:263: recipe for target &#39;hotspot-server-libs&#39; failed
=== End of repeated output ===
@@ -819,11 +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>
@@ -832,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>
@@ -852,28 +867,9 @@ cannot create ... Permission denied
spawn failed</code></pre>
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
<h3 id="getting-help">Getting Help</h3>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <script type="text/javascript">
<!--
h='&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#46;&#106;&#x61;&#118;&#x61;&#46;&#110;&#x65;&#116;';a='&#64;';n='&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;';e=n+a+h;
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
// -->
</script><noscript>&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;&#32;&#x61;&#116;&#32;&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#32;&#100;&#x6f;&#116;&#32;&#106;&#x61;&#118;&#x61;&#32;&#100;&#x6f;&#116;&#32;&#110;&#x65;&#116;</noscript>. Please include the relevant parts of the configure and/or build log.</p>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
<p>To help you prepare a proper push path for a Mercurial repository, there exists a useful tool known as <a href="http://openjdk.java.net/projects/code-tools/defpath">defpath</a>. It will help you setup a proper push path for pushing changes to the JDK.</p>
<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here's one way to do this:</p>
<pre><code>cd ~
mkdir hg-ext
cd hg-ext
hg clone http://hg.openjdk.java.net/code-tools/defpath
cat &lt;&lt; EOT &gt;&gt; ~/.hgrc
[extensions]
defpath=~/hg-ext/defpath/defpath.py
EOT</code></pre>
<p>You can now setup a proper push path using:</p>
<pre><code>hg defpath -d -u &lt;your OpenJDK username&gt;</code></pre>
<p>If you also have the <code>trees</code> extension installed in Mercurial, you will automatically get a <code>tdefpath</code> command, which is even more useful. By running <code>hg tdefpath -du &lt;username&gt;</code> in the top repository of your forest, all repos will get setup automatically. This is the recommended usage.</p>
<h3 id="bash-completion">Bash Completion</h3>
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code>&lt;tab&gt;</code> or <code>&lt;tab&gt;&lt;tab&gt;</code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
<p>Make completion will work out of the box, and will complete valid make targets. For instance, typing <code>make jdk-i&lt;tab&gt;</code> will complete to <code>make jdk-image</code>.</p>
@@ -927,14 +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
@@ -1088,23 +1100,39 @@ 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
```
```
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,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/
```
```
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=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
make images
ls build/linux-aarch64-normal-server-release/
```
```
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.
@@ -1261,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 ===
@@ -1358,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
@@ -1393,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
@@ -1450,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
@@ -1624,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

@@ -0,0 +1,39 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM arm64v8/centos:7
# Install the necessary build tools
RUN export DEBIAN_FRONTEND=noninteractive \
export DEBCONF_NONINTERACTIVE_SEEN=true && \
yum -y update && \
yum -y groupinstall \
"Development Tools" && \
yum -y install centos-release-scl && \
yum -y install devtoolset-8 && \
yum -y install \
centos-release-scl-rh \
devtoolset-8 \
which \
autoconf \
git \
file \
make \
libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel \
cups-devel \
fontconfig-devel \
alsa-lib-devel \
unzip \
zip \
&& \
yum -y clean all && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV PATH /opt/rh/devtoolset-8/root/usr/bin:$PATH
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,7 +1,6 @@
FROM i386/ubuntu:xenial
RUN linux32 apt-get update && apt-get install -y --no-install-recommends apt-utils
COPY jbrsdk-11.0.5-b1 /jbrsdk-11.0.5-b1
RUN linux32 apt-get -y install file build-essential zip unzip curl libx11-dev libxext-dev \
libxrender-dev libxrandr-dev libxtst-dev libxt-dev libcups2-dev libasound2-data \
libpng12-0 libasound2 libfreetype6 libfontconfig1-dev libasound2-dev autoconf
libpng12-0 libasound2 libfreetype6 libfontconfig1-dev libasound2-dev autoconf rsync

View File

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

View File

@@ -5,10 +5,21 @@ VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${buil
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jbr_diz_name=$2
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} ../../../../dizfiles \; )
(cd dizfiles && find . -print0 | COPYFILE_DISABLE=1 \
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
}
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD modules.list src/java.desktop/share/classes/module-info.java
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi

View File

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

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

@@ -1,86 +1,177 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# 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 bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# 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}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbrsdk-${JBSDK_VERSION}-osx-aarch64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-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 ./jcef_linux_aarch64/modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${JCEF_PATH}/modular-sdk}"
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
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-boot-jdk=${BOOT_JDK} \
$WITH_IMPORT_MODULES \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
--enable-cds=yes || do_exit $?
}
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 $?
make images CONF=linux-aarch64-normal-server-release test-image || 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
cat jb/project/tools/common/modules.list > modules_tmp.list
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=${JBR_BASE_NAME}-linux-aarch64-b${build_number}
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
rsync -av ${JCEF_PATH}/ $BASE_DIR/$JBR_BUNDLE/lib --exclude="modular-sdk" || do_exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating ${JBR}.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
tar -pcf ${JBR}.tar -C ${BASE_DIR} jbr || do_exit $?
gzip -f ${JBR}.tar || do_exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk_${bundle_type}-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
case "$bundle_type" in
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.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_aarch64.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-normal-server-fastdebug
JBSDK=jbrsdk-${JBSDK_VERSION}-linux-aarch64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
if [ -z "$INC_BUILD" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
JSDK=build/${RELEASE_NAME}/images/jdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
BASE_DIR=build/${RELEASE_NAME}/images
if [ "${bundle_type}" == "dcevm" ] || [ "${bundle_type}" == "jcef" ]; then
JBRSDK_BUNDLE=jbrsdk_${bundle_type}
else
JBRSDK_BUNDLE=jbrsdk
fi
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE}
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
rsync -av ${JCEF_PATH}/ $BASE_DIR/$JBRSDK_BUNDLE/lib --exclude="modular-sdk" || do_exit $?
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
tar -pcf ${JBSDK}.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C ${BASE_DIR} ${JBRSDK_BUNDLE} || do_exit $?
gzip -f ${JBSDK}.tar || do_exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
zip_native_debug_symbols ${BASE_DIR}/jdk "${JBSDK}_diz"
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
create_jbr || do_exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
if [ "$bundle_type" == "dcevm" ]; then
make test-image CONF=$RELEASE_NAME || do_exit $?
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=jbrsdk-${JBSDK_VERSION}-linux-test-aarch64-b$build_number
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf ${JBRSDK_TEST}.tar -C ${BASE_DIR} --exclude='test/jdk/demos' test || do_exit $?
gzip -f ${JBRSDK_TEST}.tar || do_exit $?
fi
do_exit 0

View File

@@ -20,20 +20,46 @@
#
# 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
# By default imported modules should be located in ./jcef_linux_x64/modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${JCEF_PATH}/modular-sdk}"
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-boot-jdk=${BOOT_JDK} \
$WITH_IMPORT_MODULES \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
--enable-cds=yes || do_exit $?
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
@@ -46,7 +72,7 @@ function create_jbr {
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}
@@ -70,7 +96,7 @@ function create_jbr {
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JBRSDK_BASE_NAME=jbrsdk_${bundle_type}-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-b${build_number}
@@ -94,26 +120,18 @@ case "$bundle_type" in
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-fastdebug-b${build_number}
JBSDK=jbrsdk-${JBSDK_VERSION}-linux-x64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
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
@@ -121,7 +139,11 @@ echo Fixing permissions
chmod -R a+r $JSDK
BASE_DIR=build/${RELEASE_NAME}/images
JBRSDK_BUNDLE=jbrsdk
if [ "${bundle_type}" == "dcevm" ] || [ "${bundle_type}" == "jcef" ]; then
JBRSDK_BUNDLE=jbrsdk_${bundle_type}
else
JBRSDK_BUNDLE=jbrsdk
fi
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE}
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || do_exit $?
@@ -129,26 +151,27 @@ cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
rsync -av ${JCEF_PATH}/ $BASE_DIR/$JBRSDK_BUNDLE/lib --exclude="modular-sdk" || do_exit $?
fi
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf ${JBSDK}.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C ${BASE_DIR} ${JBRSDK_BUNDLE} || do_exit $?
gzip -f ${JBSDK}.tar || do_exit $?
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf ${JBSDK}.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C ${BASE_DIR} ${JBRSDK_BUNDLE} || do_exit $?
gzip -f ${JBSDK}.tar || do_exit $?
zip_native_debug_symbols ${BASE_DIR}/jdk "${JBSDK}_diz"
create_jbr || do_exit $?
if [ "$bundle_type" == "jcef" ]; then
if [ "$bundle_type" == "dcevm" ]; then
make test-image CONF=$RELEASE_NAME || do_exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
JBRSDK_TEST=jbrsdk-${JBSDK_VERSION}-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf ${JBRSDK_TEST}.tar -C ${BASE_DIR} --exclude='test/jdk/demos' test || do_exit $?
gzip -f ${JBRSDK_TEST}.tar || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -19,6 +19,7 @@
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
BOOT_JDK=${BOOT_JDK:=$(/jbrsdk-11.0.5-b1)}
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
@@ -35,7 +36,8 @@ linux32 bash configure \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-boot-jdk=/jbrsdk-11.0.5-b1 \
--with-boot-jdk=${BOOT_JDK} \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-normal-server-release || exit $?
make images CONF=linux-x86-normal-server-release test-image || exit $?
@@ -58,12 +60,14 @@ mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
zip_native_debug_symbols ${BASE_DIR}/jdk "${JBSDK}_diz"
JBR_BUNDLE=jbr
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 \
@@ -79,4 +83,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

@@ -20,10 +20,20 @@
#
# 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
# By default imported modules should be located in ./jcef_mac/modular-sdk
# 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
@@ -31,17 +41,56 @@ bundle_type=$4
architecture=$5 # aarch64 or x64
enable_aot=$6 # temporary param for building test jre with aot under aarch64
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${JCEF_PATH}/modular-sdk}"
architecture=${architecture:=x64}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 11)}
source jb/project/tools/common.sh
function copyJNF {
__contents_dir=$1
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_ZIPPED_NATIVE_DEBUG_SYMBOLS \
--with-boot-jdk=${BOOT_JDK} \
--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_ZIPPED_NATIVE_DEBUG_SYMBOLS \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || do_exit $?
fi
}
function create_jbr {
JBR_BUNDLE=jbr_${bundle_type}
@@ -57,11 +106,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}
@@ -83,11 +132,6 @@ function create_jbr {
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
rm -rf ${JRE_CONTENTS}/Frameworks || do_exit $?
if [[ "${architecture}" == *aarch64* ]]; then
# we can't notarize this library as usual framework (with headers and tbd-file)
# but single library notarizes correctly
copyJNF ${JRE_CONTENTS}
fi
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -a ${JCEF_PATH}/Frameworks ${JRE_CONTENTS} || do_exit $?
fi
@@ -100,7 +144,7 @@ function create_jbr {
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JBRSDK_BASE_NAME=jbrsdk_${bundle_type}-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
CONF_ARCHITECTURE=x86_64
if [[ "${architecture}" == *aarch64* ]]; then
@@ -108,7 +152,7 @@ if [[ "${architecture}" == *aarch64* ]]; then
fi
CONF_NAME=macosx-${CONF_ARCHITECTURE}-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-osx-${architecture}-b${build_number}
JBSDK="${JBRSDK_BASE_NAME}-osx-${architecture}-b${build_number}"
case "$bundle_type" in
"jcef")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
@@ -129,58 +173,27 @@ case "$bundle_type" in
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
CONF_NAME=macosx-${CONF_ARCHITECTURE}-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-osx-${architecture}-fastdebug-b${build_number}
JBSDK=jbrsdk-${JBSDK_VERSION}-osx-${architecture}-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
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
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
if [ "${bundle_type}" == "dcevm" ] || [ "${bundle_type}" == "jcef" ]; then
JBRSDK_BUNDLE=jbrsdk_${bundle_type}
else
JBRSDK_BUNDLE=jbrsdk
fi
rm -rf $BASE_DIR
mkdir $BASE_DIR || do_exit $?
@@ -188,26 +201,24 @@ cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || do_exit
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -a ${JCEF_PATH}/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
fi
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
echo Creating $JBSDK.tar.gz ...
if [[ "${architecture}" == *aarch64* ]]; then
copyJNF $BASE_DIR/$JBRSDK_BUNDLE/Contents
fi
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
[ -f "${JBSDK}.tar.gz" ] && rm "${JBSDK}.tar.gz"
COPYFILE_DISABLE=1 tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || do_exit $?
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
[ -f "${JBSDK}.tar.gz" ] && rm "${JBSDK}.tar.gz"
COPYFILE_DISABLE=1 tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || do_exit $?
zip_native_debug_symbols ${JSDK} "${JBSDK}_diz"
create_jbr || do_exit $?
if [ "$bundle_type" == "jcef" ]; then
if [ "$bundle_type" == "dcevm" ]; then
make test-image CONF=$CONF_NAME || do_exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-${architecture}-b$build_number
JBRSDK_TEST=jbrsdk-${JBSDK_VERSION}-osx-test-${architecture}-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
[ -f "${JBRSDK_TEST}.tar.gz" ] && rm "${JBRSDK_TEST}.tar.gz"
@@ -215,4 +226,4 @@ if [ "$bundle_type" == "jcef" ]; then
--exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -1,7 +1,7 @@
diff --git modules.list modules.list
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 33375b527c4..76539cbc0e0 100644
--- modules.list
+++ modules.list
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -55,4 +55,7 @@ jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,

View File

@@ -0,0 +1,27 @@
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,5 @@ jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index b663b382f52..3e9acdc0c27 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -109,7 +109,10 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
From aaefe6f66a8d363eb35fcdc8ce29bb25be67fe1c 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/18] 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 002ad1880190d0749f8f8d325c587fd9275bdab2 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/18] 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/18] Fix class cast exception on redefinition of class A,
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c28ed956ccf..7eb1b01c785 100644
index 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 a00292280f4e3754bffc7a0c562dca1d7552eb39 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/18] 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 a6c33744760..b8dba232fc1 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 a6c33744760..b8dba232fc1 100644
// The larger HeapWordSize for 64bit requires larger heaps
// for the same application running in 64bit. See bug 4967770.
// The minimum alignment to a heap word size is done. Other
@@ -2678,8 +2684,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
@@ -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 62f3578e0a73913c1262a1612a464d19abfeb626 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/18] 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/18] 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 19bc8d9899a..a6a03d3c0e9 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 19bc8d9899a..a6a03d3c0e9 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 19bc8d9899a..a6a03d3c0e9 100644
if (host_klass != NULL && k != NULL) {
// Anonymous classes must update ClassLoaderData holder (was host_klass loader)
@@ -1844,7 +1852,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
@@ -1841,7 +1849,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
@@ -91,10 +91,10 @@ index 19bc8d9899a..a6a03d3c0e9 100644
constraints()->update_after_redefinition();
}
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 06f6c869d63..1dbbffa197f 100644
index 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,7 +242,7 @@ index af2ec48c2e1..7741328979f 100644
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
assert(old_method != newer_method, "sanity check");
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index c071f8b7cc6..e484b8991d1 100644
index 5f9f93c6b4c..c35ef044e65 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -820,6 +820,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,

View File

@@ -1,7 +1,7 @@
From 4b445e7a7f77f82f757c12010e3c88b2eb4698f9 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/18] 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,7 +28,7 @@ index e377e36b88c..262ecc021b2 100644
int Bytecodes::special_length_at(Bytecodes::Code code, address bcp, address end) {
diff --git a/src/hotspot/share/interpreter/interpreterRuntime.cpp b/src/hotspot/share/interpreter/interpreterRuntime.cpp
index c25e13d83e8..2a66419908c 100644
index aeafba285f0..026fe9234fb 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -819,7 +819,7 @@ IRT_END
@@ -41,10 +41,10 @@ index c25e13d83e8..2a66419908c 100644
IRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* thread, Method* method, address bcp, Bytecodes::Code new_code))
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index ed6f769bf1b..031f255e632 100644
index 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 c022124c6e0680d2dfc174f66fc858b0eb2591dc 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/18] 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/18] 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 aa1d291c7349e5cecf9d93e817d0866460deb903 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/18] 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/18] 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 b6ea0ee6fcc376f575be0f461c494664d55ed986 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/18] 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/18] Change log level in advanced redefinition
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 8b6fad2128e..a8adfa5af47 100644
index e67fc2dd58f..5be9bb74305 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -915,7 +915,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// 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 ef1098751c596a03fd1721affc20d221b3544d37 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/18] AllowEnhancedClassRedefinition is false (disabled) by
Subject: [PATCH 11/44] AllowEnhancedClassRedefinition is false (disabled) by
default
---
@@ -9,10 +9,10 @@ Subject: [PATCH 11/18] AllowEnhancedClassRedefinition is false (disabled) by
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index b8dba232fc1..d4453de1ff5 100644
index 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 6a78dda15c66cbba1ca6a2d7f3df3a55fc087f50 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/18] 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 80c1cd01b45735928e3b3e9283b5484ea6a70a7f 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/18] 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 1d08f6a80dc..88b4d460ee8 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 122562d31005edd3573a645c3a02c1d8fe843c5e 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/18] Fix G1 nmethod registration
Subject: [PATCH 14/44] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
@@ -9,63 +9,63 @@ Subject: [PATCH 14/18] Fix G1 nmethod registration
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index a8adfa5af47..4ee12b7021f 100644
index 5be9bb74305..f4bde7504c8 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -217,7 +217,14 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
}
}
-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 0156b2084be20579b407e112a00ba15f54248003 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/18] 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 81ba8f1d120e158a7b0cfa09b5dd51295d51901f 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/18] 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/18] Clear dcevm code separation
8 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index a6a03d3c0e9..9e0f4dd3c96 100644
index 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 a6a03d3c0e9..9e0f4dd3c96 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 84891b48c2a..6f19e2939a2 100644
index 61a406377ee..da9df7a21a2 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1467,7 +1467,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
@@ -1471,7 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
NULL, // host klass
NULL, // cp_patches
ClassFileParser::INTERNAL, // internal visibility
@@ -106,7 +106,7 @@ index 84891b48c2a..6f19e2939a2 100644
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 7eb1b01c785..710e0ddc930 100644
index 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 7eb1b01c785..710e0ddc930 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 7eb1b01c785..710e0ddc930 100644
// Verify implementor fields requires the Compile_lock, but this is sometimes
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index a9556ecf0c4..6c7edaca67e 100644
index 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 a022248d12e37084c8f8987a44d567ba0e02fb6d 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/18] Fix metadataOnStack bug
Subject: [PATCH 17/44] Fix metadataOnStack bug
---
.../share/classfile/classLoaderData.cpp | 7 +-
@@ -11,10 +11,10 @@ Subject: [PATCH 17/18] 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 fb81189d9c2..18bc7f4eea4 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 46795cd6c086e2008b270f89971bb07ad34ac355 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

@@ -1,31 +0,0 @@
From 62fc66fa74886bd8bb15cd3e2084175f7ad5d0c7 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Feb 2021 23:30:49 +0100
Subject: [PATCH 19/19] Disable AllowEnhancedClassRedefinition in flight
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 5053ad7ee61..c5635bb8537 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3962,6 +3962,13 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// 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,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,152 @@
#!/bin/bash
while getopts ":t" o; do
case "${o}" in
t)
t="With Teamcity tests info"
TC_PRINT=1
;;
esac
done
shift $((OPTIND-1))
NEWFILEPATH=$1
CONFIGID=$2
BUILDID=$3
TOKEN=$4
#
# Get the size of new artifact
#
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
Darwin*)
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
;;
CYGWIN*)
NEWFILESIZE=$(stat -c%s$4
#
# Get the size of new artifact
#
"$NEWFILEPATH")
;;
MINGW*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
*)
echo "Unknown machine: ${unameOut}"
exit 1
esac
FILENAME=$(basename ${NEWFILEPATH})
#
# Get pattern of artifact name
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, windows-x64 etc.
BUNDLE_TYPE=jbrsdk
OS_ARCH_PATTERN=""
FILE_EXTENSION=tar.gz
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
if [[ $FILENAME =~ $re ]]; then
BUNDLE_TYPE=${BASH_REMATCH[1]}
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
FILE_EXTENSION=${BASH_REMATCH[3]}
fi
if [ $TC_PRINT -eq 1 ]; then
testname_file_ext=`echo $FILE_EXTENSION | sed 's/\./_/g'`
testname=$BUNDLE_TYPE"_"$OS_ARCH_PATTERN$testname_file_ext
echo \#\#teamcity[testStarted name=\'$testname\']
fi
echo "BUNDLE_TYPE: " $BUNDLE_TYPE
echo "OS_ARCH_PATTERN: " $OS_ARCH_PATTERN
echo "FILE_EXTENSION: " $FILE_EXTENSION
echo "New size of $FILENAME = $NEWFILESIZE bytes."
function test_failed_msg() {
if [ $3 -eq 1 ]; then
echo \#\#teamcity[testFailed name=\'$1\' message=\'$2\']
fi
}
function test_finished_msg() {
if [ $2 -eq 1 ]; then
echo \#\#teamcity[testFinished name=\'$1\']
fi
}
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
# ID: Previous successful build id
ID=0
if [[ $CURL_RESPONSE =~ $re ]]; then
ID=${BASH_REMATCH[1]}
echo "BUILD Number: ${BASH_REMATCH[2]}"
else
msg="ERROR: can't find previous build"
echo $msg
echo $CURL_RESPONSE
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Atrifacts of previous build of $CONFIGID :"
echo $CURL_RESPONSE
# Find binary size (in response) with reg exp
re='name=\"('$BUNDLE_TYPE'[^\"]+'${OS_ARCH_PATTERN}'[^\"]+'${FILE_EXTENSION}')\" size=\"([0-9]+)\"'
if [[ $CURL_RESPONSE =~ $re ]]; then
OLDFILENAME=${BASH_REMATCH[1]}
echo "Prev artifact name: $OLDFILENAME"
OLDFILESIZE=${BASH_REMATCH[2]}
echo "Prev artifact size = $OLDFILESIZE"
let allowedSize=OLDFILESIZE+OLDFILESIZE/20 # use 5% threshold
echo "Allowed size = $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significally greater than prev size (need to investigate)"
echo $msg
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
else
echo "PASSED"
test_finished_msg $testname $TC_PRINT
fi
else
msg="ERROR: can't find string with size in xml response:"
echo $msg
echo $CURL_RESPONSE
test_failed_msg $testname $msg $TC_PRINT
test_finished_msg $testname $TC_PRINT
exit 1
fi

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 ./jcef_win_aarch64/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)
JCEF_PATH=${JCEF_PATH:=${WORK_DIR}/jcef_win_aarch64}
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${JCEF_PATH}/modular-sdk}"
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_arch64.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_arch64.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module_arch64.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

@@ -20,22 +20,49 @@
#
# 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
# By default imported modules should be located in ./jcef_win_x64/modular-sdk
# 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
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_x64}
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2015}
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${JCEF_PATH}/modular-sdk}"
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}
@@ -48,7 +75,8 @@ function create_jbr {
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....
@@ -63,7 +91,7 @@ function create_jbr {
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JBRSDK_BASE_NAME=jbrsdk_${bundle_type}-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
@@ -88,37 +116,36 @@ case "$bundle_type" in
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-normal-server-fastdebug
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-fastdebug-b${build_number}
JBSDK=jbrsdk-${JBSDK_VERSION}-windows-x64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
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}" == "dcevm" ]; 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}" == "dcevm" ]; 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
BASE_DIR=build/$RELEASE_NAME/images
JBRSDK_BUNDLE=jbrsdk
BASE_DIR=jre
if [ "${bundle_type}" == "fd" ]; then
JBRSDK_BUNDLE=jbrsdk
else
JBRSDK_BUNDLE=jbrsdk_${bundle_type}
fi
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 ]]
@@ -130,4 +157,4 @@ fi
create_jbr || do_exit $?
do_exit 0
do_exit 0

View File

@@ -21,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
@@ -38,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
@@ -56,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 ./jcef_win_aarch64/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}" == "dcevm" ] || [ "${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" == "dcevm" ]; 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

@@ -20,7 +20,7 @@
#
# 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
# By default imported modules should be located in ./jcef_win_x64/modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
@@ -51,7 +51,7 @@ function pack_jbr {
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || do_exit $?
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JBRSDK_BASE_NAME=jbrsdk_${bundle_type}-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
@@ -59,25 +59,27 @@ case "$bundle_type" in
"fd")
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-fastdebug-b${build_number}
JBSDK=jbrsdk-${JBSDK_VERSION}-windows-x64-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
if [ "${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 $?
else
JBRSDK_BUNDLE=jbrsdk_${bundle_type}
fi
echo Creating $JBSDK.tar.gz ...
[ -f "$JBSDK.tar.gz" ] && rm "$JBSDK.tar.gz"
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || do_exit $?
pack_jbr $bundle_type
if [ "$bundle_type" == "jcef" ]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
if [ "$bundle_type" == "dcevm" ]; then
JBRSDK_TEST=jbrsdk-${JBSDK_VERSION}-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

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), \

85
make/JBRApi.gmk Normal file
View File

@@ -0,0 +1,85 @@
#
# 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_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
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_VERSION_GENSRC := $(JBR_API_OUTPUT_DIR)/jbr-api.version
JBR_API_GENSRC_BATCH := $(JBR_API_VERSION_GENSRC)
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(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), \
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), \
SRCS := $(JBR_API_GENSRC_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
SUFFIXES := .java, \
BIN := $(JBR_API_BIN_DIR), \
))
# Grouped targets may not be supported, so hack dependencies: sources -> version file -> generated sources
$(JBR_API_VERSION_GENSRC): $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES) $(JBR_API_TOOLS_DIR)/Gensrc.java
$(ECHO) Generating sources for JBR API
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/Gensrc.java" \
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
$(JBR_API_GENSRC_FILES): $(JBR_API_VERSION_GENSRC)
$(TOUCH) $@
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/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_VERSION_GENSRC)`" > $(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

@@ -230,7 +230,7 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
else ifeq ($(OPENJDK_TARGET_OS), solaris)
NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
MEMORY_SIZE := $(shell \
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
)

View File

@@ -27,6 +27,9 @@
# Fake minimalistic spec file for RunTestsPrebuilt.gmk.
################################################################################
# Make sure all shell commands are executed with the C locale
export LC_ALL := C
define VerifyVariable
ifeq ($$($1), )
$$(info Error: Variable $1 is missing, needed by RunTestPrebuiltSpec.gmk)

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

@@ -405,7 +405,7 @@ AC_DEFUN_ONCE([BASIC_INIT],
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
DATE_WHEN_CONFIGURED=`LANG=C date`
DATE_WHEN_CONFIGURED=`date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
])
@@ -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

@@ -1,6 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -97,6 +98,23 @@ if [ "x$OUT" = x ]; then
fi
fi
# Test and fix LoongArch64.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then
if [ `uname -m` = arm64 ]; then
OUT=aarch64`echo $OUT | sed -e 's/[^-]*//'`
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

@@ -35,7 +35,7 @@ AC_DEFUN([BPERF_CHECK_CORES],
FOUND_CORES=yes
elif test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
NUM_CORES=`/usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system

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

@@ -43,6 +43,9 @@ fi
export CONFIG_SHELL=$BASH
export _as_can_reexec=no
# Make sure all shell commands are executed with the C locale
export LC_ALL=C
if test "x$CUSTOM_CONFIG_DIR" != x; then
custom_hook=$CUSTOM_CONFIG_DIR/custom-hook.m4
if test ! -e $custom_hook; then

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)
])
@@ -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

@@ -111,19 +111,25 @@ AC_DEFUN([FLAGS_SETUP_MACOSX_VERSION],
[
# Additional macosx handling
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# The expected format for <version> is either nn.n.n or nn.nn.nn. See
# /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h
# MACOSX_VERSION_MIN specifies the lowest version of Macosx that the built
# binaries should be compatible with, even if compiled on a newer version
# of the OS. It currently has a hard coded value. Setting this also limits
# exposure to API changes in header files. Bumping this is likely to
# require code changes to build.
MACOSX_VERSION_MIN=10.9.0
if test "x$OPENJDK_TARGET_CPU_ARCH" = xaarch64; then
MACOSX_VERSION_MIN=11.00.00
else
MACOSX_VERSION_MIN=10.9.0
fi
MACOSX_VERSION_MIN_NODOTS=${MACOSX_VERSION_MIN//\./}
AC_SUBST(MACOSX_VERSION_MIN)
# Setting --with-macosx-version-max=<version> makes it an error to build or
# link to macosx APIs that are newer than the given OS version. The expected
# format for <version> is either nn.n.n or nn.nn.nn. See /usr/include/AvailabilityMacros.h.
# link to macosx APIs that are newer than the given OS version.
AC_ARG_WITH([macosx-version-max], [AS_HELP_STRING([--with-macosx-version-max],
[error on use of newer functionality. @<:@macosx@:>@])],
[
@@ -258,6 +264,14 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
fi
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
MACHINE_FLAG="$MACHINE_FLAG -arch arm64"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
MACHINE_FLAG="$MACHINE_FLAG -arch x86_64"
fi
fi
# FIXME: global flags are not used yet...
# The "global" flags will *always* be set. Without them, it is not possible to
# get a working compilation.

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, 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
@@ -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
@@ -278,7 +278,7 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
AC_MSG_ERROR([CDS is currently not supported on macOS/aarch64. Remove --enable-cds.])
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
@@ -451,10 +457,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
# By default enable graal build on x64 or where AOT is available.
# By default enable graal build on x64/aarch64 or where AOT is available.
# graal build requires jvmci.
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
test "x$ENABLE_AOT" = "xtrue") ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_graal="graal"

View File

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

View File

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

View File

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

View File

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

@@ -46,6 +46,9 @@ COMMA:=,
# What make to use for main processing, after bootstrapping top-level Makefile.
MAKE := @MAKE@
# Make sure all shell commands are executed with the C locale
export LC_ALL := C
# The default make arguments
MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" $(MAKE_LOG_VARS)
@@ -382,7 +385,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 +511,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

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)
])

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