Compare commits

...

2642 Commits

Author SHA1 Message Date
Dmitrii Morskii
7ba046a156 JBR-5259: fixed Canvas mispositioning after dragging JFrame to a monitor with different scale 2023-07-31 16:16:45 +02:00
Christoph Langer
e861712bea 8311467: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.8
Reviewed-by: goetz
2023-07-23 08:03:18 +07:00
Andrew Haley
6f2f19e722 8308682: Enhance AES performance
Reviewed-by: adinn
Backport-of: ff9eac237d434b51e22ae55cf95595731a2e676c
2023-07-23 05:36:35 +07:00
Martin Balao
4e76175851 8305312: Enhanced path handling
Reviewed-by: yan
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-07-23 05:36:35 +07:00
Martin Balao
f011d26954 8304468: Better array usages
Reviewed-by: mbaesken
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-07-23 05:36:34 +07:00
Martin Balao
067e2c62c4 8304460: Improve array usages
Reviewed-by: yan
Backport-of: 45a4e33d424fa953ce40edd9cff023f8bb0d04e1
2023-07-23 05:36:34 +07:00
Aleksei Voitylov
f1a420b206 8303376: Better launching of JDI
Reviewed-by: yan, mbalao
Backport-of: 96cae3b3bc39898a60071369f8264e8503df32a0
2023-07-23 05:36:34 +07:00
Yuri Nesterenko
3ad32534fe 8302483: Enhance ZIP performance
Reviewed-by: mbalao
Backport-of: 05661fdcb4ced0c7c2e9eab3464c2447f38c94c3
2023-07-23 05:36:34 +07:00
Ekaterina Vergizova
b4cfa9a6a1 8302475: Enhance HTTP client file downloading
Reviewed-by: mbalao
Backport-of: 1d26da2ef83de0c76f3c4b85c98c6c30d2e3aaf3
2023-07-23 05:36:33 +07:00
Alexei Voitylov
7a5e9e0339 8300596: Enhance Jar Signature validation
Reviewed-by: yan, mbalao
Backport-of: a099d8bf015950db7f0b0ca792e4a9dc951a15cf
2023-07-23 05:36:33 +07:00
Aleksei Voitylov
a3a6a062f8 8300285: Enhance TLS data handling
Reviewed-by: yan, mbalao
Backport-of: 3d6dc4022049fb83b92ba94150ba2c073de88892
2023-07-23 05:36:33 +07:00
Sergey Bylokhov
b4b19c9c89 8298676: Enhanced Look and Feel
Reviewed-by: mbalao
Backport-of: 932ee4043e4a4a262a4c0b747f1367858f55198e
2023-07-23 05:36:33 +07:00
Roman Marchenko
6cd47d5ba9 8296565: Enhanced archival support
Reviewed-by: mbalao
Backport-of: 4706e8d4a2e7df021085933f3b3e96a26385a449
2023-07-23 05:36:32 +07:00
Olga Mikhaltsova
ac99bb6ee3 8294323: Improve Shared Class Data
Reviewed-by: mbalao
Backport-of: a231b27b7bbd03b5c439583b278f045c8b84f55f
2023-07-23 05:36:32 +07:00
Christoph Langer
4f010280b6 8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
Backport-of: ac41c03003
2023-07-23 05:36:32 +07:00
Severin Gehwolf
8e55072f29 8308884: [17u/11u] Backout JDK-8297951
This reverts commit 08e30d0b37

Reviewed-by: shade
2023-07-23 05:36:32 +07:00
Goetz Lindenmaier
af469d0f5a 8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable
Backport-of: bf439f8c93
2023-07-23 05:36:31 +07:00
Goetz Lindenmaier
a435bf557f 8308880: [17u] micro bench ZoneStrings missed in backport of 8278434
Reviewed-by: shade
2023-07-23 05:36:31 +07:00
Aleksey Shipilev
109a5a1e7c 8293492: ShenandoahControlThread missing from hs-err log and thread dump
Reviewed-by: phh
Backport-of: 85ec1f8d02
2023-07-23 05:36:31 +07:00
Aleksey Shipilev
6514695e5b 8301637: ThreadLocalRandom.current().doubles().parallel() contention
Backport-of: cf6b9eb8c8
2023-07-23 05:36:31 +07:00
Aleksey Shipilev
645b1f00ea 8293295: Add type check asserts to java_lang_ref_Reference accessors
Reviewed-by: phh
Backport-of: 32f4dc8403
2023-07-23 05:36:30 +07:00
Aleksey Shipilev
caeda299bf 8294183: AArch64: Wrong macro check in SharedRuntime::generate_deopt_blob
Backport-of: f3ba332fdc
2023-07-23 05:36:30 +07:00
Ningsheng Jian
c011d20d59 8274243: Implement fast-path for ASCII-compatible CharsetEncoders on aarch64
Backport-of: ddddec7d74
2023-07-23 05:36:30 +07:00
Alexey Bakhtin
f826a974f0 8303809: Dispose context in SPNEGO NegotiatorImpl
Backport-of: 10f1674625
2023-07-23 05:36:29 +07:00
Andrew John Hughes
50cbcf90fd 8301119: Support for GB18030-2022
Reviewed-by: sgehwolf
Backport-of: a253b46021
2023-07-23 05:36:29 +07:00
Aleksey Shipilev
a62c2cf297 8286331: jni_GetStringUTFChars() uses wrong heap allocator
Backport-of: b0d2b0a355
2023-07-23 05:36:29 +07:00
Aleksey Shipilev
7eb91cfbd7 8286346: 3-parameter version of AllocateHeap should not ignore AllocFailType
Backport-of: 64b05ccbed
2023-07-23 05:36:28 +07:00
Matthias Baesken
f88071c8d9 8301661: Enhance os::pd_print_cpu_info on macOS and Windows
Backport-of: 9145670354
2023-07-23 05:36:28 +07:00
Aleksey Shipilev
0ae395bb50 8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
Backport-of: c0623972cf
2023-07-23 05:36:28 +07:00
Aleksey Shipilev
912e20a9d3 8283520: JFR: Memory leak in dcmd_arena
Backport-of: 6a8be358d2
2023-07-23 05:36:28 +07:00
Victor Rudometov
735c9b1d60 8307128: Open source some drag and drop tests 4
8307799: Newly added java/awt/dnd/MozillaDnDTest.java has invalid jtreg `@requires` clause

Reviewed-by: phh
Backport-of: 98294242a9
2023-07-23 05:36:27 +07:00
Aleksey Shipilev
fdf9368f83 8294717: (bf) DirectByteBuffer constructor will leak if allocating Deallocator or Cleaner fails with OOME
Backport-of: 4cbac40de9
2023-07-23 05:36:27 +07:00
Alexey Pavlyutkin
82ddad690c 8300939: sun/security/provider/certpath/OCSP/OCSPNoContentLength.java fails due to network errors
Reviewed-by: goetz
Backport-of: da044dd569
2023-07-23 05:36:27 +07:00
Aleksey Shipilev
e68148daea 8275287: Relax memory ordering constraints on updating instance class and array class counters
Backport-of: 002c538bc0
2023-07-23 05:36:27 +07:00
Arno Zeller
3c8d6b1bea 8307347: serviceability/sa/ClhsdbDumpclass.java could leave files owned by root on macOS
Backport-of: 5c7ede94ae
2023-07-23 05:36:26 +07:00
Aleksey Shipilev
77c9100a53 8274615: Support relaxed atomic add for linux-aarch64
Reviewed-by: aph
Backport-of: 8de26361f7
2023-07-23 05:36:26 +07:00
Matthias Baesken
c2117edf82 8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed
Backport-of: d43a5a289f
2023-07-23 05:36:26 +07:00
Aleksey Shipilev
f549be550b 8227060: Optimize safepoint cleanup subtask order
Reviewed-by: phh
Backport-of: 96a542feb2
2023-07-23 05:36:26 +07:00
Victor Rudometov
6a0d02b33e 8306640: Open source several AWT TextArea related tests
Backport-of: 169a7c27a7
2023-07-23 05:36:25 +07:00
Goetz Lindenmaier
1a243cbdd4 8308554: [17u] Fix commit of 8286191. vm.musl was not removed from ExternalEditorTest
Reviewed-by: shade
2023-07-23 05:36:25 +07:00
Victor Rudometov
3988526c25 8306752: Open source several container and component AWT tests
Backport-of: 88d9ebf8e8
2023-07-23 05:36:25 +07:00
Victor Rudometov
9384d4ed10 8306755: Open source few Swing JComponent and AbstractButton tests
Backport-of: f3e8bd1d11
2023-07-23 05:36:25 +07:00
Victor Rudometov
0a474dc859 8306683: Open source several clipboard and color AWT tests
Backport-of: 1c2dadc31e
2023-07-23 05:36:24 +07:00
Victor Rudometov
71432ce15b 8306652: Open source AWT MenuItem related tests
Backport-of: ed1ebd242a
2023-07-23 05:36:24 +07:00
Victor Rudometov
6e4c8dc082 8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests
Backport-of: 732179ca84
2023-07-23 05:36:24 +07:00
Victor Rudometov
c59a2ee398 8306850: Open source AWT Modal related tests
Backport-of: 41ba05e450
2023-07-23 05:36:24 +07:00
Victor Rudometov
d1e1cfea52 8306072: Open source several AWT MouseInfo related tests
Backport-of: 44d9f55d0b
2023-07-23 05:36:23 +07:00
Victor Rudometov
d2b940e5b2 8307080: Open source some more JComboBox jtreg tests
Backport-of: b8de39431d
2023-07-23 05:36:23 +07:00
Victor Rudometov
a4db19bd62 8306133: Open source few AWT Drag & Drop related tests
Backport-of: ec5c7926f3
2023-07-23 05:36:23 +07:00
Victor Rudometov
21838d035f 8306681: Open source more AWT DnD related tests
Backport-of: 05af487a2d
2023-07-23 05:36:23 +07:00
Victor Rudometov
3586b74821 8306955: Open source several JComboBox jtreg tests
Backport-of: 1f689241cf
2023-07-23 05:36:22 +07:00
Victor Rudometov
f12d205a72 8306432: Open source several AWT Text Component related tests
Backport-of: 485a0691f4
2023-07-23 05:36:22 +07:00
Victor Rudometov
dce0f07dd6 8306954: Open source five Focus related tests
Backport-of: 6d6d00b69c
2023-07-23 05:36:22 +07:00
Jiangli Zhou
44b0960e51 8307134: Add GTS root CAs
Reviewed-by: phh
Backport-of: 03030d47eb
2023-07-23 05:36:22 +07:00
Alexey Pavlyutkin
97f5c5d9a9 8268582: javadoc throws NPE with --ignore-source-errors option
Backport-of: 0dfb3a705d
2023-07-23 05:36:21 +07:00
Aleksey Shipilev
7fdebe0aba 8287854: Dangling reference in ClassVerifier::verify_class
Backport-of: 3fa99844a6
2023-07-23 05:36:21 +07:00
Alexey Pavlyutkin
5bc3878fbc 8275233: Incorrect line number reported in exception stack trace thrown from a lambda expression
Backport-of: d7c283a081
2023-07-23 05:36:21 +07:00
Alexey Pavlyutkin
92b2b70e08 8296343: CPVE thrown on missing content-length in OCSP response
Backport-of: 1a3cb8c501
2023-07-23 05:36:20 +07:00
Aleksey Shipilev
73cad0a7be 8261495: Shenandoah: reconsider update references memory ordering
Backport-of: a96012a7af
2023-07-23 05:36:20 +07:00
Aleksey Shipilev
54e8ec9cc0 8297154: Improve safepoint cleanup logging
Backport-of: 086763a629
2023-07-23 05:36:20 +07:00
Victor Rudometov
0e916db5ee 8306753: Open source several container AWT tests
Backport-of: b372f28ad4
2023-07-23 05:36:20 +07:00
William Kemper
075eee455f 8307378: Allow collectors to provide specific values for GC notifications' actions
Reviewed-by: phh
Backport-of: 8f816bbd28f2b771f2b070f49718a492c1a0771a
2023-07-23 05:36:19 +07:00
Christoph Langer
7e2f94c91f 8284331: Add sanity check for signal handler modification warning.
Reviewed-by: kevinw
Backport-of: 116763cb5d
2023-07-23 05:36:19 +07:00
Christoph Langer
f3ad8ce483 8276058: Some swing test fails on specific CI macos system
8277407: javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java fails to compile after JDK-8276058

Backport-of: 91607436b7
2023-07-23 05:36:19 +07:00
Jonathan Dowland
5051a280d7 8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0
Reviewed-by: andrew
Backport-of: 6b9b7d1d92
2023-07-23 05:36:19 +07:00
Victor Rudometov
554de9298a 8306489: Open source AWT List related tests
Backport-of: 82a8e91ef7
2023-07-23 05:36:18 +07:00
Victor Rudometov
d58c7e2416 8307133: Open source some JTable jtreg tests
Backport-of: 5ca0b08a75
2023-07-23 05:36:18 +07:00
Victor Rudometov
31b0feb1ef 8306943: Open source several dnd AWT tests
Backport-of: 2adb3b409e
2023-07-23 05:36:18 +07:00
Victor Rudometov
88daae5b6a 8307381: Open Source JFrame, JIF related Swing Tests
Backport-of: 4386d42d31
2023-07-23 05:36:17 +07:00
Victor Rudometov
4746b4260f 8306871: Open source more AWT Drag & Drop tests
Backport-of: b5a48277ab
2023-07-23 05:36:17 +07:00
Victor Rudometov
cb72db3a48 8306941: Open source several datatransfer and dnd AWT tests
Backport-of: 3d3eaed913
2023-07-23 05:36:17 +07:00
Victor Rudometov
50efe6d821 8307130: Open source few Swing JMenu tests
Backport-of: d9052b9466
2023-07-23 05:36:17 +07:00
Oli Gillespie
09f89aa192 8307346: Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code
Backport-of: 3f1927a7f3
2023-07-23 05:36:16 +07:00
Soumadipta Roy
8d160e91d0 8307425: Socket input stream read burns CPU cycles with back-to-back poll(0) calls
Reviewed-by: ogillespie, shade
Backport-of: 73ac710533
2023-07-23 05:36:16 +07:00
Victor Rudometov
7d9f5330c3 8306996: Open source Swing MenuItem related tests
Backport-of: 73491fa452
2023-07-23 05:36:16 +07:00
ktakakuri
66a00ab911 8248001: javadoc generates invalid HTML pages whose ftp:// links are broken
Backport-of: bb95dda0ac
2023-07-23 05:36:16 +07:00
Matthias Baesken
7ddf5e3532 8304760: Add 2 Microsoft TLS roots
Reviewed-by: mdoerr
Backport-of: c7e1df8328
2023-07-23 05:36:15 +07:00
Andrei Pangin
55c80b1d18 8299544: Improve performance of CRC32C intrinsics (non-AVX-512) for small inputs
Reviewed-by: phh
Backport-of: 8c70bf3fff
2023-07-23 05:36:15 +07:00
Martin Doerr
caf87ab345 8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
Reviewed-by: rrich
Backport-of: 375743336d
2023-07-23 05:36:15 +07:00
Matthias Baesken
4ed4559256 8305975: Add TWCA Global Root CA
Reviewed-by: mdoerr
Backport-of: 82ccfe3a21
2023-07-23 05:36:15 +07:00
Matthias Baesken
d2c81a7de0 8282201: Consider removal of expiry check in VerifyCACerts.java test
Backport-of: 5b43804b79
2023-07-23 05:36:14 +07:00
Martin Doerr
1a01ef95f5 8305088: SIGSEGV in Method::is_method_handle_intrinsic
Reviewed-by: mbaesken
2023-07-23 05:36:14 +07:00
Matthias Baesken
d908229023 8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
Backport-of: 3c7ab80501
2023-07-23 05:36:14 +07:00
Matthias Baesken
bcc3d4b373 8304867: Explicitly disable dtrace for ppc builds
Reviewed-by: clanger
Backport-of: ff368d504e
2023-07-23 05:36:14 +07:00
Goetz Lindenmaier
a46b191abc 8297587: Upgrade JLine to 3.22.0
Reviewed-by: mbaesken
Backport-of: 4619e8bae8
2023-07-23 05:36:13 +07:00
Richard Reingruber
7b9dfada86 8301216: ForkJoinPool invokeAll() ignores timeout
Reviewed-by: clanger
2023-07-23 05:36:13 +07:00
Goetz Lindenmaier
88c03c2166 8296934: Write a test to verify whether Undecorated Frame can be iconified or not
Backport-of: 7845b0d7b4
2023-07-23 05:36:13 +07:00
Goetz Lindenmaier
9909bde9f6 8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
Backport-of: 6ccee83958
2023-07-23 05:36:13 +07:00
Andrew Dinn
c641b18d61 8307331: Correctly update line maps when class redefine rewrites bytecodes
Backport-of: f94f957734
2023-07-23 05:36:12 +07:00
Matthias Baesken
0502c843ce 8305993: Add handleSocketErrorWithMessage to extend nio Net.c exception message
Backport-of: ebba42ac52
2023-07-23 05:36:12 +07:00
Guoxiong Li
afe4d826f0 8305690: [X86] Do not emit two REX prefixes in Assembler::prefix
Backport-of: 49726ee3a9
2023-07-23 05:36:12 +07:00
Goetz Lindenmaier
9af5ec6db0 8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted
Reviewed-by: shade
Backport-of: ad326fc62b
2023-07-23 05:36:12 +07:00
Goetz Lindenmaier
c149bff710 8302508: Add timestamp to the output TraceCompilerThreads
Reviewed-by: shade
Backport-of: f813dc7183
2023-07-23 05:36:11 +07:00
Goetz Lindenmaier
d7e0b0873f 8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter
Backport-of: ea83cb960d
2023-07-23 05:36:11 +07:00
Goetz Lindenmaier
9db43aed24 8289509: Improve test coverage for XPath Axes: descendant, descendant-or-self, following, following-sibling
Backport-of: 1961e81e02
2023-07-23 05:36:11 +07:00
Goetz Lindenmaier
6212570509 8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM
Backport-of: 319faa5afc
2023-07-23 05:36:11 +07:00
Goetz Lindenmaier
98a4704448 8292990: Improve test coverage for XPath Axes: parent
Backport-of: e393973761
2023-07-23 05:36:10 +07:00
Goetz Lindenmaier
f45434b60b 8244976: vmTestbase/nsk/jdi/Event/request/request001.java doesn' initialize eName
Backport-of: 1451642317
2023-07-23 05:36:10 +07:00
Goetz Lindenmaier
f21b08dc14 8286398: Address possibly lossy conversions in jdk.internal.le
Backport-of: e534c133af
2023-07-23 05:36:10 +07:00
Goetz Lindenmaier
a129b899eb 8286191: misc tests fail due to JDK-8285987
Reviewed-by: mbaesken
Backport-of: de8f4d01b2
2023-07-23 05:36:10 +07:00
Goetz Lindenmaier
c693444c91 8285987: executing shell scripts without #! fails on Alpine linux
Backport-of: 9d2f591e6a
2023-07-23 05:36:09 +07:00
Goetz Lindenmaier
3bcfdad24b 8283057: Update GCC to version 11.2.0 for Oracle builds on Linux
Reviewed-by: mbaesken
Backport-of: 8384ac4ed3
2023-07-23 05:36:09 +07:00
Goetz Lindenmaier
d74bddbf52 8275735: [linux] Remove deprecated Metrics api (kernel memory limit)
Backport-of: 9971a2cab3
2023-07-23 05:36:09 +07:00
Tyler Steele
da8187c618 8304291: [AIX] Broken build after JDK-8301998
Backport-of: 310aa93478
2023-07-23 05:36:09 +07:00
Aleksey Shipilev
34a9b20139 8306825: Monitor deflation might be accidentally disabled by zero intervals
Backport-of: a6b4f25bd5
2023-07-23 05:36:08 +07:00
Aleksey Shipilev
256ddef413 8306774: Make runtime/Monitor/GuaranteedAsyncDeflationIntervalTest.java more reliable
Reviewed-by: serb, simonis
Backport-of: 9ad6dc881d
2023-07-23 05:36:08 +07:00
Aleksey Shipilev
94f275b084 8305994: Guarantee eventual async monitor deflation
Reviewed-by: eastigeevich, simonis
Backport-of: 6b81342c22
2023-07-23 05:36:08 +07:00
Christoph Langer
5da74d1d8f 8257856: Make ClassFileVersionsTest.java robust to JDK version updates
Reviewed-by: mbaesken
Backport-of: 8b042d14b7
2023-07-23 05:36:08 +07:00
Goetz Lindenmaier
912f129cf7 8303508: Vector.lane() gets wrong value on x86
Backport-of: d61de141eb
2023-07-23 05:36:07 +07:00
Goetz Lindenmaier
72d70c63d3 8303069: Memory leak in CompilerOracle::parse_from_line
Backport-of: 384a8b85a7
2023-07-23 05:36:07 +07:00
Goetz Lindenmaier
552d442bc0 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
Backport-of: 5e232cf0a9
2023-07-23 05:36:07 +07:00
Goetz Lindenmaier
a68d284910 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling
Reviewed-by: shade
Backport-of: 3f2d929dc3
2023-07-23 05:36:06 +07:00
Alexey Pavlyutkin
a511096129 8303861: Error handling step timeouts should never be blocked by OnError and others
Reviewed-by: phh, stuefe
Backport-of: a00f5d24d3
2023-07-23 05:36:06 +07:00
Sergey Nazarkin
e31b7d1ff2 8305481: gtest is_first_C_frame failing on ARM
Backport-of: 0243da2e4a
2023-07-23 05:36:06 +07:00
Goetz Lindenmaier
e16d0ceb45 8297955: LDAP CertStore should use LdapName and not String for DNs
8224768: Test ActalisCA.java fails

Backport-of: df9aad018a
2023-07-23 05:36:05 +07:00
Goetz Lindenmaier
3c2cd38b32 8303476: Add the runtime version in the release file of a JDK image
Backport-of: 32247c336a
2023-07-23 05:36:05 +07:00
Goetz Lindenmaier
81002724de 8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
Backport-of: bc28baeba9
2023-07-23 05:36:05 +07:00
Matthias Baesken
0b48a73e62 8303822: gtestMain should give more helpful output
Backport-of: 0f26d09da8
2023-07-23 05:36:05 +07:00
Aleksey Shipilev
bae4ce550a 8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr
Backport-of: c3ff151457
2023-07-23 05:36:04 +07:00
Christoph Langer
0fa19b7177 8289735: UTIL_LOOKUP_PROGS fails on pathes with space
8306976: UTIL_REQUIRE_SPECIAL warning on grep

Reviewed-by: mbaesken
Backport-of: bad6aa68e4
2023-07-23 05:36:04 +07:00
Thomas Stuefe
7f2f49f12a 8306883: Thread stacksize is reported with wrong units in os::create_thread logging
Backport-of: 27c5c1070a
2023-07-23 05:36:04 +07:00
William Kemper
3804b82d6b 8305403: Shenandoah evacuation workers may deadlock
Reviewed-by: shade
Backport-of: 793da60ee8
2023-07-23 05:36:03 +07:00
Goetz Lindenmaier
cb73ec982d 8303130: Document required Accessibility permissions on macOS
Reviewed-by: dmarkov
Backport-of: a10d5ac61b
2023-07-23 05:36:03 +07:00
Goetz Lindenmaier
480fdc7f30 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Backport-of: cd77fcfb5f
2023-07-23 05:36:03 +07:00
Goetz Lindenmaier
784cef6826 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Backport-of: 47ca5773a5
2023-07-23 05:36:03 +07:00
Goetz Lindenmaier
c195c415b8 8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
Reviewed-by: mdoerr
Backport-of: 45e4e00981
2023-07-23 05:36:02 +07:00
Christoph Langer
f8ef78382d 8306664: GHA: Update MSVC version to latest stepping
Reviewed-by: shade
2023-07-23 05:36:02 +07:00
Goetz Lindenmaier
5388dcf611 8302595: use-after-free related to GraphKit::clone_map
Reviewed-by: rrich
Backport-of: 3cc459b6c2
2023-07-23 05:36:02 +07:00
Goetz Lindenmaier
0dd0e8b40f 8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
Backport-of: 2157145766
2023-07-23 05:36:02 +07:00
Goetz Lindenmaier
b8f5ed026b 8254711: Add java.security.Provider.getService JFR Event
8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java

Reviewed-by: mbaesken
Backport-of: bc2af47e1e
2023-07-23 05:36:01 +07:00
Anton Kozlov
63479998e3 8306768: CodeCache Analytics reports wrong threshold
Reviewed-by: phh
2023-07-23 05:36:01 +07:00
Aleksey Shipilev
2234417d3b 8296545: C2 Blackholes should allow load optimizations
Reviewed-by: mdoerr
Backport-of: eab0ada3a1
2023-07-23 05:36:01 +07:00
Christoph Langer
b7cbf486eb 8306658: GHA: MSVC installation could be optional since it might already be pre-installed
Backport-of: d980cb4879
2023-07-23 05:36:00 +07:00
Aleksey Shipilev
0e387a45d3 8283566: G1: Improve G1BarrierSet::enqueue performance
Reviewed-by: tschatzl
Backport-of: 6ebf845ff7
2023-07-23 05:36:00 +07:00
Aleksey Shipilev
468ce2c9eb 8252990: Intrinsify Unsafe.storeStoreFence
Backport-of: b7a06be98d
2023-07-23 05:36:00 +07:00
Goetz Lindenmaier
7075d0d785 8302594: use-after-free in Node::destruct
Backport-of: 2e3cea01da
2023-07-23 05:36:00 +07:00
Goetz Lindenmaier
d6107bc8e7 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline
Backport-of: 1ef9f6507b
2023-07-23 05:35:59 +07:00
Goetz Lindenmaier
b7b14ce36c 8301338: Identical branch conditions in CompileBroker::print_heapinfo
Reviewed-by: mbaesken
Backport-of: d583767bf1
2023-07-23 05:35:59 +07:00
Goetz Lindenmaier
55ad383a13 8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
Backport-of: da38d43fcc
2023-07-23 05:35:59 +07:00
Aleksey Shipilev
9dcc493683 8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause
Reviewed-by: tschatzl
Backport-of: 3a1fca3adf
2023-07-23 05:35:58 +07:00
Masanori Yano
8d5ef9d938 8238274: (sctp) JDK-7118373 is not fixed for SctpChannel
Backport-of: d91e227abb
2023-07-23 05:35:58 +07:00
Goetz Lindenmaier
b246b394d7 8301998: Update HarfBuzz to 7.0.1
8304295: harfbuzz build fails with GCC 7 after JDK-8301998

Reviewed-by: phh
Backport-of: f5c8b68c1c
2023-07-23 05:35:58 +07:00
Christoph Langer
ae74b4933e 8306543: GHA: MSVC installation is failing
Backport-of: 5a00617b1b
2023-07-23 05:35:57 +07:00
Andrei Pangin
626d4e2e47 8201516: DebugNonSafepoints generates incorrect information
Reviewed-by: thartmann, shade
Backport-of: 94eda53d98
2023-07-23 05:35:57 +07:00
Goetz Lindenmaier
2d1699f8ec 8305400: ISO 4217 Amendment 175 Update
Backport-of: 7cf24d1c06
2023-07-23 05:35:57 +07:00
Goetz Lindenmaier
b17d874b4d 8304683: Memory leak in WB_IsMethodCompatible
Backport-of: 760c0128a4
2023-07-23 05:35:57 +07:00
Goetz Lindenmaier
f5b1b7f999 8304134: jib bootstrapper fails to quote filename when checking download filetype
Backport-of: 75168eaca3
2023-07-23 05:35:56 +07:00
Goetz Lindenmaier
909af5be46 8303482: Update LCMS to 2.15
Backport-of: c073ef2ed5
2023-07-23 05:35:56 +07:00
Goetz Lindenmaier
d325a62c46 8303588: [JVMCI] make JVMCI source directories conform with standard layout
Reviewed-by: mdoerr
Backport-of: 9fdbf3cfc4
2023-07-23 05:35:56 +07:00
Goetz Lindenmaier
8a28dfd28e 8302151: BMPImageReader throws an exception reading BMP images
Backport-of: aa10f0d3ee
2023-07-23 05:35:55 +07:00
Goetz Lindenmaier
e563aa74f3 8178806: Better exception logging in crypto code
Backport-of: b814cfc39d
2023-07-23 05:35:55 +07:00
Goetz Lindenmaier
56fdf88e8a 8301123: Enable Symbol refcounting underflow checks in PRODUCT
Backport-of: fccf818972
2023-07-23 05:35:55 +07:00
Goetz Lindenmaier
fa481bed5e 8297730: C2: Arraycopy intrinsic throws incorrect exception
Backport-of: 5a478ef775
2023-07-23 05:35:55 +07:00
Goetz Lindenmaier
8bacccb4da 8300823: UB: Compile::_phase_optimize_finished is initialized too late
Backport-of: e4252bb914
2023-07-23 05:35:54 +07:00
Goetz Lindenmaier
da1d6f3acf 8299179: ArrayFill with store on backedge needs to reduce length by 1
Backport-of: d716ec5d30
2023-07-23 05:35:54 +07:00
Goetz Lindenmaier
fdc23a96c3 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Backport-of: 8b0133f276
2023-07-23 05:35:54 +07:00
Goetz Lindenmaier
0e68aff288 8296318: use-def assert: special case undetected loops nested in infinite loops
Backport-of: 736fcd49f7
2023-07-23 05:35:53 +07:00
Goetz Lindenmaier
cb2da35151 8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS
Reviewed-by: mdoerr
Backport-of: 8962c723a8
2023-07-23 05:35:53 +07:00
Goetz Lindenmaier
bc8ca432c5 8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]"
Backport-of: 9f94cbec51
2023-07-23 05:35:53 +07:00
Goetz Lindenmaier
9555b1043d 8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel
Backport-of: 79c0092125
2023-07-23 05:35:53 +07:00
Goetz Lindenmaier
64bbc69476 8289949: Improve test coverage for XPath: operators
Backport-of: f6b6360155
2023-07-23 05:35:52 +07:00
Goetz Lindenmaier
f47bb0b324 8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
Backport-of: 22347e46f7
2023-07-23 05:35:52 +07:00
Goetz Lindenmaier
f15d48558c 8282704: runtime/Thread/StopAtExit.java may leak memory
Backport-of: 3f923b82c3
2023-07-23 05:35:52 +07:00
Goetz Lindenmaier
f4992570d0 8273909: vmTestbase/nsk/jdi/Event/request/request001 can still fail with "ERROR: new event is not ThreadStartEvent"
Backport-of: 5fde4b64e2
2023-07-23 05:35:52 +07:00
Goetz Lindenmaier
3c06052b09 8270434: JDI+UT: Unexpected event in JDI tests
Backport-of: 8c022e2c17
2023-07-23 05:35:52 +07:00
Goetz Lindenmaier
649803df7e 8270869: G1ServiceThread may not terminate
Backport-of: 7f35e5bac9
2023-07-23 05:35:51 +07:00
Goetz Lindenmaier
823d9b0e88 8268298: jdk/jfr/api/consumer/log/TestVerbosity.java fails: unexpected log message
Backport-of: 06d26208c5
2023-07-23 05:35:51 +07:00
Sergey Bylokhov
74e2d20b57 8298887: On the latest macOS+XCode the Robot API may report wrong colors
Reviewed-by: phh
Backport-of: 50120396b6
2023-07-23 05:35:51 +07:00
Aleksey Shipilev
05b61d2ab9 8269821: Remove is-queue-active check in inner loop of write_ref_array_pre_work
Reviewed-by: tschatzl
Backport-of: 675a9520b2
2023-07-23 05:35:51 +07:00
Goetz Lindenmaier
ed822ac285 8299959: C2: CmpU::Value must filter overflow computation against local sub computation
Backport-of: 5f66024e95
2023-07-23 05:35:50 +07:00
Goetz Lindenmaier
f8ea6c9331 8297000: [jib] Add more friendly warning for proxy issues
Backport-of: 0d93ab9dff
2023-07-23 05:35:50 +07:00
Goetz Lindenmaier
1f0c564bcb 8295564: Norwegian Nynorsk Locale is missing formatting
Reviewed-by: andrew
Backport-of: b37421e757
2023-07-23 05:35:50 +07:00
Goetz Lindenmaier
f2f2db8236 8294906: Memory leak in PKCS11 NSS TLS server
Backport-of: 94caecbe57
2023-07-23 05:35:50 +07:00
Goetz Lindenmaier
d45d91c7ce 8292755: Non-default method in interface leads to a stack overflow in JShell
Backport-of: 2a3879180e
2023-07-23 05:35:49 +07:00
Goetz Lindenmaier
c90b6899e2 8287007: [cgroups] Consistently use stringStream throughout parsing code
Backport-of: e0baf012b1
2023-07-23 05:35:49 +07:00
Goetz Lindenmaier
2ee968b9d9 8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider
Backport-of: f235955eef
2023-07-23 05:35:49 +07:00
Jaroslav Bachorik
036fe2e7fd 8245877: assert(_value != __null) failed: resolving NULL _value in JvmtiExport::post_compiled_method_load
Backport-of: b969136b9f
2023-07-23 05:35:49 +07:00
Andrew John Hughes
ee13c52118 8305113: (tz) Update Timezone Data to 2023c
Reviewed-by: phh
Backport-of: ed9592c6e8
2023-07-23 05:35:48 +07:00
Goetz Lindenmaier
b2c97200f4 8288589: Files.readString ignores encoding errors for UTF-16
Backport-of: 2728770e3d
2023-07-23 05:35:48 +07:00
Thomas Stuefe
070b037306 8305711: Arm: C2 always enters slowpath for monitorexit
Backport-of: c67bbcea92
2023-07-23 05:35:47 +07:00
Joshua Cao
fa2a359245 8305721: add make compile-commands artifacts to .gitignore
Reviewed-by: phh
Backport-of: 9e20382311
2023-07-23 05:35:47 +07:00
Andrew John Hughes
1fe0dd5b50 8274864: Remove Amman/Cairo hacks in ZoneInfoFile
Backport-of: ec199072c5
2023-07-23 05:35:47 +07:00
Ilarion Nakonechnyy
731ed02fef 8302491: NoClassDefFoundError omits the original cause of an error
Reviewed-by: phh
Backport-of: 5685107579
2023-07-23 05:35:47 +07:00
Dan Lutker
7c420c8c5f 8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c
Backport-of: 02ea338177
2023-07-23 05:35:46 +07:00
Dan Lutker
893cc4537a 8294281: Allow warnings to be disabled on a per-file basis
Backport-of: e45f3d5176
2023-07-23 05:35:46 +07:00
Glavo
dbbb55de86 8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling
Reviewed-by: phh
Backport-of: be0538d7c8
2023-07-23 05:35:46 +07:00
Martin Doerr
22abe3272e 8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC
Reviewed-by: rrich
Backport-of: 695683b5b1
2023-07-23 05:35:46 +07:00
Goetz Lindenmaier
a8669849c9 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Backport-of: 8dc4437d00
2023-07-23 05:35:45 +07:00
Goetz Lindenmaier
4fa2317aaa 8291638: Keep-Alive timeout of 0 should close connection immediately
Backport-of: 26ac836636
2023-07-23 05:35:45 +07:00
Goetz Lindenmaier
b23fb48384 8282227: Locale information for nb is not working properly
Backport-of: 3d07b3c7f0
2023-07-23 05:35:45 +07:00
Goetz Lindenmaier
175f3a2e3b 8275721: Name of UTC timezone in a locale changes depending on previous code
Backport-of: 543d1a8cf4
2023-07-23 05:35:45 +07:00
Matthias Baesken
f132881f29 8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers
Reviewed-by: phh
Backport-of: 63d4afbeb1
2023-07-23 05:35:44 +07:00
Goetz Lindenmaier
ae59792000 8291226: Create Test Cases to cover scenarios for JDK-8278067
Backport-of: 86ec158dfb
2023-07-23 05:35:44 +07:00
Goetz Lindenmaier
77dcf04580 8291637: HttpClient default keep alive timeout not followed if server sends invalid value
Backport-of: b17a745d7f
2023-07-23 05:35:44 +07:00
Goetz Lindenmaier
209c44faa2 8287541: Files.writeString fails to throw IOException for charset "windows-1252"
Backport-of: 6fb84e2c91
2023-07-23 05:35:44 +07:00
Goetz Lindenmaier
066dbcbb7e 8286287: Reading file as UTF-16 causes Error which "shouldn't happen"
Backport-of: cc7560e995
2023-07-23 05:35:43 +07:00
Goetz Lindenmaier
2cfca521e8 8283062: Uninitialized warnings in libgtest with GCC 11.2
Backport-of: a244051a8c
2023-07-23 05:35:43 +07:00
Goetz Lindenmaier
8d19648c96 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
Backport-of: d7f31d0d53
2023-07-23 05:35:43 +07:00
Goetz Lindenmaier
4ea4c810b6 8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()"
Reviewed-by: mbaesken
Backport-of: 0a09092631
2023-07-23 05:35:42 +07:00
Sergey Bylokhov
a0e33fd5d1 8302849: SurfaceManager might expose partially constructed object
Backport-of: 63ef214328
2023-07-23 05:35:42 +07:00
Sergey Bylokhov
28746d6124 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Backport-of: a43931b79c
2023-07-23 05:35:42 +07:00
Sergey Bylokhov
bd9136978e 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Reviewed-by: phh
Backport-of: 78b1686c15
2023-07-23 05:35:41 +07:00
Matthias Baesken
496e7a545b 8303575: adjust Xen handling on Linux aarch64
Reviewed-by: clanger
Backport-of: 8eaf84f094
2023-07-23 05:35:41 +07:00
Matthias Baesken
a80b946148 8300042: Improve CPU related JFR events descriptions
Backport-of: e326b86d37
2023-07-23 05:35:41 +07:00
Matthias Baesken
cc8e82817b 8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: a7e308ab6e
2023-07-23 05:35:40 +07:00
Goetz Lindenmaier
101b44c281 8292301: [REDO v2] C2 crash when allocating array of size too large
Reviewed-by: roland, mdoerr
Backport-of: 1ea0d6b424
2023-07-23 05:35:40 +07:00
Matthias Baesken
0ea456001a 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH
Backport-of: ebac7eec8e
2023-07-23 05:35:40 +07:00
Matthias Baesken
fc278cf7dd 8303949: gcc10 warning Linux ppc64le - note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
Reviewed-by: phh
Backport-of: a32ee5dd8b
2023-07-23 05:35:40 +07:00
Matthias Baesken
d4a5ee319d 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: b51ea4204e
2023-07-23 05:35:39 +07:00
Matthias Baesken
df9d061819 8301050: Detect Xen Virtualization on Linux aarch64
Reviewed-by: clanger
Backport-of: 11804b246e
2023-07-23 05:35:39 +07:00
Ravali Yatham
320a02fd3c 8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message
Reviewed-by: mchung, phh
Backport-of: 9f9d678591
2023-07-23 05:35:39 +07:00
Johannes Bechberger
2dbad060cb 8302320: AsyncGetCallTrace obtains too few frames in sanity test
Backport-of: db483a38a8
2023-07-23 05:35:38 +07:00
Man Cao
9d6cb36161 8303937: Corrupted heap dumps due to missing retries for os::write()
Reviewed-by: clanger
Backport-of: bf16b5b988
2023-07-23 05:35:38 +07:00
Sergey Bylokhov
38bcd2ba63 8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
Backport-of: cfb0a25a4e
2023-07-23 05:35:38 +07:00
Sergey Bylokhov
8efe8917ca 8270859: Post JEP 411 refactoring: client libs with maximum covering > 10K
Backport-of: 90cd2fa164
2023-07-23 05:35:38 +07:00
Vladimir Kempik
a4a6e0a6c8 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures
Backport-of: 6e6202c14d
2023-07-23 05:35:37 +07:00
Goetz Lindenmaier
df534dd672 8303433: Bump update version for OpenJDK: jdk-17.0.8
Reviewed-by: rrich
2023-07-23 05:35:37 +07:00
Vitaly Provodin
6298a9d861 update exclude list on results of 17.0.7_b1030.2 test runs 2023-07-21 06:42:08 +07:00
Maxim Kartashev
967210f131 JBR-5815 javax/swing/AbstractButton/6711682/bug6711682.java: Row #2 checkbox is not selected
Fixed the test to use proper cell coordinates when clicking.
2023-07-13 11:52:46 +04:00
bourgesl
ec80533eae fixup! JBR-5625: use sun.java2d.metal.colorMatching=true by default (current metal behaviour) 2023-07-12 21:12:56 +02:00
Vitaly Provodin
87c753ee01 update exclude list on results of 17.0.7_b1027.5 test runs 2023-07-11 16:27:08 +07:00
Vitaly Provodin
37467684d4 update exclude list on results of 17.0.7_b1023.3 test runs (follow up) 2023-07-07 19:30:26 +07:00
Vitaly Provodin
01e230a9d8 update exclude list on results of 17.0.7_b1023.3 test runs (follow up) 2023-07-07 07:22:34 +07:00
Alexey Ushakov
54928df298 JBR-5807 java/awt/Frame/FrameVisible/FrameContentAppearanceTest.java: Failed: OpenGL 26 image rendering failure(s)
Added synchronisation for rendering and appearance
2023-07-06 19:07:47 +02:00
Maxim Kartashev
d86b0671a9 JBR-5466 jb/hotspot/JNIRefsInCrashLog.java: 'hs_err_42.txt' missing from stdout/stderr 2023-07-06 11:23:28 +04:00
Vitaly Provodin
b8dcdcde67 update exclude list on results of 17.0.7_b1023.3 test runs 2023-07-05 05:48:14 +07:00
bourgesl
ec605cbf20 fixup! JBR-5625: use CGColorSpaceCopyName() available since macOS 10.6 in MTLLayer
(cherry picked from commit 4ec4f728f4461a0c173bb80cd3f3c9652f267f4f)
2023-07-01 12:33:32 +02:00
bourgesl
8126139d6a JBR-5625: disable color-matching (colorspace = nil) in MTLLayer by default (see new system property 'sun.java2d.metal.colorMatching=true/false') + added new MetalLayerColorTest 2023-06-30 18:06:28 +02:00
Vitaly Provodin
994168c829 update exclude list on results of 17.0.7_b1014.2 test runs 2023-06-30 18:36:19 +07:00
Maxim Kartashev
7098b2a081 JBR-5777 isWindowMoveSupported() doesn't work with non-default GraphicsEnvironment
Co-authored-by: Nikita Gubarkov <nikita.gubarkov@jetbrains.com>
2023-06-28 11:47:51 +04:00
Sergey Shelomentsev
ba68026993 fixup! JBR-5746 add mouse events logging 2023-06-27 23:17:37 +03:00
Dmitrii Morskii
e4e9a016e0 fixup! JBR-1775: improved logic for choosing newer font between system and bundled ones 2023-06-26 17:58:18 +02:00
Dmitry Batrak
924d8258fc JBR-5720 Wrong modifiers are reported for mouse middle and right buttons' release/clicked events 2023-06-26 12:09:27 +03:00
Alexey Ushakov
45b0c16363 JBR-5704 displaySyncOFF: javax/swing/JDialog/Transparency/TransparencyTest.java: JDialog transparency lost upon iconify/deiconify sequence
Corrected startRedraw method to call setNeedsDisplay in displaySync=false mode

(cherry picked from commit bd291402b1)
2023-06-23 19:24:14 +02:00
Alexey Ushakov
eb438186f4 JBR-5151 Test failures caused by -Dsun.java2d.metal.displaySync=false
Removed display sync from window layer, provide layer content updates only when necessary
2023-06-23 19:02:00 +02:00
Maxim Kartashev
695598f50a JBR-5722 vmTestbase/vm/gc/compact/Compact_TwoFields_InternedStrings: SIGSEGV at Symbol::as_klass_external_name(char*, int)
Do not use print_native_stack() when recording OOME stacks as it is
designed to be used only in the context of a fatal error reporting where
induced crash is tolerated.
Also, fixed the mutex to use more appropriate attributes.
2023-06-23 12:58:09 +04:00
Dmitry Batrak
576d818e54 JBR-5684 Focus state is broken after closing of modal dialog in an inactive application 2023-06-23 11:26:41 +03:00
Nikita Provotorov
fb12990a98 JBR-5762 Sometimes naturally generated MOUSE_DRAGGED events don't contain the pressed button's modifier.
Enforce keeping the pressed button in the modifiers for MOUSE_DRAGGED events. This is under a (default enabled) system property "awt.mac.enforceMouseModifiersForMouseDragged".
2023-06-22 18:29:03 +03:00
Maxim Kartashev
7814b100f3 JBR-5761 Make error printing more robust during early stages of VM initialization 2023-06-21 19:49:26 +04:00
Dmitrii Morskii
5ef38ed8fa JBR-1775: improved logic for choosing newer font between system and bundled ones 2023-06-20 19:27:34 +02:00
Sergey Shelomentsev
503ff435f3 JBR-5746 wait for menu visibility of fail the test 2023-06-20 18:42:23 +03:00
Vitaly Provodin
9e2b36f851 update exclude list on results of 17.0.7_b985.2 test runs 2023-06-17 04:50:49 +07:00
Nikita Tsarev
ffd4d15a97 JBR-5379: Ignore input events only on permament focus loss 2023-06-16 15:19:05 +02:00
Prasanta Sadhukhan
024bf7ea1a 8305942: Open source several AWT Focus related tests
Reviewed-by: prr
(cherry picked from commit 8346ae2bc1)
2023-06-13 22:26:28 +03:00
Damon Nguyen
f07fcaa150 8306466: Open source more AWT Drag & Drop related tests
Reviewed-by: prr
(cherry picked from commit 418a82551a)
2023-06-13 22:26:20 +03:00
Vitaly Provodin
19ad2c2e41 update exclude list on results of 17.0.7_b979.4 test runs 2023-06-10 05:26:21 +07:00
Nikita Gubarkov
dec2a4ea61 JBR-5637 Linux: force release grabs before doing _NET_WM_MOVERESIZE. 2023-06-06 22:05:15 +02:00
Sergey Shelomentsev
c4b0af93c9 fixup! JBR-5670 restore original display mode 2023-06-06 19:16:29 +03:00
Sergey Shelomentsev
fa3071a8bb JBR-5701 update source and target java version in J2DBench build file 2023-06-06 15:54:53 +03:00
Sergey Shelomentsev
934219ee41 JBR-2870 add resression test for JPopupMenu
- verify that the popup menu is usable if overlaps WM's dock panel of the bottom of screen
2023-06-06 11:42:18 +03:00
Sergey Bylokhov
95f5df40c1 8287761: Make the logging of J2DBench stable
Reviewed-by: aghaisas, prr
2023-06-02 22:17:38 +03:00
Nikita Tsarev
b9af936110 JBR-5630: vmoption to change dead key reporting behavior on macOS 2023-06-02 17:18:26 +02:00
Nikita Tsarev
a015cccddc JBR-5469: Fix NextAppWinKey behavior with certain keys 2023-06-02 17:18:26 +02:00
Nikita Tsarev
228529b24f JBR-5558: macOS keyboard rewrite 2 2023-06-02 17:18:20 +02:00
Vladislav Rassokhin
d05a3770f0 JBR-5600 Reduce noise in signing scripts output
(cherry picked from commit 4e2fa80e86)
2023-06-02 20:35:12 +07:00
Vladislav Rassokhin
d2eb357bcc JBR-5600 Sign frameworks as whole, verify framework signature before full app sign
(cherry picked from commit ebb82ed952)
2023-06-02 20:35:12 +07:00
Vladislav Rassokhin
8730ade05b tools/mac/scripts: minor improvements
* don't move into itself
* use `PKG_NAME` variable instead of `${APP_NAME}.pkg`
* cleanup sign.sh
* add `SCRIPT_VERBOSE` env variable to control `set -x`

(cherry picked from commit 45a9853b23)
2023-06-02 20:35:12 +07:00
Vladislav Rassokhin
b69f01fa9b JBR-5600 Staple .pkg with signature
(cherry picked from commit e1dc322fd3)
2023-06-02 20:35:11 +07:00
Vladislav Rassokhin
e9ae158f79 JBR-5600 Notarize macOS binaries using notarytool
(cherry picked from commit f0f1734d50)
2023-06-02 20:35:11 +07:00
Vladislav Rassokhin
c803113d4b JBR-5600 Sign macOS binaries using jet-sign
(cherry picked from commit 9cbf4e489b)
2023-06-02 20:35:11 +07:00
Sergey Shelomentsev
7fef5c3f09 JBR-5670 restore initial display mode after test execution 2023-06-02 14:28:58 +03:00
Sergey Shelomentsev
d8a57d0f7b JBR-4880 Fix DeadKeySystemAssertionDialog to avoid receiving key event out of the window 2023-06-02 14:28:52 +03:00
Alexey Ushakov
25a4e749ad JBR-5649 Flickering in multi-monitor configuration
Provided corrected initial value for currentDisplayID

(cherry picked from commit 9ba9286595)
2023-05-31 12:44:14 +02:00
Nikita Provotorov
cba981df4b JBR-5668: The implementation of a11y announcing for macOS crashes with -Xcheck:jni.
- Create a global reference of the passed to EDT accessible object (the local reference) to use it in the AppKit thread ;
- Enable -Xcheck:jni in the tests ;
- Make the tests handle the problematic case .
2023-05-30 17:01:18 +03:00
Sergey Shelomentsev
c229e13d3c JBR-5579 Update mouse location checks, set window always on top for ActionListenerTest 2023-05-29 18:39:48 +03:00
Sergey Shelomentsev
7b2806d3fa JBR-5551 update hit tests on custom title bar
- set windows always on top
- verify mouse location before clicking
2023-05-29 18:39:43 +03:00
Sergey Shelomentsev
a61c48d9f7 remove jb/java/awt/CustomTitleBar/MouseEventsOnClientArea.java 2023-05-29 17:16:42 +03:00
Sergey Shelomentsev
494235b0ca JBR-5577 fix MouseEventsOnClientArea test
- add Swing/AWT specific Task runners
- split MouseEventsOnClientArea to separate AWT/Swing tests
- use CountDownLatch for tracking mouse events
2023-05-29 17:15:45 +03:00
Sergey Shelomentsev
78bf69d7a8 remove jb/java/awt/Window/ZOrderOnModalDialogActivation.java 2023-05-29 15:28:39 +03:00
Sergey Shelomentsev
df5b1f9100 JBR-4494 pass ui scale options for child process 2023-05-29 15:28:18 +03:00
bourgesl
d3d6de0551 JBR-5651: Improved MTLVertexCache to merge consecutive full-tiles ie use 1 larger quad instead of many quads per row, full-tile is only using 1x1 pixel (full), applied to color, gradient & texture paints + fixed clang warnings
(cherry picked from commit ff9ecea896)
2023-05-24 11:24:36 +02:00
bourgesl
868bb8da72 JBR-5638: improved renderer performance for simple rectangular area (see BBoxAATileGenerator), added new statistics in Renderer
(cherry picked from commit 071d81d294)
2023-05-24 11:24:36 +02:00
Vitaly Provodin
47845c22e1 update exclude list on results of 17.0.7_b953.1 test runs 2023-05-19 18:39:23 +07:00
ngubarkov
e805830832 JBR-5605 ignore empty client area when syncing bounds in XDecoratedPeer. 2023-05-18 22:38:54 +03:00
Maxim Kartashev
34d7fab3ca JBR-5637 Linux: implement window position change with WM help
Introduced JBR.isWindowMoveSupported() and
JBR.getWindowMove().startMovingTogetherWithMouse()
2023-05-18 17:39:20 +04:00
Vitaly Provodin
a7252d53ed JBR-5627 add regression test AsyncProfilerRunnerTest 2023-05-18 05:11:00 +07:00
Maxim Kartashev
6b6d32529d JBR-5631 Refactor Dockerfile for x64 builds 2023-05-16 07:15:32 +07:00
Vitaly Provodin
756792c03e JBR-5603 build aarch64 Linux from arm64v8/centos:7 and check glibc to be not higher 2.17 2023-05-12 19:16:35 +07:00
Alexey Ushakov
2ac8a86475 JBR-5580 J2DBench: ~15% drop performance  because of non optimal synchronization in metal (MBP 16'' x64)
Replaced NSMutableArray with NSMutableSet, removed unnecessary __block modifier.
2023-05-10 21:09:05 +02:00
Alexey Ushakov
4959205a1f JBR-5580 J2DBench: ~15% drop performance because of non optimal synchronization in metal (MBP 16'' x64)
Removed NSLock and moved all operations to the AppKit thread
2023-05-04 15:29:03 +02:00
bourgesl
ac97530bd0 JBR-5170: improved color maskFill performance: using a new MaskColorBuffer and a specific shader (vert_txt_col)
fix crash in J2DDemo with advanced paints + artefacts with texture background
(cherry picked from commit 9c1f618e1a6239ad8c400d7b94ccd4a885ec02d7)
(cherry picked from commit c352cfb25d7f8188540b094bb484f7f438142be4)
2023-05-03 17:16:52 +02:00
Vitaly Provodin
30aa7f033a update exclude list on results of 17.0.6_b929.7 test runs 2023-04-27 16:44:49 +07:00
Alexey Ushakov
df1fdb86db JBR-5559 SwingMark performance drop after removing additional command queue
Added command queue and provided synchronization between the command queues
2023-04-24 20:40:44 +02:00
Vitaly Provodin
772f1d5b6d rebase exclude-list on top of 17.0.7 2023-04-21 10:40:27 +07:00
Nikita Provotorov
a7afa5c2e9 JBR-5536: Crash on macOS bad JNI lookup in Java_sun_swing_AccessibleAnnouncer_nativeAnnounce
Stop using the JNIEnv instance bound to EDT in the AppKit thread.

(cherry picked from commit 0f49341f4d)
2023-04-20 19:23:21 +03:00
Christoph Langer
900625970e 8299597: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.7
Reviewed-by: goetz
2023-04-20 16:33:19 +07:00
Alexei Voitylov
d0692a98f2 8299129: Enhance NameService lookups
Reviewed-by: mbalao
Backport-of: 1aef50354aaa0831b58de81db3d6bf30b9a277d1
2023-04-20 16:33:17 +07:00
Aleksei Voitylov
5d59973f1e 8298667: Improved path handling
Reviewed-by: mbalao
Backport-of: 900abc284669d1aadeac8026ad618c9f1dc553a6
2023-04-20 16:33:16 +07:00
Alexey Bakhtin
496485fce6 8298310: Enhance TLS session negotiation
Reviewed-by: mbalao
Backport-of: 9a14b363feaaa1a1831fcc8620d41b4db2e0110a
2023-04-20 16:33:14 +07:00
Anton Kozlov
6f614aade2 8298191: Enhance object reclamation process
Reviewed-by: johnc, rkennke
2023-04-20 16:33:13 +07:00
Martin Balao
f9b8bd6daa 8297371: Improve UTF8 representation redux
Reviewed-by: yan
Backport-of: a44eb133d3cdb190abb0210c201e315d94d09dc7
2023-04-20 16:33:12 +07:00
Yuri Nesterenko
8fc1c93ec6 8296832: Improve Swing platform support
Reviewed-by: mbalao
Backport-of: a81c810a76d91b79917417ed22e5e5aa530690ca
2023-04-20 16:33:09 +07:00
Ekaterina Vergizova
52f38235fe 8296692: Improve String platform support
Reviewed-by: mbalao
Backport-of: ed8643947e21263588cb6e9202efb3a30f450c4e
2023-04-20 16:33:08 +07:00
Olga Mikhaltsova
34fdbbf6bd 8296684: Improve String platform support
Reviewed-by: mbalao
Backport-of: 9ae682726873de27cef4d3bd5523713f4ff98266
2023-04-20 16:33:05 +07:00
Martin Balao
1a147cb908 8296676: Improve String platform support
Reviewed-by: mbaesken
Backport-of: d083a3c21e8849ed2a8b79aba37b46d921886a05
2023-04-20 16:33:04 +07:00
Aleksei Voitylov
66cf0de971 8295304: Runtime support improvements
Reviewed-by: mbalao
Backport-of: 9c31d51bd5fc17e3914142c2461f3abfe71651d0
2023-04-20 16:33:01 +07:00
Martin Balao
310542c500 8294474: Better AES support
Reviewed-by: mbaesken
Backport-of: 0c534f3309a308e89363ec69dee74d95fd9647a4
2023-04-20 16:33:01 +07:00
Martin Balao
3c9b76b51f 8288436: Improve Xalan supports
Reviewed-by: mbaesken
Backport-of: 6899dff264c9030a3016e292c3f3f6738bde97cc
2023-04-20 16:33:00 +07:00
Martin Balao
8b35b260ae 8287404: Improve ping times
Reviewed-by: mbaesken
Backport-of: 5a054b372dbd751fe1b312375153f13e70d7131f
2023-04-20 16:32:57 +07:00
Severin Gehwolf
63aae7da49 8304871: Use default visibility for static library builds
Backport-of: f0dba218ac
2023-04-20 16:32:54 +07:00
Goetz Lindenmaier
18995093dc 8289511: Improve test coverage for XPath Axes: child
Backport-of: cfe9026fe0
2023-04-20 16:32:53 +07:00
Goetz Lindenmaier
e2613ebd40 8284524: Create an automated test for JDK-4422362
Backport-of: b9de0a7556
2023-04-20 16:32:52 +07:00
Goetz Lindenmaier
4171612b70 8284767: Create an automated test for JDK-4422535
Backport-of: 5ae4320921
2023-04-20 16:32:49 +07:00
Goetz Lindenmaier
d6bcd7f41f 8210927: JDB tests do not update source path after doing a redefine class
Backport-of: 61ac53f6e5
2023-04-20 16:32:48 +07:00
Goetz Lindenmaier
6332555187 8048190: NoClassDefFoundError omits original ExceptionInInitializerError
Reviewed-by: phh
Backport-of: 464e874a5c
2023-04-20 16:32:45 +07:00
Goetz Lindenmaier
f2c60fa302 8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension
Backport-of: 44fb92e2aa
2023-04-20 16:32:45 +07:00
Masanori Yano
d655c3a940 8213531: Test javax/swing/border/TestTitledBorderLeak.java fails
Reviewed-by: phh
Backport-of: 07d24509a6
2023-04-20 16:32:44 +07:00
bell-sw
3f51662b74 Revert "JBR-2207 TitledBorder leaks PropertyChangeListener"
This reverts commit dca1987fb5.
2023-04-20 16:32:41 +07:00
Goetz Lindenmaier
923551fa2b 8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316
Reviewed-by: clanger
Backport-of: 545ded1a82
2023-04-20 16:32:38 +07:00
George Adams
2462aad3e8 8302879: doc/building.md update link to jtreg builds
Reviewed-by: clanger
Backport-of: bb3dfd6adb
2023-04-20 16:32:37 +07:00
Adam Sotona
8373821a3f 8293000: Review running times of jshell regression tests
Backport-of: b4e1e416da
2023-04-20 16:32:34 +07:00
Scott Gibbons
70bb937db3 8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption
Backport-of: 409382ba4b
2023-04-20 16:32:33 +07:00
Anton Kozlov
ae215fe8e8 8289647: AssertionError during annotation processing of record related tests
Reviewed-by: phh
Backport-of: 64a1a08ff9
2023-04-20 16:32:32 +07:00
Shruthi
25fa75dc87 8266974: duplicate property key in java.sql.rowset resource bundle
Backport-of: e3d5c9e7c4
2023-04-20 16:32:30 +07:00
Shruthi
1dca113b39 8300751: [17u] Remove duplicate entry in javac.properties
Reviewed-by: clanger
2023-04-20 16:32:28 +07:00
Goetz Lindenmaier
0a76322a79 8245654: Add Certigna Root CA
Reviewed-by: phh
Backport-of: 8c87a67419
2023-04-20 16:32:27 +07:00
Goetz Lindenmaier
b88ea4667d 8294902: Undefined Behavior in C2 regalloc with null references
Reviewed-by: rrich, phh
Backport-of: 0bbc4181cd
2023-04-20 16:32:26 +07:00
Goetz Lindenmaier
de2c623007 8251177: [macosx] The text "big" is truncated in JTabbedPane
Backport-of: 16ebe40a1b
2023-04-20 16:32:24 +07:00
Radim Vansa
6c8b2fbec8 8272702: Resolving URI relative path with no / may lead to incorrect toString
Reviewed-by: phh
Backport-of: 79597f1ea6
2023-04-20 16:32:21 +07:00
Victor Rudometov
68fe4c31c4 8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java
Backport-of: 5d39d14522
2023-04-20 16:32:20 +07:00
Patrick Zhang
f0162cda25 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options
Reviewed-by: aph, goetz
Backport-of: 7068457436
2023-04-20 16:32:19 +07:00
Victor Rudometov
64dc8f17c2 8302152: Speed up tests with infinite loops, sleep less
Backport-of: a9a53f417d
2023-04-20 16:32:19 +07:00
Victor Rudometov
e0c0d316d9 8301342: Prefer ArrayList to LinkedList in LayoutComparator
Backport-of: d67bfe21a2
2023-04-20 16:32:16 +07:00
Goetz Lindenmaier
0de40cda7c 8288332: Tier1 validate-source fails after 8279614
Backport-of: e90b579b29
2023-04-20 16:32:15 +07:00
Christoph Langer
90984b3309 8302692: [17u] Update GHA Boot JDK to 17.0.6
Reviewed-by: mbaesken, sgehwolf
2023-04-20 16:32:14 +07:00
Ekaterina Vergizova
7a31688f2c 8301842: JFR: increase checkpoint event size for stacktrace and string pool
Backport-of: 7dfe75cf55
2023-04-20 16:32:11 +07:00
Roman Marchenko
3a6778fa06 8297437: javadoc cannot link to old docs (with old style anchors)
Reviewed-by: phh
Backport-of: 15a1488401
2023-04-20 16:32:10 +07:00
Goetz Lindenmaier
fae1b1ee46 8282958: Rendering Issues with Borders on Windows High-DPI systems
Backport-of: 9911405e54
2023-04-20 16:32:08 +07:00
Goetz Lindenmaier
b13ddad0e0 8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver
Backport-of: 65c84e0cf8
2023-04-20 16:32:07 +07:00
Goetz Lindenmaier
021733d4b8 8294958: java/net/httpclient/ConnectTimeout tests are slow
Backport-of: fe70487d0b
2023-04-20 16:32:03 +07:00
Goetz Lindenmaier
02f7771288 8279614: The left line of the TitledBorder is not painted on 150 scale factor
Backport-of: b42c1ad108
2023-04-20 16:32:03 +07:00
Goetz Lindenmaier
18abd53ce6 8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11
Backport-of: bb4dece246
2023-04-20 16:32:02 +07:00
Matthias Baesken
f054e01c3a 8300266: Detect Virtualization on Linux aarch64
Reviewed-by: clanger
Backport-of: 544c16e0bd
2023-04-20 16:32:01 +07:00
Goetz Lindenmaier
21265896a8 8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines
Backport-of: a2f67660f0
2023-04-20 16:32:00 +07:00
Matthias Baesken
70767fc3c4 8300205: Swing test bug8078268 make latch timeout configurable
Backport-of: e82dc6935b
2023-04-20 16:31:59 +07:00
Matthias Baesken
0151a0e1c6 8299957: Enhance error logging in instrument coding with additional jplis_assert_msg
Backport-of: be8e6d05db
2023-04-20 16:31:59 +07:00
Goetz Lindenmaier
5eae54e3a1 8299671: Speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java
Backport-of: d2827ec8f7
2023-04-20 16:31:56 +07:00
Goetz Lindenmaier
d5ed027ce7 8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes
Backport-of: e5edb10dc5
2023-04-20 16:31:56 +07:00
Goetz Lindenmaier
4a2b947b91 8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent
Backport-of: 7d20a60a98
2023-04-20 16:31:55 +07:00
Goetz Lindenmaier
e13b2f029b 8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections
Backport-of: 8effaa8f1f
2023-04-20 16:31:55 +07:00
Goetz Lindenmaier
a015d43872 8186765: Speed up test sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
Backport-of: 43dbf5899b
2023-04-20 16:31:55 +07:00
Goetz Lindenmaier
0337c7906f 8295774: Write a test to verify List sends ItemEvent/ActionEvent
Backport-of: 2a79dfc1f9
2023-04-20 16:31:54 +07:00
Goetz Lindenmaier
53bc836b44 8295000: java/util/Formatter/Basic test cleanup
Backport-of: 78763fc8e0
2023-04-20 16:31:54 +07:00
Goetz Lindenmaier
76d36c0d99 8296675: Exclude linux-aarch64 in NSS tests
Backport-of: fa8a8668a6
2023-04-20 16:31:53 +07:00
Goetz Lindenmaier
8e9efd3df3 8292328: AccessibleActionsTest.java test instruction for show popup on JLabel did not specify shift key
Backport-of: df53fa752a
2023-04-20 16:31:53 +07:00
Goetz Lindenmaier
066bc464d0 8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG"
Backport-of: 11e7d53b23
2023-04-20 16:31:52 +07:00
Goetz Lindenmaier
ef44768e0b 8286030: Avoid JVM crash when containers share the same /tmp dir
Reviewed-by: stuefe
Backport-of: 84f23149e2
2023-04-20 16:31:52 +07:00
Goetz Lindenmaier
4583ca7e27 8290083: ResponseBodyBeforeError: AssertionError or SSLException: Unsupported or unrecognized SSL message
Backport-of: 3b9059a147
2023-04-20 16:31:51 +07:00
Goetz Lindenmaier
f6bc44b1e4 8195809: [TESTBUG] jps and jcmd -l support for containers is not tested
Backport-of: 7c26ddb575
2023-04-20 16:31:50 +07:00
Matthias Baesken
3c335c155f 8301170: perfMemory_windows.cpp add free_security_attr to early returns
Backport-of: 810c8a271b
2023-04-20 16:31:49 +07:00
Yuri Nesterenko
a84e3fa3d9 8301760: Fix possible leak in SpNegoContext dispose
Backport-of: 3f3356bcbd
2023-04-20 16:31:49 +07:00
Goetz Lindenmaier
160757aa9d 8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx
8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes

Reviewed-by: phh
Backport-of: 99a6c47855
2023-04-20 16:31:48 +07:00
Goetz Lindenmaier
c222614261 8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException
Backport-of: 13d4ddc35b
2023-04-20 16:31:47 +07:00
Radim Vansa
75e929e395 8296329: jar validator doesn't account for minor class file version
Reviewed-by: yan
Backport-of: faf48e61be
2023-04-20 16:31:46 +07:00
Radim Vansa
bc92df8dca 8300590: [JVMCI] BytecodeFrame.equals is broken
Reviewed-by: phh
Backport-of: 06394ee8b1
2023-04-20 16:31:45 +07:00
Thomas Stuefe
e2e5dc76fd 8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications
Reviewed-by: phh, xliu
Backport-of: 2292ce137c
2023-04-20 16:31:44 +07:00
Ichiroh Takiguchi
c70077b8fc 8299194: CustomTzIDCheckDST.java may fail at future date
Backport-of: 5e2de89628
2023-04-20 16:31:43 +07:00
Victor Rudometov
9c9562ee02 8290836: Improve test coverage for XPath functions: String Functions
8290837: Improve test coverage for XPath functions: Boolean Functions
8290838: Improve test coverage for XPath functions: Number Functions

Backport-of: d889264c61
2023-04-20 16:31:41 +07:00
Victor Rudometov
72f1a2c993 8299296: Write a test to verify the components selection sends ItemEvent
Backport-of: 5ae6de859d
2023-04-20 16:31:40 +07:00
Goetz Lindenmaier
81b4281e92 8293326: jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java slow on Windows
Backport-of: 205f992e9e
2023-04-20 16:31:39 +07:00
Goetz Lindenmaier
d0abe6db1a 8289400: Improve com/sun/jdi/TestScaffold error reporting
Backport-of: da99e3e829
2023-04-20 16:31:38 +07:00
Goetz Lindenmaier
a0f9ab9efc 8292066: Convert TestInputArgument.sh and TestSystemLoadAvg.sh to java version
Backport-of: 032be168b5
2023-04-20 16:31:37 +07:00
Goetz Lindenmaier
1502e7f7ce 8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases
Backport-of: e8bc87956a
2023-04-20 16:31:37 +07:00
Goetz Lindenmaier
6554c72f6b 8291825: java/time/nontestng/java/time/zone/CustomZoneNameTest.java fails if defaultLocale and defaultFormatLocale are different
Backport-of: 4772354f4c
2023-04-20 16:31:36 +07:00
Goetz Lindenmaier
b25c18220b 8286844: com/sun/jdi/RedefineCrossEvent.java failed with 1 threads completed while VM suspended
Backport-of: 7ec0132ad3
2023-04-20 16:31:36 +07:00
Goetz Lindenmaier
0e0077c7d9 8287593: ShortResponseBody could be made more resilient to rogue connections
Reviewed-by: chegar
Backport-of: 9ccae7078e
2023-04-20 16:31:35 +07:00
Victor Rudometov
5de6ce7c6a 8289948: Improve test coverage for XPath functions: Node Set Functions
Backport-of: 57bf603b73
2023-04-20 16:31:34 +07:00
Goetz Lindenmaier
42c95806c7 8289440: Remove vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003 from ProblemList.txt
Backport-of: 00d06d4a82
2023-04-20 16:31:34 +07:00
Goetz Lindenmaier
8ad886bdf9 8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions
Backport-of: 784fa0add7
2023-04-20 16:31:33 +07:00
Goetz Lindenmaier
db710e4bd4 8209935: Test to cover CodeSource.getCodeSigners()
Backport-of: 0cb0ecf443
2023-04-20 16:31:33 +07:00
Goetz Lindenmaier
f662daffbe 8271838: AmazonCA.java interop test fails
Backport-of: 512db0ff31
2023-04-20 16:31:32 +07:00
Goetz Lindenmaier
ffb2a09fa5 8286154: Fix 3rd party notices in test files
Backport-of: 1277f5d84e
2023-04-20 16:31:30 +07:00
Goetz Lindenmaier
1dd897755a 6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java
Backport-of: 8a662105c2
2023-04-20 16:31:30 +07:00
Ekaterina Vergizova
bb9e11570d 8298649: JFR: RemoteRecordingStream support for checkpoint event sizes beyond u4
Reviewed-by: phh
Backport-of: 0eeaf6b219
2023-04-20 16:31:29 +07:00
Thomas Stuefe
b27e7941fc 8277990: NMT: Remove NMT shutdown capability
Reviewed-by: mbaesken
Backport-of: 5a036ace01
2023-04-20 16:31:28 +07:00
Ekaterina Vergizova
701d831ae0 8298129: Let checkpoint event sizes grow beyond u4 limit
Reviewed-by: phh
Backport-of: ea108f504c
2023-04-20 16:31:28 +07:00
Christoph Langer
6b5b96bd55 8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18
Reviewed-by: goetz
2023-04-20 16:31:27 +07:00
Elif Aslan
15f32a9080 8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2
Backport-of: f823bed043
2023-04-20 16:31:27 +07:00
Goetz Lindenmaier
8dd1056831 8294160: misc crash dump improvements
Reviewed-by: rrich
Backport-of: 6f8f28e756
2023-04-20 16:31:26 +07:00
Goetz Lindenmaier
14a8c0d05d 8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties
Backport-of: 04d8069bac
2023-04-20 16:31:26 +07:00
Goetz Lindenmaier
99d49ce7c4 8285965: TestScenarios.java does not check for "<!-- safepoint while printing -->" correctly
Backport-of: 6e3e470dac
2023-04-20 16:31:26 +07:00
Goetz Lindenmaier
66bfd52996 8286873: Improve websocket test execution time
Backport-of: d24c84e768
2023-04-20 16:31:25 +07:00
Goetz Lindenmaier
3e6a9d540a 8284115: [IR Framework] Compilation is not found due to rare safepoint while dumping PrintIdeal/PrintOptoAssembly
Backport-of: 3984253800
2023-04-20 16:31:23 +07:00
Thomas Stuefe
4cc6061658 8275704: Metaspace::contains() should be threadsafe
Backport-of: d9b0138d7d
2023-04-20 16:31:22 +07:00
Thomas Stuefe
6929c3d910 8276086: Increase size of metaspace mappings
Backport-of: e89b2c040c
2023-04-20 16:31:22 +07:00
Ben Taylor
37ceb1d373 8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros
Backport-of: f8f46305ef
2023-04-20 16:31:21 +07:00
Dan Lutker
c1e8c0dd10 8300692: GCC 12 reports some compiler warnings in bundled freetype
Reviewed-by: serb
Backport-of: a6c2a2ae79
2023-04-20 16:31:21 +07:00
Dan Lutker
ac56d16938 8286694: Incorrect argument processing in java launcher
Backport-of: 26c7c92bc9
2023-04-20 16:31:21 +07:00
Thomas Stuefe
52cf5b885b 8275582: Don't purge metaspace mapping lists
Backport-of: 3ff085e296
2023-04-20 16:31:20 +07:00
Thomas Stuefe
f9b6827972 8293466: libjsig should ignore non-modifying sigaction calls
Backport-of: b1ed40a87a
2023-04-20 16:31:20 +07:00
Thomas Stuefe
ac7bea4752 8293493: Signal Handlers printout should show signal block state
Backport-of: d14e96d970
2023-04-20 16:31:20 +07:00
Johan Sjölen
717434b0a0 8293691: converting a defined BasicType value to a string should not crash the VM
Reviewed-by: phh
Backport-of: f2a32d996a
2023-04-20 16:31:19 +07:00
Thomas Stuefe
94254edef0 8277946: NMT: Remove VM.native_memory shutdown jcmd command option
Reviewed-by: mbaesken
Backport-of: abaa073bcb
2023-04-20 16:31:19 +07:00
Sergey Bylokhov
c6ba480936 8280048: Missing comma in copyright header
Backport-of: 9a18190a4f
2023-04-20 16:31:18 +07:00
Goetz Lindenmaier
12bf663cba 8231491: JDI tc02x004 failed again due to wrong # of breakpoints
Backport-of: e2cfe2e14a
2023-04-20 16:31:16 +07:00
Goetz Lindenmaier
83dfbf1f13 8282771: Create test case for JDK-8262981
Backport-of: 8db5247ebc
2023-04-20 16:31:15 +07:00
Goetz Lindenmaier
b5df6520d8 8285690: CloneableReference subtest should not throw CloneNotSupportedException
Backport-of: 2d8d140214
2023-04-20 16:31:14 +07:00
Masanori Yano
e4684919ec 8144030: [macosx] test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again)
Backport-of: e5041ae3d4
2023-04-20 16:31:11 +07:00
Yasumasa Suenaga
9df8194d81 8287491: compiler/jvmci/errors/TestInvalidDebugInfo.java fails new assert: assert((uint)t < T_CONFLICT + 1) failed: invalid type #
Reviewed-by: phh
Backport-of: e3791ecfe4
2023-04-20 16:31:10 +07:00
Sergey Bylokhov
13810be7ab 6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion
Backport-of: abeddab991
2023-04-20 16:31:09 +07:00
Sergey Bylokhov
9806d6ee46 8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java
Backport-of: c08ff2c7b8
2023-04-20 16:31:09 +07:00
Yasumasa Suenaga
028fd89fc6 8286562: GCC 12 reports some compiler warnings
Backport-of: 410a25d59a
2023-04-20 16:31:08 +07:00
Victor Rudometov
292d82d7f5 8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs
Backport-of: b5ee3d1f2a
2023-04-20 16:31:08 +07:00
Goetz Lindenmaier
f053c18fcd 8300773: Address the inconsistency between the constant array and pool size
Reviewed-by: mbaesken
2023-04-20 16:31:07 +07:00
Goetz Lindenmaier
c1f734abf0 8208077: File.listRoots performance degradation
Backport-of: 5b0af1a80b
2023-04-20 16:31:07 +07:00
Goetz Lindenmaier
a100a42741 8295685: Update Libpng to 1.6.38
Backport-of: b685fc2de4
2023-04-20 16:31:06 +07:00
Goetz Lindenmaier
2313c7cfc4 8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top
Reviewed-by: rrich
Backport-of: a57392390b
2023-04-20 16:31:06 +07:00
Goetz Lindenmaier
b71afabb37 8287180: Update IANA Language Subtag Registry to Version 2022-08-08
Reviewed-by: stuefe
Backport-of: 992f209def
2023-04-20 16:31:05 +07:00
Goetz Lindenmaier
f07f5e07cd 8292033: Move jdk.X509Certificate event logic to JCA layer
Reviewed-by: mbaesken
Backport-of: 102b2b32fe
2023-04-20 16:31:03 +07:00
Yasumasa Suenaga
618629caba 8286705: GCC 12 reports use-after-free potential bugs
Backport-of: 0e4bece5b5
2023-04-20 16:31:01 +07:00
Goetz Lindenmaier
0d0a6bcd90 8287754: Update jib GNU make dependency on Windows to latest cygwin build
Backport-of: af2de975cb
2023-04-20 16:31:00 +07:00
Severin Gehwolf
2dc3ac6c2a 8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems
Backport-of: dea58efb62
2023-04-20 16:31:00 +07:00
Goetz Lindenmaier
9fad79410a 8272985: Reference discovery is confused about atomicity and degree of parallelism
Backport-of: fb5b144eca
2023-04-20 16:30:57 +07:00
Christoph Langer
2120f98cd5 8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
Backport-of: 62a2f2327a
2023-04-20 16:30:56 +07:00
Goetz Lindenmaier
b4823f0e26 8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
2023-04-20 16:30:56 +07:00
Christoph Langer
a1f10594e9 8285919: Remove debug printout from JDK-8285093
Backport-of: 64225e1999
2023-04-20 16:30:56 +07:00
Aleksey Shipilev
417d1d9979 8282143: Objects.requireNonNull should be ForceInline
Backport-of: fc52a2182a
2023-04-20 16:30:55 +07:00
Aleksey Shipilev
eabbe2d51f 8285755: JDK-8285093 changed the default for --with-output-sync
Backport-of: ccf0e8bf90
2023-04-20 16:30:55 +07:00
Matthias Baesken
0464692a3c 8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470
Backport-of: 1ca31d34fc
2023-04-20 16:30:54 +07:00
Matthias Baesken
f726d0ca57 8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args
Backport-of: 2ccdefc81c
2023-04-20 16:30:54 +07:00
Goetz Lindenmaier
ed87aa09ce 8283719: java/util/logging/CheckZombieLockTest.java failing intermittently
Backport-of: 74835f7389
2023-04-20 16:30:53 +07:00
Goetz Lindenmaier
a6b5fcf668 8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/thread001 failed due to SocketTimeoutException
Backport-of: f9f439a19d
2023-04-20 16:30:53 +07:00
Goetz Lindenmaier
8f0a5b9dbd 8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
8298568: Fastdebug build fails after JDK-8296389

Reviewed-by: rrich
Backport-of: fabda24696
2023-04-20 16:30:52 +07:00
Goetz Lindenmaier
1d2e293fc4 8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination
Backport-of: d562d3fcbe
2023-04-20 16:30:49 +07:00
Goetz Lindenmaier
07641a8987 8290850: C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph
Reviewed-by: phh
Backport-of: 49b86224aa
2023-04-20 16:30:49 +07:00
Goetz Lindenmaier
a839e213b8 8278961: Enable debug logging in java/net/DatagramSocket/SendDatagramToBadAddress.java
Reviewed-by: rrich
Backport-of: c17a0122c4
2023-04-20 16:30:48 +07:00
Goetz Lindenmaier
aba45b52f1 8273154: Provide a JavadocTester method for non-overlapping, unordered output matching
Backport-of: ce3ed65ac3
2023-04-20 16:30:48 +07:00
Goetz Lindenmaier
b055fc7fd2 8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:"
Backport-of: 40d69f0c41
2023-04-20 16:30:47 +07:00
Severin Gehwolf
17465e0178 8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals"
Backport-of: c357b5908a
2023-04-20 16:30:47 +07:00
Matthias Baesken
7860669056 8279351: [TESTBUG] SADebugDTest.java does not handle "Address already in use" error
Backport-of: d1e6f26160
2023-04-20 16:30:46 +07:00
Sergey Bylokhov
76d1e413e8 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Backport-of: c8a8388aba
2023-04-20 16:30:46 +07:00
Matthias Baesken
97162686f7 8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit
Backport-of: 95d4db3a92
2023-04-20 16:30:46 +07:00
Richard Reingruber
a0239b6422 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode
Backport-of: 08d3ef4fe6
2023-04-20 16:30:45 +07:00
Matthias Baesken
074d8403ff 8299520: TestPrintXML.java output error messages in case compare fails
Backport-of: ea25a561c5
2023-04-20 16:30:45 +07:00
Goetz Lindenmaier
f4e3595bf5 8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
Backport-of: 94575d14f4
2023-04-20 16:30:44 +07:00
Goetz Lindenmaier
09ad9ee0bf 8297951: C2: Create skeleton predicates for all If nodes in loop predication
Backport-of: 0bd04a6589
2023-04-20 16:30:44 +07:00
Matthias Baesken
e59085dfd2 8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows
Backport-of: c2e3d72848
2023-04-20 16:30:43 +07:00
Goetz Lindenmaier
db8cbd07bf 8296619: Upgrade jQuery to 3.6.1
Reviewed-by: mbaesken
Backport-of: 6a7a0db587
2023-04-20 16:30:39 +07:00
Goetz Lindenmaier
eb43ebd80d 8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events
Backport-of: fc889577ea
2023-04-20 16:30:38 +07:00
Goetz Lindenmaier
f41fd2eab4 8267038: Update IANA Language Subtag Registry to Version 2022-03-02
Backport-of: 7b19226be2
2023-04-20 16:30:36 +07:00
Goetz Lindenmaier
f42620ce24 8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
Backport-of: 761a4f4852
2023-04-20 16:30:35 +07:00
Thomas Stuefe
c4e3948186 8284165: Add pid to process reaper thread name
Reviewed-by: phh
Backport-of: 9561b5e041
2023-04-20 16:30:33 +07:00
Thomas Stuefe
c99a576581 8284726: Print active locale settings in hs_err reports and in VM.info
Backport-of: 6ce4e755a4
2023-04-20 16:30:33 +07:00
Thomas Stuefe
75af5747bf 8290067: Show stack dimensions in UL logging when attaching threads
Backport-of: 7ff19694df
2023-04-20 16:30:32 +07:00
Matthias Baesken
e67c1b511c 8297523: Various GetPrimitiveArrayCritical miss result - NULL check
Backport-of: 27b339d189
2023-04-20 16:30:31 +07:00
Aleksey Shipilev
77251da4af 8280784: VM_Cleanup unnecessarily processes all thread oops
Reviewed-by: stefank
Backport-of: 8a3cca09ba
2023-04-20 16:30:31 +07:00
Goetz Lindenmaier
1cfdcfea83 8297088: Update LCMS to 2.14
Reviewed-by: phh
Backport-of: 2c692aa356
2023-04-20 16:30:28 +07:00
Thomas Stuefe
34d53bb77b 8277822: Remove debug-only heap overrun checks in os::malloc and friends
Reviewed-by: phh
Backport-of: 39b1d75f25
2023-04-20 16:30:28 +07:00
Severin Gehwolf
5baa1245a1 8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows
Reviewed-by: phh, clanger
Backport-of: cf93933e21
2023-04-20 16:30:27 +07:00
Goetz Lindenmaier
d372290e1d 8297431: [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception
Backport-of: 952e100551
2023-04-20 16:30:27 +07:00
Goetz Lindenmaier
4b8988e2fd 8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378
Backport-of: 2f47f83add
2023-04-20 16:30:26 +07:00
Goetz Lindenmaier
e7b39759c1 8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1
Backport-of: 502fa3eeea
2023-04-20 16:30:23 +07:00
Goetz Lindenmaier
851d9e20d4 8276064: CheckCastPP with raw oop input floats below a safepoint
Backport-of: cd9c688bfc
2023-04-20 16:30:22 +07:00
Thomas Stuefe
5ed9af5b57 8275320: NMT should perform buffer overrun checks
8275320: NMT should perform buffer overrun checks
8275301: Unify C-heap buffer overrun checks into NMT

Reviewed-by: goetz
Backport-of: cf7adae633
2023-04-20 16:30:21 +07:00
Severin Gehwolf
8e8be6dc8b 8298108: Add a regression test for JDK-8297684
Backport-of: 4da8411674
2023-04-20 16:30:18 +07:00
Goetz Lindenmaier
f55f2b4afa 8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address
Backport-of: abe532a89c
2023-04-20 16:30:17 +07:00
Goetz Lindenmaier
84aa45f0c5 8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
Reviewed-by: mdoerr
Backport-of: 8aa1526b44
2023-04-20 16:30:17 +07:00
Goetz Lindenmaier
437233f643 8292177: InitialSecurityProperty JFR event
Reviewed-by: mbaesken
Backport-of: 8c40b7dc8c
2023-04-20 16:30:16 +07:00
Goetz Lindenmaier
56c78acb51 8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong
Backport-of: decb1b79bc
2023-04-20 16:30:16 +07:00
Goetz Lindenmaier
2176c971e5 8294947: Use 64bit atomics in patch_verified_entry on x86_64
Backport-of: d0fae43e89
2023-04-20 16:30:15 +07:00
Goetz Lindenmaier
2b4493a45d 8294217: Assertion failure: parsing found no loops but there are some
Backport-of: 8c472e4816
2023-04-20 16:30:15 +07:00
Goetz Lindenmaier
5dcf1b2aea 8292159: TYPE_USE annotations on generic type arguments of record components discarded
Backport-of: 4d9a1cd26f
2023-04-20 16:30:14 +07:00
Goetz Lindenmaier
6bee3f9eec 8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
Backport-of: b5efa2afe2
2023-04-20 16:30:14 +07:00
Goetz Lindenmaier
1149d8f8bd 8295414: [Aarch64] C2: assert(false) failed: bad AD file
Backport-of: d3eba859f9
2023-04-20 16:30:11 +07:00
Goetz Lindenmaier
f977d5b993 8280868: LineBodyHandlerTest.java creates and discards too many clients
Backport-of: 47800bf3da
2023-04-20 16:30:11 +07:00
Goetz Lindenmaier
d0524425a2 8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs
Backport-of: be9f984cae
2023-04-20 16:30:10 +07:00
Goetz Lindenmaier
56dc620484 8270476: Make floating-point test infrastructure more lambda and method reference friendly
Backport-of: 40a2ce2033
2023-04-20 16:30:10 +07:00
Goetz Lindenmaier
98c3fc3000 8212961: [TESTBUG] vmTestbase/nsk/stress/jni/ native code cleanup
Backport-of: fde183130b
2023-04-20 16:30:09 +07:00
Aleksey Shipilev
8ef13c5034 8277485: Zero: Fix _fast_{i,f}access_0 bytecodes handling
Backport-of: 0a9e76c4f9
2023-04-20 16:30:09 +07:00
Aleksey Shipilev
d74b6fe091 8008243: Zero: Implement fast bytecodes
Backport-of: e4362007da
2023-04-20 16:30:08 +07:00
Matthias Baesken
fb5aa3063d 8298035: Provide better descriptions for JIT compiler JFR events
Reviewed-by: mdoerr
Backport-of: 58170f657c
2023-04-20 16:30:08 +07:00
Sergey Bylokhov
3ad087ddaa 8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder
Backport-of: 2f46af05ce
2023-04-20 16:30:07 +07:00
Goetz Lindenmaier
68f83592c1 8295066: Folding of loads is broken in C2 after JDK-8242115
Backport-of: 58a7141a0d
2023-04-20 16:30:07 +07:00
Goetz Lindenmaier
7ee50572e2 8242115: C2 SATB barriers are not safepoint-safe
Reviewed-by: mdoerr
Backport-of: c6e3daa5fa
2023-04-20 16:30:07 +07:00
Goetz Lindenmaier
ec72b673d1 8294378: URLPermission constructor exception when using tr locale
Backport-of: ff2c987669
2023-04-20 16:30:06 +07:00
Goetz Lindenmaier
7911d3d3ff 8296136: Use correct register in aarch64_enc_fast_unlock()
Reviewed-by: rkennke
Backport-of: 7619602c36
2023-04-20 16:30:06 +07:00
Goetz Lindenmaier
80aee1087f 8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222
Backport-of: 0043d58c5d
2023-04-20 16:30:04 +07:00
Goetz Lindenmaier
2a5920b517 8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
Backport-of: 4bdd1c9148
2023-04-20 16:30:03 +07:00
Goetz Lindenmaier
beb0848e2c 8292780: misc tests failed "assert(false) failed: graph should be schedulable"
Backport-of: 16047e8308
2023-04-20 16:30:02 +07:00
Goetz Lindenmaier
e058ce1f0a 8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
Backport-of: dd51f7e0b7
2023-04-20 16:30:01 +07:00
Goetz Lindenmaier
fa4499517c 8292602: ZGC: C2 late barrier analysis uses invalid dominator information
Backport-of: eec992c6b0
2023-04-20 16:30:01 +07:00
Goetz Lindenmaier
b08e24ca46 8292297: Fix up loading of override java.security properties file
Reviewed-by: mdoerr, mbaesken
Backport-of: 1f9ff41312
2023-04-20 16:30:00 +07:00
Goetz Lindenmaier
0469c792de 8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378
Reviewed-by: mdoerr
Backport-of: 2da677793f
2023-04-20 16:30:00 +07:00
Goetz Lindenmaier
c87e00ec73 8280889: java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with -XX:-UseCompressedOops
Backport-of: 251351f494
2023-04-20 16:29:59 +07:00
Goetz Lindenmaier
f0c10fb393 8280166: Extend java/lang/instrument/GetObjectSizeIntrinsicsTest.java test cases
Backport-of: 76fe03fe01
2023-04-20 16:29:59 +07:00
Goetz Lindenmaier
e7b1e5db38 8258512: serviceability/sa/TestJmapCore.java timed out on macOS 10.13.6
Backport-of: 19ce33d5e7
2023-04-20 16:29:59 +07:00
Goetz Lindenmaier
c8af6e78c4 8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN
Backport-of: 653a612a5a
2023-04-20 16:29:56 +07:00
Matthias Baesken
45c9dea79c 8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent
Backport-of: d490f15e3b
2023-04-20 16:29:55 +07:00
Matthias Baesken
47e0eed693 8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c
Backport-of: 98fa48c330
2023-04-20 16:29:54 +07:00
Martin Doerr
2b80ff9a55 8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic
8298947: compiler/codecache/MHIntrinsicAllocFailureTest.java fails intermittently

Reviewed-by: kvn, mbaesken
Backport-of: cd2182a996
2023-04-20 16:29:52 +07:00
Matthias Baesken
ac37cea2b5 8297959: Provide better descriptions for some Operating System JFR events
Backport-of: dea2161f06
2023-04-20 16:29:52 +07:00
Matthias Baesken
09a31ac954 8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check
Backport-of: 2f8a5c2eca
2023-04-20 16:29:51 +07:00
Sergey Bylokhov
d4b75401cc 8288854: getLocalGraphicsEnvironment() on for multi-screen setups throws exception NPE
Backport-of: cfc9a881af
2023-04-20 16:29:51 +07:00
Yi-Fan Tsai
20cd244401 8296548: Improve MD5 intrinsic for x86_64
Backport-of: 6ead2b0195
2023-04-20 16:29:50 +07:00
Goetz Lindenmaier
ee54e291a8 8295530: Update Zlib Data Compression Library to Version 1.2.13
Backport-of: 0c13d66622
2023-04-20 16:29:47 +07:00
Goetz Lindenmaier
c54b498058 8275173: testlibrary_tests/ir_framework/tests/TestCheckedTests.java fails after JDK-8274911
Backport-of: 451a296510
2023-04-20 16:29:46 +07:00
Goetz Lindenmaier
97120af230 8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency
Backport-of: 379f3094db
2023-04-20 16:29:46 +07:00
Goetz Lindenmaier
b987dcb41f 8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off
Backport-of: 649f2d8835
2023-04-20 16:29:43 +07:00
Goetz Lindenmaier
ab57b3e1b1 8273410: IR verification framework fails with "Should find method name in validIrRulesMap"
Backport-of: df125f680b
2023-04-20 16:29:41 +07:00
Sergey Bylokhov
c2fdeaf9ce 8298027: Remove SCCS id's from awt jtreg tests
Backport-of: ba2d28e911
2023-04-20 16:29:39 +07:00
Sergey Bylokhov
d4c0b04169 8293767: AWT test TestSinhalaChar.java has old SCCS markings
Backport-of: 141d5f5dee
2023-04-20 16:29:38 +07:00
Goetz Lindenmaier
09ddf661b7 8293562: KeepAliveCache Blocks Threads while Closing Connections
Backport-of: 03f25a9c69
2023-04-20 16:29:38 +07:00
Goetz Lindenmaier
19b3fd283d 8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling
Backport-of: caae53f4da
2023-04-20 16:29:37 +07:00
Goetz Lindenmaier
9b26a3bd5e 8292660: C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly
Backport-of: 730ced9a10
2023-04-20 16:29:36 +07:00
Goetz Lindenmaier
15a3620e7d 8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly
Backport-of: 251bff6bee
2023-04-20 16:29:36 +07:00
Goetz Lindenmaier
2f4fb61ef0 8292285: C2: remove unreachable block after NeverBranch-to-Goto conversion
Backport-of: a25e1dc53c
2023-04-20 16:29:35 +07:00
Goetz Lindenmaier
0fe0531f09 8155246: Throw error if default java.security file is missing
Backport-of: 9d7c13eb14
2023-04-20 16:29:35 +07:00
Goetz Lindenmaier
1000476b18 8288130: compiler error with AP and explicit record accessor
Backport-of: 53b37fe153
2023-04-20 16:29:34 +07:00
Goetz Lindenmaier
43bad30026 8285399: JNI exception pending in awt_GraphicsEnv.c:1432
Backport-of: c156bcc599
2023-04-20 16:29:31 +07:00
Goetz Lindenmaier
fdea5d44fb 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile
Backport-of: f66070b00d
2023-04-20 16:29:31 +07:00
Goetz Lindenmaier
438d248e61 8279119: src/jdk.hotspot.agent/doc/index.html file contains references to scripts that no longer exist
Backport-of: 2a59ebbba3
2023-04-20 16:29:31 +07:00
Goetz Lindenmaier
a06e1b752f 8274911: testlibrary_tests/ir_framework/tests/TestIRMatching.java fails with "java.lang.RuntimeException: Should have thrown exception"
Backport-of: f623460668
2023-04-20 16:29:30 +07:00
Goetz Lindenmaier
a103c4fa4c 8244669: convert clhsdb "mem" command from javascript to java
Reviewed-by: clanger
Backport-of: eaefb1a1ed
2023-04-20 16:29:30 +07:00
Goetz Lindenmaier
91291fa460 8279024: Remove javascript references from clhsdb.html
Backport-of: d0ea7c9db9
2023-04-20 16:29:29 +07:00
Goetz Lindenmaier
6d3bf3ff85 8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out
Backport-of: 46684a4efa
2023-04-20 16:29:28 +07:00
Goetz Lindenmaier
6d41078bef 8271471: [IR Framework] Rare occurrence of "<!-- safepoint while printing -->" in PrintIdeal/PrintOptoAssembly can let tests fail
Backport-of: 3677734584
2023-04-20 16:29:28 +07:00
Chris Hegarty
ed605fcedc 8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes
Backport-of: a7d6de71bb
2023-04-20 16:29:28 +07:00
Nagata, Haruhito
fbd5be5bc7 8283606: Tests may fail with zh locale on MacOS
Reviewed-by: clanger
Backport-of: 7d545084f4
2023-04-20 16:29:27 +07:00
Aleksei Voitylov
aae3943681 8288005: HotSpot build with disabled PCH fails for Windows AArch64
Backport-of: b2a58bec4a
2023-04-20 16:29:25 +07:00
Christoph Langer
8ef6207bca 8298527: Cygwin's uname -m returns different string than before
Reviewed-by: mbaesken
Backport-of: 51f0a1ce4b
2023-04-20 16:29:24 +07:00
Christoph Langer
4074102222 8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body
Backport-of: 909d0cb4d9
2023-04-20 16:29:24 +07:00
Alan Bateman
340f644e50 8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds
Reviewed-by: andrew
Backport-of: 5f63f7a742
2023-04-20 16:29:24 +07:00
Matthias Baesken
de7911cd93 8296611: Problemlist several sun/security tests until JDK-8295343 is resolved
Backport-of: d6e2d0d03d
2023-04-20 16:29:23 +07:00
Denghui Dong
86e74f6413 8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de
Reviewed-by: clanger
Backport-of: ef25e189c7
2023-04-20 16:29:22 +07:00
Jatin Bhateja
444a9bb87f 8290322: Optimize Vector.rearrange over byte vectors for AVX512BW targets.
Reviewed-by: phh, sviswanathan
Backport-of: 38a81913d3
2023-04-20 16:29:22 +07:00
Sergey Bylokhov
781c40d66c 8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86
Backport-of: 2bb727c4ea
2023-04-20 16:29:22 +07:00
Richard Reingruber
6981f7b010 8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame
Backport-of: bdb4ed0fb1
2023-04-20 16:29:21 +07:00
Christoph Langer
45f2354759 8298459: Fix msys2 linking and handling out of tree build directory for source zip creation
Backport-of: d624debe23
2023-04-20 16:29:21 +07:00
Sergey Bylokhov
31937aef18 8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters
Backport-of: 87f00f4a1b
2023-04-20 16:29:20 +07:00
Christoph Langer
0316fc5c0b 8296904: Improve handling of macos xcode toolchain
Reviewed-by: mbaesken
Backport-of: 470f3424fc
2023-04-20 16:29:19 +07:00
Ben Taylor
6a20c49d91 8297211: Expensive fillInStackTrace operation in HttpURLConnection.getOutputStream0 when no content-length in response
Backport-of: 392ac7055d
2023-04-20 16:29:19 +07:00
Goetz Lindenmaier
b4e5759db8 8297259: Bump update version for OpenJDK: jdk-17.0.7
Reviewed-by: shade
2023-04-20 16:29:18 +07:00
Vitaly Provodin
01c67b6671 update exclude list on results of 17.0.6_b922.2 test runs 2023-04-20 16:27:53 +07:00
Maxim Kartashev
bbf143b9e2 JBR-5480 Fixed Windows debug build 2023-04-19 08:31:27 +04:00
Maxim Kartashev
dc2c9dff56 JBR-5480 Fixed build failue with LLVM compilers 2023-04-18 20:04:33 +04:00
Maxim Kartashev
2c45589b97 JBR-5480 Include more information in OOME crash reports 2023-04-18 16:40:19 +04:00
Dmitrii Morskii
940d18be5a JBR-5548 fix BadSerializationTest 2023-04-17 18:34:30 +02:00
Alexander Lobas
6dfff5881a Merge pull request #228 from alexander-lobas/jbr17
JBR-5546 Iterating open windows with cmd backtick on Mac forces minim…
2023-04-14 17:25:43 +03:00
Alexander Lobas
14efb05bc5 JBR-5546 Iterating open windows with cmd backtick on Mac forces minimized windows to un-minimize 2023-04-14 17:22:40 +03:00
Vitaly Provodin
6c590bd8df update exclude list on results of 17.0.6_b918.1 test runs 2023-04-14 21:00:51 +07:00
Vitaly Provodin
7071647f61 JBR-5510 eclude tests failing on ArchLinux (5.18.2-arch1-1) 2023-04-14 21:00:21 +07:00
Dmitrii Morskii
172514a2ce JBR-5246 add OpenType's features support 2023-04-14 12:18:49 +02:00
Maxim Kartashev
a6023fa92c JBR-5483 MacOSXWatchService assumes that the default file system is the UnixFileSystem, which might not be the case 2023-04-10 19:02:10 +04:00
Vitaly Provodin
78bd65c9ab update exclude list on results of 17.0.6_b912.4 test runs 2023-04-07 17:49:59 +07:00
Sergey Shelomentsev
fd99763c05 JBR-5505 update exclude list for a11y testing on Windows 2023-04-07 13:01:44 +03:00
Sergey Shelomentsev
0e9ee41fe7 JBR-5397 update exclude list for a11y testing on MacOS 2023-04-07 13:01:36 +03:00
Alexander Lobas
468f97e2c1 Merge pull request #226 from alexander-lobas/jbr17
JBR-5499 Window control buttons bugfix
2023-04-06 20:21:11 +03:00
Alexander Lobas
88faed720b JBR-5499 Window control buttons bugfix 2023-04-06 20:17:39 +03:00
Alexander Lobas
c8efacbdf2 JBR-5499 Window control buttons bugfix 2023-04-06 20:15:15 +03:00
Alexander Lobas
ef2ff1cc91 Merge pull request #225 from alexander-lobas/jbr17
JBR-5478 IDEA window doesn't fit the screen properly on turning off/on an external monitor
2023-04-06 15:49:46 +03:00
Alexander Lobas
cd924a15b5 JBR-5478 IDEA window doesn't fit the screen properly on turning off/on an external monitor 2023-04-06 15:47:44 +03:00
Alexander Lobas
d31cd8c115 JBR-5478 IDEA window doesn't fit the screen properly on turning off/on an external monitor 2023-04-06 15:46:13 +03:00
Nikita Gubarkov
5746ed2ce1 JBR-5238 Disable AwtWindow::CheckWindowDPIChange() hack on Aero Snap. 2023-04-05 16:53:30 +03:00
Vladimir Dvorak
e4c0e8649f JBR-5464 Fix native method registration 2023-04-02 09:15:37 +02:00
Dmitry Batrak
acde759572 JBR-5458 Exception at dialog closing 2023-03-31 20:55:59 +03:00
Nikita Gubarkov
c1870bc0da JBR-5414 Add awt.lock.fair system property for enabling fair awtLock().
(cherry picked from commit aa24f103e8446da65d65e14ea75a4cff94a1d8fa)
2023-03-30 23:29:23 +03:00
Sergey Shelomentsev
2a2843b2c3 JBR-5441 fix wait for idle 2023-03-30 21:31:26 +03:00
Sergey Shelomentsev
66c04a301f JBR-5440 fix calculations for double click location 2023-03-30 15:48:21 +03:00
Artem Bochkarev
5d61c1b261 JBR-5426 write JCEF version info inside release file 2023-03-30 14:31:25 +04:00
Maxim Kartashev
24775c16fb JBR-5431 Include memory used by JNI references into crash reports 2023-03-30 09:03:45 +04:00
Maxim Kartashev
c9d7f9fc1c JBR-5445 JBRApiTest test fails on development builds 2023-03-29 19:24:29 +04:00
ngubarkov
2182376910 JBR-5438 Fix window bounds in XWM#setShellResizable
(cherry picked from commit c51695d830dd3daf0021180ee974a3c11d03b6a8)
2023-03-29 16:27:53 +03:00
Maxim Kartashev
2474e4aac4 JBR-5084 Add ability to log additional data to jstack output
The data can be provided via this JBR API call:
JBR.getJstack().includeInfoFrom(Supplier<String>)
2023-03-29 12:18:38 +04:00
Sergey Shelomentsev
699acf0baa JBR-5433 add typing latency text for JTextArea 2023-03-27 21:30:12 +03:00
Alexey Ushakov
b7f9907609 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Revert "Present layer content using a Core Animation transaction" because of regression in fullscreen mode on MBP 16' M1 MAX

(cherry picked from commit 9312830177)
2023-03-27 15:27:47 +02:00
ngubarkov
d32481eb18 JBR-5240 Fix XToolkit#getScreenInsets in Xinerama mode. 2023-03-27 15:45:45 +03:00
ngubarkov
890d575910 JBR-5265 Workaround incorrect position of content window in queryXLocation. 2023-03-27 15:45:45 +03:00
Vitaly Provodin
2a30174bdc update exclude list: exclude java/awt/event/KeyEvent/KeyTyped/CtrlSpace.java on macosx-all due to JBR-3817 2023-03-25 07:50:45 +07:00
Maxim Kartashev
54fc47205f JBR-5230 Wanted: an ability to use Unix Domain sockets with overridden default NIO file system 2023-03-24 13:53:57 +04:00
ngubarkov
f304a92f9f JBR-5316 Fix fractional scaling HIDPI. 2023-03-22 22:55:26 +02:00
Sergey Shelomentsev
321f596b6f add ComboBoxTransparentTittleBarTest 2023-03-21 22:15:39 +02:00
Nikita Gubarkov
914b709227 JBR-5417 Revert "JBR-3388: Fixed wrong graphic config in Component on primary display change" 2023-03-21 14:25:19 +02:00
ngubarkov
166aaec4ee JBR-5417 Fix flickering in multi-monitor setups on Linux. 2023-03-20 22:30:21 +02:00
Alexander Lobas
7c8f279144 Merge pull request #223 from alexander-lobas/jbr17
JBR-5409 "No Print Service Found" Error when saving to PDF
2023-03-17 21:32:50 +03:00
Alexander Lobas
4568e0f575 JBR-5409 "No Print Service Found" Error when saving to PDF 2023-03-17 21:31:45 +03:00
Vitaly Provodin
1c659bb0c6 update exclude list on results of 17.0.6_b882.1 test runs 2023-03-17 18:41:34 +04:00
Sergey Shelomentsev
d14715d9cb fix controls width calculation 2023-03-16 03:22:59 +02:00
Sergey Shelomentsev
2fbcefc34d split ActionListenerTest 2023-03-16 03:22:56 +02:00
Sergey Shelomentsev
c3dff36d30 JBR-5345 native controls detection and scale fixes 2023-03-16 00:02:26 +02:00
Nikita Gubarkov
9186cd0af3 JBR-5285 Add doPrivileged for WFramePeer#WIN11_OR_NEWER os.name & os.version check. 2023-03-15 23:21:44 +02:00
Nikita Gubarkov
544c64bea6 JBR-5284 Do not reset custom title bar controls state in WmMouseMove. 2023-03-15 23:21:44 +02:00
Alexey Ushakov
66db1e3a7a JBR-5330 Blank Welcome screen after moving to another display
Initialize currentDisplayID on AWTWindow creation
2023-03-14 17:47:25 +01:00
Nikita Tsarev
1cb0c9e5f3 JBR-5369: Update failing tests list in response to macOS keyboard support rewrite 2023-03-14 14:41:41 +01:00
Nikita Tsarev
40f71a4331 JBR-5295: Fix wrong keycodes for non-letter keys that lack a corresponding VK_ constant on macOS 2023-03-14 14:39:26 +01:00
Vitaly Provodin
de919cc050 update exclude list on results of 17.0.6_b878.1 test runs 2023-03-11 04:04:46 +07:00
Alexander Lobas
420aa78847 Merge pull request #221 from alexander-lobas/jbr17
JBR-5384 New UI: window header is hard to resize on the top edge, top…
2023-03-10 00:12:51 +03:00
Alexander Lobas
bb5aaad31f JBR-5384 New UI: window header is hard to resize on the top edge, top/right corner 2023-03-10 00:11:32 +03:00
Alexey Ushakov
e06fc3ca97 JBR-4883 macOS: SIGSEGV at MTLVertexCache_FlushGlyphVertexCache
Use separate glyph cache for each MTLContext instance. Refactored MTLGlyphCache
2023-03-09 18:03:43 +01:00
Dmitry Batrak
1cd36c4c48 JBR-4993 Support using 'main' thread as EDT on macOS
fix for JBR-5341 'Show usages' navigates to another project's window

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This reverts commit d4430040
2022-11-30 23:46:06 +01:00
Alexey Ushakov
76126bb0a4 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Moving NSWindowDidChangeScreenNotification handler to AWTWindow
2022-11-30 23:36:27 +01:00
Dmitry Batrak
3d584f9cc4 JBR-4993 Support using 'main' thread as EDT on macOS
Schedule execution of AWTEvent-s on main thread by wrapping them into NSEvent-s and posting to NSApplication's queue.
This allows to implement getNextEvent and peekEvent methods of EventQueue so that they can be used on main thread in a
sensible way. This means there would be much less work to support the new mode on the application's side, in case
an application e.g. uses getNextEvent method to implement custom secondary event loops.
2022-11-29 19:46:35 +03:00
Alexey Ushakov
5a17b23dcd JBR-5041 macOS: SIGSEGV at [libawt_lwawt] getRenderEncoder:(dstOps == NULL)
Protected code from using NULL dstOps
2022-11-26 01:24:54 +01:00
Dmitry Batrak
0f57a27879 JBR-5045 Invisible component can break focus cycle 2022-11-24 11:08:45 +03:00
Svyatoslav Vlasov
0e7bda6392 JBR-5039 Remove final modifier from SunGraphics2D (#188)
Co-authored-by: Sviatoslav Vlasov <sviatoslav.vlasov@jetbrains.com>
2022-11-22 18:20:11 +02:00
Vitaly Provodin
89e129053a update exclude list on results of 17.0.5_b699.1 test runs 2022-11-19 06:03:22 +07:00
Vitaly Provodin
955bbb4c50 update exclude list on results of 17.0.5_b653.14 test runs 2022-11-19 06:03:22 +07:00
Alexander Lobas
e8f1414ccd Merge pull request #187 from alexander-lobas/jbr17
JBR-5023 Configure TabbingIdentifier during create native window
2022-11-18 17:45:50 +03:00
Alexander Lobas
60d593439f JBR-5023 Configure TabbingIdentifier during create native window 2022-11-18 17:29:46 +03:00
Vitaly Provodin
f5150c0239 Update README.md 2022-11-15 07:40:42 +04:00
Vitaly Provodin
c5282454b1 Update README.md 2022-11-14 07:30:34 +04:00
Artem Bochkarev
6c427aa5bb JBR-3575 skip events from screen menu
when processing system events in LWCToolkit.invokeAndWait inside secondary AppKit loop
2022-11-11 11:14:16 +07:00
Vitaly Provodin
e9736ad2b7 update exclude list on results of 17.0.5_b691.6 test runs 2022-11-11 06:23:42 +07:00
Vitaly Provodin
732e3d5e6d JBR-4956 make a pause before screenshotting 2022-11-11 06:23:41 +07:00
Vitaly Provodin
a017545591 Update README.md 2022-11-10 07:36:00 +04:00
Alexey Ushakov
ae33ba8aef JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Replace multiple CHANGE_SCREEN notifications fired around the same time with just one
2022-11-08 15:42:36 +01:00
Dmitry Batrak
138cc17c40 JBR-4993 Support using 'main' thread as EDT on macOS
fix compilation on Windows/Linux
2022-11-08 15:56:23 +03:00
Dmitry Batrak
1b9d24ce31 JBR-4993 Support using 'main' thread as EDT on macOS
Basic support, using the method introduced for JavaFX application.
This method still employs a separate thread to fetch events from AWT event queue,
but all it does is transferring those events to 'main' application's thread for processing.
2022-11-08 12:46:22 +03:00
Vitaly Provodin
08f2bb4811 JBR-4986 Revert "8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled""
This reverts commit dc13aa574d.
2022-11-08 04:50:29 +07:00
Dmitry Batrak
bcba97511c JBR-4988 Transient Z-order violations on macOS 2022-11-07 10:32:14 +03:00
Vitaly Provodin
a30ad1df38 JBR-4974 enable jb/java/awt/Focus/ModalDialogFromMenuTest.java for regular runs 2022-11-04 11:24:21 +04:00
Artem Bochkarev
f3223b9143 JBR-3575 use flag processEvents in LWCToolkit.invokeAndWait 2022-11-04 10:13:03 +07:00
Nikita Gubarkov
131a968120 JBR-4981 fix pointer to jlong conversion on x86 2022-11-04 00:11:16 +03:00
Svyatoslav Vlasov
6abdb29c22 Add ProjectorUtils#setLocalGraphicsEnvironmentProvider to jbr-api
Co-authored-by: Sviatoslav Vlasov <Sviatoslav.Vlasov@jetbrains.com>
2022-11-03 19:09:19 +03:00
Dmitry Batrak
2e9ab0cb06 JBR-4968 jb/java/awt/Window/ModalDialogAndPopup.java intermittently fails by TimeoutException 2022-11-03 15:52:48 +03:00
Maxim Kartashev
bdd9ab1837 JBR-4974 jb/java/awt/Focus/ModalDialogFromMenuTest.java intermittently clicks at tittle bar
Pause before getting the coordinates of the component to be clicked on,
not right before the click itself.
2022-11-02 15:04:02 +03:00
Vitaly Provodin
623e8c067a update exclude list on results of 17.0.5_b469.67 test runs 2022-11-02 05:15:11 +04:00
Vitaly Provodin
b2c76c619a Update README.md 2022-11-01 09:14:37 +04:00
Vitaly Provodin
9619f7c244 update Commit and Full testing exclude list on results of 668 test runs 2022-10-31 11:31:42 +04:00
Vitaly Provodin
4b787d04ce update Commit testing exclude list 2022-10-28 18:15:31 +04:00
Vitaly Provodin
cacc1dd22c update jdk exclude list 2022-10-28 18:14:50 +04:00
Prasanta Sadhukhan
9cff351993 8196465: javax/swing/JComboBox/8182031/ComboPopupTest.java fails on Linux
Reviewed-by: azvegint
(cherry picked from commit 83466434fd)
2022-10-28 18:14:46 +04:00
Vitaly Provodin
2f2a93dba5 JBR-4956 set color for the caret to the same as background 2022-10-28 18:14:44 +04:00
Vitaly Provodin
e2d506fea1 exclude jb/javax/swing/JDialog/JDialog392.java from macosx-all due to JBR-4941 2022-10-28 18:14:37 +04:00
Dmitry Batrak
ea8da3cbe5 JBR-4957 Modal dialog is hidden by sibling popup on Linux 2022-10-27 14:56:52 +03:00
Vitaly Provodin
dc17b947c2 JBR-4947 update alpine x64 image up to 3.14 2022-10-27 12:44:36 +04:00
Christoph Langer
737bb3f874 8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
Reviewed-by: goetz
2022-10-27 12:11:26 +04:00
Martin Balao
03b1bab849 8286918: Better HttpServer service
Reviewed-by: andrew
Backport-of: 5a9dc12e012f69b9c32788dec5b6ecdb065f791f
2022-10-27 12:11:26 +04:00
Oli Gillespie
a13ecc020a 8286519: Better memory handling
Reviewed-by: mbalao
Backport-of: adfc2b195a84867fc2a66e00fad7f3c95693bc3b
2022-10-27 12:11:26 +04:00
Sergey Bylokhov
0f0237bd0b 8286511: Improve macro allocation
Reviewed-by: mbalao
Backport-of: 4ab7ce961a95d7ba350b1cbca584a8e698186047
2022-10-27 12:11:25 +04:00
Aleksei Voitylov
eeb63a9b5c 8288508: Enhance ECDSA usage
Reviewed-by: abakhtin, mbalao
Backport-of: efd603063e60ca6861b41309445d7b8e20768d9b
2022-10-27 12:11:25 +04:00
David Alvarez
837851e797 8286910: Improve JNDI lookups
Reviewed-by: mbalao, mbaesken
Backport-of: daf133f773ea567d66663ce6916541bc0df1421a
2022-10-27 12:11:25 +04:00
Yuri Nesterenko
20f20d2b91 8289366: Improve HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 48e33fcf7723688f3ec76e7506853c731cf8dad6
2022-10-27 12:11:25 +04:00
Ekaterina Vergizova
d62f115902 8287446: Enhance icon presentations
Reviewed-by: mbalao
Backport-of: bb2210681b230de291ef1c968b5b47013d593e27
2022-10-27 12:11:25 +04:00
Martin Balao
86c2d3ca7e 8286526: Improve NTLM support
Reviewed-by: mbaesken
Backport-of: 2d1bc2e55c7ed5f123f3ab5d505b7866a28ba4c7
2022-10-27 12:11:25 +04:00
Aleksei Voitylov
887c57cd6a 8286077: Wider MultiByte conversions
Reviewed-by: mbalao
Backport-of: db81dae16f975d7d27c9acf3f4775c9d389895e2
2022-10-27 12:11:24 +04:00
Aleksei Voitylov
a418d8b47b 8285662: Better permission resolution
Reviewed-by: mbalao
Backport-of: 431802c54df9caaa00ba79f3713861005d06ee62
2022-10-27 12:11:24 +04:00
Ekaterina Vergizova
977e494aca 8282252: Improve BigInteger/Decimal validation
Reviewed-by: mbalao
Backport-of: e863e256f9e7465a97d3fb2a109299987e990b7c
2022-10-27 12:11:24 +04:00
David Alvarez
15b63b0e7f 8292579: (tz) Update Timezone Data to 2022c
Reviewed-by: mbaesken, andrew
Backport-of: 98d85e6f59
2022-10-27 12:11:24 +04:00
Goetz Lindenmaier
02a23898d1 8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
Reviewed-by: mdoerr
Backport-of: 03f8c0fb93
2022-10-27 12:11:24 +04:00
David Alvarez
6d9e4dc77c 8028265: Add legacy tz tests to OpenJDK
Backport-of: 92deab5465
2022-10-27 12:11:23 +04:00
Matthias Baesken
f18d453fb3 8290456: remove os::print_statistics()
Backport-of: 612d8c6cb1
2022-10-27 12:11:23 +04:00
Andrew John Hughes
e2a5ec0edf 8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
Backport-of: b6bd190d8d
2022-10-27 12:11:23 +04:00
Ekaterina Vergizova
2efcaebe9c 8287463: JFR: Disable TestDevNull.java on Windows
Backport-of: 0df4748216
2022-10-27 12:11:23 +04:00
Severin Gehwolf
59b71d685c 8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
Backport-of: ac6be16519
2022-10-27 12:11:23 +04:00
Joshua Cao
5a07f6e34e 8227651: Tests fail with SSLProtocolException: Input record too big
8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch

Backport-of: 7b029ea6ba
2022-10-27 12:11:23 +04:00
bobpengxie
da0d311c40 8284950: CgroupV1 detection code should consider memory.swappiness
Backport-of: 46d208fb1c
2022-10-27 12:11:22 +04:00
Alexey Pavlyutkin
177305452a 8272417: ZGC: fastdebug build crashes when printing ClassLoaderData
Backport-of: 741f58c18c
2022-10-27 12:11:22 +04:00
Martijn Verburg
2fb5a77dc2 6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
Backport-of: 5e5500cbd7
2022-10-27 12:11:22 +04:00
Jiří Vaněk
1af8b67446 8282947: JFR: Dump on shutdown live-locks in some conditions
Backport-of: 63eb0b7e86
2022-10-27 12:11:22 +04:00
Joshua Cao
5e04060285 8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
Backport-of: d959c22a95
2022-10-27 12:11:22 +04:00
Joshua Cao
f80cfe2ef7 8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
Reviewed-by: phh
Backport-of: 928e347736
2022-10-27 12:11:22 +04:00
Roland Westrelin
d6a4df5580 8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
Backport-of: 4f3f74c141
2022-10-27 12:11:21 +04:00
Matthias Baesken
2f75837b34 8285730: unify _WIN32_WINNT settings
Backport-of: 4fd79a6ad2
2022-10-27 12:11:21 +04:00
Matthias Baesken
b9942cb8af 8289910: unify os::message_box across posix platforms
Backport-of: e5491a2605
2022-10-27 12:11:21 +04:00
Matthias Baesken
b0cc31bde6 8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
Backport-of: c89556f6cd
2022-10-27 12:11:21 +04:00
bobpengxie
57c53c28f4 8283903: GetContainerCpuLoad does not return the correct result in share mode
Backport-of: a625bfdba4
2022-10-27 12:11:21 +04:00
Goetz Lindenmaier
19e6bf8e9f 8289549: ISO 4217 Amendment 172 Update
Reviewed-by: stuefe
Backport-of: 604ea90d55
2022-10-27 12:11:21 +04:00
Goetz Lindenmaier
8ae9eb39c5 8283277: ISO 4217 Amendment 171 Update
Backport-of: c4dc58e12e
2022-10-27 12:11:20 +04:00
Christoph Langer
d875ff29a9 8280944: Enable Unix domain sockets in Windows Selector notification mechanism
Backport-of: 87ab0994de
2022-10-27 12:11:20 +04:00
Goetz Lindenmaier
430b5456d6 8285693: Create an automated test for JDK-4702199
Backport-of: 158d871d05
2022-10-27 12:11:20 +04:00
Goetz Lindenmaier
63e9a4c383 8284077: Create an automated test for JDK-4170173
Backport-of: 6db2e16b94
2022-10-27 12:11:20 +04:00
Goetz Lindenmaier
f3c25985f4 8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
Backport-of: e7c3b9de64
2022-10-27 12:11:20 +04:00
Shruthi
87317c02e6 8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
Reviewed-by: phh
Backport-of: 987656d690
2022-10-27 12:11:20 +04:00
Goetz Lindenmaier
9fa0807ffe 8291595: [17u] Delete files missed in backport of 8269039
Reviewed-by: stuefe
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
a66473d842 8283624: Create an automated regression test for RFE-4390885
Backport-of: 99388eff8d
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
726a5ac2ab 8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
8283712: Create a manual test framework class

Backport-of: 3f26d84f6a
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
6e330dd4a2 8283245: Create a test for JDK-4670319
Backport-of: 4ce3cf12bf
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
a0c07b1eb1 8283507: Create a regression test for RFE 4287690
Backport-of: 7edd186121
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
8d3b137919 8282933: Create a test for JDK-4529616
Backport-of: a0b984a778
2022-10-27 12:11:19 +04:00
Goetz Lindenmaier
b60096bef7 8283621: Write a regression test for CCC4400728
Backport-of: 632825c6d2
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
01728012e5 8283623: Create an automated regression test for JDK-4525475
Backport-of: 7381868afe
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
699184634f 8288992: AArch64: CMN should be handled the same way as CMP
Backport-of: cc2b792704
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
6e9b41852f 8283015: Create a test for JDK-4715496
Backport-of: bfd9c2b30f
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
4c52bff43d 8283493: Create an automated regression test for RFE 4231298
Backport-of: 6917c39e45
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
f43e94d894 8282789: Create a regression test for the JTree usecase of JDK-4618767
Backport-of: 83a1c90433
2022-10-27 12:11:18 +04:00
Goetz Lindenmaier
2994eebb63 8280913: Create a regression test for JRootPane.setDefaultButton() method
Backport-of: 51b53a821b
2022-10-27 12:11:17 +04:00
Goetz Lindenmaier
87da0ebd33 8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
Backport-of: db502d30a4
2022-10-27 12:11:17 +04:00
Goetz Lindenmaier
b562db3b7b 8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
Backport-of: b3f45f868d
2022-10-27 12:11:17 +04:00
Goetz Lindenmaier
48613bef7c 8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
Backport-of: cd07b3cab0
2022-10-27 12:11:17 +04:00
Goetz Lindenmaier
307e5db10d 8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
Backport-of: c5c84b8fdc
2022-10-27 12:11:17 +04:00
Jan Kratochvil
0336d1c697 8290417: CDS cannot archive lamda proxy with useImplMethodHandle
Backport-of: 4dc421caa0
2022-10-27 12:11:17 +04:00
Goetz Lindenmaier
9f6ca00e87 8290334: Update FreeType to 2.12.1
Backport-of: ea8b75cfe4
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
439b620b58 8290246: test fails "assert(init != __null) failed: initialization not found"
Backport-of: 70fce07a38
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
bcb3ca8e9f 8286314: Trampoline not created for far runtime targets outside small CodeCache
Backport-of: bf0623b11f
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
80a8519002 8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
Backport-of: 95497772e7
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
403fe7779f 8282351: jpackage does not work if class file has $$ in the name on windows
Reviewed-by: asemenyuk
Backport-of: 29395534d9
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
942cc7ad23 8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
8284898: Enhance PassFailJFrame

Reviewed-by: stuefe
Backport-of: ed23033dc6
2022-10-27 12:11:16 +04:00
Goetz Lindenmaier
07bab5da46 8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
Reviewed-by: mbaesken
Backport-of: a9a9b901b4
2022-10-27 12:11:15 +04:00
Goetz Lindenmaier
2f241f1d45 8264792: The NumberFormat for locale sq_XK formats price incorrectly.
Backport-of: 41dc795d6c
2022-10-27 12:11:15 +04:00
Andrew John Hughes
0ad2128372 8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
Reviewed-by: clanger
2022-10-27 12:11:15 +04:00
Dan Lutker
53f02bfffd 7131823: bug in GIFImageReader
Backport-of: a31130fd40
2022-10-27 12:11:15 +04:00
Goetz Lindenmaier
864f00e6f4 8282860: Write a regression test for JDK-4164779
Backport-of: 8a044649bd
2022-10-27 12:11:15 +04:00
Richard Reingruber
a3715baa51 8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
Backport-of: 3f5e48a44e
2022-10-27 12:11:14 +04:00
Goetz Lindenmaier
2a4e65224d 8289853: Update HarfBuzz to 4.4.1
Backport-of: f42dab8592
2022-10-27 12:11:14 +04:00
Goetz Lindenmaier
42309548b6 8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
Backport-of: 39e50c2d69
2022-10-27 12:11:14 +04:00
Goetz Lindenmaier
c920dd15b0 8284067: jpackage'd launcher reports non-zero exit codes with error prompt
Reviewed-by: asemenyuk
Backport-of: b9cc3bc1bf
2022-10-27 12:11:14 +04:00
Goetz Lindenmaier
fa31be6f9f 8283087: Create a test or JDK-4715503
Backport-of: a6fd0b21dd
2022-10-27 12:11:14 +04:00
Goetz Lindenmaier
69fe3c9bd7 8282548: Create a regression test for JDK-4330998
Backport-of: b451273d20
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
0dbaf0328d 8282234: Create a regression test for JDK-4532513
Backport-of: 6b34884b34
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
618c7c855c 8282343: Create a regression test for JDK-4518432
Backport-of: b3837808bf
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
c5926583d2 8272736: [JVMCI] Add API for reading and writing JVMCI thread locals
Backport-of: ad92033fcc
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
2ac7fe1037 8277493: [REDO] Quarantined jpackage apps are labeled as "damaged"
Reviewed-by: asemenyuk
Backport-of: 273c7329e7
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
d0702461e3 8282007: Assorted enhancements to jpackage testing framework
Reviewed-by: asemenyuk, mbaesken
Backport-of: cd234f5dbe
2022-10-27 12:11:13 +04:00
Goetz Lindenmaier
206b48c5cb 8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript
Backport-of: 918e339785
2022-10-27 12:11:12 +04:00
Goetz Lindenmaier
b66d42b35e 8290020: Deadlock in leakprofiler::emit_events during shutdown
Reviewed-by: mbaesken
Backport-of: e8568b890a
2022-10-27 12:11:12 +04:00
Goetz Lindenmaier
e1e360c887 8289486: Improve XSLT XPath operators count efficiency
Backport-of: 3212dc9c6f
2022-10-27 12:11:12 +04:00
Goetz Lindenmaier
3a336b1a6a 8287125: [macos] Multiple jpackage tests fail/timeout on same host
Backport-of: 409157d2af
2022-10-27 12:11:12 +04:00
Goetz Lindenmaier
51652e663c 8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
Reviewed-by: mbaesken
Backport-of: b523c88480
2022-10-27 12:11:12 +04:00
Goetz Lindenmaier
cbef57e1fe 8281738: Create a regression test for checking the 'Space' key activation of focused Button
Backport-of: 941e97c4eb
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
033fb0a364 8281988: Create a regression test for JDK-4618767
Backport-of: 43dc9ef619
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
e06e7bad0a 8281745: Create a regression test for JDK-4514331
Backport-of: f9539521ae
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
84019a4c6f 8281535: Create a regression test for JDK-4670051
Backport-of: 0786ddb471
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
37a7119ecb 8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
Backport-of: 14a90e536b
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
5fc3550d0a 8278311: Debian packaging doesn't work
Backport-of: 8ef1a232b1
2022-10-27 12:11:11 +04:00
Goetz Lindenmaier
48c6e19da3 8276837: [macos]: Error when signing the additional launcher
Backport-of: 7696897932
2022-10-27 12:11:10 +04:00
Goetz Lindenmaier
49d4dbb2c5 8271344: Windows product version issue
Reviewed-by: asemenyuk
Backport-of: 0199b03eb3
2022-10-27 12:11:10 +04:00
George Adams
9855142b6b 8290000: Bump macOS GitHub actions to macOS 11
Backport-of: 4e6cd67fec
2022-10-27 12:11:10 +04:00
Alexey Pavlyutkin
b10df13e62 8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
Backport-of: 03680bea1c
2022-10-27 12:11:10 +04:00
Goetz Lindenmaier
3576105cc2 8282280: Update Xerces to Version 2.12.2
Backport-of: 72bd41b844
2022-10-27 12:11:10 +04:00
Goetz Lindenmaier
11a6938a43 8277429: Conflicting jpackage static library name
Reviewed-by: asemenyuk
Backport-of: e3911a8532
2022-10-27 12:11:10 +04:00
Goetz Lindenmaier
cebd40801d 8274856: Failing jpackage tests with fastdebug/release build
Reviewed-by: asemenyuk
Backport-of: fe45835f7c
2022-10-27 12:11:09 +04:00
Shruthi
cedf516c0f 8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
Reviewed-by: tsteele, joehw
Backport-of: b5a3d2843b
2022-10-27 12:11:09 +04:00
George Adams
46ee405b55 8288499: Restore cancel-in-progress in GHA
Backport-of: cb5ef3da19
2022-10-27 12:11:09 +04:00
Goetz Lindenmaier
e3677a01e6 8284014: Menu items with submenus in JPopupMenu are not spoken on macOS
Backport-of: e18414a322
2022-10-27 12:11:09 +04:00
Goetz Lindenmaier
7103ce1708 8282407: Missing ')' in MacResources.properties
Reviewed-by: asemenyuk
Backport-of: d83cee98b5
2022-10-27 12:11:09 +04:00
Goetz Lindenmaier
b158d62b9d 8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null]
Reviewed-by: asemenyuk
Backport-of: a3ca770227
2022-10-27 12:11:09 +04:00
Goetz Lindenmaier
fc0b342fc6 8273040: Turning off JpAllowDowngrades (or Upgrades)
Reviewed-by: asemenyuk
Backport-of: 22a7191f70
2022-10-27 12:11:08 +04:00
Matthias Baesken
d186ec6b90 8288003: log events for os::dll_unload
Backport-of: c2ccf4ca85
2022-10-27 12:11:08 +04:00
George Adams
c180fa5779 8287906: Rewrite of GitHub Actions (GHA) sanity tests
Reviewed-by: clanger
Backport-of: 1a6533225d
2022-10-27 12:11:08 +04:00
Matthias Baesken
27fb62686b 8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
Backport-of: 8f7a37c92f
2022-10-27 12:11:08 +04:00
Matthias Baesken
2160c2dc5c 8289147: unify os::infinite_sleep on posix platforms
Backport-of: 62e1e7950b
2022-10-27 12:11:08 +04:00
Martin Doerr
c4e621a1ff 8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
Backport-of: 393dc7ade7
2022-10-27 12:11:08 +04:00
Martin Doerr
d529aa518a 8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
Backport-of: e05b2f2c3b
2022-10-27 12:11:07 +04:00
Martin Doerr
28560cafa3 8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: lucy, clanger
Backport-of: cb6e9cb728
2022-10-27 12:11:07 +04:00
Goetz Lindenmaier
5bc4464eb7 8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
Backport-of: f080430440
2022-10-27 12:11:07 +04:00
George Adams
1087cb856a 8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
Backport-of: 975316e3e5
2022-10-27 12:11:07 +04:00
George Adams
a33607e4d7 8287896: PropertiesTest.sh fail on msys2
Backport-of: f1dd559e20
2022-10-27 12:11:07 +04:00
George Adams
8dc104a768 8287724: Fix various issues with msys2
Backport-of: bddef71518
2022-10-27 12:11:07 +04:00
Guoxiong Li
70d73bee8e 8286573: Remove the unnecessary method Attr#attribTopLevel and its usage
Backport-of: 36bdd25159
2022-10-27 12:11:06 +04:00
George Adams
f882a22182 8287895: Some langtools tests fail on msys2
Backport-of: f7791ad0ea
2022-10-27 12:11:06 +04:00
George Adams
90b7423546 8280863: Update build README to reflect that MSYS2 is supported
Reviewed-by: clanger
Backport-of: 6de90ad980
2022-10-27 12:11:06 +04:00
George Adams
c290216db6 8254318: Remove .hgtags
Backport-of: 62a7f5d323
2022-10-27 12:11:06 +04:00
Thomas Stuefe
47fd427043 8289799: Build warning in methodData.cpp memset zero-length parameter
Backport-of: cce77a7001
2022-10-27 12:11:06 +04:00
Jonathan Dowland
f277ebe896 8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
Reviewed-by: goetz
2022-10-27 12:11:06 +04:00
Goetz Lindenmaier
9fd1f24b4d 8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
Backport-of: b33c6e52c1
2022-10-27 12:11:05 +04:00
Goetz Lindenmaier
bb84983bbe 8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
Backport-of: 590fa9d8d7
2022-10-27 12:11:05 +04:00
Thomas Stuefe
d0622642ba 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Backport-of: da6d1fc0e0
2022-10-27 12:11:05 +04:00
Matthias Baesken
ebf4deec3b 8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
Backport-of: 444a0d98ac
2022-10-27 12:11:05 +04:00
Matthias Baesken
ebd16f0e95 8287735: Provide separate event category for dll operations
Backport-of: 230726ea58
2022-10-27 12:11:05 +04:00
Jan Kratochvil
0e5c05f11b 8286277: CDS VerifyError when calling clone() on object array
Backport-of: 646c8aaeec
2022-10-27 12:11:05 +04:00
Matthias Baesken
4f637ceb2f 8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
Backport-of: a8edd7a12f
2022-10-27 12:11:04 +04:00
Goetz Lindenmaier
3fbf680861 8276546: [IR Framework] Whitelist and ignore CompileThreshold
Backport-of: 7a140af253
2022-10-27 12:11:04 +04:00
Goetz Lindenmaier
28edeaedad 8269039: Disable SHA-1 Signed JARs
Reviewed-by: phh
Backport-of: 6d91a3eb7b
2022-10-27 12:11:04 +04:00
Jonathan Dowland
1243407394 8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
Backport-of: fe807217a7
2022-10-27 12:11:04 +04:00
Goetz Lindenmaier
0108762052 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
Backport-of: 50f99c3208
2022-10-27 12:11:04 +04:00
Goetz Lindenmaier
4c88043d24 8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
Backport-of: 78d371266a
2022-10-27 12:11:04 +04:00
Goetz Lindenmaier
e08d16b118 8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Backport-of: 590337e2f2
2022-10-27 12:11:03 +04:00
Goetz Lindenmaier
5acbc5f855 8278067: Make HttpURLConnection default keep alive timeout configurable
Backport-of: d8f44aa39e
2022-10-27 12:11:03 +04:00
Matthias Baesken
688cafde07 8281181: Do not use CPU Shares to compute active processor count
Reviewed-by: sgehwolf
Backport-of: a5411119c3
2022-10-27 12:11:03 +04:00
Goetz Lindenmaier
60ac2b5a86 8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
Backport-of: 796494d0fe
2022-10-27 12:11:03 +04:00
Goetz Lindenmaier
f05c171e8f 8284294: Create an automated regression test for RFE 4138746
Backport-of: 0a67d68670
2022-10-27 12:11:03 +04:00
Goetz Lindenmaier
96df842645 8282936: Write a regression test for JDK-4615365
Backport-of: c3d903a55a
2022-10-27 12:11:03 +04:00
Goetz Lindenmaier
b906680dbe 8288467: remove memory_operand assert for spilled instructions
Backport-of: af05139133
2022-10-27 12:11:02 +04:00
Goetz Lindenmaier
7e6cc94374 8287396: LIR_Opr::vreg_number() and data() can return negative number
Reviewed-by: stuefe
Backport-of: cdb476888a
2022-10-27 12:11:02 +04:00
Goetz Lindenmaier
ce2ec30fc2 8289197: [17u] Push of backport of 8286177 did not remove assertion
Reviewed-by: clanger
2022-10-27 12:11:02 +04:00
Christoph Langer
4d7da9b078 8287366: Improve test failure reporting in GHA
Backport-of: e0e15def24
2022-10-27 12:11:02 +04:00
Goetz Lindenmaier
306b057af3 8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
Backport-of: 7e211d7daa
2022-10-27 12:11:02 +04:00
Goetz Lindenmaier
f8f2f77941 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
Backport-of: d3e781de08
2022-10-27 12:11:02 +04:00
Goetz Lindenmaier
3cabaaa88f 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
Reviewed-by: mdoerr
Backport-of: b0892295ee
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
3404bdbdde 8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
Backport-of: b849efdf15
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
19b7780a70 8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Backport-of: 593d2b7dab
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
5e46080428 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Backport-of: 6458a56e60
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
4268737e7c 8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
Backport-of: fa1b56ede6
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
0364ccff74 8286870: Memory leak with RepeatCompilation
Backport-of: 69ff86a320
2022-10-27 12:11:01 +04:00
Goetz Lindenmaier
663d7409eb 8279622: C2: miscompilation of map pattern as a vector reduction
Backport-of: 6fcd322258
2022-10-27 12:11:00 +04:00
Goetz Lindenmaier
f32d684f1e 8282937: Write a regression test for JDK-4820080
Backport-of: 849b19523a
2022-10-27 12:11:00 +04:00
Goetz Lindenmaier
fe4c1f7f46 8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
Backport-of: 1362e09479
2022-10-27 12:11:00 +04:00
Sergey Bylokhov
d873dce802 8286582: Build fails on macos aarch64 when using --with-zlib=bundled
Backport-of: 50d47de835
2022-10-27 12:11:00 +04:00
Aleksey Shipilev
960e519420 8288754: GCC 12 fails to build zReferenceProcessor.cpp
Backport-of: 834d92dd72
2022-10-27 12:11:00 +04:00
Aleksey Shipilev
38f6441fcb 8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
Backport-of: 8cd87e731b
2022-10-27 12:10:59 +04:00
Sergey Bylokhov
d20c2bb810 8283457: [macos] libpng build failures with Xcode13.3
Backport-of: 33eb89dfeb
2022-10-27 12:10:59 +04:00
Goetz Lindenmaier
76d7793ddf 8285081: Improve XPath operators count accuracy
Backport-of: 8e07839179
2022-10-27 12:10:59 +04:00
Goetz Lindenmaier
bef7a211fd 8286211: Update PCSC-Lite for Suse Linux to 1.9.5
Backport-of: d792cbcc06
2022-10-27 12:10:59 +04:00
Goetz Lindenmaier
ccf4ad58f3 8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
Reviewed-by: mdoerr
Backport-of: ac41b78cfb
2022-10-27 12:10:59 +04:00
Goetz Lindenmaier
31b7a8f5bd 8286638: C2: CmpU needs to do more precise over/underflow analysis
Backport-of: 2d34acfec9
2022-10-27 12:10:59 +04:00
Goetz Lindenmaier
0fa01c556f 8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
Backport-of: 4a5e7a1ada
2022-10-27 12:10:58 +04:00
Goetz Lindenmaier
099754640e 8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
Backport-of: 4434c7df03
2022-10-27 12:10:58 +04:00
Goetz Lindenmaier
524547e973 8274597: Some of the dnd tests time out and fail intermittently
8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed

Backport-of: 669ac611b2
2022-10-27 12:10:58 +04:00
Goetz Lindenmaier
151d7e51f2 8284521: Write an automated regression test for RFE 4371575
Backport-of: 447c2d13d0
2022-10-27 12:10:58 +04:00
Goetz Lindenmaier
f9c371e4e6 8282046: Create a regression test for JDK-8000326
Backport-of: 97c7298a39
2022-10-27 12:10:58 +04:00
Goetz Lindenmaier
ce280bdfea 8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
Backport-of: 6f35eede45
2022-10-27 12:10:57 +04:00
Goetz Lindenmaier
9d42bb66cc 8282778: Create a regression test for JDK-4699544
Backport-of: cfdbde11f0
2022-10-27 12:10:57 +04:00
Goetz Lindenmaier
5d8a9d5142 8285380: Fix typos in security
Backport-of: f631c9884f
2022-10-27 12:10:57 +04:00
Jaroslav Bachorik
f01d958b52 8287113: JFR: Periodic task thread uses period for method sampling events
Backport-of: 8122466fbb
2022-10-27 12:10:57 +04:00
Goetz Lindenmaier
df8fdf746c 8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
Reviewed-by: mdoerr
Backport-of: cd8709e8e0
2022-10-27 12:10:57 +04:00
Goetz Lindenmaier
3c7d9d8398 8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity
Reviewed-by: mdoerr
Backport-of: 0a4a6403bb
2022-10-27 12:10:57 +04:00
Goetz Lindenmaier
4cfb847636 8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
Backport-of: 47951655ac
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
ecd4e72ca4 8285398: Cache the results of constraint checks
Reviewed-by: mdoerr
Backport-of: 00e9c96d51
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
716c07ef00 8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest
Reviewed-by: asemenyuk
Backport-of: e7adc283c6
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
35ace645bf 8286429: jpackageapplauncher build fails intermittently in Tier[45]
Backport-of: 65f50678f2
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
60beddfbc2 8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
Backport-of: dc6358444b
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
c4932fb9dd 8282640: Create a test for JDK-4740761
Backport-of: fad3b94786
2022-10-27 12:10:56 +04:00
Goetz Lindenmaier
7aa2bd6922 8281569: Create tests for Frame.setMinimumSize() method
Backport-of: d0eb6fa220
2022-10-27 12:10:55 +04:00
Olga Mikhaltsova
286b9b7655 8282538: PKCS11 tests fail on CentOS Stream 9
Backport-of: d8fd22239b
2022-10-27 12:10:55 +04:00
Johannes Bechberger
b99c1523a7 8283562: JDK-8282306 breaks gtests on zero
Backport-of: 78ef2fdef6
2022-10-27 12:10:55 +04:00
Matthias Baesken
33abd9e78b 8286869: unify os::dir_is_empty across posix platforms
Backport-of: 9ab29b6c07
2022-10-27 12:10:55 +04:00
Johannes Bechberger
ae1f15063d 8282306: os::is_first_C_frame(frame*) crashes on invalid link access
Backport-of: 999da9bfc5
2022-10-27 12:10:55 +04:00
Johannes Bechberger
3fa0175d72 8284686: Interval of < 1 ms disables ExecutionSample events
Backport-of: 902b1dd455
2022-10-27 12:10:55 +04:00
Goetz Lindenmaier
0c045baa6e 8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
Backport-of: 1ce72eabe5
2022-10-27 12:10:54 +04:00
Goetz Lindenmaier
127e08d9e3 8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
Backport-of: 97a983526b
2022-10-27 12:10:54 +04:00
Severin Gehwolf
87489a4d30 8287663: Add a regression test for JDK-8287073
Backport-of: 2d8c649054
2022-10-27 12:10:54 +04:00
Severin Gehwolf
27cf49b4d9 8287073: NPE from CgroupV2Subsystem.getInstance()
Backport-of: 744b822ab1
2022-10-27 12:10:54 +04:00
Goetz Lindenmaier
a517c2f97d 8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
Backport-of: 4f2e4c7c24
2022-10-27 12:10:54 +04:00
Goetz Lindenmaier
25aa19f2ea 8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
Backport-of: 947869609c
2022-10-27 12:10:54 +04:00
Sergey Bylokhov
6eccb48921 8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
Backport-of: 082fdf4793
2022-10-27 12:10:53 +04:00
Goetz Lindenmaier
eac5eadee3 8284694: Avoid evaluating SSLAlgorithmConstraints twice
Backport-of: d8446b4f60
2022-10-27 12:10:53 +04:00
Goetz Lindenmaier
a2ea8f39b5 8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
Backport-of: c3938ec18b
2022-10-27 12:10:53 +04:00
Goetz Lindenmaier
7d013d6397 8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
Backport-of: 89392fb15e
2022-10-27 12:10:53 +04:00
Goetz Lindenmaier
41fde9376f 8270090: C2: LCM may prioritize CheckCastPP nodes over projections
Backport-of: 8ebea443f3
2022-10-27 12:10:53 +04:00
Severin Gehwolf
4a9088ada6 8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
Backport-of: 8d28734ede
2022-10-27 12:10:53 +04:00
Severin Gehwolf
6dc8a4199d 8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
Backport-of: 704b9a66bb
2022-10-27 12:10:52 +04:00
Sergey Bylokhov
15cddfbf75 8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
Backport-of: 40f19c014f
2022-10-27 12:10:52 +04:00
Sergey Bylokhov
913b722eff 8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
Backport-of: 645be42f76
2022-10-27 12:10:52 +04:00
Sergey Bylokhov
bfb052ead7 8225122: Test AncestorResized.java fails when Windows desktop is scaled.
Backport-of: 77757ba974
2022-10-27 12:10:52 +04:00
Goetz Lindenmaier
34576253d2 8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
Backport-of: 77b0240d44
2022-10-27 12:10:52 +04:00
Goetz Lindenmaier
713923ab9c 8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
Backport-of: 0e70d4504c
2022-10-27 12:10:51 +04:00
Goetz Lindenmaier
68f7a2faae 8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
Backport-of: 0c42e43f77
2022-10-27 12:10:51 +04:00
Goetz Lindenmaier
4c515f7f7d 8283597: [REDO] Invalid generic signature for redefined classes
Backport-of: 0cd46f655a
2022-10-27 12:10:51 +04:00
Goetz Lindenmaier
d66d46f85e 8282214: Upgrade JQuery to version 3.6.0
Backport-of: 5ba5e21fd2
2022-10-27 12:10:51 +04:00
Goetz Lindenmaier
e0d457340e 8281628: KeyAgreement : generateSecret intermittently not resetting
Backport-of: 1485883c9e
2022-10-27 12:10:51 +04:00
Goetz Lindenmaier
e6cf844aec 8282467: add extra diagnostics for JDK-8268184
Backport-of: d3022f87b5
2022-10-27 12:10:50 +04:00
Johannes Bechberger
3e8c965c9f 8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
Reviewed-by: mdoerr
Backport-of: 4b2c82200f
2022-10-27 12:10:50 +04:00
Matthias Baesken
5cf43d5cb2 8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
Backport-of: 7424f47557
2022-10-27 12:10:50 +04:00
Christoph Langer
a98dda3305 8240903: Add test to check that jmod hashes are reproducible
Backport-of: 9695283458
2022-10-27 12:10:50 +04:00
Christoph Langer
dd2eae839a 8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
Backport-of: f7a37f5886
2022-10-27 12:10:49 +04:00
Goetz Lindenmaier
42d0446901 8287016: Bump update version for OpenJDK: jdk-17.0.5
Reviewed-by: mdoerr
2022-10-27 12:10:49 +04:00
Maxim Kartashev
170ac82437 JBR-4464 Error building latest jbr-dev after JDK-8285730 2022-10-27 12:10:49 +04:00
Vitaly Provodin
05c821a41f JBR-4089 add modules sun.awt sun.awt.image sun.java2d 2022-10-27 12:10:49 +04:00
Vitaly Provodin
3e21a77b91 exclude tests failing because of JBR-4933, JBR-4934 2022-10-27 12:10:49 +04:00
Vitaly Provodin
4d19fe44bd update exclude list for Commit testing 2022-10-27 12:10:48 +04:00
Maxim Kartashev
64d1dd804b JBR-4951 In function 'convert_to_java_array': error: comparison of integer expressions of different signedness 2022-10-26 09:02:39 +03:00
Alexey Ushakov
ecd3f10957 JBR-4666 java.lang.InternalError: Error - unable to initialize Metal after recreation of graphics device.
Reverted fix of the JRE-359 (CGraphicsEnvironment.getDefaultScreenDevice() returns null)
Logged exception after first attempt to create graphics device
2022-10-24 19:01:17 +02:00
Vitaly Provodin
daa259a25a exclude flaky tests muted in Commit Testing 2022-10-23 05:57:54 +04:00
Vitaly Provodin
4fedfa6cc8 exclude flaky tests muted in Commit Testing 2022-10-22 10:33:50 +04:00
Alexey Ushakov
d9e091bdde JBR-4731 SIGILL caused by NPE Cannot invoke "java.awt.GraphicsConfiguration.getDevice()" because "config" is null
Handled null device in platform window
2022-10-21 20:33:48 +02:00
Nikita Gubarkov
7057844369 fixup! JBR API v1.2.0 - add ProjectorUtils 2022-10-20 16:14:07 +03:00
Svyatoslav Vlasov
ad93152c09 JBR API v1.2.0 - add ProjectorUtils
* Add ProjectorUtils to jbr-api

Co-authored-by: Sviatoslav Vlasov <Sviatoslav.Vlasov@jetbrains.com>
2022-10-20 15:02:21 +03:00
Nikita Tsarev
0122cb9122 JBR-3941 Make apple.awt.captureNextAppWinKey default to false 2022-10-18 15:14:10 +02:00
Alexey Ushakov
60b09f494c JBR-4710 macOS: SIGSEGV at sun.java2d.metal.MTLLayer.blitTexture
Added check for disposed texture in the MTLLayer
2022-10-15 00:44:30 +02:00
Maxim Kartashev
d9ba811e3d exclude java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java due to JBR-4880 on windows 2022-10-14 06:30:06 +07:00
Nikita Gubarkov
b4231b33c6 JBR-4890 Fix variation selectors font fallback on macOS
If font for a given variation selector not found, try without variation selector
2022-10-13 19:46:53 +03:00
artem.bochkarev
6d7788c73b JBR-4581 JCEF tests fail due to compilation errors
The problem was in commit "JBR-4512 windows: include pdb-files into jbrsdk": rsync can replace file lib/modules.
rsync is replaced with cp
2022-10-13 12:25:17 +07:00
Artem Bochkarev
ec2f8068f0 JBR-4907 remove custom view for osx system menu items
Just revert "JBR-3131: support custom view for system menu items"
2022-10-13 07:58:11 +07:00
Alexey Ushakov
e7c6b65297 JBR-4897 Reconnecting multiscreen monitor displays blank IDE
Handled NSWindowDidChangeScreenNotification, resolved race condition in window peer displayChanged listener
2022-10-12 10:27:51 +02:00
Vitaly Provodin
3969d94d20 exclude java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java due to JBR-4905 on windows&linux 2022-10-12 14:40:51 +07:00
Vitaly Provodin
bae1325b73 Update README.md 2022-10-11 16:46:54 +07:00
Dmitry Batrak
63cb726f3c JBR-4899 Activate Previous Window doesn't work sometimes 2022-10-11 11:38:34 +03:00
Dmitry Batrak
6349b86b7f JBR-4893 jb/java/awt/Window/FullScreenChildWindowShownBefore.java intermittently fails on macOS-x64 + Metal 2022-10-10 20:50:40 +03:00
Maxim Kartashev
f35d33ec2b JBR-4877 WARNING: JNI local refs: 33, exceeds capacity: 32
Additional fix for Linux.
2022-10-10 11:17:57 +03:00
Alexey Ushakov
4fb80c7964 JBR-4856 macOS: SIGSEGV at [libawt_lwawt] MTLTR_DrawGlyphList
Clear glyph caches after switching contexts. Keep encoders in sync with graphics devices. Minor refactoring
2022-10-05 10:41:41 +02:00
Alexey Ushakov
954af02c8a JBR-4807 RenderPerf: Provide tests for VolatileImage rendering
Added VolImage and VolImageAA test cases
2022-10-05 10:41:00 +02:00
Vitaly Provodin
30772564c1 Update README.md 2022-10-05 06:03:59 +07:00
ngubarkov
46a031860d JBR-4840 cache screen resolution in XToolkit 2022-10-04 18:37:56 +03:00
Dmitry Batrak
d57e8b631b JBR-4882 Unable to exit fullscreen mode after Presentation mode was entered (and exited) on macOS 2022-10-04 15:22:12 +03:00
Vitaly Provodin
2909282e09 Update README.md 2022-10-04 05:44:36 +07:00
Vitaly Provodin
0ad530be4e exclude jb/java/jcef/HandleJSQueryTest3314.sh due to JBR-4866 on linux 2022-10-03 17:40:57 +07:00
Vitaly Provodin
86570b694e exclude some tests due to JBR-4880 on windows 2022-10-03 17:40:57 +07:00
Vitaly Provodin
f1e5a3c61a exclude javax/swing/JInternalFrame/8020708/bug8020708.java due to JBR-4879 on windows 2022-10-03 17:40:57 +07:00
Vitaly Provodin
010d6946bf exclude java/awt tests which do not close child processes/windows 2022-10-03 17:40:57 +07:00
Vitaly Provodin
58f5276bb3 exclude java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java and java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java due to 7188711 on linux-all
j
2022-10-03 17:40:57 +07:00
Maxim Kartashev
24304d4f4d JBR-4877 WARNING: JNI local refs: 33, exceeds capacity: 32 2022-10-03 12:58:31 +03:00
Artem Bochkarev
12b2b54a92 JBR-4876 remove test duplicates
Since next jcef tests were moved into junit suite (inside jcef repository):
 HandleJSQueryTest
 JCEFStartupTest
 LoadPageWithoutUI
 MouseEventAfterHideAndShowBrowserTest
 MouseEventScenario
 MouseEventTest
2022-10-01 14:17:27 +07:00
Vitaly Provodin
8c11b1633b JBR-4874 remove --with-extra-* flags from building scripts 2022-09-30 05:01:17 +07:00
Dmitry Batrak
50c0ce58d3 JBR-4871 Closed project leaked via KeyboardFocusManager#newFocusOwner 2022-09-29 10:45:38 +03:00
Vitaly Provodin
a4b7209b3c exclude java/awt/PrintJob/PrinterException.java on all platforms 2022-09-29 11:42:39 +07:00
Alexey Ushakov
ae5ce63002 JBR-4859 jbr17: compiler warnings with Xcode 14.0.1 (14A400)
Disabled warnings for libsplashscreen and liblcms
2022-09-28 10:51:19 +02:00
MonoBot
fb03281e53 JBR-4809 Update the bundled JetBrains Mono font version
Fonts release 2.242

(cherry picked from commit 641424a3e3)
2022-09-28 10:51:19 +02:00
Maxim Kartashev
4d48a1319a JBR-4839 Report if wrong shared library is detected at run time 2022-09-28 09:24:50 +03:00
Vitaly Provodin
9aa589ee39 exclude java/util/Properties tests PropertiesStoreTest.java & StoreReproducibilityTest.java due to 8282023 2022-09-28 06:24:42 +07:00
Nikita Gubarkov
5df8aafcd4 JBR-4815 force hinting for non-antialiased text 2022-09-27 16:17:59 +03:00
Nikita Provotorov
05f6b57864 fixup! JBR-3544: Generate popup invoked instead of New in this directory
Fixes the regression JBR-4854 keymap overlapping after Rider update.
2022-09-26 22:16:17 +03:00
Alexey Ushakov
4b82273942 JBR-4590 macOS: SIGSEGV at [libawt_lwawt] MTLTR_DrawGlyphList
Invalidate glyph cache cell info after switching MTLContext
2022-09-26 17:54:59 +02:00
Maxim Kartashev
5fd6ae67c6 JBR-4848 Cannot invoke "javax.swing.JTextField.getCaret()" because the return value of "java.lang.ref.WeakReference.get()" is null 2022-09-26 17:50:26 +03:00
Nikita Gubarkov
da9b5657da fixup! JBR-4834 Rounded corners on Mac OS: support custom border color
Bump JBR API patch version
2022-09-26 11:45:28 +03:00
Alexander Lobas
e5d96e6747 JBR-4834 Rounded corners on Mac OS: support custom border color 2022-09-20 16:05:26 +02:00
Alexander Lobas
995841e5e3 JBR-4834 Rounded corners on Mac OS: support custom border color 2022-09-20 16:05:26 +02:00
Alexander Lobas
008b01e11d JBR-4834 Rounded corners on Mac OS: support custom border color 2022-09-20 16:05:26 +02:00
Vitaly Provodin
88e71f2056 JBR-4814 fix paths passing to --with-extra-cflags, --with-extra-cxxflags, --with-extra-ldflags params 2022-09-19 15:14:11 +07:00
Vitaly Provodin
867686a430 Update README.md 2022-09-16 11:06:23 +07:00
Nikita Gubarkov
1855d8955c JBR-3677 Change copyright for CustomTitleBarDoubleClick test 2022-09-15 23:04:37 +03:00
Alexey Ushakov
8a14c80209 JBR-4696 macOS: NPE in -[AWTView viewDidChangeBackingProperties]
Added null pointer checks
2022-09-15 21:16:20 +02:00
Nikita Gubarkov
c7d906e7c7 JBR-3677 Add CustomTitleBarDoubleClick test 2022-09-15 19:40:38 +03:00
Nikita Gubarkov
a9475c85cd JBR-3677 check AppleActionOnDoubleClick property for custom window decorations on macOS 2022-09-15 17:11:31 +03:00
Maxim Kartashev
1f9cdefaef JBR-4626 MacOS aarch64: SIGSEGV at RenderCache.get / ScaledBlit.getFromCache
Avoid C2-compiled loop crashes by replacing the handcrafted MRU cache
with a more modern LinkedHashMap-based one.
2022-09-15 11:26:23 +03:00
Alexey Ushakov
5e5239464a JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig
Moved tryLoadMetalLibrary under RQ lock.
Added more diagnostics.
2022-09-14 19:46:21 +02:00
Alexey Ushakov
62a3f98138 JBR-4680 idea window flickers while changing the screen brightness
Update insets in separate notification
2022-09-14 19:11:51 +02:00
Nikita Gubarkov
cea6ac1be5 JBR-4816 Don't test RoundedCornersManager on Linux 2022-09-14 18:12:19 +03:00
Dmitry Batrak
a170b4e4ae JBR-4820 Focus lost after showing popup and context menu - missing changes
missing reverts
2022-09-14 13:18:02 +03:00
Dmitry Batrak
c9609330f2 JBR-4820 Focus lost after showing popup and context menu 2022-09-14 09:34:21 +03:00
Vitaly Provodin
1750c6f390 exclude java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java on Linux because of 8159599 2022-09-13 07:19:25 +07:00
Vitaly Provodin
fb725c15c4 JBR-893 exclude failing tests 2022-09-12 05:28:10 +07:00
Vitaly Provodin
436e76c6f4 JBR-4810 add VERSION_PATCH into version number string 2022-09-10 06:32:42 +07:00
Nikita Gubarkov
1140243cf5 fixup! JBR-4787 Allow setting rounded corners before showing the window 2022-09-08 14:26:43 +03:00
Severin Gehwolf
69fe60e162 8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: clanger
Backport-of: 967a28c3d8
(cherry picked from commit 02fa4be6c4)
2022-09-08 18:05:54 +07:00
Severin Gehwolf
6abfb62f94 8292258: Bump update version for OpenJDK: jdk-17.0.4.1
Reviewed-by: stuefe
(cherry picked from commit 27057f84af)
2022-09-08 18:05:50 +07:00
Vitaly Provodin
b0c967f67c add exclude list for Multi-monitor configs 2022-09-08 07:02:21 +07:00
Alexander Lobas
ccd78be3e2 JBR-4787 Allow setting rounded corners before showing the window 2022-09-07 19:41:16 +03:00
Nikita Gubarkov
a5285078e9 fixup! JBR-4787 Rounded corners for native Window on Windows 11 2022-09-07 17:28:18 +03:00
Alexander Lobas
f557760e16 JBR-4787 Rounded corners for native Window on Windows 11 2022-09-06 23:01:12 +03:00
Nikita Gubarkov
292246a53e Allow registering multiple implementations for JBR API services
This greatly reduces boilerplate when dealing with platform-specific code, one can specify multiple target implementation classes, one per platform. First found will be used.

Also added JBRApi.ServiceNotAvailableException to give services ability to validate any custom condition they want.
2022-09-06 19:02:24 +03:00
Alexey Ushakov
82bbe56bd7 JBR-4790 [bkp] 8291266: RenderPerfTest: missing content while rendering some primitives
Reviewed-by: aghaisas, prr
(cherry picked from commit 871b7dab14)
2022-09-05 22:50:46 +02:00
Ajit Ghaisas
d443004009 JBR-4789 [bkp] 8288948: Few J2DBench tests indicate lower primitive drawing performance with metal rendering pipeline
Reviewed-by: avu, prr

(cherry picked from commit bc7a1ea249)
2022-09-05 22:41:22 +02:00
Alexey Ushakov
eef606b605 JBR-4784 Extra allocations of MTLRenderPipelineDescriptor affects performance in metal pipeline
Remove extra allocations
2022-09-05 18:49:09 +02:00
Alexey Ushakov
345f52a4ec 8262751: RenderPipelineState assertion error in J2DDemo
Reviewed-by: jdv
(cherry picked from commit 49b2789a49)
2022-09-05 18:49:09 +02:00
Denis Fokin
a52ed88377 JBR-4788 "Activate window by mouse hover" Windows option isn't supported by JBR 17
backport JBR-1991 (Focus problems in Windows with X-Mouse style focus) from JBR 11

(cherry picked from commit c8ad353f45)
2022-09-05 16:45:01 +03:00
Nikita Provotorov
da53a4dda4 JBR-4765 Cannot invoke context menu by two fingers tapping on MacBook with M2 chip
- Ensure the pressed mouse buttons are also reflected by the appropriate modifiers;
- Add a regression test.
2022-09-05 06:26:30 +03:00
Vitaly Provodin
a941dafa0b Update README.md 2022-09-02 05:52:56 +07:00
Alexey Ushakov
8e6b8bcbc9 JBR-3102 Exception in NSApplicationAWT: Invalid parameter not satisfying: !isnan(newOrigin.y)
Handled NAN values with some defaults
2022-09-01 11:23:55 +02:00
Alexey Ushakov
a1b6ceb0b0 JBR-4774 macOS: SIGILL at [libsystem_kernel] __kill in NPE / VolatileSurfaceManager.displayChanged / __displaycb_handle_block_invoke
Guarded against multiple displayChanged() notifications to avoid NPE
2022-08-31 19:26:51 +02:00
Alexey Ushakov
eab8881f02 JBR-4363 Changes in fonts rendering between JBR11 and JBR17
Do not use hinting for generating outlines
2022-08-30 19:21:22 +02:00
Dmitry Batrak
f863a14b19 JBR-4782 Synergy keyboard/mouse input: window disabled after bringing IntelliJ into focus 2022-08-30 13:04:55 +03:00
Konstantin Bulenkov
bd30286bf1 IDEA-299292 Use Inter semibold instead of Inter bold. Update BundledFontInfo 2022-08-29 15:33:20 +02:00
Maxim Kartashev
9fd49f2c75 JBR-4504 8283849: AsyncGetCallTrace may crash JVM on guarantee
Reviewed-by: mdoerr
Backport-of: 93c88690a1
2022-08-29 12:53:57 +03:00
Alexey Ushakov
820bc169b2 JBR-3100 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.LWComponentPeer.windowToLocal
Added null check
2022-08-29 09:13:42 +02:00
Vladislav Rassokhin
e90ffa06c1 JBR-4263 Improve check_jbr_size.sh
* Fix shellcheck inspections
* Don't silently fail if TOKEN is incorrect
2022-08-26 07:57:45 +07:00
Vitaly Provodin
8f0a0800c0 exclude java/awt/Graphics2D/ScaledTransform/ScaledTransform.java on linux due to 8277240 2022-08-25 15:06:59 +07:00
Vitaly Provodin
890bd435b8 JBR-4754 make root directory with the same name as archive name 2022-08-25 15:06:59 +07:00
Nikita Gubarkov
6c1e8f9ef3 Fixed JBR API bytecode generation version 2022-08-24 11:03:19 +03:00
Vitaly Provodin
19c777ecb2 update jbProblemList.txt test run stability 2022-08-24 11:54:21 +07:00
Vitaly Provodin
339724dc15 add problem list for multi-monitor runs 2022-08-24 11:53:52 +07:00
Vitaly Provodin
5a57b7610f JBR-4695 not remove binaries after packaging 2022-08-24 11:51:36 +07:00
Yasumasa Suenaga
3b8a2c2a96 8289646: configure script failed on WSL
Reviewed-by: ihse
2022-08-23 10:50:43 +03:00
Maxim Kartashev
0fa5fab938 JBR API v1.0.0
JBR-4753 Added JBR API for custom desktop actions

JBR-3511 Way to customize implementation of java.awt.Desktop.browse()

Provided Desktop.setDesktopActionsHandler() and DesktopActionsHandler
interface, which methods will be invoked instead of the standard actions
provided that DesktopActionsHandler.isSupported() is true for the
corresponding action.
2022-08-23 10:50:43 +03:00
Nikita Gubarkov
056d5d6e6b JBR-4746 Added jetbrains.api.verifyBytecode VM option for generated bytecode verification 2022-08-23 10:40:24 +03:00
Nikita Gubarkov
030b686740 Added jetbrains.api.verbose system property for easier JBR API troubleshooting
Also fixed dependency scanning optimization by allowing search in known proxy interfaces outside com.jetbrains
2022-08-23 10:40:23 +03:00
Vitaly Provodin
bb525776f4 Update README.md 2022-08-22 15:31:24 +07:00
Maxim Kartashev
b3e080a26b JBR-3101 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.macosx.CPlatformComponent.setBounds
After CPlatformComponent.setBounds() was changed to allow for platformWindow.getPeer() == null, a few exceptions appeared that suggest platformWindow can also be null. This commit safeguards against this situation as well.

It seems that this can only be the case if the instance is created from outside of JDK, so Objects.requireNonNull() may help to catch the perpetrator.
2022-08-17 15:45:20 +03:00
Konstantin Bulenkov
f1cd491d10 IDEA-299292 Use Inter semibold instead of Inter bold 2022-08-16 00:45:09 +02:00
Alexey Ushakov
048a0a0f5c JBR-4718 SIGSEGV: [libobjc.A.dylib+0x641d] objc_msgSend / Java_sun_java2d_metal_MTLRenderQueue_flushBuffer
Align lifetime of MTLLayer and AWTView objc objects with MTLSDOps data attached to MTLSurfaceData
Added some more checks to commitCommandBuffer (in MTLContext)
2022-08-11 16:32:15 +02:00
Nikita Gubarkov
cf8740ad08 JBR-4466 fix mouse event coordinates for non-client events with custom window decorations 2022-08-10 14:35:00 +03:00
Dmitry Batrak
dc1b49b5a6 JBR-4720 Focus state is broken after certain operations when VoiceOver is enabled 2022-08-09 11:27:05 +03:00
Maxim Kartashev
cc78d0b872 JBR-4544 Enable OpenGL pipeline by default for Wayland sessions
The OpenGL pipeline is enabled only if all of the following is true:
- WAYLAND is detected,
- VMWare virtualization is detected,
- rendering pipeline is not a software one (llvmpipe).
As a side effect, a system property 'jbr.virtualization.information'
is set to the value of detected virtualization type. The value is the
same as provided by JFR.
2022-08-08 16:20:53 +03:00
Nikita Gubarkov
5a82f557ad JBR-4713 Change cp -rn to cp -r in bin/idea.sh 2022-08-05 16:03:43 +03:00
Nikita Gubarkov
30639cd55a Fix italic and bold styles for colored outline glyphs 2022-08-04 12:08:19 +03:00
Vitaly Provodin
2067181181 Update README.md 2022-08-03 04:08:19 +07:00
Vitaly Provodin
60f90078b7 Update README.md 2022-08-02 06:24:18 +07:00
Alexey Ushakov
6678e14181 JBR-4692 Metal: sync content of the destination drawing surface before changing it to another one
Conditionally sync surfaces using JVM option sun.java2d.metal.syncSurfaces
The default value is false
2022-08-01 22:00:58 +02:00
Nikita Gubarkov
88a58263ff JBR-4686 Fix rotated text metrics 2022-08-01 13:47:45 +03:00
Sergey Bylokhov serb
98a07f0df1 8284370: Improve zlib usage
Reviewed-by: andrew
Backport-of: 46f42c72a92ffb035e84eb8e73bd6329ef006251
2022-07-30 05:46:56 +07:00
Andrew John Hughes
5f3b133afb 8272243: Improve DER parsing
Backport-of: ec91d4bce10cd965e8a0099f35aed8c9150f6a44
2022-07-30 05:46:56 +07:00
Martin Balao
c648ccd547 8281866: Enhance MethodHandle invocations
Reviewed-by: mbaesken
Backport-of: d974d9da365f787f67971d88c79371c8b0769f75
2022-07-30 05:46:55 +07:00
Aleksei Voitylov
d9482099a9 8285407: Improve Xalan supports
Reviewed-by: mbalao
Backport-of: fd6385d8c20379c1139f64f5c90d331ad9631097
2022-07-30 05:46:55 +07:00
Aleksei Voitylov
7bda23a925 8283190: Improve MIDI processing
Reviewed-by: mbalao, mbaesken
Backport-of: e0329eb343661edd5066deb6ae5d99a742135831
2022-07-30 05:46:55 +07:00
Martin Balao
ffa2b4fd28 8281859: Improve class compilation
Reviewed-by: mbaesken
Backport-of: 3ac62a66efd05d0842076dd4cfbea0e53b12630f
2022-07-30 05:46:54 +07:00
Yuri Nesterenko
0c8d7e4d96 8272249: Better properties of loaded Properties
Reviewed-by: mbalao, mbaesken
Backport-of: f9f7e5eaf51cd4793805e50f8ba3549689d939e9
2022-07-30 05:46:54 +07:00
Aleksei Voitylov
040270882a 8277608: Address IP Addressing
Reviewed-by: mbalao
Backport-of: f2136e833d5bbeb9eb4e61e73774c36ff7d27cfb
2022-07-30 05:46:53 +07:00
Christoph Langer
9b133dea20 8286855: javac error on invalid jar should only print filename
Backport-of: 1606d5545b
2022-07-30 05:46:53 +07:00
Christoph Langer
0dab88ba34 8287162: (zipfs) Performance regression related to support for POSIX file permissions
Backport-of: a10c5597d9
2022-07-30 05:46:52 +07:00
Christoph Langer
ea68b428df 8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
Backport-of: 80cf9f3464
2022-07-30 05:46:52 +07:00
Christoph Langer
690d1594f5 8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
Backport-of: 29c4b8e80d
2022-07-30 05:46:51 +07:00
Christoph Langer
f44f138ff5 8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
Backport-of: f086d945c3
2022-07-30 05:46:51 +07:00
Andrew John Hughes
d12493ee17 8284094: Memory leak in invoker_completeInvokeRequest()
Backport-of: 1dfa1eaea0
2022-07-30 05:46:50 +07:00
Ichiroh Takiguchi
1d142fe2d3 8287362: FieldAccessWatch testcase failed on AIX platform
Backport-of: 66340372d5
2022-07-30 05:46:50 +07:00
Ichiroh Takiguchi
19925e2cf1 8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
Backport-of: 6ea996c205
2022-07-30 05:46:49 +07:00
Christoph Langer
3611393e41 8287336: GHA: Workflows break on patch versions
Reviewed-by: andrew
Backport-of: e44465d4d6
2022-07-30 05:46:49 +07:00
Alexander Scherbatiy
8d0b9b0544 8285397: JNI exception pending in CUPSfuncs.c:250
Backport-of: a03438cb1b
2022-07-30 05:46:48 +07:00
Adam Farley
e702c1ee8c 8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
Reviewed-by: andrew
Backport-of: 40f43c6b1f
2022-07-30 05:46:48 +07:00
Alexander Scherbatiy
31355fa74e 8181571: printing to CUPS fails on mac sandbox app
Backport-of: 3d4be14eba
2022-07-30 05:46:47 +07:00
Matthias Baesken
ac07460e44 8287119: Add Distrust.java to ProblemList
Backport-of: da8fd4547f
2022-07-30 05:46:47 +07:00
Ichiroh Takiguchi
b94148b818 8139173: [macosx] JInternalFrame shadow is not properly drawn
Backport-of: f7814c120b
2022-07-30 05:46:46 +07:00
Sergey Bylokhov
5852f6cff5 8285523: Improve test java/io/FileOutputStream/OpenNUL.java
Backport-of: f42631e354
2022-07-30 05:46:46 +07:00
Goetz Lindenmaier
de4f86c455 8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
Backport-of: 9711033780
2022-07-30 05:46:45 +07:00
Ichiroh Takiguchi
44e025e286 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
Backport-of: 27fe3d7f8d
2022-07-30 05:46:44 +07:00
Zhengyu Gu
193831fda6 8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
Reviewed-by: mdoerr
Backport-of: d6fa8b004b
2022-07-30 05:46:44 +07:00
Goetz Lindenmaier
b664e66d02 8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
Backport-of: f143386109
2022-07-30 05:46:43 +07:00
Goetz Lindenmaier
cd4f3ba18d 8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
Backport-of: a86cab8d42
2022-07-30 05:46:43 +07:00
Goetz Lindenmaier
2578bba2ae 8285686: Update FreeType to 2.12.0
Backport-of: 67dd8a8d6a
2022-07-30 05:46:41 +07:00
Matthias Baesken
3839a0d732 8285728: Alpine Linux build fails with busybox tar
Backport-of: 36bf6fbe08
2022-07-30 05:46:41 +07:00
Matthias Baesken
0c355821ef 8284758: [linux] improve print_container_info
Backport-of: 6c6d5223df
2022-07-30 05:46:41 +07:00
Matthias Baesken
4b42ee38d5 8284754: print more interesting env variables in hs_err and VM.info
Backport-of: 8ee2944cc4
2022-07-30 05:46:40 +07:00
Martin Doerr
14327f0ab1 8283323: libharfbuzz optimization level results in extreme build times
Backport-of: 2c43ecb43f
2022-07-30 05:46:40 +07:00
Thomas Stuefe
18561e3192 8286198: [linux] Fix process-memory information
Backport-of: 9e320d9ab1
2022-07-30 05:46:40 +07:00
Tyler Steele
51ae74bb99 8285956: (fs) Excessive default poll interval in PollingWatchService
Backport-of: 1bb4de2e28
2022-07-30 05:46:39 +07:00
Richard Reingruber
a8c038b872 8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
Backport-of: c936e7059b
2022-07-30 05:46:39 +07:00
Richard Reingruber
d53e4daaee 8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
Backport-of: ca2efb73f5
2022-07-30 05:46:38 +07:00
Basil Crow
9886b49f70 8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
Backport-of: e35005d5ce
2022-07-30 05:46:38 +07:00
Aleksey Shipilev
e2749ccd05 8284848: C2: Compiler blackhole arguments should be treated as globally escaping
Reviewed-by: kvn
Backport-of: 5629c7555f
2022-07-30 05:46:38 +07:00
Matthias Baesken
0e80e5e9ac 8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
Backport-of: 0f62cb6fcc
2022-07-30 05:46:37 +07:00
Goetz Lindenmaier
6fb25ac8e8 8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
Backport-of: cd36be42c2
2022-07-30 05:46:37 +07:00
Jie Fu
80d0ac8b33 8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
Backport-of: 3420a1aa70
2022-07-30 05:46:36 +07:00
Jie Fu
a4c7ea5e59 8284992: Fix misleading Vector API doc for LSHR operator
Backport-of: e54f26aa3d
2022-07-30 05:46:36 +07:00
Jie Fu
81f8f2bff6 8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
Backport-of: c4f7a850c6
2022-07-30 05:46:36 +07:00
Christoph Langer
c9d518f6ff 8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
Reviewed-by: mdoerr, akozlov
2022-07-30 05:46:35 +07:00
Christoph Langer
7ec60c2d73 8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
Reviewed-by: mdoerr
2022-07-30 05:46:35 +07:00
Martin Doerr
721d8800c8 8282929: Localized monetary symbols are not reflected in toLocalizedPattern return value
Backport-of: c96085eaab
2022-07-30 05:46:35 +07:00
Tyler Steele
906f84c120 8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
Backport-of: 6a1b145a0a
2022-07-30 05:46:34 +07:00
Zhengyu Gu
4e6c088081 8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
Backport-of: ec205f68a8
2022-07-30 05:44:47 +07:00
Zhengyu Gu
f651cd87b7 8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
Backport-of: b55c32f5fe
2022-07-30 05:43:40 +07:00
Aleksey Shipilev
a3c17f3386 8282170: JVMTI SetBreakpoint metaspace allocation test
Backport-of: 7b91bbba82
2022-07-30 05:43:40 +07:00
Aleksey Shipilev
3a1da92c5a 8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
Reviewed-by: kvn
Backport-of: ce8db2c403
2022-07-30 05:43:39 +07:00
Zhengyu Gu
5144f2c5b7 8284549: JFR: FieldTable leaks FieldInfoTable member
Backport-of: 92f5e42696
2022-07-30 05:43:39 +07:00
Zhengyu Gu
bdce3e9f2c 8284620: CodeBuffer may leak _overflow_arena
Reviewed-by: mdoerr, kvn
Backport-of: 4d45c3ebc4
2022-07-30 05:43:39 +07:00
Sergey Bylokhov
b0f61372a8 8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image
Backport-of: f8a164915f
2022-07-30 05:43:38 +07:00
Goetz Lindenmaier
99645ecbdd 8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java

Backport-of: 564c8c6390
2022-07-30 05:43:38 +07:00
Martin Doerr
6c2ce3ae7a 8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
Backport-of: 86015e15a5
2022-07-30 05:43:37 +07:00
Martin Doerr
8dbb4c73c3 8279842: HTTPS Channel Binding support for Java GSS/Kerberos
Reviewed-by: goetz
Backport-of: de3113b998
2022-07-30 05:43:37 +07:00
Jaroslav Bachorik
2531e69aa6 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
Backport-of: 9471f24ca1
2022-07-30 05:43:36 +07:00
Matthias Baesken
cb8e82d992 8285445: cannot open file "NUL:"
Backport-of: 03cbb48e6a
2022-07-30 05:43:36 +07:00
Zhengyu Gu
37c6d5f230 8284458: CodeHeapState::aggregate() leaks blob_name
Reviewed-by: mdoerr
Backport-of: d4a4884385
2022-07-30 05:43:35 +07:00
Martin Doerr
1cb571cc21 8284866: Add test to JDK-8273056
Backport-of: 3ffec3a50b
2022-07-30 05:43:34 +07:00
Martin Doerr
d616a12a70 8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
Backport-of: 63e43030ed
2022-07-30 05:43:34 +07:00
Martin Doerr
ea64bb8fe9 8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
Backport-of: b310f301ef
2022-07-30 05:43:34 +07:00
Martin Doerr
f1735b17cc 8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
Backport-of: f62b81c3b5
2022-07-30 05:43:33 +07:00
Martin Doerr
35c2fca802 8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
Backport-of: c459f8f406
2022-07-30 05:43:33 +07:00
Jie Fu
ea352d0d5c 8285342: Zero build failure with clang due to values not handled in switch
Backport-of: d84b9c5489
2022-07-30 05:43:32 +07:00
Christoph Langer
9fa23a4646 8284622: Update versions of some Github Actions used in JDK workflow
Backport-of: 5851631de2
2022-07-30 05:43:32 +07:00
Sergey Bylokhov
bc093901cd 8283422: Create a new test for JDK-8254790
Backport-of: ad83ec7e28
2022-07-30 05:43:31 +07:00
Martin Doerr
4bcda1856e 8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
Backport-of: 45f20633f6
2022-07-30 05:43:31 +07:00
Martin Doerr
df641aa323 8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
Backport-of: 53580b336a
2022-07-30 05:43:31 +07:00
Thomas Stuefe
4fadc15610 8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
Backport-of: 1ca0ede60d
2022-07-30 05:43:30 +07:00
Martin Doerr
35e5d01d8a 8279520: SPNEGO has not passed channel binding info into the underlying mechanism
Backport-of: 8d0f385fd0
2022-07-30 05:43:30 +07:00
Christoph Langer
f5a0c2350c 8284507: GHA: Only check test results if testing was not skipped
Backport-of: 8eac3427b1
2022-07-30 05:43:29 +07:00
Christoph Langer
5b4cbd3d28 8284603: [17u] Update Boot JDK used in GHA to 17.0.2
Reviewed-by: sgehwolf
2022-07-30 05:43:29 +07:00
Christoph Langer
fed4540405 8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
Backport-of: 61fcf2f67f
2022-07-30 05:43:29 +07:00
Goetz Lindenmaier
01a0d697dd 8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
Backport-of: c27afb313b
2022-07-30 05:43:28 +07:00
Zhengyu Gu
4fe8b8899d 8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
Backport-of: 909986c7e1
2022-07-30 05:43:28 +07:00
Martin Doerr
aca2dbec8f 8279822: CI: Constant pool entries in error state are not supported
Reviewed-by: goetz
Backport-of: c5c8c0644d
2022-07-30 05:43:27 +07:00
Martin Doerr
289fdf2bad 8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
Reviewed-by: goetz
Backport-of: d7012fbd60
2022-07-30 05:43:27 +07:00
Martin Doerr
53ba6a8dd7 8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
Backport-of: 955d61df30
2022-07-30 05:43:26 +07:00
Severin Gehwolf
347fafdbd3 8283279: [Testbug] Improve TestGetSwapSpaceSize
Backport-of: a77160065b
2022-07-30 05:43:26 +07:00
Matthias Baesken
6afa1299ba 8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
Reviewed-by: mdoerr
2022-07-30 05:43:25 +07:00
Martin Doerr
7e31edd17a 8283187: C2: loop candidate for superword not always unrolled fully if superword fails
Backport-of: 14c20bc0e0
2022-07-30 05:43:25 +07:00
Martin Doerr
9a008025fc 8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
Backport-of: a81c911176
2022-07-30 05:43:24 +07:00
Thomas Stuefe
d8cc532974 8280940: gtest os.release_multi_mappings_vm is racy
Reviewed-by: mdoerr
Backport-of: f07b816523
2022-07-30 05:43:24 +07:00
Thomas Stuefe
52f1b71aa9 8281522: Rename ADLC classes which have the same name as hotspot variants
Reviewed-by: mdoerr
Backport-of: eee6a5622d
2022-07-30 05:43:23 +07:00
Thomas Stuefe
60fa5fb29f 8282382: Report glibc malloc tunables in error reports
Backport-of: bc42e7cbbf
2022-07-30 05:43:23 +07:00
Zhengyu Gu
da5ecfd226 8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
Backport-of: 2cddf3f539
2022-07-30 05:43:22 +07:00
Zhengyu Gu
fc62424ae9 8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
Backport-of: 5df2a05770
2022-07-30 05:43:22 +07:00
Thomas Stuefe
b81e3e2ac0 8283497: [windows] print TMP and TEMP in hs_err and VM.info
Backport-of: b035fda459
2022-07-30 05:43:21 +07:00
Thomas Stuefe
f4f173a412 8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
Backport-of: 58487ddc17
2022-07-30 05:43:21 +07:00
Thomas Stuefe
0e558ecf98 8281450: Remove unnecessary operator new and delete from ObjectMonitor
Backport-of: 83d67452da
2022-07-30 05:43:20 +07:00
Thomas Stuefe
581f482673 8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
Backport-of: d1cc5fda8f
2022-07-30 05:43:20 +07:00
Thomas Stuefe
d5b3f364f6 8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
Backport-of: 55f180fb7d
2022-07-30 05:43:20 +07:00
Martin Doerr
bbcd8deeeb 8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
Backport-of: 2f955d6f5b
2022-07-30 05:43:19 +07:00
Martin Doerr
365453fa0f 8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
Backport-of: 534e557874
2022-07-30 05:43:19 +07:00
Martin Doerr
68ee5e4016 8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
Backport-of: d29c7e740d
2022-07-30 05:43:18 +07:00
Martin Doerr
885b0c8783 8283641: Large value for CompileThresholdScaling causes assert
Backport-of: c1048021fe
2022-07-30 05:43:17 +07:00
Martin Doerr
33ec34dec9 8283451: C2: assert(_base == Long) failed: Not a Long
Backport-of: fabde3b7b8
2022-07-30 05:43:17 +07:00
Martin Doerr
97328400a5 8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
Backport-of: 2367228835
2022-07-30 05:43:16 +07:00
Martin Doerr
b05a97af4b 8282592: C2: assert(false) failed: graph should be schedulable
Backport-of: 85628a871d
2022-07-30 05:43:16 +07:00
Martin Doerr
5fb41b33ec 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Backport-of: 8b45dbdae6
2022-07-30 05:43:15 +07:00
Sergey Bylokhov
f25e8d1e6c 8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
Backport-of: 18a7dc8c08
2022-07-30 05:43:15 +07:00
Martin Doerr
a18a738b42 8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom
Backport-of: 022d80707c
2022-07-30 05:43:14 +07:00
Martin Doerr
6f0b639b91 8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
Backport-of: 5c408c1410
2022-07-30 05:43:14 +07:00
Martin Doerr
f6a6e6c73e 8280901: MethodHandle::linkToNative stub is missing w/ -Xint
Backport-of: f86f38a8af
2022-07-30 05:43:13 +07:00
Martin Doerr
1769afd114 8282045: When loop strip mining fails, safepoints are removed from loop anyway
Backport-of: 2c5d266f9f
2022-07-30 05:43:13 +07:00
Martin Doerr
5f8e015a0e 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
Backport-of: ecd85e6f0f
2022-07-30 05:43:12 +07:00
Martin Doerr
f0e2d13c7f 8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
Backport-of: a16f2d0a3c
2022-07-30 05:43:12 +07:00
Martin Doerr
46b98f0839 8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: dfeb4132e4
2022-07-30 05:43:11 +07:00
Martin Doerr
0a0b9b84f8 8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
Backport-of: 88f0938c94
2022-07-30 05:43:11 +07:00
Martin Doerr
d3a5335623 8283408: Fix a C2 crash when filling arrays with unsafe
Backport-of: a6740c010b
2022-07-30 05:43:11 +07:00
Martin Doerr
f8d74332c7 8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
Backport-of: 4e7fb41daf
2022-07-30 05:43:10 +07:00
Martin Doerr
c5e48f486e 8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
Backport-of: a18beb4797
2022-07-30 05:43:10 +07:00
Martin Doerr
2aef52d677 8280600: C2: assert(!had_error) failed: bad dominance
Backport-of: de826ba18a
2022-07-30 05:43:09 +07:00
Martin Doerr
2c08acd036 8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
Backport-of: e44dc638b8
2022-07-30 05:43:08 +07:00
Martin Doerr
2671018ace 8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
Backport-of: 6f882deddc
2022-07-30 05:43:08 +07:00
Martin Doerr
c08e4adb6f 8272358: Some tests may fail when executed with other locales than the US
Backport-of: 29e552c03a
2022-07-30 05:43:02 +07:00
Martin Doerr
2d691a8eb4 8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
Backport-of: b1f935c1d0
2022-07-30 05:43:01 +07:00
Martin Doerr
5295d4e22a 8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
Backport-of: 96fe1d0d4d
2022-07-30 05:43:01 +07:00
Martin Doerr
38905c8f5c 8279219: [REDO] C2 crash when allocating array of size too large
Backport-of: d32f99ee65
2022-07-30 05:43:00 +07:00
Martin Doerr
603349e45e 8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
Backport-of: 4e0b81c596
2022-07-30 05:43:00 +07:00
Martin Doerr
3e6b06801f 8283350: (tz) Update Timezone Data to 2022a
Backport-of: 1ab6f9395f
2022-07-30 05:43:00 +07:00
Martin Doerr
552791caa2 8275337: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 4191b2b9b9
2022-07-30 05:42:59 +07:00
Martin Doerr
4149771026 8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
Backport-of: 683e30db79
2022-07-30 05:42:59 +07:00
Martin Doerr
451a156edf 8271302: Regex Test Refresh
Backport-of: fecefb8541
2022-07-30 05:42:58 +07:00
Severin Gehwolf
f6c2765bc1 8282551: Properly initialize L32X64MixRandom state
Backport-of: ce18ff8527
2022-07-30 05:42:58 +07:00
Martin Doerr
a97a083d49 8278794: Infinite loop in DeflaterOutputStream.finish()
Backport-of: ff0b0927a2
2022-07-30 05:42:58 +07:00
Martin Doerr
260e73b53c 8281771: Crash in java_lang_invoke_MethodType::print_signature
Backport-of: a24498b777
2022-07-30 05:42:51 +07:00
Martin Doerr
ccf87b2cdf 8270797: ShortECDSA.java test is not complete
Backport-of: 221e4b9c61
2022-07-30 05:42:51 +07:00
Matthias Baesken
7cb35a057a 8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
Reviewed-by: mdoerr
Backport-of: 84976b4531
2022-07-30 05:42:50 +07:00
Roman Kennke
907856ba20 8278065: Refactor subclassAudits to use ClassValue
Backport-of: 8fed8ab29c
2022-07-30 05:42:50 +07:00
Roman Kennke
21fadd66a3 8280041: Retry loop issues in java.io.ClassCache
Backport-of: cebaad1c94
2022-07-30 05:42:49 +07:00
Roman Kennke
943e557f56 8277072: ObjectStreamClass caches keep ClassLoaders alive
Backport-of: 8eb453baeb
2022-07-30 05:42:49 +07:00
Goetz Lindenmaier
9ede4c2d01 8255266: Update Public Suffix List to 3c213aa
Backport-of: 7ce75afbbc
2022-07-30 05:42:49 +07:00
Chris Hegarty
9523a7e838 8282444: Module finder incorrectly assumes default file system path-separator character
Backport-of: 369291b265
2022-07-30 05:42:48 +07:00
Foivos Zakkak
5496fc25ba 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
Backport-of: 0cbc4b85bf
2022-07-30 05:42:48 +07:00
Matthias Baesken
54d5e24779 8282345: handle latest VS2022 in abstract_vm_version
Backport-of: 735e86b0f7
2022-07-30 05:42:47 +07:00
Matthias Baesken
ddf765b7d4 8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
Backport-of: bb2e10ccea
2022-07-30 05:42:36 +07:00
Thomas Stuefe
98e96aa70e 8280543: Update the "java" and "jcmd" tool specification for CDS
Reviewed-by: mdoerr
Backport-of: 39165613aa
2022-07-30 05:42:26 +07:00
Jonathan Dowland
e07c0980c6 8193682: Infinite loop in ZipOutputStream.close()
Backport-of: 1e9ed54d36
2022-07-30 05:42:26 +07:00
Goetz Lindenmaier
69952038c4 8282583: Update BCEL md to include the copyright notice
Backport-of: 8478173d83
2022-07-30 05:42:25 +07:00
Goetz Lindenmaier
2a5860d457 8277922: Unable to click JCheckBox in JTable through Java Access Bridge
Backport-of: 1668c02ee8
2022-07-30 05:42:25 +07:00
Goetz Lindenmaier
e72eb44dc2 8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
Backport-of: 8aba4de984
2022-07-30 05:42:25 +07:00
Goetz Lindenmaier
456602c63d 8282295: SymbolPropertyEntry::set_method_type fails with assert
Backport-of: 3e4dfc63e7
2022-07-30 05:42:24 +07:00
Goetz Lindenmaier
7066357e81 8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
Backport-of: 84868e39be
2022-07-30 05:42:24 +07:00
Goetz Lindenmaier
fc1396c1b2 8281262: Windows builds in different directories are not fully reproducible
Backport-of: d442328bc2
2022-07-30 05:42:23 +07:00
Goetz Lindenmaier
3562039b4d 8278472: Invalid value set to CANDIDATEFORM structure
Backport-of: 2426d58e59
2022-07-30 05:42:23 +07:00
Goetz Lindenmaier
1fb8c36855 8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
Backport-of: fe547eacd7
2022-07-30 05:42:22 +07:00
Zhengyu Gu
06bdd7888c 8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: aaedac635a
2022-07-30 05:42:22 +07:00
Goetz Lindenmaier
92965c3b42 8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
Backport-of: 6352c020c2
2022-07-30 05:42:22 +07:00
Goetz Lindenmaier
2259ae2925 8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
Backport-of: 20ef954158
2022-07-30 05:42:21 +07:00
Goetz Lindenmaier
8d3d31c2e1 8277087: ZipException: zip END header not found at ZipFile#Source.findEND
Backport-of: e3243ee963
2022-07-30 05:42:14 +07:00
Goetz Lindenmaier
8dc24126e0 8278851: Correct signer logic for jars signed with multiple digestalgs
Reviewed-by: mbaesken
Backport-of: 61b8944327
2022-07-30 05:42:13 +07:00
Goetz Lindenmaier
3554cb073d 8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
Backport-of: 91bb0d658b
2022-07-30 05:42:13 +07:00
Goetz Lindenmaier
e031d013e6 8214733: runtime/8176717/TestInheritFD.java timed out
Backport-of: 4501ddda7f
2022-07-30 05:42:13 +07:00
Goetz Lindenmaier
a9b0bd028b 8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
Backport-of: e14fb4f4aa
2022-07-30 05:42:12 +07:00
Goetz Lindenmaier
4a7d5d9314 8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
Backport-of: 1f1db838ab
2022-07-30 05:42:12 +07:00
Goetz Lindenmaier
3a17af9b19 8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
Backport-of: ad1ff27b73
2022-07-30 05:42:11 +07:00
Goetz Lindenmaier
1a79359b1b 8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
8277166: Data race in jdeps VersionHelper
8277123: jdeps does not report some exceptions correctly

Backport-of: 7e54d065a1
2022-07-30 05:42:11 +07:00
Goetz Lindenmaier
643d374487 8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
Backport-of: 9f2f46ee45
2022-07-30 05:42:10 +07:00
Sergey Bylokhov
8c5557ce89 8274751: Drag And Drop hangs on Windows
Backport-of: 7a0a6c95a5
2022-07-30 05:42:09 +07:00
Aleksey Shipilev
83f23743c7 8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
Backport-of: d254cf28c5
2022-07-30 05:41:56 +07:00
Aleksey Shipilev
9074de396d 8281318: Improve jfr/event/allocation tests reliability
Backport-of: 65831eb294
2022-07-30 05:41:48 +07:00
Aleksey Shipilev
59c4b50ebb 8277893: Arraycopy stress tests
Backport-of: 29bd73638a
2022-07-30 05:41:47 +07:00
Zhengyu Gu
2a54e2e249 8281615: Deadlock caused by jdwp agent
Backport-of: e1060bee2a
2022-07-30 05:41:47 +07:00
Martin Doerr
0edfb1635e 8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
Backport-of: 68b40ec286
2022-07-30 05:41:46 +07:00
Aleksey Shipilev
89406c45b1 8283017: GHA: Workflows break with update release versions
Reviewed-by: clanger
Backport-of: 01570ca92d
2022-07-30 05:41:46 +07:00
Goetz Lindenmaier
8266965e16 8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
Backport-of: 21e302a0f4
2022-07-30 05:41:46 +07:00
Goetz Lindenmaier
76a9f418e1 8274172: Convert JavadocTester to use NIO
Backport-of: 5b0c9ccc49
2022-07-30 05:41:45 +07:00
Goetz Lindenmaier
4dd36d6616 8272168: some hotspot runtime/logging tests don't check exit code
Backport-of: 3b899ef7ff
2022-07-30 05:41:45 +07:00
Goetz Lindenmaier
014109dcf4 8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
Backport-of: 1a818154cf
2022-07-30 05:41:44 +07:00
Goetz Lindenmaier
0cba17ba56 8267163: Rename anonymous loader tests to hidden loader tests
Reviewed-by: mdoerr
Backport-of: 5c21c00441
2022-07-30 05:41:44 +07:00
Aleksey Shipilev
ec5e19636c 8281168: Micro-optimize VarForm.getMemberName for interpreter
Backport-of: fc77217814
2022-07-30 05:41:43 +07:00
Aleksey Shipilev
8d54d7a8ee 8279668: x86: AVX2 versions of vpxor should be asserted
Backport-of: 2bbeae3f05
2022-07-30 05:41:42 +07:00
Aleksey Shipilev
26ffc41cfd 8279958: Provide configure hints for Alpine/apk package managers
Backport-of: a30aa52b77
2022-07-30 05:41:41 +07:00
Goetz Lindenmaier
1fb1d7d57a 8276657: XSLT compiler tries to define a class with empty name
Backport-of: a093cdddaf
2022-07-30 05:41:41 +07:00
Goetz Lindenmaier
fc2abce839 8276825: hotspot/runtime/SelectionResolution test errors
Backport-of: 55b36c6f3b
2022-07-30 05:41:40 +07:00
Goetz Lindenmaier
8e0aeafe57 8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
Backport-of: fa4ce824a3
2022-07-30 05:41:40 +07:00
Goetz Lindenmaier
5bfd7b9f06 8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
Backport-of: 7ca053de21
2022-07-30 05:41:40 +07:00
Goetz Lindenmaier
bb6231981b 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
Backport-of: f143d2a88e
2022-07-30 05:41:39 +07:00
Goetz Lindenmaier
9423a22849 8274244: ReportOnImportedModuleAnnotation.java fails on rerun
Backport-of: c391e59ea6
2022-07-30 05:41:39 +07:00
Goetz Lindenmaier
df6efce0cf 8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
Backport-of: b7b78ff1f3
2022-07-30 05:41:39 +07:00
Goetz Lindenmaier
9872c47fce 8274233: Minor cleanup for ToolBox
Backport-of: e741a18062
2022-07-30 05:41:38 +07:00
Goetz Lindenmaier
703aac308e 8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
Backport-of: cb112affd6
2022-07-30 05:41:38 +07:00
Martin Doerr
3c222af77b 8282509: [exploded image] ResolvedClassTest fails with similar output
Backport-of: 7c8ea9f05b
2022-07-30 05:41:38 +07:00
Aleksey Shipilev
d6e5726d49 8282225: GHA: Allow one concurrent run per PR only
Backport-of: aaab2cb416
2022-07-30 05:41:37 +07:00
Goetz Lindenmaier
a35ead5c58 8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
Backport-of: 041ae20b10
2022-07-30 05:41:37 +07:00
Goetz Lindenmaier
6ddec9f6b8 8272146: Disable Fibonacci test on memory constrained systems
Backport-of: adba09b91d
2022-07-30 05:41:37 +07:00
Martin Doerr
748d3e0c40 8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
Backport-of: ad34f03b54
2022-07-30 05:41:36 +07:00
Goetz Lindenmaier
d8ff4e42ba 8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
Backport-of: eb6f3fe59d
2022-07-30 05:41:36 +07:00
Goetz Lindenmaier
2fb149272c 8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
Backport-of: 68dd828088
2022-07-30 05:41:36 +07:00
Goetz Lindenmaier
f421239562 8269753: Misplaced caret in PatternSyntaxException's detail message
Backport-of: bb508e1303
2022-07-30 05:41:35 +07:00
Goetz Lindenmaier
a8fb85170f 8270336: [TESTBUG] Fix initialization in NonbranchyTree
Backport-of: 3cadc36060
2022-07-30 05:41:35 +07:00
Goetz Lindenmaier
25d731277f 8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
Backport-of: 6346793c64
2022-07-30 05:41:35 +07:00
Goetz Lindenmaier
2d7b8fe2f7 8270837: fix typos in test TestSigParse.java
Backport-of: 67dc1c5bf3
2022-07-30 05:41:34 +07:00
Goetz Lindenmaier
351a249837 8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
Backport-of: 4a45d95719
2022-07-30 05:41:34 +07:00
Goetz Lindenmaier
a15e8b1aca 8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
Backport-of: e8206dbb17
2022-07-30 05:41:34 +07:00
Goetz Lindenmaier
b8962e2f78 8269135: TestDifferentProtectionDomains runs into timeout in client VM
Reviewed-by: clanger
Backport-of: 53ad903a82
2022-07-30 05:41:33 +07:00
Goetz Lindenmaier
24b1a67cf4 8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
Backport-of: a0f32cb140
2022-07-30 05:41:33 +07:00
Martin Doerr
5a46090e29 8270468: TestRangeCheckEliminated fails because methods are not compiled
Backport-of: bb82005a81
2022-07-30 05:41:33 +07:00
Martin Doerr
fd711cc60e 8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
Backport-of: 561a3a5077
2022-07-30 05:41:32 +07:00
Martin Doerr
421958cb07 8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
Backport-of: f8f9148016
2022-07-30 05:41:32 +07:00
Martin Doerr
7675fc735e 8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
Backport-of: 58b5fb3233
2022-07-30 05:41:32 +07:00
Martin Doerr
a6848f22ed 8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
Backport-of: e7244c19f4
2022-07-30 05:41:31 +07:00
Martin Doerr
88078f9bc2 8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Backport-of: b9a477bf19
2022-07-30 05:41:31 +07:00
Jim Laskey
3334e1d215 8273056: java.util.random does not correctly sample exponential or Gaussian distributions
Backport-of: 3d98ec1b7b
2022-07-30 05:41:31 +07:00
Roman Kennke
3d08ee109f 8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
Backport-of: 5ab22e88da
2022-07-30 05:41:30 +07:00
Martin Doerr
70b5f410c2 8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
Backport-of: 5021a12cea
2022-07-30 05:41:30 +07:00
Martin Doerr
49df388240 8278796: Incorrect behavior of FloatVector.withLane on X86
Backport-of: 8494fec665
2022-07-30 05:41:29 +07:00
Martin Doerr
30502f407c 8278014: [vectorapi] Remove test run script
Backport-of: 9b3e672059
2022-07-30 05:41:29 +07:00
Martin Doerr
304104d56b 8275830: C2: Receiver downcast is missing when inlining through method handle linkers
Backport-of: 95a3010acf
2022-07-30 05:41:29 +07:00
Martin Doerr
f3da094fc4 8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
Backport-of: 3f747368b9
2022-07-30 05:41:28 +07:00
Martin Doerr
76a0d55325 8273804: Platform.isTieredSupported should handle the no-compiler case
Backport-of: 46af82e5b0
2022-07-30 05:41:28 +07:00
Dmitry Chuyko
e48bdaef3e 8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
Backport-of: 126328cb62
2022-07-30 05:41:27 +07:00
Martin Doerr
3c8157af87 8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
Backport-of: 6d7db4b0b3
2022-07-30 05:41:27 +07:00
Martin Doerr
8f029fb882 8279837: C2: assert(is_Loop()) failed: invalid node class: Region
Backport-of: 65eb066b63
2022-07-30 05:41:27 +07:00
Martin Doerr
95ab9e2149 8258814: Compilation logging crashes for thread suspension / debugging tests
Backport-of: 35ee0f38c6
2022-07-30 05:41:26 +07:00
Dmitry Chuyko
85928d8628 8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
Backport-of: 6d1d4d5292
2022-07-30 05:41:26 +07:00
Martin Doerr
89b415d560 8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
Backport-of: aea096770e
2022-07-30 05:41:25 +07:00
Martin Doerr
19aaab7d52 8277906: Incorrect type for IV phi of long counted loops after CCP
Backport-of: 3889af3f7d
2022-07-30 05:41:25 +07:00
Martin Doerr
1d94c4548c 8274983: C1 optimizes the invocation of private interface methods
Reviewed-by: xliu
Backport-of: 21d9ca6cd9
2022-07-30 05:41:25 +07:00
Martin Doerr
4bb176f31a 8281043: Intrinsify recursive ObjectMonitor locking for PPC64
Backport-of: 46c6c6f308
2022-07-30 05:41:24 +07:00
Goetz Lindenmaier
fbd681580e 8282499: Bump update version for OpenJDK: jdk-17.0.4
Reviewed-by: mdoerr
2022-07-30 05:41:24 +07:00
bell-sw
3cd791a819 Revert "JBR-4141 Access Bridge: Wrong frame position and hit test result on HiDPI display"
This reverts commit ba8cdbab2b.
2022-07-30 05:41:24 +07:00
Vitaly Provodin
d7873e0f25 exclude javax/swing/SwingUtilities/7146377/bug7146377.java on windows due to JBR-4679 2022-07-29 19:27:53 +07:00
Vitaly Provodin
50edf75948 exclude javax/swing/SwingUtilities/4917669/bug4917669.java on windows due to JBR-4677 2022-07-29 19:27:52 +07:00
Vitaly Provodin
94be775252 exclude jb/hotspot/AbortHandler.java on macosx-all due to JBR-4669 2022-07-29 10:36:38 +07:00
Vitaly Provodin
785e1d46bd exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on all platforms due to 8266283 2022-07-29 10:36:04 +07:00
Dmitry Batrak
7468974488 JBR-4673 Focus moves to another application on file dialog closing 2022-07-27 18:36:30 +03:00
Vitaly Provodin
ebfa8e4b4d exclude jb/hotspot/AbortHandler.java on macosx-11.6.7 due to JBR-4669 2022-07-27 07:27:17 +07:00
Vitaly Provodin
2b389bee66 Update README.md 2022-07-27 05:52:29 +07:00
Dmitry Batrak
9b32c2a577 JBR-4665 Focus 'jitter' on window showing in WSLg 2022-07-25 18:48:39 +03:00
Nikita Gubarkov
a6f4cb2174 Disable colored outlines on Linux to be able to build with old system Freetype 2022-07-23 11:52:49 +03:00
Vitaly Provodin
05a623178f JBR-4658 add tier4_no_desktop test group 2022-07-23 05:30:29 +07:00
Nikita Gubarkov
b31f84efd6 Implement rendering of colored outlines and bitmap glyphs in OutlineTextRenderer
Pick changes from OpenJDK review
2022-07-21 13:59:13 +03:00
Dmitry Batrak
e34677587d JBR-4652 With multiple projects open non-fullscreen, right-click on Dock icon to select the project from the context menu doesn't switch to that project 2022-07-21 09:34:28 +03:00
Vitaly Provodin
3e368f51a4 Revert "fixup! JBR-4087 add version info into the name of root directory in JBR tar.gz-distributions (fix misprint)"
This reverts commit 5103549342.
2022-07-20 17:53:53 +07:00
Vitaly Provodin
f20bbd0c7a JBR-3770 enable test java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java 2022-07-20 16:17:02 +07:00
Nikita Gubarkov
1a56eecedd JBR-4524 JBR-4558 Null check TT_OS2 2022-07-19 20:08:48 +03:00
Nikita Gubarkov
3c56771eeb JBR-4553 Add logging to setUpTransparentTitleBar and resetTitleBar 2022-07-19 13:39:45 +03:00
Dmitry Batrak
ec748f84fb JBR-4642 regression: "focus follows mouse" broken for modals, I need to click into them
a better solution, fixing also the case when mouse hovers over a window, which is not the modal dialog's ancestor
2022-07-18 13:16:06 +03:00
Vitaly Provodin
7f4f822670 Update README.md 2022-07-15 05:25:02 +07:00
Alexey Ushakov
1573ab4f8c JBR-4573 Start/stop displaysync affects performance in metal rendering pipeline
Reverted extra change
2022-07-14 19:35:52 +02:00
Alexey Ushakov
f4f0beb75e JBR-4573 Start/stop displaysync affects performance in metal rendering pipeline
Reuse displaysync thread for subsequent updates
2022-07-14 19:30:14 +02:00
Alexey Ushakov
d0671eee76 JBR-4636 Some JWindow tests failed due to wrong scaling
Take into account custom scale via sun.java2d.uiScale
2022-07-14 19:30:14 +02:00
Dmitry Batrak
c55bf03680 JBR-4642 regression: "focus follows mouse" broken for modals, I need to click into them 2022-07-14 20:17:28 +03:00
Artem Semenov
4d69e3ac47 JBR-4633 [macos] Voice over reads the boolean value as null in the JTable 2022-07-14 11:04:06 +03:00
Dmitry Batrak
8b9a00915d JBR-4638 Regression: Unable to enter emoji in editor via Emoji & Symbols on macOS 2022-07-12 16:41:14 +03:00
Vitaly Provodin
37e95663b2 Update README.md 2022-07-12 08:27:12 +07:00
Vitaly Provodin
5103549342 fixup! JBR-4087 add version info into the name of root directory in JBR tar.gz-distributions (fix misprint) 2022-07-12 04:48:30 +07:00
Nikita Gubarkov
df9cc387a0 JBR-2523 Fix emoji, ZWJ and font fallback
Require layout for some emoji-related unicodes
Fix variation selectors and ZWJ
2022-07-09 13:00:40 +03:00
Alexey Ushakov
9af4a30780 JBR-4619 Window content scale wrong after disconnecting external display / waking OS from sleep
Use viewDidChangeBackingProperties notification to adjust a window layer scale
2022-07-06 19:33:39 +02:00
Vladimir Kempik
b6b13b59cc 8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
Cherry-pick of https://github.com/openjdk/jdk/pull/9368
2022-07-06 14:12:50 +03:00
Nikita Gubarkov
21a30251eb JBR-2917 Move dingbats and symbol fonts to fallback sequence on Windows
That gives emoji font higher priority which fixes ZWJ sequences in composite fonts.
2022-07-04 23:29:48 +03:00
Vitaly Provodin
e67438409d Update README.md 2022-07-04 05:13:14 +07:00
Maxim Kartashev
9e8791461f JBR-4610 jb/hotspot/AbortHandler.java: hs_err_pid file generated with default options 2022-06-29 12:11:11 +03:00
Vitaly Provodin
f2750fbb5f Update README.md 2022-06-29 05:04:47 +07:00
Vitaly Provodin
7608f4fe17 exclude vmTestbase/vm/jit/LongTransitions due to 8271615 on macOS 2022-06-29 04:16:53 +07:00
Maxim Kartashev
acb42be927 JBR-4602 Unexpected NoSuchFileException running Rider test
This reverts commits for JBR-3680, JBR-4118, and JBR-4485.
2022-06-28 11:05:37 +03:00
Maxim Kartashev
b0c8d6fec7 JBR-3770 IDE crash at Java2D Disposer
The list of deferredRecords could be modified by Disposer.pollRemove()
on one thread, while being traversed by Disposer.clearDeferredRecords()
on another thread at the same time.
Such use of a non-thread-safe collection sometimes lead to a null
record retrieved from deferredRecords (which does not contain nulls),
resulting in a caught and ignored NPE. Another result was an abort()
caused by calling free() as detected by libc's built-in heap health
checks, likely triggered by free'ing the same block more than once.
2022-06-28 11:00:50 +03:00
Nikita Gubarkov
d2e8094682 JBR-4373 Add mapping for .NewYork-* and .SFArabic-* system fonts 2022-06-27 23:24:39 +03:00
Nikita Gubarkov
e806a9b30d JBR-2917 Add Segoe UI Emoji to font fallback on Windows 2022-06-27 01:04:14 +03:00
Alexander Lobas
89cd3c625d JBR-4563 Rounded corners for native Window on Mac OS (#156)
* JBR-4563 Rounded corners for native Window on Mac OS
2022-06-24 17:01:23 +02:00
Alexey Ushakov
ea11e74aca JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig
Prevent fall back to OpenGL if Metal has been used before
2022-06-24 14:31:41 +02:00
Alexander Lobas
47ffba7109 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
91629c8401 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
ecd3bd94eb JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Alexander Lobas
1a5fba9910 JBR-4563 Rounded corners for native Window on Mac OS 2022-06-23 23:23:22 +02:00
Vladimir Kempik
a2d3da2434 8256844: Make NMT late-initializable
Cherry pick of PR https://github.com/openjdk/jdk17u-dev/pull/496

Reviewed-by: stuefe
2022-06-23 21:01:10 +03:00
Andrew Leonard
11da1aa07f JBR-4062 8288399: MacOS debug symbol files not always deterministic in reproducible builds
Reviewed-by: erikj
2022-06-23 17:53:38 +03:00
Alexey Pavlyutkin
87d8bda745 JBR-4062 8287894: Use fixed timestamp as an alternative of __DATE__ macro in jdk.jdi to make Windows build reproducible
Reviewed-by: erikj, ihse
2022-06-23 17:50:39 +03:00
Alexey Ushakov
b8d373e711 JBR-4591 macOS: SIGILL at [libsystem_kernel] __kill in -[__NSMallocBlock__ removeFromSuperview]: unrecognized selector sent to instance
Verified if windowDragView is present
2022-06-23 16:23:53 +02:00
Maxim Kartashev
4e8864552d JBR-4562 Generate hs_err file on SIGABRT
Changed the option from a -XX one to -Djbr.catch.SIGABRT=true to make it
more compatible with other JDKs.
2022-06-22 09:36:47 +03:00
Maxim Kartashev
57cd74977e fixup! JBR-4485 Windows: EXCEPTION_ACCESS_VIOLATION at sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry 2022-06-21 09:03:33 +03:00
Vitaly Provodin
845d9cd2a7 exclude javax/swing/JToolBar/4529206/bug4529206.java due to 8288707 on linux 2022-06-19 07:12:07 +07:00
Vitaly Provodin
abd349c4c9 fixup! JBR-4567 fix checking test status 2022-06-18 06:36:16 +07:00
Vitaly Provodin
3c7af3d9ac fixup! JBR-4567 replace comma with point in RenderPerf scores 2022-06-18 06:36:16 +07:00
Maxim Kartashev
62f8abdea8 JBR-4562 Generate hs_err file on SIGABRT
The generation can be switched off with the env var JVM_NO_SIGABRT.
2022-06-16 13:19:48 +03:00
Maxim Kartashev
2fc6a7d38b JBR-3101 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.macosx.CPlatformComponent.setBounds
CWarningWindow doesn't have a peer, so accomodated for that in
CPlatformComponent.setBounds().
2022-06-16 12:25:09 +03:00
Vitaly Provodin
004cba3473 JBR-4570 improve synchronization and increase waiting time 2022-06-16 15:42:45 +07:00
Nikita Provotorov
a89da55450 JBR-2074 Windows AArch64 support: add build and pack scripts. 2022-06-16 03:41:30 +07:00
Maxim Kartashev
04544a5f96 JBR-4485 Windows: EXCEPTION_ACCESS_VIOLATION at sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry
As a precaution, range-check the offset returned by WinAPI before
using it to read raw memory with Unsafe.
2022-06-15 10:48:34 +03:00
Maxim Kartashev
8dda13944a JBR-4481 Avoid workaround for reproducible jrt-fs.jar if boot jar supports reproducibility
BUILD_JAR is used instead of hand-crafted path and timestamp fixup is not
even applied if BOOT_JDK_JAR_SUPPORTS_DATE.
2022-06-15 09:58:01 +03:00
Vitaly Provodin
21865fd478 Update README.md 2022-06-15 06:13:24 +07:00
Vitaly Provodin
a4b4baeafb JBR-4567 replace comma with point in RenderPerf scores 2022-06-13 14:35:26 +07:00
Vitaly Provodin
2f68e2a4b6 JBR-4566 release file does not contain IMPLEMENTOR and other properties 2022-06-13 14:35:23 +07:00
Vitaly Provodin
55a8176c6d JBR-3770 exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java from regular runs on macosx-all 2022-06-10 13:56:24 +07:00
Vitaly Provodin
7f66caa16e JBR-4451 fix the case when asterik cannot be found in string with perf score
After adding the set -e option, which instructs bash to immediately exit if any command has a non-zero exit status, perfcmp.sh unexpectedly exited because grep could not find an asterik. But it is expected case which means that the score is applicable
2022-06-10 06:30:22 +07:00
Rajan Halade
08aeb1b30f 8287109: Distrust.java failed with CertificateExpiredException
Reviewed-by: mullan

(cherry picked from commit 5b7d066ca5)
2022-06-10 06:30:22 +07:00
Vitaly Provodin
b4a19f1154 exclude sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java due to 8252812 on linux-all 2022-06-10 06:30:22 +07:00
Vitaly Provodin
2b2b48c6af exclude java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java due to 8204200 2022-06-10 06:30:22 +07:00
Vitaly Provodin
38cc9f2592 Update README.md 2022-06-10 05:35:57 +07:00
Dmitry Batrak
94d95ad55c JBR-4535 Popup windows disappear on mouse hover when 'Focus strictly under mouse' policy is used in KDE
use override-redirect flag for popup menus on KDE - popup menus aren't affected by JBR-4535,
as they use an active mouse pointer grab, and marking them as override-redirect will allow to display
them over the system task bar, as https://bugs.openjdk.org/browse/JDK-6580930 requires
2022-06-09 20:23:21 +03:00
Alexey Ushakov
5b49bd750a 8287600: AA Ovals not rendered under metal
Commit command buffer after MTL_OP_MASK_OP operation
2022-06-09 13:49:52 +02:00
Dmitry Batrak
6dc194e089 JBR-4552 Windows revert back after initial move/resize in Cygwin/X 2022-06-08 15:01:51 +03:00
Dmitry Batrak
1f9120c283 JBR-4546 Focus is not returned back to IDE after closing "Open" dialog 2022-06-07 19:14:41 +03:00
Manuel Unterhofer
0301983b6a FL-11598 Fix accidental reset of window configuration for custom decoration on macOS
This also aligns the handling of the style mask with how the other settings are applied: It uses a client property now. This property is now also applied directly on peer initialization so that there is no need to re-apply, and the window directly appears in the correct configuration.
2022-06-07 15:17:09 +02:00
Dmitry Batrak
73d3da2f28 JBR-4543 NPE: IdeEventQueue.lambda$getNextEvent$0 2022-06-06 16:49:08 +03:00
Nikita Provotorov
321a4a3f83 fixup! JBR-4394, IDEA-246833: refactoring and blocking the fix of JBR-1573 to recreate IMs and ICs during preediting. 2022-06-06 21:38:10 +10:00
Nikita Provotorov
8490a25a0f JBR-4394, IDEA-246833: refactoring and blocking the fix of JBR-1573 to recreate IMs and ICs during preediting.
(cherry picked from commit 7a36587db8d3d5a63c5691243cd5bf56733c06e6)
2022-06-05 06:55:50 +10:00
Nikita Provotorov
9fbb44cae7 JBR-4394, IDEA-246833: fixup of JBR-2444.
(cherry picked from commit ef262dc8bb)
2022-06-03 19:50:39 +07:00
Dmitry Batrak
d10e161b72 JBR-4537 Popup windows shown for a background window cause app icon to blink in taskbar on KDE 2022-06-03 16:41:01 +03:00
Dmitry Batrak
c9670beb62 JBR-4535 Popup windows disappear on mouse hover when 'Focus strictly under mouse' policy is used in KDE 2022-06-03 16:41:01 +03:00
Vladimir Kempik
a0f8c27bdf 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
Backport-of: f5d6fddc6d
2022-06-03 15:44:26 +03:00
Vitaly Provodin
c39e4a4fcd JBR-4272 fix misprint in linux-aarch64 2022-06-03 04:06:06 +07:00
Nikita Gubarkov
51993ea193 JBR API v0.0.6
JBR-4525 Add DRAGGABLE_AREA hitspot type for custom window decoration
2022-06-01 22:42:28 +03:00
Nikita Gubarkov
30885a997e JBR-4031 add null-check for tagsArray returned from CTFontCopyAvailableTables 2022-06-01 00:41:02 +03:00
Vitaly Provodin
929d5352c4 JBR-4520 set file permissions after signing 2022-05-31 18:48:17 +07:00
Alexey Ushakov
5332227582 JBR-4442 ClipFlatOval test hangs on M1 mac
Improved RenderPerfTest:
  - corrected and simplified test logic
  - added timeout on low performant rendering
  - used several markers to recover from missing frames
  - protected measurements from multiple paint invocations
2022-05-27 16:03:05 +02:00
Jaikiran Pai
4fb8ed7e15 8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 beta2
Reviewed-by: dfuchs, alanb
(cherry picked from commit 269eae6189)
2022-05-27 20:06:11 +07:00
Vitaly Provodin
b477e4bb20 JBR-4512 windows: include pdb-files into jbrsdk 2022-05-27 19:13:39 +07:00
Vitaly Provodin
91d6a17b71 JBR-4087 add version info into the name of root directory in JBR tar.gz-distributions 2022-05-27 19:11:59 +07:00
Alexey Ushakov
99653a7246 JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added exception.toString() to jbr_err_* log

(cherry picked from commit 478bd6cdd7)

Added java stack of the exception to jbr_err_* log

(cherry picked from commit e97f728e93)

Also return the static string "OutOfMemoryError" in case of that
exception has been thrown in order to avoid crashing while reporting an
exception in an out-of-memory situation.
2022-05-25 12:32:25 +03:00
Vitaly Provodin
2d4764e6a5 Update README.md
update the link to JBR for IDEA 2022.2
2022-05-24 11:04:08 +07:00
Vitaly Provodin
1a5d095ffc exclude jb/java/awt/Window/ZOrderOnModalDialogActivation.java from S2 runs on Windows and Linux 2022-05-24 04:58:43 +07:00
Vitaly Provodin
6e54137bec exclude several tests from runs on machines with enabled VoiceOver 2022-05-24 04:58:42 +07:00
Vitaly Provodin
9ae2d19d82 exclude javax/swing/plaf/nimbus/TestNimbusOverride.java on windows due to 8253184 2022-05-24 04:58:42 +07:00
Vitaly Provodin
5ed37e2ade exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on linux-aarch64 only due to 8266283 2022-05-24 04:58:42 +07:00
Vitaly Provodin
7f2f3dd782 JBR-4487 enable Linux 32 builds (fix misprint) 2022-05-24 04:55:38 +07:00
Vladimir Kempik
c0f008e54d JBR-4496: Revert-JBR-4291-JBR-4423-and-JBR-4309 2022-05-23 18:33:46 +03:00
Harshitha Onkar
83521a04b4 8255439: System Tray icons get corrupted when windows scaling changes
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: kcr, prr, aivanov
2022-05-23 14:23:05 +03:00
Naoto Sato
a1c716f556 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
Reviewed-by: rriggs
2022-05-23 13:02:05 +03:00
Vladislav Rassokhin
e5085c2252 JBR-4451 Make bash scripts safer 2022-05-21 06:20:13 +07:00
Vitaly Provodin
bf7b0d3d01 JBR-4487 enable Linux 32 builds 2022-05-20 17:52:53 +07:00
Vitaly Provodin
6dc33960aa JBR-4458 enable JBR17 windows 32 bit builds 2022-05-20 17:52:53 +07:00
VladimirKempik
afe1cbc136 JBR-4452: Update crash report message with JBR youtrack link instead of bugreport.java.com (#151) 2022-05-20 11:18:10 +03:00
Maxim Kartashev
17e5d307b3 JBR-4457 getOperatingSystemMXBean throws an NPE
Instead of picking the memory cgroup specifically for "anyController",
pick any controller that appeared to be the first in the map.
2022-05-20 11:06:23 +03:00
Sergey Bylokhov
a3f12a2a6f 8274939: Incorrect size of the pixel storage is used by the robot on macOS
Reviewed-by: aivanov, prr
2022-05-18 21:19:51 +02:00
Dmitry Batrak
f42feb1eab JBR-1740 Menu remains open when application loses focus
(cherry picked from commit f987d22cd2)
2022-05-17 17:28:58 +03:00
Maxim Kartashev
4f4f3c9e41 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.
2022-05-17 01:55:52 -07:00
Vitaly Provodin
d37946eef4 add _diz tarballs for linux-aarch64 to the expected set of artifacts 2022-05-17 10:39:37 +07:00
Vitaly Provodin
e3c584a7e3 exclude Frame/RestoreToOppositeScreen/RestoreToOppositeScreen.java from S2 runs due to 8286840 2022-05-17 05:17:48 +07:00
Zhengyu Gu
cd2dbaa88e JBR-4378 8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
Reviewed-by: prr, andrew
2022-05-16 07:28:38 -07:00
Zhengyu Gu
a076696bc6 JBR-4378 8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
Reviewed-by: prr, shade
2022-05-16 07:28:38 -07:00
Artem Bochkarev
8b2a1daac3 JBR-4473: fixed native part of SystemHotkeyReader 2022-05-16 17:16:05 +07:00
Nikita Gubarkov
56420d17c1 JBR-4364 Fixup macOS native file dialog 2022-05-16 12:33:54 +03:00
Nikita Gubarkov
4f69815a42 JBR-4364 Port macOS native file dialog patches
JBR-1752 Floating windows overlap modal dialogs
JBR-2005: don't set appearance of file chooser if OSX version < 10.14
2022-05-16 00:01:24 +03:00
Vitaly Provodin
9de73a31e8 JBR-4437 add sources to JBRSDK distributions for Windows and Linux 2022-05-14 05:04:41 +07:00
Andrey Turbanov
5509467613 8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11
Reviewed-by: jpai, bpb
(cherry picked from commit f9137cb7b7)
2022-05-14 05:04:41 +07:00
Artem Semenov
6321222001 JBR-4432 Context menu not opening for JTextComponent on mac 2022-05-13 12:02:17 +03:00
Nikita Gubarkov
a74ccad7f8 JBR-4364 Port macOS native file dialog patches
IDEA-146669 Enable Mac native file dialogs
IDEA-159507 Mac native dialogs: multiple open dialogs are possible
JBR-1784 File dialogs aren't themed on macOS
2022-05-12 20:43:34 +03:00
Nikita Gubarkov
6eb83f426c JBR-4460 Allow changing custom window decorations on Windows on the fly 2022-05-12 17:55:16 +03:00
Nikita Gubarkov
58f4edd277 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-12 17:52:48 +03:00
Nikita Gubarkov
9bbb5185f4 fixup! Handle cases when unsupported window type is passed to CustomWindowDecoration client-side fallback
Bump JBR API patch version
2022-05-12 13:25:15 +03:00
Nikita Gubarkov
b4cc3ca9b9 Handle cases when unsupported window type is passed to CustomWindowDecoration client-side fallback 2022-05-12 13:16:48 +03:00
Alexander Lobas
fb428d58b1 JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Alexander Lobas
5e3573d422 JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Alexander Lobas
39969abfad JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app 2022-05-12 11:03:53 +02:00
Dmitry Batrak
39c4654438 JBR-4463 Activating app-modal dialog brings all app windows to front
(cherry picked from commit 2b05925276)
2022-05-11 22:09:30 +03:00
Nikita Gubarkov
10479dccd9 JBR-4460 Fix window drag with custom decorations on macOS 2022-05-11 19:25:39 +03:00
Maxim Kartashev
9a81ca792e 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.
2022-05-11 17:04:14 +03:00
Nikita Provotorov
626ab933a9 JBR-4458: JBR17 Windows x86_32 build is broken.
Build-fix of the JBR-1430 fix.
2022-05-11 03:43:29 +07:00
Nikita Provotorov
6fb9661f26 JBR-4458: JBR17 Windows x86_32 build is broken.
Build-fix of the JBR-3997 fix.
2022-05-11 03:43:28 +07:00
Manuel Unterhofer
8b735d389b Merge fullscreen handlers for transparent title bar into existing ones 2022-05-09 14:39:14 +02:00
Manuel Unterhofer
e4c34ade82 FL-11420 Fix view hierarchy restoration for full-screen mode on macOS 2022-05-09 14:39:14 +02:00
Dmitry Batrak
11db651a21 JBR-1518 JBR 11 does not support chain of popups on Linux
(cherry picked from commit 849356ee01)
2022-05-04 17:10:46 +03:00
Maxim Kartashev
03f0ec3a28 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).
2022-05-04 15:11:03 +03:00
Vitaly Provodin
59005e679f JBR-4437 add sources to JBRSDK distributions 2022-05-03 08:45:33 +07:00
Ryan Osial
efd61f2f97 Cache results of font-config pattern search for reuse
(cherry picked from commit 432f637904)
(cherry picked from commit 17bc232f6f)
2022-04-29 19:37:01 +02:00
Maxim Kartashev
3bf2a3f32d 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:36:53 -07:00
Atrem Bochkarev
b193bdbf37 JBR-4093: fixed test hangs at finishing 2022-04-29 13:45:05 +03:00
Anton Kozlov
b9ae79bd62 8284920: Incorrect Token type causes XPath expression to return empty result
Reviewed-by: andrew
2022-04-29 05:43:46 +07:00
Christoph Langer
57c4e5009e 8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
Reviewed-by: andrew
2022-04-29 05:43:45 +07:00
Alexey Bakhtin
078c85a001 8278449: Improve keychain support
Reviewed-by: andrew
Backport-of: 2376bb88eff3ae6922c4cae276e1d703a520853d
2022-04-29 05:43:45 +07:00
Yuri Nesterenko
97dcc801c9 8270504: Better Xpath expression handling
Reviewed-by: andrew
Backport-of: b61a2ca626b1da5e555c50e548b643a2daa396c6
2022-04-29 05:43:44 +07:00
Yuri Nesterenko
e8f43ec415 8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
Backport-of: e6afb6ff81c9004aadaa6f694e643de9703dd32d
2022-04-29 05:43:44 +07:00
Yuri Nesterenko
1a0517f672 8278972: Improve URL supports
Backport-of: 94f1fbfd6d23f18ade3cc1b36f6dd368963c9d02
2022-04-29 05:43:43 +07:00
Martin Balao
57e955258d 8281388: Change wrapping of EncryptedPrivateKeyInfo
Reviewed-by: mbaesken
Backport-of: 405381ce9b44c8b122a06e590e4d8240fd9ba996
2022-04-29 05:43:43 +07:00
Andrew Brygin
1ec310320b 8278805: Enhance BMP image loading
Backport-of: 6319119be51e595be82f253b9f5e9495e72d4ad9
2022-04-29 05:43:42 +07:00
Martin Balao
db07db3824 8278798: Improve supported intrinsic
Reviewed-by: roland, mbaesken
Backport-of: 7ed3d37203da74f3f2cc92d06250f74aa5ceccd1
2022-04-29 05:43:36 +07:00
David Alvarez
dd0ad60a02 8274221: More definite BER encodings
Backport-of: ee39b0fc22a55a051b8a4d5754c34105fe4b734e
2022-04-29 05:43:36 +07:00
Sergey Bylokhov
24ee64a3c3 8272255: Completely handle MIDI files
Reviewed-by: mbaesken
Backport-of: 6efdd1870e7ddb77a04d8c8183ced385039d0913
2022-04-29 05:43:36 +07:00
Martin Balao
4f01131d8b 8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
Reviewed-by: mbaesken
Backport-of: d48181536fa9b99f01fc80f8adb73777ec6ffa58
2022-04-29 05:43:36 +07:00
Martin Balao
eca38c63b7 8278356: Improve file creation
Backport-of: 3c75bf069973c1d05b94cb42edf6eb62820b1ef5
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
a3cab9ff52 8277672: Better invocation handler handling
Reviewed-by: mbaesken
Backport-of: 0691804665559f1935b7361d5f1207ac46f823f0
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
eb6c770ce8 8277233: Improve ECDSA signature support
Reviewed-by: mbaesken
Backport-of: 34714d63f1be267c2bc2ae7a55f936deab8ea6d2
2022-04-29 05:43:35 +07:00
Aleksei Voitylov
6c509ba751 8277227: Better identification of OIDs
Reviewed-by: mbaesken
Backport-of: 3ac5f0175356fad40b59f879322fa7d89dfbcaab
2022-04-29 05:43:34 +07:00
Aleksei Voitylov
8cd33ef9e3 8275151: Improved Object Identification
Reviewed-by: mbaesken
Backport-of: 4cffe1cc913f895f54281de8e91ca39f4bde4b5f
2022-04-29 05:43:34 +07:00
Martin Balao
d2f5d0d55b 8272594: Better record of recordings
Reviewed-by: evergizova
Backport-of: 44d9bf6d4afac7b17273b0de1189f3487c1a22f7
2022-04-29 05:43:34 +07:00
Martin Balao
811607b4df 8272588: Enhanced recording parsing
Reviewed-by: mbaesken
Backport-of: 036e1b836ee6854f9996be2e8f04773227e60901
2022-04-29 05:43:33 +07:00
Oli Gillespie
48789ca2cd 8272261: Improve JFR recording file processing
Reviewed-by: mbaesken
Backport-of: 71dc970b928a6b3ccc4973f56765a4ff7c43860d
2022-04-29 05:43:33 +07:00
Martin Balao
6e62b56d09 8269938: Enhance XML processing passes redux
Reviewed-by: mbaesken
Backport-of: ff4e11b1a83d6910e39f1d46bea154f0876f39da
2022-04-29 05:43:33 +07:00
Goetz Lindenmaier
cf54d8c618 8282761: XPathFactoryImpl remove setProperty and getProperty methods
Reviewed-by: clanger, yan
2022-04-29 05:43:32 +07:00
Goetz Lindenmaier
e1f7c4214f 8277795: ldap connection timeout not honoured under contention
Backport-of: 3d926dd66e
2022-04-29 05:43:32 +07:00
Goetz Lindenmaier
b5054ca0ca 8276141: XPathFactory set/getProperty method
Reviewed-by: mbaesken, phh
Backport-of: b226ab99c8
2022-04-29 05:43:26 +07:00
Alexey Pavlyutkin
53463b2c26 8274471: Add support for RSASSA-PSS in OCSP Response
Reviewed-by: mdoerr, goetz
Backport-of: f63c4a832a
2022-04-29 05:43:26 +07:00
Ichiroh Takiguchi
47e1841109 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
Backport-of: c5c6058fd5
2022-04-29 05:43:25 +07:00
Zdenek Zambersky
c8654d24ba 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Backport-of: 4c52eb3943
2022-04-29 05:43:25 +07:00
Matthias Baesken
766f8a634b 8276841: Add support for Visual Studio 2022
Backport-of: f65db88b74
2022-04-29 05:43:24 +07:00
Goetz Lindenmaier
535f0320ef 8272866: java.util.random package summary contains incorrect mixing function in table
Backport-of: e66c8afb59
2022-04-29 05:43:24 +07:00
Mat Carter
1356468ccd 8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
Backport-of: 4c169495a2
2022-04-29 05:43:23 +07:00
Toshio Nakamura
6b023bd72b 8278185: Custom JRE cannot find non-ASCII named module inside
Backport-of: fcd67a5242
2022-04-29 05:43:16 +07:00
Thomas Stuefe
a0ed8eb08c 8281460: Let ObjectMonitor have its own NMT category
Backport-of: a037b3c358
2022-04-29 05:43:16 +07:00
Andrew Leonard
d5b5130b62 8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
Reviewed-by: sgehwolf
Backport-of: 45da3aea22
2022-04-29 05:43:16 +07:00
Thomas Stuefe
2523e70ff6 8277383: VM.metaspace optionally show chunk freelist details
Backport-of: 35361270cb
2022-04-29 05:43:15 +07:00
Thomas Stuefe
53d6420947 8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
Backport-of: 66c653c561
2022-04-29 05:43:15 +07:00
Matthias Baesken
c268107085 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Backport-of: d3749de478
2022-04-29 05:43:14 +07:00
Jonathan Dowland
a8f138e96d 8270117: Broken jtreg link in "Building the JDK" page
Backport-of: 41a5eb4372
2022-04-29 05:43:14 +07:00
Jonathan Dowland
68dc172fb6 8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
Reviewed-by: mdoerr
Backport-of: 86d0abb66b
2022-04-29 05:43:07 +07:00
Andrew Leonard
a22d6706fa 8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
Backport-of: dc2abc9f05
2022-04-29 05:43:07 +07:00
Alexey Bakhtin
486152a73d 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Backport-of: 58dae60da0
2022-04-29 05:43:06 +07:00
Matthias Baesken
0e640760fa 8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
Backport-of: fd8cb2dae8
2022-04-29 05:43:06 +07:00
Matthias Baesken
014ea3f95a 8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
Backport-of: bb74ae87ab
2022-04-29 05:43:05 +07:00
Goetz Lindenmaier
e613fa1334 8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
Backport-of: 3d7671b65e
2022-04-29 05:43:05 +07:00
Matthias Baesken
de2384fdb9 8273655: content-types.properties files are missing some common types
Backport-of: 65ed0a742e
2022-04-29 05:43:05 +07:00
Matthias Baesken
bc88d6fa82 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Backport-of: 01f93ddf18
2022-04-29 05:43:04 +07:00
Matthias Baesken
51472cf71a 8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
Backport-of: c180070cb5
2022-04-29 05:43:04 +07:00
Andrew John Hughes
8de2f8cd71 8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
Backport-of: d1aeca117c
2022-04-29 05:43:04 +07:00
Goetz Lindenmaier
308e18cbbb 8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
Backport-of: 35172cdaf3
2022-04-29 05:42:58 +07:00
Goetz Lindenmaier
086e158c78 8272600: (test) Use native "sleep" in Basic.java
Backport-of: 0a361638c5
2022-04-29 05:42:57 +07:00
Alexey Bakhtin
c0fcd34c81 8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
Backport-of: f6232982b9
2022-04-29 05:42:57 +07:00
Ana Marsh
52c72750b3 8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
Backport-of: 94127f43a4
2022-04-29 05:42:56 +07:00
Martin Doerr
9753c60d48 8281061: [s390] JFR runs into assertions while validating interpreter frames
Backport-of: 7f19c70070
2022-04-29 05:42:56 +07:00
Goetz Lindenmaier
36b8e66074 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
Backport-of: f1c20e91d8
2022-04-29 05:42:56 +07:00
Goetz Lindenmaier
df46e70a3a 8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
Backport-of: 13265f9901
2022-04-29 05:42:55 +07:00
Matthias Baesken
302f1a32a5 8273387: remove some unreferenced gtk-related functions
Backport-of: 6eba443428
2022-04-29 05:42:55 +07:00
Bernhard Urban-Forster
2f2df3dce8 8279702: [macosx] ignore xcodebuild warnings on M1
Backport-of: 4b520f0001
2022-04-29 05:42:55 +07:00
Dmitry Chuyko
df9e6e5bcc 8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
Backport-of: d93b238f97
2022-04-29 05:42:54 +07:00
Goetz Lindenmaier
afb43747b4 8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
Backport-of: b15e6f076a
2022-04-29 05:42:53 +07:00
Goetz Lindenmaier
001ec50992 8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
Backport-of: 47564caeb0
2022-04-29 05:42:43 +07:00
Goetz Lindenmaier
25c02411ed 8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
Backport-of: 54481394a3
2022-04-29 05:42:36 +07:00
Goetz Lindenmaier
c916005092 8275847: Scheduling fails with "too many D-U pinch points" on small method
Backport-of: 3934fe54b4
2022-04-29 05:42:36 +07:00
Goetz Lindenmaier
228e8c5d3d 8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
Reviewed-by: stuefe
Backport-of: e5cd2692da
2022-04-29 05:42:35 +07:00
Goetz Lindenmaier
989c96f284 8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
Backport-of: 2448b3f5f9
2022-04-29 05:42:35 +07:00
Goetz Lindenmaier
0c879b3d93 8271506: Add ResourceHashtable support for deleting selected entries
Reviewed-by: stuefe
Backport-of: f15d6cbcaf
2022-04-29 05:42:34 +07:00
Paul Hohensee
ad66624c0b 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Backport-of: 4f594e6a28
2022-04-29 05:42:34 +07:00
Xin Liu
cdac6f2bcb 8279124: VM does not handle SIGQUIT during initialization
Backport-of: 9bf6ffa19f
2022-04-29 05:42:34 +07:00
Artem Semenov
c87d359b32 8277497: Last column cell in the JTable row is read as empty cell
Reviewed-by: ant, kizune
Backport-of: 70bad89b01
2022-04-29 05:42:33 +07:00
Artem Semenov
a05696e047 8278604: SwingSet2 table demo does not have accessible description set for images
8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column

Reviewed-by: ant, kizune
Backport-of: 8fbe1724e0
2022-04-29 05:42:33 +07:00
Goetz Lindenmaier
0d5c48f570 8275645: [JVMCI] avoid unaligned volatile reads on AArch64
Backport-of: 4dec8fc4cc
2022-04-29 05:42:33 +07:00
Matthias Baesken
eddefa3c18 8280414: Memory leak in DefaultProxySelector
Backport-of: fe77250fa4
2022-04-29 05:42:32 +07:00
Goetz Lindenmaier
05cf38eb5a 8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
Backport-of: c80a612709
2022-04-29 05:42:26 +07:00
Goetz Lindenmaier
d788f72b30 8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
Backport-of: 8785737ba5
2022-04-29 05:42:26 +07:00
Martin Doerr
7137933ae2 8280155: [PPC64, s390] frame size checks are not yet correct
Backport-of: f37bfeadcf
2022-04-29 05:42:26 +07:00
Martin Doerr
30d10347c8 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Backport-of: c809d34f9e
2022-04-29 05:42:25 +07:00
Aleksey Shipilev
31dd91ce87 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Backport-of: a24f44d17d
2022-04-29 05:42:25 +07:00
Aleksey Shipilev
b44a3f99a4 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Backport-of: 9d5ae2e380
2022-04-29 05:42:24 +07:00
Aleksey Shipilev
258ee0952a 8279445: Update JMH devkit to 1.34
Backport-of: 0f98efbf2f
2022-04-29 05:42:24 +07:00
Thomas Stuefe
c98d88d182 8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
8274935: dumptime_table has stale entry

Reviewed-by: goetz, phh
Backport-of: 110e38ded8
2022-04-29 05:42:24 +07:00
Dmitry Chuyko
834d9b833e 8251216: Implement MD5 intrinsics on AArch64
Reviewed-by: phh, luhenry
Backport-of: 088b244ec6
2022-04-29 05:42:23 +07:00
Evgeny Astigeevich
8ebfbb7820 8278241: Implement JVM SpinPause on linux-aarch64
Backport-of: bcb79fd012
2022-04-29 05:42:23 +07:00
Thomas Stuefe
707d793a6c 8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
Backport-of: d6d82f52d4
2022-04-29 05:42:22 +07:00
Aleksey Shipilev
ac1b1bc923 8276057: Update JMH devkit to 1.33
Backport-of: a2f2d8fcf5
2022-04-29 05:42:22 +07:00
Matthias Baesken
80735e7ebd 8275082: Update XML Security for Java to 2.3.0
Backport-of: 2c31a1735d
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
56514c6b5a 8177814: jdk/editpad is not in jdk TEST.groups
Backport-of: cfe7471f17
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
4de21bcbd0 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
2022-04-29 05:42:16 +07:00
Goetz Lindenmaier
f011ce4ef4 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
2022-04-29 05:42:15 +07:00
Goetz Lindenmaier
f87cf6e410 8272553: several hotspot runtime/CommandLine tests don't check exit code
Backport-of: 709b5910c3
2022-04-29 05:42:15 +07:00
Aleksey Shipilev
2ab6f9613e 8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
Backport-of: f0136ec945
2022-04-29 05:42:15 +07:00
Matthias Baesken
07a6d64186 8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
Backport-of: 8b5ff4bdff
2022-04-29 05:42:14 +07:00
Sergey Bylokhov
bb2c382cdc 8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
Backport-of: e49e5b5a7e
2022-04-29 05:42:14 +07:00
Aleksey Shipilev
bd83a74dea 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
2022-04-29 05:42:14 +07:00
Aleksey Shipilev
4a88de7f21 8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
Backport-of: aec1b039b3
2022-04-29 05:42:13 +07:00
Aleksey Shipilev
2c82c24a0a 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
2022-04-29 05:42:13 +07:00
Evgeny Astigeevich
8924a0f904 8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
Reviewed-by: phh
Backport-of: 7b2d823e84
2022-04-29 05:42:12 +07:00
Evgeny Astigeevich
34c70e32d6 8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
Backport-of: 38345bd28d
2022-04-29 05:42:11 +07:00
Goetz Lindenmaier
4795538fb9 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
2022-04-29 05:42:02 +07:00
Goetz Lindenmaier
776ec05e5e 8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
Backport-of: 3fc761d97d
2022-04-29 05:41:55 +07:00
Evgeny Astigeevich
c148505468 8186670: Implement _onSpinWait() intrinsic for AArch64
Backport-of: 6954b98f8f
2022-04-29 05:41:55 +07:00
Aleksey Shipilev
5502ec8e97 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Backport-of: 4d9b3f4cee
2022-04-29 05:41:54 +07:00
Thomas Stuefe
282cb0aed3 8280002: jmap -histo may leak stream
Backport-of: c359c358c8
2022-04-29 05:41:54 +07:00
Goetz Lindenmaier
f094c9d55d 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Backport-of: c3d0a94040
2022-04-29 05:41:54 +07:00
Goetz Lindenmaier
259fa9e71b 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
2022-04-29 05:41:53 +07:00
Goetz Lindenmaier
19d2bb1980 8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
Backport-of: 1ffdc52cf0
2022-04-29 05:41:53 +07:00
Goetz Lindenmaier
0730ec9972 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
2022-04-29 05:41:52 +07:00
Goetz Lindenmaier
6cd7098d2a 8263567: gtests don't terminate the VM safely
Backport-of: 843943c204
2022-04-29 05:41:52 +07:00
Goetz Lindenmaier
3cd2abf9c6 8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
Backport-of: 2c29d790ca
2022-04-29 05:41:51 +07:00
Thomas Stuefe
360de18e79 8278309: [windows] use of uninitialized OSThread::_state
Backport-of: 54993b1307
2022-04-29 05:41:47 +07:00
Matthias Baesken
5465df52b6 8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
Backport-of: 94e31e5ca5
2022-04-29 05:41:40 +07:00
Johannes Bechberger
71869e54d6 8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
Reviewed-by: goetz
Backport-of: 92d2176362
2022-04-29 05:41:30 +07:00
Johannes Bechberger
bfca0b1a22 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
Backport-of: febcc72a54
2022-04-29 05:41:29 +07:00
Martin Doerr
b5ba120da4 8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
Backport-of: a5f2a58ba4
2022-04-29 05:41:29 +07:00
Matthias Baesken
b02f0c9df3 8273526: Extend the OSContainer API pids controller with pids.current
Backport-of: d4546b6b36
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
c17cfd417e 8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Backport-of: b7245c6164
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
dbf12435bf 8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
Backport-of: 595446bff4
2022-04-29 05:41:28 +07:00
Goetz Lindenmaier
52a56ace28 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Backport-of: 6f0e8da6d3
2022-04-29 05:41:27 +07:00
Aleksey Shipilev
f1efa59e9e 8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
Backport-of: bc12381105
2022-04-29 05:41:26 +07:00
Liam Miller-Cushon
d91d113e44 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
2022-04-29 05:41:24 +07:00
Sergey Nazarkin
fa7bbcef4f 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Backport-of: 6613ce64d7
2022-04-29 05:41:14 +07:00
Zhengyu Gu
f65f5ae101 8273682: Upgrade Jline to 3.20.0
Backport-of: b8cb76ad21
2022-04-29 05:41:13 +07:00
Goetz Lindenmaier
fb4a51d3cf 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
2022-04-29 05:41:13 +07:00
Goetz Lindenmaier
39baf821da 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Backport-of: 32139c1a8a
2022-04-29 05:41:12 +07:00
Goetz Lindenmaier
0e480cea7c 8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
Backport-of: 34ba70a71b
2022-04-29 05:41:12 +07:00
Goetz Lindenmaier
400ad87f54 8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
Backport-of: 4f42eb6601
2022-04-29 05:41:11 +07:00
Aleksey Shipilev
b163257c80 8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
Reviewed-by: clanger
Backport-of: b2638e5efd
2022-04-29 05:41:11 +07:00
Matthias Baesken
f07c536579 8272398: Update DockerTestUtils.buildJdkDockerImage()
Backport-of: ec63957f9d
2022-04-29 05:41:11 +07:00
Zhengyu Gu
553cb9b215 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Backport-of: 769f14db84
2022-04-29 05:41:09 +07:00
Aleksey Shipilev
1445c219f0 8278020: ~13% variation in Renaissance-Scrabble
Backport-of: 4ba980ba43
2022-04-29 05:41:09 +07:00
Aleksey Shipilev
53db7729d3 8279225: [arm32] C1 longs comparison operation destroys argument registers
Backport-of: 299022dfac
2022-04-29 05:41:08 +07:00
Matthias Baesken
55cb19a3ba 8266490: Extend the OSContainer API to support the pids controller of cgroups
Backport-of: 089e83bf1b
2022-04-29 05:41:08 +07:00
Aleksey Shipilev
d7d86ca1f2 8279379: GHA: Print tests that are in error
Backport-of: 06f3713271
2022-04-29 05:41:07 +07:00
Jaroslav Bachorik
d011ed5755 8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
Backport-of: 713fbeb050
2022-04-29 05:41:07 +07:00
Zhengyu Gu
66e2207548 8278627: Shenandoah: TestHeapDump test failed
Reviewed-by: shade
Backport-of: 1128674d7f
2022-04-29 05:41:07 +07:00
William Kemper
53622682d6 8278824: Uneven work distribution when scanning heap roots in G1
Reviewed-by: phh
Backport-of: b4b0328d62
2022-04-29 05:41:06 +07:00
Goetz Lindenmaier
df5e1000f6 8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
Backport-of: 2be3e7ef1c
2022-04-29 05:41:06 +07:00
Jaroslav Bachorik
b45abc7e82 8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
Backport-of: 475ec8e6c5
2022-04-29 05:41:06 +07:00
Zhengyu Gu
1b2238e50d 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
Backport-of: 09e8c8c64a
2022-04-29 05:41:05 +07:00
Guoxiong Li
1ecff37be4 8278104: C1 should support the compiler directive 'BreakAtExecute'
Backport-of: 3c10b5db38
2022-04-29 05:41:00 +07:00
Goetz Lindenmaier
0e4879c8d0 8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
Backport-of: bb4500d0d2
2022-04-29 05:41:00 +07:00
Goetz Lindenmaier
c9970aca0a 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
fc3aaf015e 8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
Backport-of: 0d938cedca
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
e51e21080e 8275800: Redefinition leaks MethodData::_extra_data_lock
Backport-of: 40606021ee
2022-04-29 05:40:59 +07:00
Goetz Lindenmaier
50cb9ebe93 8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
Backport-of: 67e52a3078
2022-04-29 05:40:58 +07:00
Goetz Lindenmaier
6089b1ede8 8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
Backport-of: b7425b63f6
2022-04-29 05:40:58 +07:00
Goetz Lindenmaier
e7df97037c 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
2f67420af3 8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
Reviewed-by: kvn
Backport-of: 756d22c356
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
8515081977 8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
Backport-of: 467f654916
2022-04-29 05:40:57 +07:00
Aleksey Shipilev
d1778fa02b 8276662: Scalability bottleneck in SymbolTable::lookup_common()
Backport-of: 1d7cef33c5
2022-04-29 05:40:56 +07:00
Goetz Lindenmaier
1d4ed37016 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
Backport-of: 97d3280eb4
2022-04-29 05:40:56 +07:00
Goetz Lindenmaier
66abf9fbbc 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
Backport-of: a561eac912
2022-04-29 05:40:56 +07:00
Sergey Bylokhov
41d675ae86 8272167: AbsPathsInImage.java should skip *.dSYM directories
Backport-of: dd93c6e27b
2022-04-29 05:40:55 +07:00
Sergey Bylokhov
5fb74f4969 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Backport-of: 03473b4c27
2022-04-29 05:39:30 +07:00
Goetz Lindenmaier
a8c3a64c7d 8275610: C2: Object field load floats above its null check resulting in a segfault
Backport-of: 7c6f57fcb1
2022-04-29 05:39:29 +07:00
Goetz Lindenmaier
69630a187f 8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
Backport-of: 669c90e23b
2022-04-29 05:39:28 +07:00
Goetz Lindenmaier
7c7f86c1e5 8276623: JDK-8275650 accidentally pushed "out" file
Backport-of: c62b3476ce
2022-04-29 05:39:24 +07:00
Matthias Baesken
6dc11924e5 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
2022-04-29 05:39:23 +07:00
Goetz Lindenmaier
52b99a8043 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
2022-04-29 05:39:23 +07:00
Goetz Lindenmaier
b79d4a689e 8274714: Incorrect verifier protected access error message
Backport-of: e39bdc9ddb
2022-04-29 05:39:22 +07:00
Goetz Lindenmaier
1861711838 8274658: ISO 4217 Amendment 170 Update
Backport-of: f2404d60de
2022-04-29 05:39:22 +07:00
Bernhard Urban-Forster
4a71ec04a7 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
2022-04-29 05:39:22 +07:00
Jie Fu
565b969238 8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
Backport-of: 349328c929
2022-04-29 05:39:21 +07:00
Vladimir Kozlov
57fb014ec6 8276314: [JVMCI] check alignment of call displacement during code installation
Backport-of: 2f4b5405f0
2022-04-29 05:39:21 +07:00
Zhengyu Gu
7f5240ae26 8265150: AsyncGetCallTrace crashes on ResourceMark
Backport-of: 267c024eb5
2022-04-29 05:39:21 +07:00
Zhengyu Gu
814fc632c3 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
Reviewed-by: goetz
Backport-of: a907b2b144
2022-04-29 05:39:20 +07:00
Goetz Lindenmaier
abf8fc0352 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
Backport-of: 32895ac609
2022-04-29 05:39:20 +07:00
Goetz Lindenmaier
6a6ba4290d 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: acceffcbf7
2022-04-29 05:39:20 +07:00
Aleksey Shipilev
73c208a706 8273162: AbstractSplittableWithBrineGenerator does not create a random salt
Backport-of: 5e1df2c7d7
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
ecee063ff5 8273351: bad tag in jdk.random module-info.java
Backport-of: d4177a98c1
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
9632d98d90 8247980: Exclusive execution of java/util/stream tests slows down tier1
Backport-of: 544193a3bb
2022-04-29 05:39:19 +07:00
Aleksey Shipilev
699a74e849 8272327: Shenandoah: Avoid enqueuing duplicate string candidates
Backport-of: ee8bf10d32
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
7bdb37587e 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
Backport-of: 0fbd2713f1
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
1d33e5cb56 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
Backport-of: bef5c7a286
2022-04-29 05:39:18 +07:00
Aleksey Shipilev
0673b647b0 8277992: Add fast jdk_svc subtests to jdk:tier3
Backport-of: 30f0c64753
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
082345b52f 8278016: Add compiler tests to tier{2,3}
Backport-of: f180a4591f
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
b63207415f 8277385: Zero: Enable CompactStrings support
Backport-of: 3f847fe89a
2022-04-29 05:39:17 +07:00
Aleksey Shipilev
a6afe30ec7 8275586: Zero: Simplify interpreter initialization
Backport-of: 3613ce7c7d
2022-04-29 05:39:16 +07:00
Vladimir Kempik
281b7e0377 8269175: [macosx-aarch64] wrong CPU speed in hs_err file
Backport-of: bcbe3845d9
2022-04-29 05:39:16 +07:00
Goetz Lindenmaier
2476c5b3bf 8278822: Bump update version for OpenJDK: jdk-17.0.3
Reviewed-by: clanger
2022-04-29 05:39:16 +07:00
Vitaly Provodin
e9fa8fde16 JBR-4370 create a test checking all JBR artifacts exist - add exit code 2022-04-27 14:59:49 +07:00
Vladimir Kempik
627b9cfb0c JBR-4423: Remove excessive warnings after JBR-4291 2022-04-26 19:42:24 +03:00
Vitaly Provodin
fd4bc7dfcd JBR-4370 create a test checking all JBR artifacts exist 2022-04-26 11:31:02 +07:00
Anton Tarasov
dc88d4e63f JBR-3906 JBR for Linux aarch64 with JCEF is missing, is there any support plan? 2022-04-23 17:08:26 +07:00
Atrem Bochkarev
67d6fd157a JBR-4094: fixed MouseEventAfterHideAndShowBrowserTest 2022-04-23 04:35:03 +03:00
Vitaly Provodin
56d463d29a Revert "JBR-4325 Implement creating an event to call NSAccessibilityShowMenuAction"
This reverts commit f6cf71ce68.
2022-04-22 18:28:22 +07:00
Phil Race
aa625213b5 8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
Reviewed-by: serb, azvegint, aivanov
2022-04-22 00:07:32 +02:00
Alexey Ushakov
1538f1e6ad Revert "JBR-1380: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java works incorrectly"
This reverts commit b7449a593a.
2022-04-22 00:02:31 +02:00
Alexey Ushakov
47017e1e14 Revert "JBR-1388 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java fails on macOS Mojave"
This reverts commit 603f214e2c.
2022-04-22 00:02:00 +02:00
Roger Riggs
decffd42a5 JBR-3483 8282008: Incorrect handling of quoted arguments in ProcessBuilder
Reviewed-by: bchristi
2022-04-21 16:24:43 +03:00
Anton Tarasov
f189c552a6 JBR-4355 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java: # C [libobjc.A.dylib+0x90ff] objc_release+0x1f
(cherry picked from commit c0b2b59d4a)
2022-04-21 13:42:12 +03:00
Anton Tarasov
c20bd5a658 JBR-4389 [update_1] IDEA UI font becomes too large after disconnecting the external monitor / sleep 2022-04-21 11:53:22 +03:00
Anton Tarasov
e900d17295 JBR-4389 IDEA UI font becomes too large after disconnecting the external monitor / sleep 2022-04-21 11:32:24 +03:00
Dmitry Batrak
35f18de090 remove duplicate bundled JetBrains Mono bold italic font
following JBR-4402

(cherry picked from commit b7e5d3cfcf)
2022-04-20 21:50:44 +03:00
Dmitry Batrak
47d473b1a1 JBR-4402 The wrong text is rendered in editor 2022-04-20 21:07:42 +03:00
Maxim Kartashev
70dde74a8f JBR-4062 Undo parts of JBR-4145 that have become obsolete by upstream changes. 2022-04-20 16:23:43 +03:00
Andrew Leonard
5745455f66 JBR-4062 8284661: Reproducible assembly builds without relative linking
Reviewed-by: ihse
2022-04-20 15:04:01 +03:00
Zhengyu Gu
a9ce9c763b JBR-4378 8284093: Memory leak: X11SD_DisposeXImage should also free obdata
Reviewed-by: prr, andrew
2022-04-20 01:58:38 -07:00
Andrew Leonard
c5507f0d9a JBR-4062 8284539: Configure --with-source-date=version fails on MacOS
Reviewed-by: erikj, ihse
2022-04-20 11:25:49 +03:00
Magnus Ihse Bursie
8670e275a1 JBR-4062 8282769: BSD date cannot handle all ISO 8601 formats
Reviewed-by: erikj
2022-04-20 11:25:22 +03:00
Martin Doerr
2fc34e9f04 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Backport-of: fcce24c5b3

(cherry picked from commit cdf144edba)
2022-04-20 00:35:15 +03:00
Dmitry Batrak
fae9ac43a5 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 22:10:45 +03:00
Konstantin Bulenkov
68db465ae1 Added support for otf into the build scripts. Updated prebuild maps. 2022-04-19 15:54:03 +02:00
Vitaly Provodin
0aa9b4f7de JBR-4297 add a regression test
(cherry picked from commit 8e94fff6aa)
2022-04-18 07:25:55 +07:00
Vitaly Provodin
d40250ddf5 Merge pull request #132
JBR-4392 - use only loaded classes when collecting affected classes
2022-04-17 03:42:41 +07:00
Vladimir Dvorak
63b1c11712 JBR-4386 - disable AllowEnhancedClassRedefinition in jfr 2022-04-17 03:39:37 +07:00
Vladimir Dvorak
1eab1527d5 JBR-4392 - use only loaded classes when collecting affected classes 2022-04-16 12:30:27 +02:00
Vitaly Provodin
9b5ebaaa5a exclude java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java due to 8280392 2022-04-16 05:55:55 +07:00
Konstantin Bulenkov
a37db66560 Update JetBrains Mono font to 2.225 2022-04-15 22:32:25 +02:00
Dmitry Batrak
39dd2f608c JBR-4382 [i3] All dialogs are tiled
(cherry picked from commit 800220af16)
2022-04-15 22:27:51 +03:00
Konstantin Bulenkov
890efa0ea8 bundle Inter font 2022-04-14 19:04:47 +02:00
Anton Tarasov
7efb0075bc JBR-4362 [mac] system menu opens with duplicated items
(cherry picked from commit e32defe49d)
2022-04-12 15:50:50 +03:00
Alexey Ushakov
413ff95d63 Removed comma from tag parsing result 2022-04-11 19:41:28 +02:00
Alexey Ushakov
bfa7a36237 JBR-4363 Changes in fonts rendering between JBR11 and JBR17
Resolved merge artifact after applying IDEA-57233 fix
2022-04-11 19:34:30 +02:00
Andrew Leonard
138596467d JBR-4062 8284437: Building from different users/workspace is not always deterministic
Reviewed-by: erikj
(cherry picked from commit 4451257b14)
2022-04-08 10:41:39 +03:00
Dmitry Batrak
f7a0716ccd JBR-4346 [Xfce] Windows are moved unexpectedly between workspaces when modal dialog is shown
(cherry picked from commit ad299f1e74)
2022-04-06 22:41:56 +03:00
Zhengyu Gu
bdb9d3f12f JBR-4360 284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
Reviewed-by: prr, serb
2022-04-06 16:07:42 +03:00
Maxim Kartashev
1e8d2c0873 JBR-4357 8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
Reviewed-by: serb, prr
2022-04-04 23:03:35 -07:00
Vladimir Dvorak
360f8f332c Remove version-numbers left over from the merge of dcevm17 2022-04-05 04:38:32 +07:00
Vladimir Dvorak
13512decff JBR-4352 - fix AARCH64 compilation issues
- use correct INCLUDE_JFR condition for jfr code
- exclude jvmtiEnhancedRedefineClasses.cpp if INCLUDE_JVMTI=0
2022-04-02 16:33:54 +01:00
Vitaly Provodin
28ebc0c2e0 excludejava/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java on windows
and java/io/File/createTempFile/SpecialTempFile.java on windows11
2022-04-02 06:29:47 +07:00
Anton Tarasov
9a35ca0b25 JBR-4349 jb/java/awt/Toolkit/LWCToolkitInvokeAndWaitTest.java: Test FAILED! (not found in the log: “lost”) 2022-04-01 21:34:03 +03:00
Anton Tarasov
e424a5bf19 JBR-4347 jb/java/awt/Toolkit/AWTThreadingCMenuTest.java fails by ClassNotFoundException 2022-04-01 21:32:14 +03:00
Alexey Ushakov
ca4d838caf 8273355: Flickering on tooltip appearance IntelliJ IDEA 2021.2.1
Reviewed-by: serb, aghaisas
2022-03-30 20:42:06 +02:00
Alexey Ushakov
6ed5106466 Revert "JBR-3727 JBR17-Metal: Flickering on tooltip appearance"
This reverts commit eaa9c1618e.
2022-03-30 20:27:45 +02:00
Dmitry Batrak
098a50d91a JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
re-fix JBR-4306 in a different way

(cherry picked from commit 3b5ded0d02)
2022-03-30 12:16:24 +03:00
Dmitry Batrak
050990303b JBR-4334 java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
revert original fix for JBR-4306

(cherry picked from commit 0f33031484)
2022-03-30 12:16:24 +03:00
Anton Tarasov
9f9416a12e JBR-4328 remove LWCToolkit.unsafeNonblockingExecute
(cherry picked from commit 9a3f31a6c4)
2022-03-28 22:00:59 +03:00
Anton Tarasov
b6cb489fee JBR-4134 PyCharm is slow and unusable on MacBook Pro with M1
(cherry picked from commit 36190505f5)
2022-03-28 22:00:52 +03:00
Anton Tarasov
446535b706 JBR-4284 Sub items of main menu options are not displayed
A regression of JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss

(cherry picked from commit c464e4748e)
2022-03-28 21:59:41 +03:00
Anton Tarasov
c18934bb98 JBR-4119 UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles
(cherry picked from commit 6ba79774d8)
2022-03-28 21:59:36 +03:00
Anton Tarasov
e8a6e8bd6e JBR-4106 PyCharm hangs with 100% CPU usage on one core 2022-03-28 21:59:28 +03:00
Mikhail Grishchenko
4a7241931f JBR-3975 print Teamcity messages 2022-03-26 05:32:40 +07:00
Mikhail Grishchenko
b45b8c9913 JBR-3975 add processing of "." java version separator 2022-03-24 08:55:51 +07:00
Artem Semenov
f6cf71ce68 JBR-4325 Implement creating an event to call NSAccessibilityShowMenuAction 2022-03-23 21:29:36 +03:00
Dmitry Batrak
803039d6db JBR-4306 Robot doesn't work as expected in some cases on macOS
(cherry picked from commit 7d69734465)
2022-03-23 12:53:42 +03:00
Vladimir Dvorak
436223316f JBR-4312 - fix crash call ResolvedMethodTable from ServiceThread
adjust_metod_entries_dcevm incorrectly changed the hashes of resolved
method oops stored in ResolvedMethodTable. Now all oops of old methods
are first removed, then updated and then added to table again
2022-03-23 11:08:36 +07:00
Dmitry Batrak
9a0ab296fe 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.

(cherry picked from commit 9040fd56cd)
2022-03-21 21:30:12 +03:00
Artem Semenov
bf4a191246 JBR-4318 On MacOS, some context menu items are not voiced 2022-03-21 15:40:18 +03:00
Andrew Leonard
cdfff8f6ac JBR-4062 8283315: jrt-fs.jar not always deterministically built
Reviewed-by: ihse
2022-03-21 14:03:00 +03:00
Alexey Ushakov
6d6de1034a JBR-3827 SIGILL at [libsystem_kernel] __kill in Java Exception at -[CDragSource convertData:]
Added check for drag source
2022-03-18 18:36:10 +01:00
Vitaly Provodin
2333999906 JBR-4303 add a regression test
(cherry picked from commit bc7cb5711b)
2022-03-18 09:50:29 +07:00
Alexey Ushakov
6ffcd2bf91 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 18:09:49 +01:00
Artem Semenov
822b4a8c49 JBR-4235 Context menu not readable after opening on Mac OS 2022-03-17 16:34:39 +03:00
Dmitry Batrak
debc6336c0 JBR-4314 2022.1 EAP version's JBR use incorrect fallback font to render Chinese characters in macOS
(cherry picked from commit 82048d1d73)
2022-03-17 15:15:34 +03:00
Mikhail Grishchenko
1f93154f62 JBR-3975 add PASSED message in check_jbr_size.sh 2022-03-17 03:35:05 +07:00
Mikhail Grishchenko
9f069ca59e JBR-3975 Fix regexp in check_jbr_size.sh
(cherry picked from commit 23131fc435)
2022-03-17 01:45:51 +07:00
Vladimir Kempik
53f1a647fd JBR-4309: jdk/tools/launcher/modules/illegalaccess/IllegalAccessTest.java fails after JBR-4291 2022-03-14 11:27:16 +03:00
Alexander Lobas
7d31563471 JBR-4305 (#119)
* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode
2022-03-10 20:23:11 +01:00
Alexey Ushakov
36ded60698 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 14:28:18 +01:00
Dmitry Batrak
d53de90f8a JBR-3751 Window content isn't rendered with some window managers on Linux
(cherry picked from commit 8d22e4dcb0)
2022-03-09 13:40:40 +03:00
VladimirKempik
6196076b95 JBR-4291: Ability to ignore all add-opens 2022-03-04 15:05:43 +03:00
Vitaly Provodin
0ee50cbed6 JBR-4272 generate and save debug symbols for JBR on macos/linux 2022-03-03 19:34:10 +07:00
Roland Westrelin
d6e6d315d2 JBR-4256: backport 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Reviewed-by: thartmann, kvn
2022-02-28 18:31:45 +07:00
Roland Westrelin
0a3f7bd9b1 JBR-4256: 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Reviewed-by: thartmann, chagedorn
(cherry picked from commit 3e798dd40c)
2022-02-28 18:31:43 +07:00
Vladimir Kempik
a2636bc8b2 JBR-4283: Provide native JBR builds for alpine Linux-aarch64 2022-02-28 11:11:24 +03:00
Dmitry Batrak
11ad455c7a JBR-4281 Window losing focus isn't detected in some cases on macOS
(cherry picked from commit 363650bbf4)
2022-02-25 00:35:34 +03:00
Vitaly Provodin
4141e567c0 exclude java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java due to 8282232 2022-02-23 06:32:04 +07:00
Ivan Lopatin
8373eeea85 exclude javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java due to 8253184 2022-02-23 06:31:35 +07:00
Nikita Gubarkov
9f10f63459 Fixed threading issues & restoring of default titlebar for custom titlebar on macOS 2022-02-21 22:16:31 +03:00
Nikita Provotorov
0cb7b4565c JBR-4271: JBR17 and dev built without --with-vendor-name parameter have invalid value of the java.vm.vendor property.
Changes the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o.".
2022-02-21 22:35:35 +07:00
Nikita Provotorov
e19109f401 Revert "Changing the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o"."
This reverts commit 409e4932ad. Just for JBR-4271.
2022-02-21 22:24:47 +07:00
Nikita Gubarkov
c450a40e16 JBR-4266 Fix JBR API ProxyInfoResolvingTest, missing JBR-side implementation now doesn't throw an exception 2022-02-21 15:20:26 +03:00
Maxim Kartashev
fe79f047d0 fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-18 13:25:20 +03:00
Vladimir Kempik
484bc6f18f JBR-4242:Provide native JBR builds for alpine Linux 2022-02-18 09:36:56 +03:00
Nikita Gubarkov
1af965d658 Refactored internal services in JBR API
Fixed IllegalAccessException when retrieving lists of known proxies & services
2022-02-17 20:25:15 +03:00
Maxim Kartashev
d330782b50 fixup! JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 15:20:49 +03:00
Maxim Kartashev
ff6002ab87 JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2022-02-17 12:31:06 +03:00
Nikita Gubarkov
ee9fe4ee55 Custom macOS window decorations via JBR API 2022-02-16 22:11:59 +03:00
Nikita Gubarkov
b8e1373b53 Added internal services to JBR API 2022-02-16 22:10:30 +03:00
Vitaly.Provodin
1b9f385336 exclude java/awt/Dialog/NonResizableDialogSysMenuResize/NonResizableDialogSysMenuResize.java and java/awt/Dialog/NestedDialogs/Modeless/NestedModelessDialogTest.java on windows-all 2022-02-16 16:37:32 +07:00
Vitaly Provodin
cd9cc5f395 exclude javax/imageio/plugins/external_plugin_tests/TestClassPathPlugin.sh from commit testing 2022-02-16 16:34:53 +07:00
Vitaly Provodin
54199dc06c JBR-4154 extract version info from sources 2022-02-16 16:14:21 +07:00
Anton Tarasov
66ddc58397 JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss 2022-02-16 11:38:31 +03:00
Nikita Gubarkov
c5d124735c JBR API v0.0.4 - Implemented client-side fallbacks for JBR API 2022-02-15 18:30:17 +03:00
Nikita Provotorov
409e4932ad Changing the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o". 2022-02-15 04:27:14 +07:00
Nikita Gubarkov
3bbd930114 JBR API v0.0.3
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 19:17:39 +03:00
Alexey Ushakov
0019142eaf 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 16:44:31 +01:00
Artem Semenov
41feaaedf0 8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
Reviewed-by: ant, kizune
2022-02-10 17:58:28 +03:00
Vitaly Provodin
3948c3538c JBR-4099 make test-image on jbrsdk_jcef step, introduce do_maketest flag 2022-02-10 16:30:41 +07:00
Maxim Kartashev
497d00d82e 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 12:24:59 +03:00
Dmitry Batrak
37ceee0ce3 JBR-4194 RenderPerfTest: TextNoAA >10% degradation in OGL
(cherry picked from commit 42fa3e3d34)
2022-02-10 11:48:28 +03:00
Vitaly Provodin
74dfdfbbfe update the link to JBR17 for IDEA 2022.1 EAP 2022-02-10 04:04:26 +07:00
Nikita Provotorov
8f1223d69a 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.

(cherry picked from commit eae5198b20)
2022-02-09 01:52:57 +07:00
Fairoz Matte
6d4c958c9a 8274718: runtime/cds/appcds/LambdaEagerInit.java fails with -XX:-CompactStrings
Reviewed-by: iklam, ccheung
(cherry picked from commit d8f6b6c19a)
2022-02-08 10:48:58 +07:00
Alexey Ushakov
8730341c70 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 10:49:06 +01:00
Vitaly Provodin
2aff4529b9 exclude java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java on Wayland
sun/security/pkcs11/Signature/TestDSAKeyLength.java                                 8279941 linux-all
2022-02-05 04:04:04 +07:00
Vitaly Provodin
efd58e83eb exclude sun/security/pkcs11/Signature/TestDSAKeyLength.java due to 8279941 2022-02-04 14:53:40 +07:00
Maxim Kartashev
1aa5510721 JBR-4064 Windows: update build scripts to produce more deterministic output
Changed -pathmap option value to use "normal", Unix-style paths. Those will
be changed to Windows style by the fixpath script. But if Windows-style paths
are used, this script will wreck them by removing the backslash characters.
2022-02-04 08:47:17 +03:00
Vitaly Provodin
c14bfc9349 JBR-4099 make test-image on jbrsdk_jcef step 2022-02-02 17:04:57 +07:00
Maxim Kartashev
4d7b0f15c1 JBR-4064 Windows: update build scripts to produce more deterministic output
Passed the configure script options necessary to enable reproducible builds
on Windows. With this options, the resulting jars are reproducible, but
native executables and libraries aren't.
2022-02-02 10:15:26 +03:00
Maxim Kartashev
ac03a7a1e8 JBR-3950 javax/swing/JFormattedTextField/TestSelectedTextBackgroundColor.java: The expected background color for Selected Text was not found
The Gtk API for capturing images works with unscaled coordinates and
sizes, but Robot pre-scales both even before passing the data to the
native code. This commit undoes that for Gtk3 in the native code.

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

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

(cherry picked from commit 93ba9e86f9)
2022-01-31 21:51:59 -08:00
Nikita Provotorov
ba5209ec06 JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
This commit reverts the fix of JDK-8041928 and disables its regression tests.
2022-02-01 01:57:50 +07:00
Nikita Provotorov
ed60a9c2bd JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
Renames the test AltGrMustGenerateAltGrModifierTest3838.java to AltGrMustGenerateAltGrModifierTest4207.java.
2022-02-01 01:57:50 +07:00
Dmitry Batrak
9b4827a596 JBR-4186 Unexpected desktop switch after moving a window to another desktop
(cherry picked from commit 67b6cd871f)
2022-01-31 13:46:46 +03:00
Maxim Kartashev
609406c21b JBR-4173 Tier1 test failures in jdk/javadoc/doclet/testModules
Introduction of JBR API changed the order of modules appearing in Java
Doc. This commit updates the corresponding tests to match the current
output with JBR API.
2022-01-28 17:17:38 +03:00
Mikhail Grishchenko
d9fca0ae84 JBR-3975 added script comparing jbr size 2022-01-28 13:31:17 +07:00
Vitaly Provodin
b5dfaff0b2 JBR-4154 extract version info from tags 2022-01-28 11:41:02 +07:00
Fairoz Matte
0d120c99f8 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: thartmann, chagedorn
Backport-of: 01cb2b9883
2022-01-28 11:25:44 +07:00
Evan Whelan
b60a1fc232 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
Reviewed-by: dfuchs
Backport-of: 5caa77b043
2022-01-28 11:25:43 +07:00
Aleksey Shipilev
cf1b173338 8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
Backport-of: 8d7958e469
2022-01-28 11:25:42 +07:00
Alex Kasko
afee118edf 8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
Backport-of: b6876649a8
2022-01-28 11:25:41 +07:00
Matthias Baesken
b987b3e5a8 8274265: Suspicious string concatenation in logTestUtils.inline.hpp
Backport-of: c57a6c62ba
2022-01-28 11:25:40 +07:00
Richard Reingruber
ec795e498c 8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
Reviewed-by: sspitsyn
Backport-of: 29dcbb72a2
2022-01-28 11:25:39 +07:00
Anton Tarasov
0011d15c7d 8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
Reviewed-by: kizune
Backport-of: 574f8903ee
2022-01-28 11:25:38 +07:00
Claes Redestad
9154812750 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
Backport-of: 6c05cc9d15
2022-01-28 11:25:36 +07:00
Claes Redestad
0b25395903 8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
Backport-of: aaa36cc006
2022-01-28 11:25:35 +07:00
Evan Whelan
b364b35049 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
Reviewed-by: dfuchs
Backport-of: 03debf2775
2022-01-28 11:25:33 +07:00
Alexander Zuev
90a8c9e0b5 8275071: [macos] A11y cursor gets stuck when combobox is closed
Backport-of: 5d249c46ab
2022-01-28 11:24:15 +07:00
Alexander Zuev
b6b87d5005 8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
Backport-of: 851a362479
2022-01-28 11:22:01 +07:00
Sean Coffey
41c809d3f3 8272859: Javadoc external links should only have feature version number in URL
Backport-of: b94fd32f08
2022-01-28 11:22:00 +07:00
Ramkumar Sunderbabu
5921059497 8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
Backport-of: 9bc52afa48
2022-01-28 11:21:58 +07:00
Artem Semenov
bf86fcb0be 8273678: TableAccessibility and TableRowAccessibility miss autorelease
Reviewed-by: kizune, pbansal, ant
Backport-of: 3221a14f9e
2022-01-28 11:21:57 +07:00
Alex Kasko
6d31c536cf 8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
Backport-of: b53828b7c2
2022-01-28 11:21:56 +07:00
Anton Tarasov
d9b0e176b0 8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
Reviewed-by: kizune, pbansal
Backport-of: 7c88a59b7b
2022-01-28 11:21:55 +07:00
Anton Tarasov
ad639db7d7 8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
Reviewed-by: kizune, pbansal
Backport-of: b98ed55060
2022-01-28 11:21:54 +07:00
Alexander Zuev
b5047905a4 8264293: Create implementation for NSAccessibilityMenu protocol peer
8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
8264295: Create implementation for NSAccessibilityMenuItem protocol peer
8264294: Create implementation for NSAccessibilityMenuBar protocol peer

Backport-of: 8f5a8f740b
2022-01-28 11:21:53 +07:00
Roger Riggs
e727549fc7 8277093: Vector should throw ClassNotFoundException for a missing class of an element
Reviewed-by: smarks
2022-01-28 11:21:51 +07:00
Stefan Karlsson
e1532defb9 8277212: GC accidentally cleans valid megamorphic vtable inline caches
Backport-of: 976c2bb056
2022-01-28 11:21:50 +07:00
Alex Kasko
6530fc05bb 8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
Backport-of: 428d51694f
2022-01-28 11:21:49 +07:00
Alex Kasko
94afbb913f 8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
Backport-of: f4cf2f7cef
2022-01-28 11:21:48 +07:00
Martin Doerr
10fdd46bb6 8276927: [ppc64] Port shenandoahgc to linux on ppc64le
Reviewed-by: shade
Backport-of: 57eb864765
2022-01-28 11:21:47 +07:00
Sean Coffey
035c5b2cb9 8275811: Incorrect instance to dispose
Backport-of: cddc6ce446
2022-01-28 11:21:46 +07:00
Prajwal Kumaraswamy
a9775f3bc0 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
Backport-of: 8822d41fdc
2022-01-28 11:21:44 +07:00
Jie Fu
a0c5dcc044 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
Backport-of: 2af9e5976f
2022-01-28 11:21:43 +07:00
Artem Semenov
c5f50b0ac3 8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
Reviewed-by: ant, kizune, pbansal
2022-01-28 11:21:42 +07:00
Adam Farley
0e9cb59458 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
Backport-of: fc0fe25679
2022-01-28 11:21:41 +07:00
Guoxiong Li
a72afdcce2 8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
Backport-of: 2b02b6f513
2022-01-28 11:21:39 +07:00
Aleksey Shipilev
060e6dc535 8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
Backport-of: 3b0b6adc3d
2022-01-28 11:21:38 +07:00
Aleksey Shipilev
10177f87da 8276864: Update boot JDKs to 17.0.1 in GHA
Reviewed-by: clanger
Backport-of: f561d3c194
2022-01-28 11:21:38 +07:00
Aleksey Shipilev
f5518c018b 8275426: PretouchTask num_chunks calculation can overflow
Reviewed-by: kbarrett
Backport-of: 60cb27dcda
2022-01-28 11:21:37 +07:00
Sean Coffey
12e14bb4b7 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
Backport-of: 6bb04626af
2022-01-28 11:21:36 +07:00
Mandy Chung
906eef2412 8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
Reviewed-by: phh
Backport-of: 309acbf0e8
2022-01-28 11:21:35 +07:00
Thomas Schatzl
2c24d922b5 8272170: Missing memory barrier when checking active state for regions
Backport-of: 35a831d5a7
2022-01-28 11:21:34 +07:00
Zhengyu Gu
c4219bef06 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
Backport-of: 73e6d7d74d
2022-01-28 11:21:26 +07:00
Alex Kasko
1999623480 8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
Backport-of: e2c5bfe083
2022-01-28 11:21:16 +07:00
Alex Kasko
2cd05cb7f1 8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
Backport-of: fd4de1ed40
2022-01-28 11:21:15 +07:00
Thomas Stuefe
4854fde98c 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
Backport-of: b8d33a2a4e
2022-01-28 11:21:14 +07:00
Aleksey Shipilev
74cfa29cfe 8272854: split runtime/CommandLine/PrintTouchedMethods.java test
Backport-of: c94dc2ab60
2022-01-28 11:21:05 +07:00
Aleksey Shipilev
db17e0a923 8275604: Zero: Reformat opclabels_data
Backport-of: 724bf3be14
2022-01-28 11:20:55 +07:00
Aleksey Shipilev
f36ad85954 8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
Backport-of: 0f463a7bf7
2022-01-28 11:20:55 +07:00
Aleksey Shipilev
8fe827966f 8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
Backport-of: fd0a25e62b
2022-01-28 11:20:54 +07:00
Aleksey Shipilev
9089e97233 8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
Backport-of: 75adf54bdc
2022-01-28 11:20:45 +07:00
Andrew Haley
69fbf4816d 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Reviewed-by: adinn
Backport-of: 4f3b626a36
2022-01-28 11:20:36 +07:00
Zhengyu Gu
3b7eefd5f9 8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
Reviewed-by: shade
Backport-of: 99b7b95e01
2022-01-28 11:20:36 +07:00
Martin Doerr
328029e1de 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Backport-of: 0699220830
2022-01-28 11:20:26 +07:00
Yoshiki Sato
e71c8161b0 8275766: (tz) Update Timezone Data to 2021e
8275849: TestZoneInfo310.java fails with tzdata2021e
8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766

Reviewed-by: coffeys
2022-01-28 11:20:17 +07:00
Aleksey Shipilev
eabc3d4960 8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
Backport-of: 4bc9b04984
2022-01-28 11:20:16 +07:00
Aleksey Shipilev
4412ce93ec 8276854: Windows GHA builds fail due to broken Cygwin
Backport-of: 403f3185f0
2022-01-28 11:20:08 +07:00
Ao Qi
0cce368b34 8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
Backport-of: f189dff5cb
2022-01-28 11:19:59 +07:00
Alex Kasko
3128b837d3 8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
Backport-of: e43a907f20
2022-01-28 11:19:57 +07:00
Alex Kasko
8afb6b199c 8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
Backport-of: a68b5b9c1d
2022-01-28 11:19:50 +07:00
Aleksey Shipilev
b00dd0df6d 8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
Reviewed-by: phh
2022-01-28 11:19:48 +07:00
Aleksey Shipilev
9be936a8a2 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
Reviewed-by: aph
Backport-of: 0488ebdf14
2022-01-28 11:19:39 +07:00
Aleksey Shipilev
0c81cfcdfc 8276846: JDK-8273416 is incomplete for UseSSE=1
Reviewed-by: aph
Backport-of: a0b84453b0
2022-01-28 11:19:30 +07:00
Aleksey Shipilev
09171c000d 8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
Backport-of: 0828273b89
2022-01-28 11:19:29 +07:00
Aleksey Shipilev
f1a9026d78 8268860: Windows-Aarch64 build is failing in GitHub actions
Backport-of: acc3d99535
2022-01-28 11:19:29 +07:00
Aleksey Shipilev
7939c32bd3 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
Backport-of: 465d350d0b
2022-01-28 11:19:20 +07:00
Tobias Hartmann
c5e0ec78a6 8276112: Inconsistent scalar replacement debug info at safepoints
Backport-of: c29cab8ab4
2022-01-28 11:19:12 +07:00
Alex Kasko
2367542a3a 8268294: Reusing HttpClient in a WebSocket.Listener hangs.
Backport-of: 2d088fa91d
2022-01-28 11:19:10 +07:00
Alex Kasko
332af97374 8269481: SctpMultiChannel never releases own file descriptor
Backport-of: d1cecaaa22
2022-01-28 11:18:56 +07:00
Aleksey Shipilev
ae8696f031 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
Backport-of: 89ade1d7e8
2022-01-28 11:18:46 +07:00
Aleksey Shipilev
dd39d8a55c 8274560: JFR: Add test for OldObjectSample event when using Shenandoah
Backport-of: ef0922e885
2022-01-28 11:18:45 +07:00
Alex Kasko
542e5dc8c5 8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
Backport-of: e84461072a
2022-01-28 11:18:45 +07:00
Alex Kasko
2798a15be6 8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
Backport-of: 7eb0372e55
2022-01-28 11:18:37 +07:00
Sergey Nazarkin
0dbd4008eb 8274501: c2i entry barriers read int as long on AArch64
Backport-of: f08180f35f
2022-01-28 11:18:29 +07:00
Sandhya Viswanathan
e774738ae8 8276025: Hotspot's libsvml.so may conflict with user dependency
Reviewed-by: kvn
Backport-of: 9ad4d3d06b
2022-01-28 11:18:20 +07:00
Andrew John Hughes
60fd9c18cd 8275872: Sync J2DBench run and analyze Makefile targets with build.xml
Backport-of: f1f5e2690c
2022-01-28 11:18:17 +07:00
Alex Kasko
90c64dc20b 8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
Backport-of: 9f3c7e74ff
2022-01-28 11:18:17 +07:00
Aleksey Shipilev
410c59ebc2 8261579: AArch64: Support for weaker memory ordering in Atomic
Reviewed-by: aph
Backport-of: a97715755d
2022-01-28 11:18:15 +07:00
Sandhya Viswanathan
eafe1b197f 8273450: Fix the copyright header of SVML files
Backport-of: d7efd0e8cf
2022-01-28 11:18:13 +07:00
Andrew John Hughes
cd0adc909b 8276572: Fake libsyslookup.so library causes tooling issues
Backport-of: a472433209
2022-01-28 11:18:12 +07:00
Aleksey Shipilev
edfccd5922 8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
Backport-of: cea3f01046
2022-01-28 11:18:12 +07:00
Aleksey Shipilev
becb0a0468 8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
Backport-of: f8415a9b2f
2022-01-28 11:18:11 +07:00
Aleksey Shipilev
15c92b8166 8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
Backport-of: c0533ef2d8
2022-01-28 11:18:11 +07:00
Aleksey Shipilev
182bb41f86 8276550: Use SHA256 hash in build.tools.depend.Depend
Backport-of: afb502e28a
2022-01-28 11:18:10 +07:00
Ilarion Nakonechnyy
1edd1e825a 8273026: Slow LoginContext.login() on multi threading application
Backport-of: c0cda1db4f
2022-01-28 11:18:10 +07:00
Alex Kasko
48622c0349 8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
Backport-of: 7728423f8a
2022-01-28 11:17:30 +07:00
Alexey Pavlyutkin
ac3d2d08d2 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
Backport-of: 6750c34c92
2022-01-28 11:16:10 +07:00
Zhengyu Gu
6b4b97338c 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
Backport-of: dbf5100dd7
2022-01-28 11:15:57 +07:00
Yi Yang
45d8c9c970 8273021: C2: Improve Add and Xor ideal optimizations
Backport-of: a73c06de2a
2022-01-28 11:15:49 +07:00
Yi Yang
86ba0fa9ef 8270901: Typo PHASE_CPP in CompilerPhaseType
Backport-of: 072fe486c9
2022-01-28 11:15:47 +07:00
Zhengyu Gu
a7c13c2ecd 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Backport-of: 172aed1a2d
2022-01-28 11:15:47 +07:00
Alex Kasko
b6303f542c 8272345: macos doesn't check os::set_boot_path() result
Backport-of: bd27bb9cbe
2022-01-28 11:15:46 +07:00
Alex Kasko
4aa3dc209c 8272114: Unused _last_state in osThread_windows
Backport-of: 11cddd3261
2022-01-28 11:15:45 +07:00
Alex Kasko
ed5de3e56e 8268626: Remove native pre-jdk9 support for jtreg failure handler
Backport-of: 2e70bc35df
2022-01-28 11:15:44 +07:00
Alex Kasko
c668f0d0b4 4819544: SwingSet2 JTable Demo throws NullPointerException
Backport-of: 64d18d45ef
2022-01-28 11:15:42 +07:00
Alex Kasko
c6a764930d 8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
Backport-of: 83bce94cc8
2022-01-28 11:15:41 +07:00
Alex Kasko
c75dbd734b 8266510: Nimbus JTree default tree cell renderer does not use selected text color
Backport-of: ecd445562f
2022-01-28 11:15:40 +07:00
Alex Kasko
8f69f5e367 8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
Backport-of: a033866d78
2022-01-28 11:15:39 +07:00
Alex Kasko
78d98bd187 8268361: Fix the infinite loop in next_line
Backport-of: 72672277e4
2022-01-28 11:15:38 +07:00
Alex Kasko
06d5800d30 8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
Backport-of: 7621fa37ef
2022-01-28 11:15:37 +07:00
Alex Kasko
55b6d27961 8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
Backport-of: e515873f88
2022-01-28 11:15:36 +07:00
Alex Kasko
5cb3b2e787 8270290: NTLM authentication fails if HEAD request is used
Backport-of: 3e0d7c33d4
2022-01-28 11:15:35 +07:00
Jie Fu
7c90e1ed97 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Backport-of: 0ab910d626
2022-01-28 11:15:34 +07:00
Saravana Kumar Vijayasekaran
ec431706ee 8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
Reviewed-by: kcr, erikj
2022-01-28 11:15:06 +07:00
Mandy Chung
fa8d0fe822 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
Backport-of: 21da218387
2022-01-28 11:11:39 +07:00
Ekaterina Vergizova
3207a7b73a 8275302: unexpected compiler error: cast, intersection types and sealed
Backport-of: fd10f1996e
2022-01-28 11:11:38 +07:00
Erik Joelsson
f0988f43f6 8276122: Change openjdk project in jcheck to jdk-updates
Reviewed-by: iris, kcr
2022-01-28 11:11:30 +07:00
Christoph Langer
e3fcafcf77 8276130: Fix Github Actions of JDK17u to account for update version scheme
Reviewed-by: stuefe
2022-01-28 11:11:17 +07:00
Olga Mikhaltsova
60f34376ed 8273575: memory leak in appendBootClassPath(), paths must be deallocated
Backport-of: 74ffe12267
2022-01-28 11:11:09 +07:00
Ao Qi
bcad02cbf5 8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
Backport-of: 517405e462
2022-01-28 11:11:08 +07:00
Thejasvi Voniadka
6bbc645a21 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
Backport-of: 633eab23f0
2022-01-28 11:11:07 +07:00
Ao Qi
3c4355dc90 8275104: IR framework does not handle client VM builds correctly
Backport-of: 1da5e6b0e2
2022-01-28 11:10:54 +07:00
Alexey Pavlyutkin
dcbe0b7bd8 8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
Backport-of: c3d8e9228d
2022-01-28 11:10:49 +07:00
Evan Whelan
7a0b62b20c 8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
Backport-of: 45ce06c9f3
2022-01-28 11:10:48 +07:00
Ilarion Nakonechnyy
0254a010c8 8272305: several hotspot runtime/modules don't check exit codes
Backport-of: b2c272d4e2
2022-01-28 11:10:47 +07:00
Ilarion Nakonechnyy
608f519563 8272391: Undeleted debug information
Backport-of: e4766ee0aa
2022-01-28 11:10:40 +07:00
Ilarion Nakonechnyy
5c69760cf1 8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
Backport-of: 75a06421e5
2022-01-28 11:10:32 +07:00
Ilarion Nakonechnyy
9f263c851c 8271215: Fix data races in G1PeriodicGCTask
Backport-of: f2c359a882
2022-01-28 11:10:31 +07:00
Naoto Sato
54924e53d0 8275145: file.encoding system property has an incorrect value on Windows
Reviewed-by: iris
2022-01-28 11:10:29 +07:00
Ravi Reddy
1b97719353 8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
Reviewed-by: lancea
Backport-of: 3e3051e2ee
2022-01-28 11:10:28 +07:00
Alexey Bakhtin
bbbe3586d5 8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
Backport-of: 5ba0d09fe4
2022-01-28 11:10:27 +07:00
Alexey Bakhtin
51faccae87 8270946: X509CertImpl.getFingerprint should not return the empty String
Backport-of: fc80a6b493
2022-01-28 11:10:26 +07:00
Matthias Baesken
0c03472df7 8273808: Cleanup AddFontsToX11FontPath
Backport-of: 35f6f1d69f
2022-01-28 11:10:25 +07:00
Martin Doerr
09457346ad 8274851: [ppc64] Port zgc to linux on ppc64le
Backport-of: 337b73a459
2022-01-28 11:10:24 +07:00
Saravana Kumar Vijayasekaran
9c343f9e3f 8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
Reviewed-by: rsunderbabu, tvoniadka, coffeys
2022-01-28 11:10:23 +07:00
Ekaterina Vergizova
b8682d18d8 8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
Backport-of: b870468bdc
2022-01-28 11:10:22 +07:00
Ekaterina Vergizova
ee4cfb4957 8273234: extended 'for' with expression of type tvar causes the compiler to crash
Backport-of: 8c37909274
2022-01-28 11:10:21 +07:00
Martin Doerr
7aa7e87613 8275049: [ZGC] missing null check in ZNMethod::log_register
Backport-of: cf828673a9
2022-01-28 11:10:20 +07:00
Martin Doerr
c02e44f5fe 8274401: C2: GraphKit::load_array_element bypasses Access API
Backport-of: a8210c53e7
2022-01-28 11:10:19 +07:00
Martin Doerr
a502988ede 8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
Backport-of: e16b93ad52
2022-01-28 11:10:18 +07:00
Martin Doerr
0ccc4c2723 8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
Backport-of: c4d115701d
2022-01-28 11:10:17 +07:00
Martin Doerr
cfc18dc57c 8274550: c2i entry barriers read int as long on PPC
Backport-of: 5e4b514e6e
2022-01-28 11:10:16 +07:00
Martin Doerr
32b236925a 8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
Backport-of: 49f8ce6e9c
2022-01-28 11:10:16 +07:00
Ilarion Nakonechnyy
c395f39b8f 8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
Backport-of: 1ea437a4b8
2022-01-28 11:10:15 +07:00
Phil Race
2bea35ea99 8275131: Exceptions after a touchpad gesture on macOS
Backport-of: 89999f70e0
2022-01-28 11:09:16 +07:00
Zhengyu Gu
ac6240d62a 8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
Backport-of: 1ab64143c0
2022-01-28 11:05:26 +07:00
Zhengyu Gu
137b9de6d0 8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests
Backport-of: 3f07337722
2022-01-28 11:05:25 +07:00
Harold Seigel
57a175d0c3 8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
Reviewed-by: ccheung
Backport-of: a67f0f9dc0
2022-01-28 11:05:23 +07:00
Yoshiki Sato
fdce96a5a1 8274407: (tz) Update Timezone Data to 2021c
8274467: TestZoneInfo310.java fails with tzdata2021b
8274468: TimeZoneTest.java fails with tzdata2021b

Reviewed-by: coffeys
2022-01-28 11:05:22 +07:00
Goetz Lindenmaier
f88d4379ed 8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
Backport-of: 04b73bc4e0
2022-01-28 11:05:21 +07:00
Goetz Lindenmaier
d983325000 8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
Reviewed-by: mdoerr
Backport-of: dcdb1b6aaa
2022-01-28 11:05:20 +07:00
Ao Qi
4b97ca1957 8270517: Add Zero support for LoongArch
Backport-of: e92e2fd4e0
2022-01-28 11:05:19 +07:00
Matthias Baesken
a63676451a 8273176: handle latest VS2019 in abstract_vm_version
Backport-of: 0e14bf70cf
2022-01-28 11:05:18 +07:00
Tobias Hartmann
58734e492a 8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
Backport-of: 2aacd4220a
2022-01-28 11:05:16 +07:00
Tobias Hartmann
9c62d0f352 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: chagedorn
Backport-of: 3953e0774c
2022-01-28 11:05:14 +07:00
Tobias Hartmann
bfcbf80361 8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 980c50dc60
2022-01-28 11:05:13 +07:00
Mat Carter
b058c95245 8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
Reviewed-by: clanger
2022-01-28 11:05:12 +07:00
Jie Fu
daa1f215cc 8275008: gtest build failure due to stringop-overflow warning with gcc11
Backport-of: c55dd365e3
2022-01-28 11:05:10 +07:00
Tobias Hartmann
800986663b 8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
Backport-of: dfc557cbea
2022-01-28 11:05:08 +07:00
Yi Yang
f79d9612cd 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
Backport-of: ddc262746a
2022-01-28 11:05:07 +07:00
Tobias Hartmann
ef4aedd8b9 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
Backport-of: b0983df5a4
2022-01-28 11:05:05 +07:00
Matthias Baesken
32fb92b38d 8271142: package help is not displayed for missing X11/extensions/Xrandr.h
Backport-of: b7f75c0a73
2022-01-28 11:05:04 +07:00
Jie Fu
5c5aabb7c0 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Backport-of: c833b4d130
2022-01-28 11:05:03 +07:00
Jie Fu
85a9e58a82 8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
Backport-of: 7426fd4c9c
2022-01-28 11:05:02 +07:00
Martin Doerr
8bff101e64 8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
Backport-of: 47262670f3
2022-01-28 11:05:01 +07:00
Sean Coffey
32ce4d242e 8273826: Correct Manifest file name and NPE checks
Backport-of: 03a8d342b8
2022-01-28 11:05:00 +07:00
Ekaterina Vergizova
13ccb0a20c 8269113: Javac throws when compiling switch (null)
Backport-of: 1887028408
2022-01-28 11:04:59 +07:00
Ekaterina Vergizova
f566f843fe 8268885: duplicate checkcast when destination type is not first type of intersection type
Backport-of: dd1209e4ae
2022-01-28 11:04:58 +07:00
Ekaterina Vergizova
f173a9119d 8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
Backport-of: 75d987a0dd
2022-01-28 11:04:56 +07:00
Robbin Ehn
5271d821c5 8273695: Safepoint deadlock on VMOperation_lock
Reviewed-by: dholmes
Backport-of: 7957994273
2022-01-28 10:55:59 +07:00
Aleksey Shipilev
9dde8877f2 8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
Backport-of: 6ace805f8c
2022-01-28 10:55:08 +07:00
Aleksey Shipilev
074f0229c7 8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
Backport-of: e3bda63ce2
2022-01-28 10:55:07 +07:00
Thomas Stuefe
ea6c11f15b 8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
Backport-of: bb9d142759
2022-01-28 10:54:09 +07:00
Harold Seigel
8def8c6031 8273342: Null pointer dereference in classFileParser.cpp:2817
Backport-of: 8609ea55ac
2022-01-28 10:54:06 +07:00
Pavel Kharskii
81a8f78479 8275141: recover corrupted line endings for the version-numbers.conf
Reviewed-by: jwilhelm
2022-01-28 10:54:04 +07:00
pavel_kharskii
6f87be33e9 8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, jwilhelm
2022-01-28 10:53:54 +07:00
Jayathirth D V
93c8d0e234 8274096: Improve decoding of image files
Backport-of: 62ce0cd73a2dc0c7e3e65783a2707a0984ba4acf
2022-01-28 10:52:56 +07:00
Joakim Nordström
6e11fae58e 8273229: Update OS detection code to recognize Windows Server 2022
Reviewed-by: kevinw
Backport-of: c2e015c3c1
2022-01-28 10:52:37 +07:00
Sean Coffey
b6053c6af5 8270392: Improve String constructions
Backport-of: bfa21d073b1e301919bbe1f46fa4182958f458f0
2022-01-28 10:52:36 +07:00
Evan Whelan
8d5cbeb3ab 8264934: Enhance cross VM serialization
Reviewed-by: rriggs
Backport-of: 4369957f6699993d94481c766348fb554d53cd6d
2022-01-28 10:52:34 +07:00
Aleksey Shipilev
4d04db4747 8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
Backport-of: ebd62bc043
2022-01-28 10:52:19 +07:00
Aleksey Shipilev
a9a4cea691 8272703: StressSeed should be set via FLAG_SET_ERGO
Backport-of: 66ce09f51e
2022-01-28 10:52:01 +07:00
Aleksey Shipilev
24aa4222a5 8273376: Zero: Disable vtable/itableStub gtests
Backport-of: a522d6b53c
2022-01-28 10:52:00 +07:00
Aleksey Shipilev
9c674d73f1 8273487: Zero: Handle "zero" variant in runtime tests
Backport-of: 8c16f485b3
2022-01-28 10:51:48 +07:00
David Holmes
cb38a6dd02 8274349: ForkJoinPool.commonPool() does not work with 1 CPU
Backport-of: 2e542e33b8
2022-01-28 10:51:25 +07:00
Aleksey Shipilev
e9d4459d0b 8274083: Update testing docs to mention tiered testing
Backport-of: 971aa353aa
2022-01-28 10:51:12 +07:00
Aleksey Shipilev
5c2755613b 8273314: Add tier4 test groups
Backport-of: 1f8af524ff
2022-01-28 10:50:59 +07:00
Aleksey Shipilev
9746207332 8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
Backport-of: 7d24a33421
2022-01-28 10:50:48 +07:00
Aleksey Shipilev
573bdee5e8 8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
Backport-of: dc33bd8b6c
2022-01-28 10:50:46 +07:00
Aleksey Shipilev
64a660bbda 8272836: Limit run time for java/lang/invoke/LFCaching tests
Backport-of: a3308af060
2022-01-28 10:50:45 +07:00
Aleksey Shipilev
2a749e6aea 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
Backport-of: 2166ed1369
2022-01-28 10:50:38 +07:00
Aleksey Shipilev
190654c009 8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
Backport-of: 09ecb11927
2022-01-28 10:50:24 +07:00
Aleksey Shipilev
9d0dcee631 8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
Backport-of: 1c5de8b86b
2022-01-28 10:50:23 +07:00
Aleksey Shipilev
53acae7cd4 8273335: compiler/blackhole tests should not run with interpreter-only VMs
Backport-of: 4d25e6f6c7
2022-01-28 10:50:22 +07:00
Aleksey Shipilev
f893db9b7d 8273483: Zero: Clear pending JNI exception check in native method handler
Backport-of: aa9311182a
2022-01-28 10:50:13 +07:00
Aleksey Shipilev
04fae2df0d 8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
Backport-of: 286a1f6b7c
2022-01-28 10:49:59 +07:00
Aleksey Shipilev
076fd5afbe 8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
Backport-of: 81c719be39
2022-01-28 10:49:58 +07:00
Aleksey Shipilev
82a2107baf 8273606: Zero: SPARC64 build fails with si_band type mismatch
Backport-of: 241ac89f12
2022-01-28 10:49:44 +07:00
Aleksey Shipilev
1e839eb0dc 8273373: Zero: Cannot invoke JVM in primordial threads on Zero
Backport-of: 0f31d0fb2c
2022-01-28 10:49:40 +07:00
Ekaterina Vergizova
a9f8ee61fd 8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
Backport-of: c05dc268ac
2022-01-28 10:49:36 +07:00
Aleksey Shipilev
6b7264d970 8272914: Create hotspot:tier2 and hotspot:tier3 test groups
Backport-of: 5ee5dd9b18
2022-01-28 10:49:32 +07:00
Aleksey Shipilev
cad31d2d2a 8273361: InfoOptsTest is failing in tier1
Backport-of: 267c61a16a
2022-01-28 10:49:31 +07:00
Thejasvi Voniadka
046720f12d 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
Backport-of: 71788c69db
2022-01-28 10:49:29 +07:00
Aleksey Shipilev
f027ad82e5 8273378: Shenandoah: Remove the remaining uses of os::is_MP
Backport-of: fc546d6de9
2022-01-28 10:49:28 +07:00
Sergey Bylokhov
c26e0c4c74 8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
Backport-of: 1bd11a7f2c
2022-01-28 10:49:27 +07:00
Guoxiong Li
d142680a31 8266239: Some duplicated javac command-line options have repeated effect
Backport-of: d05494f98b
2022-01-28 10:49:26 +07:00
Phil Race
ab939a202a 8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
Backport-of: 2cffe4c8e0
2022-01-28 10:49:25 +07:00
jovanstevanovic
9380dd5f34 8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
Backport-of: f690a01f1e
2022-01-28 10:49:24 +07:00
Sergey Bylokhov
684b2220aa 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
Backport-of: 1017a2c2d7
2022-01-28 10:49:23 +07:00
Andy Herrick
59976901c5 8274087: Windows DLL path not set correctly.
Backport-of: f36a2bbd15
2022-01-28 10:49:21 +07:00
Andy Herrick
f05ca5157d 8271170: Add unit test for what jpackage app launcher puts in the environment
Backport-of: 44f137ff9c
2022-01-28 10:49:20 +07:00
Rajat Mahajan
94bea6b973 8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
Backport-of: cb36880281
2022-01-28 10:49:17 +07:00
Tobias Hartmann
35c3aa4f2b 8273498: compiler/c2/Test7179138_1.java timed out
Reviewed-by: chagedorn
Backport-of: c81690d716
2022-01-28 10:49:17 +07:00
Yoshiki Sato
6c705ab4df 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
Backport-of: d39aad9230
2022-01-28 10:49:08 +07:00
Tobias Hartmann
9409c282d4 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Backport-of: 99fb12c798
2022-01-28 10:48:53 +07:00
Tobias Hartmann
eaa524b0ed 8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
Backport-of: f7e9f56e23
2022-01-28 10:48:41 +07:00
Tobias Hartmann
8358fd1998 8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
Backport-of: 28ba78e647
2022-01-28 10:48:27 +07:00
Tobias Hartmann
58468217c9 8223923: C2: Missing interference with mismatched unsafe accesses
Backport-of: 86add21a85
2022-01-28 10:48:14 +07:00
Tobias Hartmann
f86a961542 8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
Backport-of: 2ff4c01d42
2022-01-28 10:48:01 +07:00
Tobias Hartmann
a19915def8 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Backport-of: 6afcf5f5a2
2022-01-28 10:47:47 +07:00
Tobias Hartmann
f1d46557a0 8271340: Crash PhaseIdealLoop::clone_outer_loop
Backport-of: 2abf3b3b27
2022-01-28 10:47:35 +07:00
Tobias Hartmann
10c85f32ab 8272413: Incorrect num of element count calculation for vector cast
Backport-of: 7e662e7b9d
2022-01-28 10:47:22 +07:00
Tobias Hartmann
2abf160ebb 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 16c3ad1ff4
2022-01-28 10:47:10 +07:00
Tobias Hartmann
a80f48d7f2 8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: c86e24d4be
2022-01-28 10:46:52 +07:00
Tobias Hartmann
1ad825b7ce 8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Backport-of: 632a7e0885
2022-01-28 10:46:50 +07:00
Tobias Hartmann
7d9e851885 8272570: C2: crash in PhaseCFG::global_code_motion
Backport-of: 0f428ca533
2022-01-28 10:46:39 +07:00
Guoxiong Li
d7742281a3 8271254: javac generates unreachable code when using empty semicolon statement
Backport-of: fe89dd3b0d
2022-01-28 10:46:29 +07:00
Guoxiong Li
da76620f74 8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
Backport-of: e07ab82ee5
2022-01-28 10:46:09 +07:00
Thejasvi Voniadka
51854a7e8e 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
Backport-of: 7f78803b09
2022-01-28 10:46:07 +07:00
Andy Herrick
694478fd20 8272328: java.library.path is not set properly by Windows jpackage app launcher
Backport-of: cd2dbe5f00
2022-01-28 10:45:55 +07:00
Sergey Bylokhov
24732deaae 8271718: Crash when during color transformation the color profile is replaced
Backport-of: 148935279d
2022-01-28 10:45:52 +07:00
Guoxiong Li
104e336b24 8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
Backport-of: a9188f237e
2022-01-28 10:45:43 +07:00
Thomas Stuefe
627c47b942 8268893: jcmd to trim the glibc heap
Backport-of: 6096dd9765
2022-01-28 10:45:27 +07:00
Volker Simonis
eff04ea10b 8273902: Memory leak in OopStorage due to bug in OopHandle::release()
Backport-of: bc48a0ac29
2022-01-28 10:45:25 +07:00
Christian Hagedorn
b67c326fac 8272014: Better array indexing
Reviewed-by: thartmann
Backport-of: 937c31d896d05aa24543b74e98a2ea9f05b5d86f
2022-01-28 10:45:14 +07:00
Ravi Reddy
b2437bcbb7 8270492: Better resolution of URIs
Backport-of: ceda336a2ddea62e2ff8df653f54e08d45fc197a
2022-01-28 10:45:12 +07:00
Alexander Zuev
2e8685fe9e 8272462: Enhance image handling
Backport-of: 3d1745d54b93a62a7f404e33c70211db0e31d536
2022-01-28 10:45:04 +07:00
Jayathirth D V
6529030bff 8273838: Enhanced BMP processing
Backport-of: f5cc6f23a46bee06731fdd2b257c8ea8007eebad
2022-01-28 10:44:45 +07:00
Ravi Reddy
44e539dd8d 8273968: JCK javax_xml tests fail in CI
Backport-of: d1910329352e878badf8fdc6634a177dd4745d4a
2022-01-28 10:44:43 +07:00
Evan Whelan
56065030b1 8272236: Improve serial forms for transport
Reviewed-by: rriggs
Backport-of: ed0621893e7c365673ed87fbd4aca2bca27b9b73
2022-01-28 10:44:31 +07:00
Olga Mikhaltsova
4462f2a8b1 8273451: Remove unreachable return in mutexLocker::wait
Backport-of: 9b5991e811
2022-01-28 10:44:16 +07:00
Olga Mikhaltsova
19fa9e9117 8273375: Remove redundant 'new String' calls after concatenation in java.desktop
Backport-of: 59c9f75041
2022-01-28 10:44:03 +07:00
Sergey Nazarkin
b641b7e12f 8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
Backport-of: 752b6df34c
2022-01-28 10:43:59 +07:00
Rajan Halade
51e0d85f26 8274215: Remove globalsignr2ca root from 17.0.2
Reviewed-by: mullan
2022-01-28 10:43:48 +07:00
Thejasvi Voniadka
0c45e3541e 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
Backport-of: a5108a605e
2022-01-28 10:43:38 +07:00
Jonathan Dowland
fd05a48ade 8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
Backport-of: a5ad7720d2
2022-01-28 10:43:24 +07:00
Joe Darcy
02cf460d11 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
Backport-of: f531b5c796
2022-01-28 10:43:21 +07:00
Joe Darcy
d5c387fb3a 8214761: Bug in parallel Kahan summation implementation
Backport-of: dd871819a0
2022-01-28 10:43:12 +07:00
Aleksey Shipilev
2cfedb0b0d 8272318: Improve performance of HeapDumpAllTest
Backport-of: 73da66ffb7
2022-01-28 10:42:57 +07:00
Aleksey Shipilev
54df3a0d3e 8271605: Update JMH devkit to 1.32
Backport-of: e74537f924
2022-01-28 10:42:55 +07:00
Aleksey Shipilev
6f52d9b43f 8271862: C2 intrinsic for Reference.refersTo() is often not used
Backport-of: 3f723ca457
2022-01-28 10:42:44 +07:00
Aleksey Shipilev
b9360450d0 8272970: Parallelize runtime/InvocationTests/
Backport-of: 6cfe314262
2022-01-28 10:42:35 +07:00
Aleksey Shipilev
76d8ef4ed7 8272850: Drop zapping values in the Zap* option descriptions
Backport-of: c5a271259d
2022-01-28 10:42:23 +07:00
Aleksey Shipilev
b65787d352 8263375: Support stack watermarks in Zero VM
Backport-of: 857a930bde
2022-01-28 10:42:22 +07:00
Aleksey Shipilev
2da239bbb3 8272838: Move CriticalJNI tests out of tier1
Backport-of: f55d5ab517
2022-01-28 10:42:20 +07:00
Andy Herrick
b39f04092e 8272639: jpackaged applications using microphone on mac
Reviewed-by: asemenyuk
2022-01-28 10:42:11 +07:00
Sean Coffey
2509264ac4 8272026: Verify Jar Verification
Backport-of: 0e2b2951adc965d6b71ffbc63b4293fd9fb68eaa
2022-01-28 10:41:59 +07:00
Rob McKenna
da4618a8c3 8273308: PatternMatchTest.java fails on CI
Backport-of: 1a5bacfcf8e0c22e49b29c0f484f0e879227dc05
2022-01-28 10:41:58 +07:00
Rob McKenna
d01b4b29a6 8268813: Better String matching
Reviewed-by: igraves
Backport-of: c1b73a786d5881315cb7119d89f719b79c6a0c67
2022-01-28 10:41:56 +07:00
Jayathirth D V
e4685adfac 8273756: Enhance BMP image support
Backport-of: 2ee2053a0dde445237924f136c859c8b18ab882e
2022-01-28 10:41:48 +07:00
Alexander Zuev
7fd062b897 8273290: Enhance sound handling
Backport-of: 5d4a8f3c9ca82ed501944c670823b5de5e1ba344
2022-01-28 10:41:33 +07:00
Rob McKenna
a61c01b8b5 8270646: Improved scanning of XML entities
Backport-of: 2b6dad98a6739df983a01b96cffea971268d1523
2022-01-28 10:41:31 +07:00
Fairoz Matte
1a7cea34cf 8270320: JDK-8270110 committed invalid copyright headers
Backport-of: 353e9c8607
2022-01-28 10:41:20 +07:00
Richard Reingruber
92ed17db7d 8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
Backport-of: 4abe531140
2022-01-28 10:41:18 +07:00
Christoph Langer
d35ad94f84 8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
Backport-of: 481c1f0549
2022-01-28 10:41:09 +07:00
Andy Herrick
51e8b167f0 8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
Reviewed-by: kcr, asemenyuk
2022-01-28 10:40:54 +07:00
Aleksey Shipilev
a245a7eb8d 8269687: pauth_aarch64.hpp include name is incorrect
Backport-of: b690f29699
2022-01-28 10:40:53 +07:00
Lutz Schmidt
26168a7e27 8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
Backport-of: 276b07b36a
2022-01-28 10:40:40 +07:00
Andy Herrick
0edeeaebaa 8273592: Backout JDK-8271868
Reviewed-by: kcr, asemenyuk
2022-01-28 10:40:27 +07:00
Andy Herrick
df735d8692 8271868: Warn user when using mac-sign option with unsigned app-image.
Reviewed-by: asemenyuk
2022-01-28 10:40:22 +07:00
Clive Verghese
92a1c953a8 8270317: Large Allocation in CipherSuite
Backport-of: e627caec84
2022-01-28 10:40:11 +07:00
Saravana Kumar Vijayasekaran
a3b4dcbaa3 8263773: Reenable German localization for builds at Oracle
Reviewed-by: erikj
2022-01-28 10:39:59 +07:00
Aleksey Shipilev
401aed5bed 8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
Backport-of: 9166ba37b6
2022-01-28 10:39:43 +07:00
Per Liden
f081e8f08c 8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
Reviewed-by: eosterlund, ayang
Backport-of: 18dd4d469d
2022-01-28 10:39:34 +07:00
Aleksey Shipilev
68659132ab 8270110: Shenandoah: Add test for JDK-8269661
Backport-of: 548bb3119c
2022-01-28 10:39:32 +07:00
Aleksey Shipilev
c674f24951 8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
Backport-of: e4c24f01ef
2022-01-28 10:39:32 +07:00
Aleksey Shipilev
77708e018b 8272783: Epsilon: Refactor tests to improve performance
Backport-of: 7f80683cfe
2022-01-28 10:39:24 +07:00
Chris Hegarty
53d9f23052 8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
Backport-of: fe7d70886c
2022-01-28 10:39:11 +07:00
Thejasvi Voniadka
ab0aecb85e 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 10:39:09 +07:00
Matthias Baesken
3daa6999c3 8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
Backport-of: 18a1dd261c
2022-01-28 10:39:02 +07:00
Aleksey Shipilev
5ee0d59226 8269280: (bf) Replace StringBuffer in *Buffer.toString()
Backport-of: 3a8f3d6cac
2022-01-28 10:38:51 +07:00
Aleksey Shipilev
dbae3e0af5 8269924: Shenandoah: Introduce weak/strong marking asserts
Backport-of: 515113d858
2022-01-28 10:38:50 +07:00
Evan Whelan
32f0981825 8270416: Enhance construction of Identity maps
Reviewed-by: jboes
Backport-of: d445bf3f60c654bee77dcabe86f6fa28eaf5abfa
2022-01-28 10:38:48 +07:00
Rob McKenna
57e86a0638 8270498: Improve SAX Parser configuration management
Reviewed-by: joehw
2022-01-28 10:38:40 +07:00
Harold Seigel
e7f946ff88 8271987: Manifest improved manifest entries
Backport-of: 885f3699edf517d11d17607aad41e32d059f547a
2022-01-28 10:38:23 +07:00
Prasadrao Koppula
0f56c4c151 8268488: More valuable DerValues
Backport-of: 99f72cf1c44c58682d93a81ee76ef9c3707152a9
2022-01-28 10:38:20 +07:00
Rajan Halade
645554a10e 8273150: Revert "8225083: Remove Google certificate that is expiring in December 2021"
Reviewed-by: mullan
2022-01-28 10:38:11 +07:00
Kevin Walls
97fd5cc5cb 8272272: Enhance jcmd communication
Backport-of: 1a67dd1ba853d535c718840dcdada12e1b312eb8
2022-01-28 10:38:09 +07:00
Prajwal Kumaraswamy
0bcd0c63df 8269151: Better construction of EncryptedPrivateKeyInfo
Backport-of: 9fd7b2d4f333834f03a0e4fbc1e2a7d867331961
2022-01-28 10:38:09 +07:00
Ramkumar Sunderbabu
1a5041e6e5 8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
Backport-of: 7468bbcd64
2022-01-28 10:38:08 +07:00
Phil Race
ad6c9653f2 8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
Backport-of: ddcd851c43
2022-01-28 10:37:16 +07:00
Ioi Lam
62e8f8a6d5 8270386: Better verification of scan methods
Reviewed-by: coleenp
Backport-of: ac329cef45979bd0159ecd1347e36f7129bb2ce4
2022-01-28 10:31:03 +07:00
Vladimir Ivanov
2105783eb7 8268494: Better inlining of inlined interfaces
Backport-of: 3c7fbbd703a50a9762e7f7dbafa8d44191346f52
2022-01-28 10:31:03 +07:00
Prajwal Kumaraswamy
fe29cd4e68 8268512: More content for ContentInfo
Backport-of: 4a1ea63840ec90e52c036c408baef4a1cf0abdff
2022-01-28 10:30:51 +07:00
Rajan Halade
ef99d5e53e 8225083: Remove Google certificate that is expiring in December 2021
Backport-of: 1cbf41a87b
2022-01-28 10:30:50 +07:00
Phil Race
5f6b600cc9 8271962: Better TrueType font loading
Backport-of: 27827c186c43a7a2d983788f6d5e8b7f31e5e079
2022-01-28 10:30:48 +07:00
Prajwal Kumaraswamy
8b1bb75939 8269944: Better HTTP transport redux
Backport-of: 0e123d6e0e50cdac714a001b9f67dfc7c1c2b293
2022-01-28 10:30:47 +07:00
Phil Race
a828a9c55f 8270952: Improve TIFF file handling
Backport-of: 4db9acd53f549cac1603c6c41566b16ee939c04b
2022-01-28 10:30:46 +07:00
Harold Seigel
ff3cdec42e 8271968: Better canonical naming
Backport-of: a716aacb662bb49aa5b1e805175196c29d8cb77a
2022-01-28 10:30:45 +07:00
Jayathirth D V
f798e5f09f 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
2022-01-28 10:30:44 +07:00
Saravana Kumar Vijayasekaran
53e54740ab 8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, ssahoo, coffeys
2022-01-28 10:30:41 +07:00
Christoph Langer
6eaed94afc 8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
Backport-of: c0b4407d09
2022-01-28 10:30:40 +07:00
Nikita Gubarkov
0de1110110 JBR-2567 Fix max file path buffer size for fontpath.c 2022-01-28 03:46:38 +03:00
Vitaly Provodin
ced125f975 fixup! JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser" 2022-01-27 04:47:55 +07:00
Vitaly Provodin
b04a317b1f exclude sun/security/pkcs11/Signature/TestDSAKeyLength.java on Ubuntu 21.04 due to 8279941 2022-01-27 04:47:48 +07:00
Vitaly Provodin
71a196ca83 exclude compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java on macosx-aarch64 due to 8262901 2022-01-27 04:34:26 +07:00
Chris Plummer
acd143779c 8270341: Test serviceability/dcmd/gc/HeapDumpAllTest.java timed-out
Reviewed-by: dcubed
(cherry picked from commit 77fbd99f79)
2022-01-27 04:34:26 +07:00
greg
2f82cb6a13 macOS: add methods to setup transparent titlebar with custom height (#100)
* macOS: add methods to setup transparent titlebar with custom height

* make windowTransparentTitleBarHeight CPlatfromWindow property

* add windowTransparentTitleBarHeight test

* Prevent mouseUp events on the transparent header on macOS when the window is being dragged

Co-authored-by: Manuel Unterhofer <manuel.unterhofer@jetbrains.com>
2022-01-26 20:23:22 +01:00
Anton Tarasov
f169b363b5 JBR-4204 provide an option to disable a11y support on macOS
(cherry picked from commit ee3c56abdc)
2022-01-26 18:16:02 +03:00
Maxim Kartashev
3d9a846821 JBR-4203 test/hotspot/jtreg/compiler/arguments: Option should be unknown (non-X86CPU)
Added the -XX:-IgnoreUnrecognizedVMOptions option to the test driver for
command line options, since it is often used to check that a certain
option is not supported.
2022-01-26 13:33:45 +03:00
Alexey Ushakov
9f65e4290a 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:11:43 +01:00
Maxim Kartashev
7fc4f93143 fixup! JBR-4118 NIO methods fail on Google Drive's virtual volume 2022-01-25 13:05:40 +03:00
Vitaly Provodin
f5ecf32aa9 exclude two swing tests on Windows due to JBR-4197 2022-01-23 12:29:41 +07:00
Alexey Ushakov
726d626d01 JBR-4177 libc++abi: terminating with uncaught exception of type NSException
Added check for AppContext
2022-01-20 18:13:47 +01:00
Vitaly Provodin
02e39d6554 JBR-4188 add exec permissions && fix misprint in checking if headers exist 2022-01-20 04:57:40 +07:00
Alexey Ushakov
c76198e9de JBR-4187 java/awt/GraphicsDevice/DisplayModes/UnknownRefrshRateTest.java.UnknownRefrshRateTest fails on mac
Constrained display modes count used by the test
2022-01-19 15:49:57 +01:00
Alexey Ushakov
f7091b322f 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 15:49:49 +01:00
Maxim Kartashev
6f4a268bb7 JBR-4118 NIO methods fail on Google Drive's virtual volume
If NtQueryDirectoryFile() failed with STATUS_INVALID_PARAMETER,
try again asking for less information with the FileDirectoryInformation
option as "information class". This option works on a mounted
Google Drive, but it doesn't provide file ids, which speed
up file listing. So it is used only as a fall-back solution.

(cherry picked from commit 82693aa985)
2022-01-19 16:26:04 +03:00
Vitaly Provodin
156f23a065 exclude tests failing in 289 test cycle 2022-01-18 16:02:50 +07:00
Dmitry Batrak
e6a7cc1e4f JBR-4181 JB focus tests failed on macos-12
(cherry picked from commit c040e05703)
2022-01-17 20:43:44 +03:00
Vitaly Provodin
56a3b07c99 exclude two tests carshing test runs on macosx-aarch64 2022-01-16 08:33:56 +07:00
Alexey Ushakov
a8afa8da75 JBR-4164 IDEs cannot be launched via launch configuration
Moved execution of displayChanged() to EDT
2022-01-14 22:33:35 +01:00
Artem Semenov
0a4ee1132a JBR-4167 [JCK] AccassibleJTree tests fail on Ubuntu 2022-01-14 19:30:30 +03:00
Maxim Kartashev
2bc2ee6614 JBR-4043 Make jar and module files in JBR build reproducible
Added a separate build step that invokes the freshly-built jar that supports
the --date option on jrt-fs.jar before the latter is added to java.base.jmod.
This way both jrt-fs.jar and java.base.jmod have files timestamped with
a pre-determined date in the "reproducible build" mode.
2022-01-14 10:12:28 +03:00
Vitaly Provodin
797b2893fe JBR-4169 add jdk.javadoc into JBR 2022-01-14 04:00:15 +07:00
Andrew Leonard
4483339cac JBR-4062 8279834: Alpine Linux fails to build when --with-source-date enabled
Reviewed-by: erikj
2022-01-12 10:38:02 +03:00
Maxim Kartashev
c32af223f5 JBR-4145 Make builds independent from build directory
Supplied the --disable-absolute-path-in-output option to the configure script
when building JBR. This option, however, didn't affect the generated
debug info, so added -fdebug-prefix-map to the list of C and
assembler options, which normalized debug info fully on MacOS and partly
on Linux.
On Linux, libjvm.debuginfo contained an ELF symbol of type FILE with an absolute
path name of linux_x86_64.o. This was solved by explicitly specifying
the .file assembler directive in that file and all the other asm files
without one for uniformity.
2022-01-11 16:42:42 +03:00
Nikita Gubarkov
306bc0e3f8 JBR API v0.0.2
Fixed NPE in JBRFileDialog
2022-01-11 01:43:28 +03:00
Alexey Ushakov
dc8888f2e0 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 15:07:34 +01:00
Vitaly Provodin
df843f11b5 exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java due to 8266283
& java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.java on linux due to JBR-881 linux-all
2021-12-31 03:49:10 +07:00
Vitaly Provodin
b1564db09a add exclude exclude list for the IDEA VMoptions test run cofnigs 2021-12-31 03:49:10 +07:00
Vladimir Dvorak
bc69f1d27b JBR-4148 - removed meaningless copying of data to itself 2021-12-29 17:40:27 +01:00
Alexey Ushakov
2aeb7aeab4 JBR-4150 IDE regularly locks up at sun.lwawt.macosx.LWCToolkit.getScreenInsets
Restored caching screen insets. Added handling of dock resize.
2021-12-29 14:05:10 +01:00
Vladimir Dvorak
9da926bdf0 JBR-4110 - disable UseEmptySlotsInSupers
dcevm instance transformation expects increasing field's offset when
fields of class are iterated. This ordering is no more valid if
UseEmptySlotsInSupers=true.
2021-12-27 12:36:28 +01:00
Vladimir Dvorak
b916bf4ef7 JBR-4125 - fix wrong addition of java.lang.Object as superclass 2021-12-27 12:36:18 +01:00
Dmitry Batrak
495e3f013c JBR-2907 [JCK] Font.equals(Font) returns false after serialization/deserialization
(cherry picked from commit 9cc82c39d9)
2021-12-27 12:16:15 +03:00
Vitaly Provodin
d07bd76482 exclude java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java on Wayland configs due to 8279256 2021-12-24 17:58:48 +07:00
Vitaly Provodin
4050e7a552 exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java on Scale2 configs due to 8279190 2021-12-24 17:58:34 +07:00
Vitaly Provodin
c35fc04bf9 exclude java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java due to 827361 2021-12-24 17:58:11 +07:00
Vitaly Provodin
3dec9908c9 add exclude list for Wayland failures 2021-12-24 17:57:09 +07:00
Vitaly Provodin
7ac92634f9 exclude javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation /JComboBoxPopupLocation.java on macOS due to 8194945 2021-12-24 17:57:09 +07:00
Vitaly Provodin
a8b7dae06f exclude sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java on windows due to 8144029 2021-12-24 17:57:09 +07:00
Andrew Leonard
71a2f4d6fb JBR-4062 8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
Reviewed-by: erikj
2021-12-24 10:44:54 +03:00
Andrew Leonard
4f3c1319de JBR-4043 8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
Reviewed-by: erikj
2021-12-24 10:37:28 +03:00
Aleksandr Veselov
ba8cdbab2b JBR-4141 Access Bridge: Wrong frame position and hit test result on HiDPI display
(cherry picked from commit 094719bd90)
2021-12-23 19:31:12 +03:00
Maxim Kartashev
60eb17210c JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The problem: the crashes occur in createStatusWindow() when calls like
adata->AwtColorMatch() end up going to 0x0 pc or some random inaccessible
memory. The only reason for that seems to be the
getDefaultConfig(screen) returning either NULL or garbage. That, in turn, probably
happens because of the wrong screen number provided. Before JBR-3623 was
fixed, awt_numScreens could've changed between the time the screen
number was chosen and the getDefaultConfig() call. After JBR-3623 was
fixed, this change is protected with the AWT lock, which this code
holds.
The fix: obtain the screen number via the Xlib API rather than the
ad-hoc loop though the root windows and return NULL if
getDefaultConfig() doesn't return useable data.

(cherry picked from commit 3d23e8d6a5)
2021-12-23 10:34:07 +03:00
Sergey Bylokhov
c9944f2428 JBR-4142 8275843: Random crashes while the UI code is executed
Reviewed-by: azvegint
(cherry picked from commit a9c1acbb8a)
2021-12-22 20:30:28 +03:00
Anton Tarasov
0750870b71 enable java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java in VO
because JBR-4042 was marked as fixed
actually the test does not crash runtime as it was described in JBR-4081
2021-12-22 04:32:16 +07:00
Dmitry Batrak
49523acab1 JBR-4131 Popup doesn't get focus if created from context menu
(cherry picked from commit 685562aafc)
2021-12-21 08:26:29 +03:00
Maxim Kartashev
df9156d5ff JBR-3923 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: kvn, neliasso
2021-12-20 14:25:03 +03:00
Maxim Kartashev
2db11b1bb8 Revert "JBR-3923 Internal Error in c1_Instruction.cpp"
This reverts commit 9d8433f220.
2021-12-20 13:32:21 +03:00
Vitaly Provodin
909474716a add exclude list for Scale2 test runs 2021-12-18 04:01:24 +07:00
Vitaly Provodin
f04b33438d exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java due to 8134231 2021-12-18 04:01:24 +07:00
Artem Semenov
5a329c4000 JBR-3775 Optimize the algorithm for obtaining tree elements 2021-12-16 18:09:02 +03:00
Vitaly Provodin
14923c6719 JBR-4053 integrate DCEVM patches as usual commits 2021-12-16 10:21:56 +07:00
Vladimir Dvorak
7fc2ee1bc2 JBR-4053 - Fix fastdebug compilation issue 2021-12-16 10:21:55 +07:00
Vladimir Dvorak
f41360553e 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).
2021-12-16 10:21:36 +07:00
Vladimir Dvorak
38ab8e7648 JBR-4018 - fix zero variant compilation issues 2021-12-16 10:21:33 +07:00
Vladimir Dvorak
aedea79dfc JBR-3867 - fix dcevm redefinition stops due the not updated weak oops
Dcevm must update also oops in weak storage using WeakProcessor. Oops
storage is new concept in java17.
2021-12-16 10:21:32 +07:00
Vladimir Dvorak
048fcd01d6 G1 fixes, code cleanup 2021-12-16 10:21:31 +07:00
Vladimir Dvorak
726466e32f 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.
2021-12-16 10:21:11 +07:00
Vladimir Dvorak
1faa9806fa Attempt to fix JBR-3887 2021-12-16 10:20:53 +07:00
Vladimir Dvorak
e729ba65ad JBR-3867 - fix msvc compilation issue with non const array on stack 2021-12-16 10:20:51 +07:00
Vladimir Dvorak
3af4462dab 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.
2021-12-16 10:20:49 +07:00
Vladimir Dvorak
e1662a8791 Remove duplicated lambdaFormInvokers.cpp 2021-12-16 10:20:37 +07:00
Vladimir Dvorak
687b19a7a6 Search for affected classes in all initialized classes in cld
Fix also case when lambda interface is redefined. Lambda class is
missing in cld dictionary since it is hidden since j17
2021-12-16 10:20:35 +07:00
Vladimir Dvorak
15fad5255c Fix, pass SystemDictionary::resolve_from_stream cl_info param 2021-12-16 10:20:34 +07:00
Vladimir Dvorak
adb27adeee Fix "implicit conversion of NULL constant to 'bool'" 2021-12-16 10:20:33 +07:00
Vladimir Dvorak
0b6bab2d97 Fix init_method_MemberName after Thread to JavaThread refactorization 2021-12-16 10:20:24 +07:00
Vladimir Dvorak
2ba1d60736 Fix dcevm issues related to refactorization of Thread to JavaThread 2021-12-16 10:20:23 +07:00
Vladimir Dvorak
b34b4e9ce2 Fix compilation issue
Fix compilation problems

Fix fastdebug compilation issues - cast_to_oop
2021-12-16 10:20:12 +07:00
Vladimir Dvorak
97e5abd8a1 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-12-16 10:20:10 +07:00
Vladimir Dvorak
9861d1cadf JBR-3458: Skip dynamic proxy classes based on com.sun.proxy 2021-12-16 10:20:01 +07:00
Vladimir Dvorak
8060e0ad45 Support for redefinition of Well Known classses (java.*,jdk.*, sun.*) 2021-12-16 10:19:44 +07:00
Vladimir Dvorak
938162b224 JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
2021-12-16 10:19:42 +07:00
Vladimir Dvorak
f591e82c0f Add ClassLoaderDataGraph_lock to define new class in enhanced
redefiniton

ClassLoaderDataGraph locking for introduced in redefinition in
java.version>11
2021-12-16 10:19:40 +07:00
Vladimir Dvorak
c1327f4088 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-12-16 10:19:38 +07:00
Vladimir Dvorak
c286eb044f 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
2021-12-16 10:19:22 +07:00
Vladimir Dvorak
7b94c10d08 Rename confusing method name old_if_redefined to old_if_redefining 2021-12-16 10:19:14 +07:00
Vladimir Dvorak
22c965de86 Fix crash on GrowableArray allocation in C_HEAP 2021-12-16 10:19:12 +07:00
Vladimir Dvorak
6059fd8cc2 dcevm17 - fix compilation issues 2021-12-16 10:19:10 +07:00
Vladimir Dvorak
6c6854823e Disable AllowEnhancedClassRedefinition in flight recorder 2021-12-16 10:19:09 +07:00
Vladimir Dvorak
8754d0a2ee Cleanup and review comments 2021-12-16 10:18:53 +07:00
Vladimir Dvorak
7e03d34536 dcevm15 - DON'T clear F2 in CP cache after indy unevolving
It's not clear why it was cleared in dcevm7-11
2021-12-16 10:18:39 +07:00
Vladimir Dvorak
4d2d5ce5fd dcevm15 - fix hidded classes 2021-12-16 10:18:38 +07:00
Vladimir Dvorak
3b177e381f dcevm15 - mark_as_scavengable only alive methods 2021-12-16 10:18:37 +07:00
Vladimir Dvorak
48fcbe09e0 dcevm15 - check if has_nestmate_access_to has newest host class 2021-12-16 10:18:34 +07:00
Vladimir Dvorak
76129891a0 dcevm15 - fix Universe::root_oops_do
Removed ClassLoaderDataGraph::cld_do was cause of crashes due multiple
oop patching. ClassLoaderDataGraph::cld_do replaced in dcevm15
previously used and removed SystemDictionary:oops_do
2021-12-16 10:18:17 +07:00
Vladimir Dvorak
b4c445c0ee dcevm15 - add ClassLoaderDataGraph_lock on
ClassLoaderDataGraph::classes_do

ClassLoaderDataGraph::classes_do and need safepoint or lock,
find_sorted_affected_classes is not in safepoint therefore it must be
locked
ClassLoaderDataGraph::rollback_redefinition need safepoint too
2021-12-16 10:18:06 +07:00
Vladimir Dvorak
a472902b34 dcevm15 - fix java15 compilation issues 2021-12-16 10:18:04 +07:00
Vladimir Dvorak
05e19f7515 Fix LoadedClassesClosure - fixes problems with remote debugging 2021-12-16 10:18:03 +07:00
Vladimir Dvorak
1991550ffb Clear dcevm code separation 2021-12-16 10:18:00 +07:00
Vladimir Dvorak
25e7585af8 Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution 2021-12-16 10:17:59 +07:00
Vladimir Dvorak
4559f38048 AllowEnhancedClassRedefinition is false (disabled) by default 2021-12-16 10:17:58 +07:00
Vladimir Dvorak
2fbb1b6bd6 Support for G1 gc 2021-12-16 10:17:56 +07:00
Vladimir Dvorak
2a4e3a76f7 Replace deleted method with Universe::throw_no_such_method_error
+ 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
2021-12-16 10:17:55 +07:00
Vladimir Dvorak
1593a19212 Fix "no original bytecode found" error if method with bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
n bytecode, but breakpoint position can still exist.
2021-12-16 10:17:54 +07:00
Vladimir Dvorak
3ef1406649 Support for Lambda class redefinition 2021-12-16 10:17:53 +07:00
Vladimir Dvorak
84e5be15b0 Fix class cast exception on redefinition of class A, that is superclass
of B that has anonymous class C
2021-12-16 10:17:52 +07:00
Vladimir Dvorak
89a7d096de dcevm11 fixes
1. We need to set classRedefinitionCount on new class, not old class.

2.Fix crashes in MetadataOnStackMark::~MetadataOnSta

MetadataOnStackMark should not remove dcevm stuff. It was added
accidentaly in dcevm9 and never was part of doit() in previous versions.

3. Fix problem with nested members

Reported at :
https://stackoverflow.com/questions/53370380/hotswapagent-incompatibleclasschangeerror-type-headerpanel1-is-not-a-nest-mem

4. Use init_mark_raw()

method changed since j8 - it used init_mark()

5. Fix methodHandles and fieldHandles

6. Code cleanup

7. Fix force_forward in dead space

8. Fix check_class

9. increment_class_counter() using orig dcevm code

Probably it is cause of SISEGV on:
_
VM_EnhancedRedefineClasses::redefine_single_class->java_mirror()

10 Fix 11.0.7 compilation issues

11. Refactor ClearCpoolCacheAndUnpatch

12. not nullable oop_store_not_null() method+handle NULL in mem_name in
dmh

13. Use INCLUDE_CDS condition on "UseSharedSpaces" block from master

14. Add codecache flush optimization, but just flush all cache.

15. Cleanup

16. Use original code for adjust_method_entries in standard redefinition

17. iterate old method version only in dcevm

18. Revert code for !AllowEnhancedClassRedefinition

19. Code cleanup

20. Activate cpCache definition asserts for !dcevm

21. Skip GC runs for redefinitions without instance size change

22. This is the 2nd commit message:

23. dcevm15 - Cleanup code related to removed CMS
2021-12-16 10:17:50 +07:00
Vladimir Dvorak
5f7206c99d Apply basic dcevm11 patch 2021-12-16 10:17:49 +07:00
Nikita Gubarkov
39b8999c95 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:44:41 +03:00
Dmitry Batrak
496733339a JBR-4117 HBShaper.c cleanup
(cherry picked from commit 09c2d5fd74)
2021-12-14 17:26:27 +03:00
Dmitry Batrak
1a19acfd57 JBR-4113 java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java fails by time out on macOS
(cherry picked from commit d8d4c55a61)
2021-12-14 17:26:21 +03:00
Anton Tarasov
12fe307afe JBR-4042 VO: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java - SIGBUS (0xa) at sun.lwawt.macosx.CAccessibility$9.call()Ljava/lang/Boolean;+4 java.desktop@17.0.1 2021-12-14 15:37:02 +07:00
Vitaly Provodin
c79f2b17cf JBR-3931 add the module jdk.unsupported.desktop into jbr
(cherry picked from commit 32def2fd42)
2021-12-14 04:42:02 +07:00
Alexey Ushakov
2c0601fbcd JBR-4111 [JBR17] Make possible to select files and directories independently
Implemented apple.awt.fileDialogForFiles property
2021-12-13 16:11:40 +01:00
Andrew Leonard
814ea9e8fb JBR-4062 8276766: Enable jar and jmod to produce deterministic timestamped content
Reviewed-by: ihse, lancea, alanb, jgneff
(cherry picked from commit db68a0ce1c)
2021-12-13 14:13:41 +03:00
Dmitry Batrak
50556747fe JBR-741 Modal dialog stays above other process windows.
(cherry picked from commit 755a231799)
2021-12-13 13:11:37 +03:00
Dmitry Batrak
27196ffcb2 JBR-4114 Rollback JBR-10 fix
(cherry picked from commit c785b3de0e)
2021-12-13 12:35:28 +03:00
Vitaly Provodin
a5c9a208ed enable fixed hotspot tests to regular runs 2021-12-11 08:24:07 +07:00
Leonid Mesnik
86b93a57af 8225313: serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatObjectCorrectnessTest.java failed with Unexpected high difference percentage
Reviewed-by: dholmes, kevinw

(cherry picked from commit 09e5321763)
2021-12-11 08:21:52 +07:00
Vitaly Provodin
c838f55dd9 enable fixed tests to regular runs 2021-12-11 06:52:53 +07:00
Alexander Zuev
8d188ad27f 8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
Reviewed-by: serb
(cherry picked from commit 4c3491bfa5)
2021-12-11 06:47:13 +07:00
Alexander Zuev
d87fc06c41 8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
Reviewed-by: serb
(cherry picked from commit 534f00510e)
2021-12-11 06:46:08 +07:00
Naoto Sato
b17c748949 7008363: TEST_BUG: test/java/lang/StringCoding/CheckEncodings.sh does nothing and is very slow at that
Reviewed-by: iris, lancea, bpb, whuang
(cherry picked from commit 8a3e0a1fc1)
2021-12-11 06:44:15 +07:00
Alexander Zvegintsev
03783189d0 8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos
Reviewed-by: pbansal, serb, psadhukhan, prr
(cherry picked from commit 46b5bfbc38)
2021-12-11 06:43:21 +07:00
Alisen Chung
05fbf8507c 8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
Reviewed-by: serb, kizune, prr
(cherry picked from commit d1e3ca4ee3)
2021-12-11 06:41:56 +07:00
Jayathirth D V
80de7efe15 8213120: java/awt/TextArea/AutoScrollOnSelectAndAppend/AutoScrollOnSelectAndAppend.java fails on mac10.13
Reviewed-by: psadhukhan

(cherry picked from commit 2f979ecb5b)
2021-12-11 06:40:20 +07:00
Alexander Zuev
6d1add0393 8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
Reviewed-by: serb

(cherry picked from commit b0a463fa59)
2021-12-11 06:39:03 +07:00
Jayathirth D V
f57241bcf8 8255898: Test java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java fails on Mac OS
Reviewed-by: prr, serb
(cherry picked from commit 947d52c4c3)
2021-12-11 06:36:28 +07:00
Alexander Zuev
3fca5bee90 8202667: java/awt/Debug/DumpOnKey/DumpOnKey.java times out on Windows
Reviewed-by: prr
(cherry picked from commit cd778f5b04)
2021-12-11 06:35:00 +07:00
Jayathirth D V
60330c9b3e 8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
Reviewed-by: psadhukhan
(cherry picked from commit dcd6e0da24)
2021-12-11 06:30:30 +07:00
Phil Race
4a16c3b8c8 8192931: Regression test java/awt/font/TextLayout/CombiningPerf.java fails
Reviewed-by: serb, jdv, kizune
(cherry picked from commit 54a29a4470)
2021-12-11 06:26:37 +07:00
Alexander Zvegintsev
2ece56c057 8196440: Regression automated Test 'java/awt/TrayIcon/PopupMenuLeakTest/PopupMenuLeakTest.java' fails
Reviewed-by: serb, psadhukhan
(cherry picked from commit f610ef0dbc)
2021-12-11 06:23:54 +07:00
Alexander Zuev
c3a506172b 8196017: java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java fails
Reviewed-by: serb
(cherry picked from commit b7104ba9a9)
2021-12-11 06:23:19 +07:00
Alexander Zvegintsev
c81d4030eb 6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
Reviewed-by: serb
(cherry picked from commit a1ec4f9618)
2021-12-11 06:21:28 +07:00
Alexander Zuev
32fb930e85 8168388: GetMousePositionTest fails with the message "Mouse position should not be null"
Reviewed-by: psadhukhan, serb
(cherry picked from commit 0c3eaea11c)
2021-12-11 06:18:53 +07:00
Pankaj Bansal
0ef1d9a4a9 8198626: java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html fails on mac
Reviewed-by: serb
(cherry picked from commit a60e91259b)
2021-12-11 06:18:21 +07:00
Vitaly Provodin
07ee0a2471 exclude javax/swing tests on mac-aarch64 due to 8277816 2021-12-11 05:48:20 +07:00
Aleksandr Veselov
c4cb87ff06 JBR-4107 A11y: macOS - wrong frame position if window is not on primary screen 2021-12-10 18:26:06 +03:00
Alexander Lobas
6b36a9227d JBR-3442 Native file dialog on OSX (for open file) doesn't allow pasting path
(cherry-picked from commit 7d8cc524ca)
2021-12-10 07:28:14 +07:00
Vitaly Provodin
83ca27f8b2 exclude javax/swing/border/TestTitledBorderLeak.java on windows due to 8213531 2021-12-10 05:23:35 +07:00
Maxim Kartashev
c539ca4ddf fixup! JBR-4061 Specify build user for the build
Specify build user via the environment variable rather than the
configure option because the latter isn't supported for OpenJDK17u.
2021-12-09 09:31:09 +03:00
Mandy Chung
51ec2c610e JBR-4062 8276650: GenGraphs does not produce deterministic output
Reviewed-by: iris
(cherry picked from commit e21b5c7b37)
2021-12-08 16:44:46 +03:00
Jaikiran Pai
2b8ee942e0 JBR-4062 8258117: jar tool sets the time stamp of module-info.class entries to the current time
Reviewed-by: lancea, ihse, alanb
(cherry picked from commit a81e4fc07b)
2021-12-08 16:31:20 +03:00
Andrew Leonard
9b17148ef4 JBR-4062 8276764: Enable deterministic file content ordering for Jar and Jmod
Reviewed-by: mchung, ihse
(cherry picked from commit 24e586a043)
2021-12-08 15:10:06 +03:00
Magnus Ihse Bursie
02289f478f JBR-4062 8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
Co-authored-by: Andrew Leonard <aleonard@openjdk.org>
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Reviewed-by: erikj
(cherry picked from commit c93552c8bb)
2021-12-08 14:55:59 +03:00
Vitaly Provodin
2f0eb2bba8 JBR-4067 fix misprint with applying obsolete exclude_jcef_module.patch 2021-12-08 15:17:32 +07:00
Vitaly Provodin
740bf2b3e5 JBR-3756 remove JNF from mac-aarch64 binaries 2021-12-08 15:17:32 +07:00
Denis Fokin
88d7361bd9 JBR-4038 [JBR17] Force Touch events are not supported on macOS
Added missing files and handlers from JBR11
2021-12-07 19:31:12 +01:00
Dmitry Batrak
87c6482c0e JBR-4084 Default font '. AppleSystemUIFont' does not have bold weight on Chinese characters
(cherry picked from commit 4fde082d53)
2021-12-06 19:22:24 +03:00
Maxim Kartashev
b2a9372d70 JBR-3899 SIGSEGV at [libjvm] _ZN23JfrNetworkInterfaceName11on_rotationEv
Prevent JfrNetworkInterfaceName::on_rotation() to dereference a
potentially NULL pointer.
2021-12-06 19:03:53 +03:00
Dmitry Batrak
d0d8a63e0b JBR-4072 Migrate font fallback implementation on macOS to cascade lists
(cherry picked from commit a155760e94)
2021-12-06 17:59:44 +03:00
Maxim Kartashev
09c200ccfd fixup! JBR-3833 ServerSocketChannel.open(StandardProtocolFamily.UNIX) fails with IAE with non-standard filesystems on JBR17
Windows implementation of PipeImpl (that is used in the
ServerSockerChannel implementation) probes for the availability of Unix
Domain Sockets by trying to bind to a unique temporary name.  That call
throws IAE when a non-default Java file system is installed while the
probing code (PipeImpl.createListener()) only expects
UnsupportedOperationException or IOException.

The fix is to re-throw UOE instead of IAE in
UnixDomainSockets.genrateTempName(). This is more consistent with the
definition of the excpetion purpose ("requested operation is not
supported"). So with this change, a loopback network socket will be used
to implement a pipe on a non-default Java file system. Also, pipes do
not rely on the default Java file system on other platforms (Linux,
MacOS) as well.
2021-12-06 11:44:54 +03:00
Vitaly Provodin
42a22e0cc4 JBR-4082 create JBR & JBRSDK installer packages 2021-12-06 05:16:12 +07:00
Artem Semenov
71d54051d2 JBR-4012 On Idea Vo often speeks selected element of tables, lists, and trees. 2021-12-03 13:57:07 +03:00
Alexey Ushakov
d4fc6bc380 JBR-4060 [JBR17+Metal] Flickering on button's shadow
Removed unnecessary global flag. Optimized mask cache texture clearing code.
2021-12-03 01:38:41 +01:00
Vitaly Provodin
1e1f71f907 exclude failing tests #198.2 cycle 2021-12-03 07:24:05 +07:00
Prasanta Sadhukhan
6d26c9353f 8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
Reviewed-by: jdv, serb

(cherry picked from commit 45adc9227a)
2021-12-03 07:24:05 +07:00
Alexander Zvegintsev
adabf8c677 8202932: java/awt/Component/NativeInLightShow/NativeInLightShow.java fails
Reviewed-by: serb
(cherry picked from commit 7cf68b1901)
2021-12-03 04:40:30 +07:00
Maxim Kartashev
5e0ec47ce9 JBR-4061 Specify build user for the build 2021-12-02 08:56:21 +03:00
Andrew Leonard
9ec9457d8b JBR-4062 8277762: Allow configuration of HOTSPOT_BUILD_USER
Reviewed-by: erikj
2021-12-02 08:29:16 +03:00
Maxim Kartashev
e1a1b6814d JBR-4063 macOS: update build scripts to produce more deterministic output
Make mkimages.sh produce more deterministic .tar.gz archives on MacOS.
NB: build notarization is not in the scope of this change.
2021-12-01 14:33:59 +03:00
Maxim Kartashev
944797005c JBR-4033 Linux: update build scripts to produce more deterministic output
This commits achieves almost the same build output with the same build
input on Linux. Exceptions are:
- class files timestamps differ in jrt-fs.jar (for all output),
- class files timestamps differ in all the jmod files (for
  jbrsdk...tar.gz).
NB: jbrsdk...test...tar.gz does not need to be deterministic.

This was achieved mainly by
- setting several environment variables (SOURCE_DATE_EPOCH, TZ),
- providing the necessary options to the configure script,
- setting the timestamp of all files that make up the resulting
  archive to SORUCE_DATE_EPOCH and normalizing the list of said
  files before archiving.
2021-12-01 14:33:59 +03:00
Ioi Lam
507f4d716a JBR-4032 8273092: Sort classlist in JDK image
NB: this commit has been adopted for version 17.

Reviewed-by: redestad, ihse, dfuchs
(based on commit 1996f649a3)
2021-12-01 14:33:59 +03:00
Ioi Lam
67c24c9b88 JBR-4032 8272113: Build compare script fails with differences in classlist
Reviewed-by: tschatzl, hseigel
(cherry picked from commit 272fcb423a)
2021-12-01 14:33:59 +03:00
Andrew Leonard
2ef4de692d JBR-4032 8276654: element-list order is non deterministic
Reviewed-by: ihse
(cherry picked from commit 14d66bd438)
2021-12-01 14:33:59 +03:00
Jaikiran Pai
f20b2dca0f JBR-4032 8231640: (prop) Canonical property storage
Reviewed-by: rriggs, smarks, dfuchs, ihse
(cherry picked from commit af50772d39)
2021-12-01 14:33:59 +03:00
Maxim Kartashev
0b9397cf4c JBR-4032 Correct reproducible builds documentation 2021-12-01 14:33:59 +03:00
Magnus Ihse Bursie
392cf1c31a JBR-4032 8275745: Reproducible copyright headers
Reviewed-by: ihse, erikj
(cherry picked from commit a0227965bb)
2021-12-01 14:33:59 +03:00
Magnus Ihse Bursie
b269750318 JBR-4032 8276746: Add section on reproducible builds in building.md
Reviewed-by: erikj, sgehwolf, aleonard
(cherry picked from commit 59c3dcc761)
2021-12-01 14:33:58 +03:00
Jaikiran Pai
0676b50884 JBR-4032 8275509: ModuleDescriptor.hashCode isn't reproducible across builds
Reviewed-by: alanb, ihse
(cherry picked from commit 396132ff1e)
2021-12-01 14:33:58 +03:00
Maxim Kartashev
4df6fbd251 JBR-4059 Create Dockerfile for building on AArch64 Linux 2021-12-01 08:27:52 +03:00
bobpengxie
006cd74964 8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
Reviewed-by: alanb, stuefe, rriggs
(cherry picked from commit 252aaa9249)
2021-11-30 09:19:46 +01:00
Alexey Ushakov
57289a0ad5 8272392 Lanai: SwingSet2. Black background on expanding tree node
Removed creation of the separate encoder depending on destination properties as we don't use this info to customize the encoder properties
Fixed incorrect addition of the values into pipeline state cache. Refactored index initialization. Removed unused flags from MTLClip.
2021-11-26 14:02:58 +01:00
Dmitry Batrak
4916d26f47 JBR-4021 Unexpected focus event order on window showing
(cherry picked from commit 2a398ebb24)
2021-11-24 09:47:53 +03:00
Nikita Gubarkov
2daed21814 JBR-4017 Open com.jetbrains.bootstrap package only for reflection 2021-11-23 11:22:08 +03:00
Ivan Lopatin
d99872c962 IDEA-229577: Marked i3wm as GravityBuggy 2021-11-22 21:21:05 +07:00
Maxim Kartashev
ae5963a094 JBR-4020 Test ObsoleteFlagErrorMessage fails after +IgnoreUnrecognizedVMOptions has become the default 2021-11-22 11:12:32 +03:00
Maxim Kartashev
9d8433f220 JBR-3923 Internal Error in c1_Instruction.cpp
Make C1 hotspot compiler bail out during CFG construction if there's a
cycle in the graph that isn't a natural loop and that has led to an
unexpected state of stack/locals like missing a phi function.

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

(cherry picked from commit aa0b61cb75)
2021-11-22 10:05:53 +03:00
Artem Semenov
2f4a7f66ab JBR-3868 Combobox list is not voiced of VoiceOver 2021-11-18 20:01:34 +03:00
Jayathirth D V
28289bcf00 JBR-3908 8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
Reviewed-by: ihse, kcr, erikj, prr
(cherry picked from commit 9a9a157a7d)
2021-11-17 04:25:27 +07:00
Dmitry Batrak
71597c1b0e JBR-4007 [JCK] javax.swing.text.GlyphView.calcBreakSpots method breaks public API
(cherry picked from commit 1002eff4f3)
2021-11-16 19:52:25 +03:00
Dmitry Batrak
80efac6e25 JBR-4006 [JCK] javax.swing.text.html.CSS$Attribute.OVERFLOW_WRAP field breaks public API
(cherry picked from commit f20a3d8679)
2021-11-16 19:21:32 +03:00
Dmitry Batrak
641688b88a JBR-4005 [JCK] java.awt.Font.LAYOUT_NO_PAIRED_CHARS_AT_SCRIPT_SPLIT field breaks public API
(cherry picked from commit 961e036158)
2021-11-16 16:44:50 +03:00
Vitaly Provodin
b6699ce7a2 update the link to JBR17 for IDEA 2021.3 EAP 2021-11-16 04:26:13 +07:00
Dmitry Batrak
cf7d0ecb1f JBR-3989 Broken focus state after a quick succession of activation/deactivation events on Windows
(cherry picked from commit cafb374afc)
2021-11-15 16:08:52 +03:00
Alexey Ushakov
93fe26f579 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 20:06:45 +01:00
Dmitry Batrak
f4ecc22b1b JBR-3979 Focus is not transferred to parent window
(cherry picked from commit 25e087d269)
2021-11-11 09:58:53 +03:00
Nikita Gubarkov
290f700127 JBR-3982 Fixed non-antialiased text rendering on macOS 2021-11-11 01:27:46 +03:00
Vitaly Provodin
acdb9fccbd update the link to JBR17 for IDEA 2021.3 EAP 2021-11-11 04:19:31 +07:00
Nikita Gubarkov
1e79cf4924 JBR-3976 fix emoji scaling on macOS 2021-11-10 15:49:48 +03:00
Nikita Gubarkov
00ce50d5d9 JBR-3957 Disable hinting when retrieving outline via freetype and fix negative bounds size for text rotated by 180 degrees. 2021-11-10 13:54:10 +03:00
Vitaly Provodin
17acd28d7c JBR-3937 Fix crashes in C1/C2 compilers &
G1 fixes, code cleanup &
JBR-3867 fix dcevm redefinition stops due the not updated weak oops
2021-11-10 06:54:16 +07:00
Nikita Gubarkov
c6f3522d16 fixup! JBR-2135 Use CoreText api to select the font with the most recent version 2021-11-09 14:11:59 +03:00
Nikita Gubarkov
8b35a7e88c JBR-2917 disable GDI rendering on Windows for colored fonts & select glyph rendering loop depending on actual glyph format instead of antialiasing mode
JBR-3951 Pass real glyph type from native code instead of guessing it by rowBytes & width
2021-11-09 14:11:58 +03:00
Pavel
6e15088b7e 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
(cherry picked from commit c0e26ff5d5)
2021-11-08 17:11:48 +03:00
Vitaly Provodin
3a0d06b873 update the link to JBR17 for IDEA 2021.3 EAP 2021-11-08 12:32:21 +07:00
Vitaly Provodin
531f97d905 JBR-3908 add MACOSX_VERSION_MAX parameter into cofnigure 2021-11-06 09:34:49 +07:00
Vitaly Provodin
32a8087610 exclude java/awt/Window/GetScreenLocation/GetScreenLocationTest.java & java/awt/image/multiresolution/MultiresolutionIconTest.java on linux-aarch64 2021-11-05 17:56:34 +07:00
Sergey Bylokhov
0cd0b7ff8e 8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Reviewed-by: pbansal, psadhukhan, azvegint
(cherry picked from commit 6cf70f5f08)
2021-11-05 09:04:41 +07:00
Vitaly Provodin
4bdaf472a8 exclude java/awt/Graphics2D/CopyAreaOOB.java on linux-all due to 7001973 2021-11-04 09:08:21 +07:00
Alexey Ushakov
8ba4251ad5 JBR-3952 [bkp JBR17] JBR-3924 CMD+Tilda does not switch app windows
Introduced vm property to disable capturing of next app window shortcut
2021-11-03 15:14:15 +01:00
Nikita Gubarkov
2d029761c2 fixup! JBR-2917 Added emoji support for Windows 2021-11-03 00:03:30 +03:00
Nikita Gubarkov
91a5488284 JBR-2917 Added emoji support for Windows 2021-11-02 21:48:21 +03:00
Nikita Gubarkov
49536a0988 JBR-3915 Fix comment about subpixel glyph resolution in freetype implementation 2021-11-02 21:48:12 +03:00
Ivan Lopatin
3641a3d262 JBR-3388: Fixed wrong graphic config in Component on primary display change 2021-11-01 23:19:21 +07:00
Nikita Gubarkov
c3c844caab fixup! JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (Windows, Linux) 2021-10-29 14:01:51 +03:00
Nikita Gubarkov
4165302aed JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (Windows, Linux) 2021-10-29 02:18:09 +03:00
Maxim Kartashev
d6600f1ccd JBR-3896 Abysmally slow input and UI performance since upgrade to IU-213.4928.7 from previous 2021.3 EAP version
The slowness was the result of XWM.getInsetsFromExtents() repeated
attempts to acquire frame extents from a property that under Sway is
simply unavailable. Each attempt added at least 20ms to every re-draw.

Prior to (repeatedly) checking for NET_FRAME_EXTENTS property of a
window, check that the property is supported by the window manager.

(cherry picked from commit b40cc1c791)
2021-10-28 19:35:33 +03:00
Phil Race
8c8728873a 8273358: macOS Monterey does not have the font Times needed by Serif
Backport-of: efe3ed1e70
(cherry picked from commit 75240a5872)
2021-10-28 11:45:06 +07:00
Christoph Langer
e4f6f6308c 8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
Backport-of: 4e18ec26dd
(cherry picked from commit 5e04e45271)
2021-10-28 11:45:06 +07:00
Abdul Kolarkunnu
db1699c5eb 8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
Backport-of: a199ebc017
(cherry picked from commit ff6a9382f5)
2021-10-28 11:45:05 +07:00
Abdul Kolarkunnu
e11878c0b8 8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
Backport-of: ed57cf1cf3
(cherry picked from commit 9248bd08cf)
2021-10-28 11:45:05 +07:00
David Holmes
b2d03d5cb9 8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
Backport-of: 7e518f42c9
(cherry picked from commit 671dab6154)
2021-10-28 11:45:04 +07:00
Phil Race
07afb903e6 8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
Backport-of: f681d6544a
(cherry picked from commit 71a6aae38d)
2021-10-28 11:45:04 +07:00
Sean Coffey
fc24e5fa7b 8270344: Session resumption errors
Backport-of: 04a806ec86
(cherry picked from commit 20d00ebaf7)
2021-10-28 11:45:03 +07:00
Aleksey Shipilev
56c82ffa44 8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
Backport-of: 7ac08161a8
(cherry picked from commit 37de147bea)
2021-10-28 11:45:03 +07:00
Jie Fu
9409bc69f7 8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
Backport-of: d007be0952
(cherry picked from commit 648f3f6a8f)
2021-10-28 11:45:02 +07:00
Christoph Langer
19f159ede7 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
(cherry picked from commit 9a7046d649)
2021-10-28 11:45:02 +07:00
David Holmes
81ff7dee0c 8272472: StackGuardPages test doesn't build with glibc 2.34
Backport-of: f77a1a156f
(cherry picked from commit bb7c412e25)
2021-10-28 11:45:01 +07:00
Thejasvi Voniadka
7f094b020e 8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
Backport-of: 4bd37c3153
(cherry picked from commit 567fdbf4b5)
2021-10-28 11:45:01 +07:00
Aleksey Shipilev
12bb636c5f 8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
Backport-of: 4f322a9b6c
(cherry picked from commit 7d6c3adef3)
2021-10-28 11:45:00 +07:00
Aleksey Shipilev
d4aa4cef24 8270094: Shenandoah: Provide human-readable labels for test configurations
Backport-of: 676f1d76ca
(cherry picked from commit 3c1023c1b9)
2021-10-28 11:45:00 +07:00
Aleksey Shipilev
a0582f582d 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
Backport-of: 23d2996fee
(cherry picked from commit 9554fba495)
2021-10-28 11:44:59 +07:00
Ravi Reddy
fed7797313 8265776: Improve Stream handling for SSL
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
(cherry picked from commit 0a08534703)
2021-10-28 11:44:59 +07:00
Joe Darcy
181652c300 8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
Backport-of: cf64c3e7e2
(cherry picked from commit 24e5c1a040)
2021-10-28 11:42:58 +07:00
Thejasvi Voniadka
0cf709a181 8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
Backport-of: d6bb846159
(cherry picked from commit 704e6b93aa)
2021-10-28 11:42:57 +07:00
Thejasvi Voniadka
a1de736544 8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
Backport-of: 45abbeed2f
(cherry picked from commit efeb10b5ca)
2021-10-28 11:42:57 +07:00
Harold Seigel
c4652d8ab4 8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
Backport-of: 4d6593ce02
(cherry picked from commit f0028333d8)
2021-10-28 11:42:56 +07:00
Tobias Hartmann
5ff1f7fae4 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
Backport-of: 5350b9901c
(cherry picked from commit 790d9a9fda)
2021-10-28 11:42:56 +07:00
Tobias Hartmann
5c5b3b032a 8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
Backport-of: 3f38a50c52
(cherry picked from commit 8a20dfe546)
2021-10-28 11:42:55 +07:00
Tobias Hartmann
3b52ea1aa3 8271276: C2: Wrong JVM state used for receiver null check
Backport-of: e8f1219d6f
(cherry picked from commit 66bd0d57ee)
2021-10-28 11:42:55 +07:00
Tobias Hartmann
ceef54ac0a 8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
Backport-of: 9856ace828
(cherry picked from commit 32f026ab74)
2021-10-28 11:42:54 +07:00
Tobias Hartmann
85b8bac5e1 8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
Backport-of: d53d94b14d
(cherry picked from commit 9489ab7b8b)
2021-10-28 11:42:54 +07:00
Tobias Hartmann
727fcd37a7 8268019: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 489e5fd12a
(cherry picked from commit 90341dbccd)
2021-10-28 11:42:53 +07:00
Tobias Hartmann
9a610ddc73 8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
Backport-of: 2384e12888
(cherry picked from commit 52c3e7dcf1)
2021-10-28 11:42:53 +07:00
Joe Darcy
f0c0b86f90 8261088: Repeatable annotations without @Target cannot have containers that target module declarations
Backport-of: 60c11fef00
(cherry picked from commit cb7e311dc6)
2021-10-28 11:42:52 +07:00
Severin Gehwolf
9a7c6bea31 8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
Backport-of: d38b31438d
(cherry picked from commit e506cb23cf)
2021-10-28 11:42:52 +07:00
Vladimir Kozlov
f9a9101f57 8271589: fatal error with variable shift count integer rotate operation.
Backport-of: 392fcc9df7
(cherry picked from commit 9c213825ae)
2021-10-28 11:42:51 +07:00
Sean Coffey
fb847c4826 8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
Backport-of: 5891fccf178797ef12e429637897d4149a7ae59a
(cherry picked from commit 7d799fe4e7)
2021-10-28 11:42:51 +07:00
Jamsheed Mohammed C M
80601bbc19 8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
Backport-of: 058379cdf91fd46793744a6bd7450c669f3bf787
(cherry picked from commit 5e8b87038b)
2021-10-28 11:42:50 +07:00
Evan Whelan
acd17c74c4 8267712: Better LDAP reference processing
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
(cherry picked from commit eac2c999f2)
2021-10-28 11:42:50 +07:00
Prajwal Kumaraswamy
462f3efa87 8263314: Enhance XML Dsig modes
Reviewed-by: coffeys, pkoppula
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
(cherry picked from commit c3bbf5bd28)
2021-10-28 11:42:49 +07:00
Prasadrao Koppula
08a4d41204 8266103: Better specified spec values
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
(cherry picked from commit 55c8adf6c6)
2021-10-28 11:42:49 +07:00
Prasadrao Koppula
126a349e06 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
(cherry picked from commit 2cb686567b)
2021-10-28 11:42:48 +07:00
Evgeny Astigeevich
1ba0d66607 8268427: Improve AlgorithmConstraints:checkAlgorithm performance
Backport-of: 3b83bc1bc3
(cherry picked from commit 456735f772)
2021-10-28 11:42:48 +07:00
Severin Gehwolf
0ac93f103b 8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
Backport-of: 25f00d787c
(cherry picked from commit 02ea80a6f0)
2021-10-28 11:42:47 +07:00
Christoph Langer
34095d9e40 8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
Reviewed-by: aph
Backport-of: 3d090e7ee5
(cherry picked from commit 9175a8d217)
2021-10-28 11:42:47 +07:00
Jamsheed Mohammed C M
6164766ac8 8269624: Enhance method selection support
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
(cherry picked from commit c38902db6b)
2021-10-28 11:42:46 +07:00
Richard Reingruber
d45fb152cd 8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
Backport-of: 72530ef666
(cherry picked from commit a575f5c090)
2021-10-28 11:42:46 +07:00
Vladimir Kozlov
0eb220c53f 8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
Backport-of: 4ed548b3ee
(cherry picked from commit de808a5e92)
2021-10-28 11:42:45 +07:00
Rajan Halade
c70fb9a9f0 8225082: Remove IdenTrust certificate that is expiring in September 2021
Backport-of: 2ec45dc2dd
(cherry picked from commit 9b97129e8c)
2021-10-28 11:42:44 +07:00
Harold Seigel
5b5a1ec040 8270398: Enhance canonicalization
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
(cherry picked from commit fc8f959e6b)
2021-10-28 11:39:57 +07:00
Harold Seigel
042e9bde60 8270404: Better canonicalization
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
(cherry picked from commit b6003a87e4)
2021-10-28 11:39:56 +07:00
Christoph Langer
983c12795d 8267666: Add option to jcmd GC.heap_dump to use existing file
Backport-of: 7cbb67a3f8
(cherry picked from commit 9b6aa5304c)
2021-10-28 11:39:55 +07:00
Christoph Langer
94b02105aa 8263531: Remove unused buffer int
Backport-of: ca806ef319
(cherry picked from commit 00ffb8f1b9)
2021-10-28 11:39:55 +07:00
Prasanta Sadhukhan
665dc9f72c 8269763: The JEditorPane is blank after JDK-8265167
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
(cherry picked from commit da18f64548)
2021-10-28 11:39:54 +07:00
Prasanta Sadhukhan
e4a5f15a17 8265580: Enhanced style for RTF kit
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
(cherry picked from commit 4fa8b8fd54)
2021-10-28 11:39:53 +07:00
Prasanta Sadhukhan
5e4c9fa497 8265574: Improve handling of sheets
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
(cherry picked from commit 4fcc43dce7)
2021-10-28 11:39:53 +07:00
Prajwal Kumaraswamy
3b442f1387 8266115: More Manifest Jar Loading
Reviewed-by: coffeys, weijun
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
(cherry picked from commit 78cb6a1e6c)
2021-10-28 11:39:52 +07:00
Jamil Nimeh
2bc5573c0d 8268199: Correct certificate requests
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
(cherry picked from commit da5e349088)
2021-10-28 11:39:52 +07:00
Hai-May Chao
97fe70e623 8268500: Better specified ParameterSpecs
Backport-of: 04ba2a665d4f2af34ed7896e2f1b2b5f9cdf31a4
(cherry picked from commit 82d44a79de)
2021-10-28 11:39:51 +07:00
Jamil Nimeh
4bf5b250e8 8268193: Improve requests of certificates
Reviewed-by: ascarpino
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
(cherry picked from commit 33cd383a96)
2021-10-28 11:39:50 +07:00
Xue-Lei Andrew Fan
6a6b306d4b 8268205: Enhance DTLS client handshake
Reviewed-by: jnimeh
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
(cherry picked from commit 5adbf765a2)
2021-10-28 11:39:50 +07:00
Xue-Lei Andrew Fan
d1f850624e 8269618: Better session identification
Reviewed-by: jnimeh
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
(cherry picked from commit cf73d51d77)
2021-10-28 11:39:49 +07:00
Kiran Sidhartha Ravikumar
f3fdcb0714 8268506: More Manifest Digests
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
(cherry picked from commit b3054c8168)
2021-10-28 11:39:49 +07:00
pavel_kharskii
4880125640 8269297: Bump version numbers for JDK 17.0.1
Reviewed-by: robm, erikj
(cherry picked from commit 040f1053aa)
2021-10-28 11:39:48 +07:00
Jayathirth D V
0c68210497 8267735: Better BMP support
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
(cherry picked from commit b24dff5fef)
2021-10-28 11:39:47 +07:00
Weijun Wang
7541d7b433 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
(cherry picked from commit 87b5f1bd82)
2021-10-28 11:39:47 +07:00
Prajwal Kumaraswamy
5927fc769b 8266137: Improve Keystore integrity
Reviewed-by: coffeys, hchao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
(cherry picked from commit 0102000658)
2021-10-28 11:39:46 +07:00
Julia Boes
8236ede496 8266097: Better hashing support
Reviewed-by: chegar, dfuchs, ahgross, smarks, rhalade
(cherry picked from commit 8f31f0d343)
2021-10-28 11:39:45 +07:00
Weijun Wang
d67378295f 8266109: More Resilient Classloading
Reviewed-by: rhalade
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
(cherry picked from commit 4b289d6ab5)
2021-10-28 11:39:45 +07:00
Xue-Lei Andrew Fan
7d0ad85c28 8267729: Improve TLS client handshaking
Reviewed-by: jnimeh, ahgross, rhalade
(cherry picked from commit 80dd63d0d7)
2021-10-28 11:39:44 +07:00
Prasanta Sadhukhan
9b692eeaf0 8265167: Richer Text Editors
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
(cherry picked from commit 3888c76ac3)
2021-10-28 11:39:44 +07:00
Maxim Kartashev
3a15dfad37 JBR-3623 SIGSEGV at [libawt_xawt] Java_sun_awt_X11GraphicsDevice_getConfigColormap
This fix addresses two possible causes of crashes:
1. makeDefaultConfig() returning NULL. The fix is to die gracefully
instead of crashing in an attempt to de-reference the NULL pointer.

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

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

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

(cherry picked from commit 0b53cd291f)
2021-10-27 11:35:11 +03:00
Nikita Gubarkov
b3ce2ef163 JBR-3915 Render glyph multiple times instead of downscaling when subpixel resolution is enabled to preserve hinting (macOS) 2021-10-27 02:14:15 +03:00
Maxim Kartashev
4517168648 JBR-3916 Deadlock in pGetBounds() on Linux
The deadlock occurred because one thread was holding the AWT lock and
waiting for boundsCacheLock in resetBoundsCache() and the other vice
versa stuck in pGetBounds() owning boundsCacheLock and waiting for the
AWT lock.

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

(cherry picked from commit dc6ad31524)
2021-10-26 18:31:58 +03:00
Vitaly Provodin
3bae514df5 JBR-3905 add incremental JBR building 2021-10-24 08:53:21 +07:00
Vitaly Provodin
68cfc784e7 JBR-3904 fix the image directory name of macos builds 2021-10-24 07:16:55 +07:00
Anton Tarasov
4bc0b1e833 include a11y test into regular runs after fixing JBR-3730 & JBR-3733 2021-10-23 08:31:12 +07:00
Vitaly Provodin
a87d48867a JBR-3902 create jbr_all test group 2021-10-23 08:28:25 +07:00
Vitaly Provodin
de10f3a55e port dcevm fixes for JBR-3867 and JBR-3887
JBR-3867 update keys of jvmti TAG map after redefinition

JBR-3887 fix M1 dcevm SIGBUS crash by using correct var arg processing
2021-10-23 04:52:26 +07:00
Vitaly Provodin
18e1552b9d 8267887 exclude javax/management/remote/mandatory/connection/RMIConnector_NPETest.java 2021-10-22 19:32:10 +07:00
Thejasvi Voniadka
7714eca9e2 8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error
Backport-of: f4b3ee5dca
(cherry picked from commit e9fd4b9fc4)
2021-10-22 19:32:10 +07:00
Alexander Zuev
5b559a8764 8269269: [macos11] SystemIconTest fails with ClassCastException
Reviewed-by: jdv
(cherry picked from commit eab959cbfa)
2021-10-22 19:32:09 +07:00
Thomas Schatzl
34b306300d 8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
Reviewed-by: kbarrett, iwalulya, ayang

(cherry-picked from commit ee0247f056)
2021-10-22 19:32:09 +07:00
Alexander Lobas
0cf6d2da8d JBR-2893 Big Sur: Add support of opening project as tabs IDEA-257932 Big Sur: IDEA hangs after closing a project tab after exiting and entering full screen
Converted JNF to JNIUtilites

(cherry picked from commit f02e31a440)
(cherry-picked from commit a84736ebcc)
2021-10-21 14:10:37 +02:00
Artem Semenov
67ab7032c8 JBR-3881 8271071: accessibility of a table on macOS lacks cell navigation
Reviewed-by: ant, kizune, pbansal
2021-10-18 11:06:11 +07:00
Alexey Ushakov
cd4ef878a0 JBR-3843 IDE text is misaligned vertically when using Consolas font
Use usWinAscent/usWinDescent for metrics on Windows
2021-10-14 18:58:52 +02:00
Alexey Ushakov
5b43a3aef3 JBR-3872 [JBR17+Metal] Wrong color for scrollbars and inlay hints
Corrected typo in setTxtUniforms and fixed alpha blending in frag_gmc_text shader
2021-10-14 18:58:52 +02:00
Nikita Gubarkov
ce2a99a6ec JBR-3876 Changed visibility of FontUtilities#getSubpixelResolution and FontUtilities#subpixelResolution to package-private 2021-10-14 14:41:29 +03:00
Matthias Baesken
882d1064e7 JBR-3874 8274840: Update OS detection code to recognize Windows 11
Co-authored-by: Arno Zeller <arno.zeller@sap.com>
Reviewed-by: clanger, dholmes
(cherry picked from commit 51a590b2e8)
2021-10-14 15:47:51 +07:00
Nikita Gubarkov
45ca486b96 Fixed text spacing on macOS 2021-10-14 07:09:20 +03:00
Vitaly Provodin
a3bfa02ec0 move the script comparing performance results from jdk8u_test 2021-10-14 09:23:35 +07:00
Vitaly Provodin
a9ed023347 JBR-3167 exclude java/awt/Frame/HugeFrame/HugeFrame.java & sun/java2d/ClassCastExceptionForInvalidSurface.java crashing GNOME on Ubuntu-21.04 2021-10-13 10:00:52 +07:00
Maxim Kartashev
92c7e3a9c3 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.

(cherry picked from commit fb12f6d7f1)
2021-10-12 00:59:17 -07:00
Vitaly Provodin
e1724ac304 exclude image/multiresolution/MultiresolutionIconTest.java and Window/GetScreenLocation/GetScreenLocationTest.java failing on linux 2021-10-10 05:50:35 +07:00
Nikita Gubarkov
51bb3ddb2f Fixed JBR API JTreg tests 2021-10-09 19:26:37 +03:00
Nikita Provotorov
10c7694d60 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 18:09:50 +07:00
Maxim Kartashev
59ea9d809d JBR-3833 ServerSocketChannel.open(StandardProtocolFamily.UNIX) fails with IAE with non-standard filesystems on JBR17
Lazy-initialize the static member UNNAMED of UnixDomainSockets so that this
initialization doesn't throw unless actually used. This is only
necessary when using a non-default file system.
2021-10-05 16:00:27 +03:00
Alexey Ushakov
ab146e18bd JBR-3740 JBR17: Font metrics problem in text fields
Aligned code with openjdk (JDK-8263583)
2021-10-05 13:45:03 +02:00
Nikita Gubarkov
0ca9b169b0 Added JBR API 2021-10-05 02:21:20 +03:00
Maxim Kartashev
289f756f70 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.
2021-10-04 12:15:04 -07:00
Nikita Provotorov
ba84093c7d JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut.
Add regression test.

(cherry picked from commit 8df43eef4b)
2021-10-03 13:24:39 +07:00
Vitaly Provodin
46702cad3c fix name for -windows-test-x64 tarball 2021-10-03 05:44:17 +07:00
Artem Semenov
ac8ffa0ba7 8274381: missing CAccessibility definitions in JNI code
Reviewed-by: pbansal, ant, kizune
2021-10-02 08:55:36 +07:00
Alexey Ushakov
fae062d45f JBR-3820 Gamma correction for grayscale text in Metal rendering pipeline
Implemented gamma correction using the same approach that we did for OGL grayscale text rendering (OGLTextRenderer.c). Applied some optimisations to shader code.
2021-10-01 14:11:10 +02:00
Artem Semenov
0e87047b7e 8274383: JNI call of getAccessibleSelection on a wrong thread
Reviewed-by: kizune, ant
2021-09-30 16:17:18 +07:00
Vitaly Provodin
0106ef8fef add the link to the latest JBR release 2021-09-29 11:27:53 +07:00
Vitaly Provodin
a69031c54b a11y: exclude tests crashing JBR in the runs with enabled Voice Over 2021-09-29 05:49:39 +07:00
Nikita Gubarkov
8b96b1e115 Remove old JBR API 2021-09-29 00:04:48 +03:00
Maxim Kartashev
48186ebbfb JBR-3813 Regression after fix for JBR-3688
1. Cached bounds and insets must be cloned before return because they
aren't immutable objects.
2. Fixed the deadlock in resetBoundsCache() by synchronizing on a dedicated
lock.

(cherry picked from commit cd5314db8b)
2021-09-27 11:53:08 -07:00
Maxim Kartashev
6877bb6cd1 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(),
- removed unnecessary type cast that caused a compilation warning.

Added a test for walking a directory with a non-latin name.

(cherry picked from commit 152a4e886d)
2021-09-24 16:50:53 +03:00
Lance Andersen
aab6c2301d 8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
Reviewed-by: alanb, bpb, sgehwolf

(Cherry-picked from 161fdb4afb)
(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)
2021-09-24 16:50:53 +03:00
Renaud Paquay
8b63dd1c22 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)

(cherry picked from commit 6d1c3f06c4)
2021-09-24 16:50:53 +03:00
Renaud Paquay
9baaee86b0 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)

(cherry picked from commit 7c2d7541ba)
2021-09-24 16:50:53 +03:00
Artem Semenov
9e0ff20be5 8274056: JavaAccessibilityUtilities leaks JNI objects
Reviewed-by: aivanov, ant
2021-09-24 16:07:18 +07:00
Roger Riggs
f51e55a20f 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:09:10 +03:00
Dmitry Batrak
e68d154a63 JBR-3799 Broken input of supplementary plane Unicode characters on macOS
apply upstream fix (JDK-8272602)

(cherry picked from commit 7d915be754)
2021-09-22 15:20:21 +03:00
Dmitry
b526f948ff JBR-3793 Accept unrecognized options and make them available in Java
This patch:

- Change default behavior to ignore unrecognized options (+IgnoreUnrecognizedVMOptions)

- Store all ignored values to: "java.vm.unrecognized.options" as "+BogusOption01 +BogusOption02" (space separated), see testcase

- Explicitly set -IgnoreUnrecognizedVMOptions for couple of tests, that rely on default behavior
2021-09-21 18:47:56 +03:00
Dmitry Batrak
fdbb6f02b8 improve the stability of TypeaheadRequestFocusTest
it failed sometimes under MATE desktop environment on Linux

(cherry picked from commit 37901295e1)
2021-09-21 13:04:10 +03:00
Ivan Migalev
6743f36c32 JBR-3785: don't touch the active keyboard layout on input method activation / deactivation.
origin PR: github.com/JetBrains/JetBrainsRuntime/pull/78.

(cherry picked from commit 2f772fd1a2)
2021-09-21 09:45:55 +01:00
Vitaly Provodin
f706b93717 exclude tests failing due to JDK-8253184 2021-09-21 12:04:20 +07:00
Dmitry Batrak
6f046e9f68 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

(cherry picked from commit ad1595b5c2)
2021-09-20 18:21:26 +03:00
Dmitry Batrak
bac641fe77 JBR-3786 javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on MacOS by timeout
(cherry picked from commit f5c5388fb5)
2021-09-20 17:27:07 +03:00
Dmitry Batrak
8dfcb3fd5a JBR-3779 Unexpected Alt+Tab behaviour for Java frames on Cinnamon DE
(cherry picked from commit 0bf13985d5)
2021-09-20 12:27:42 +03:00
Maxim Kartashev
ef651ca1bb 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.

Based on commit accef6f21e.
2021-09-20 10:55:38 +03:00
Maxim Kartashev
3092ca0461 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.
2021-09-16 09:19:54 +03:00
Dmitry Batrak
3caa06a639 JBR-3726 Modal windows 'disappear' on minimize in KDE
revert changes not needed anymore

(cherry picked from commit f0ed32fca4)
2021-09-14 18:41:53 +03:00
Dmitry Batrak
6c50ed6690 JBR-3726 Modal windows 'disappear' on minimize in KDE
re-implement the fix without using _NET_WM_STATE_MODAL - it causes other issues

(cherry picked from commit 5c4fd9ceaf)
2021-09-14 18:41:45 +03:00
Nikita Gubarkov
805a5b4f75 Add ExtendedGlyphCache and remove SampleJBRApi from JBR API 2021-09-13 16:47:25 +03:00
Artem Semenov
efabfd0370 8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
8264287: Create implementation for NSAccessibilityComboBox protocol peer
8264303: Create implementation for NSAccessibilityTabGroup protocol peer
8264292: Create implementation for NSAccessibilityList protocol peer
8267387: Create implementation for NSAccessibilityOutline protocol
8267388: Create implementation for NSAccessibilityTable protocol
8264286: Create implementation for NSAccessibilityColumn protocol peer
8264298: Create implementation for NSAccessibilityRow protocol peer
8264291: Create implementation for NSAccessibilityCell protocol peer

Reviewed-by: kizune, pbansal, serb
2021-09-11 06:08:56 +07:00
Dmitry Batrak
f757a39090 JBR-3504 a11y focus is set on the wrong element when opening popups
(cherry-picked from commit a69e12e0d2)
2021-09-10 17:49:14 +03:00
Dmitry Batrak
1039653b97 JBR-3726 Modal windows 'disappear' on minimize in KDE
restrict change to KDE only, as it causes problems on GNOME (JBR-3750)

(cherry picked from commit 9c2841028f)
2021-09-10 17:49:09 +03:00
Maxim Kartashev
65fa801231 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-10 12:35:45 +03:00
Nikita Gubarkov
3d9ae4dbe8 JBR-3638 Adjust subpixel glyph positions for correct rounding in CStrike#getGlyphImageBounds 2021-09-08 04:23:24 +03:00
Maxim Kartashev
ef8e01b0d4 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.

(based on commit 13a904ddb5)
2021-09-07 15:02:17 +03:00
Alexey Ushakov
eaa9c1618e JBR-3727 JBR17-Metal: Flickering on tooltip appearance
Used setOpaque() method to set correct background of platform window
2021-09-03 15:14:58 +02:00
Maxim Kartashev
ee3c7edd84 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.

(based on commit 792a58ea0e)
(based on commit 770b4dc9c1)
2021-09-01 23:02:37 -07:00
Dmitry Batrak
8a19c38728 JBR-3726 Modal windows 'disappear' on minimize in KDE
(cherry picked from commit d9baf2d9db)
2021-09-01 16:19:38 +03:00
Maxim Kartashev
4fcd80acf0 JBR-3712 Add project creation instructions to JBR README 2021-08-31 14:21:38 +03:00
Maxim Kartashev
6f5dd836de 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 13:12:36 +03:00
Maxim Kartashev
2ff21b425e 8267307: Introduce new client property for XAWT: xawt.mwm_decor_title
Reviewed-by: azvegint, serb

(AKA JBR-3416 Introduce new client property for Linux: xawt.mwm_decor_title)
2021-08-30 06:50:11 -07:00
5288 changed files with 331749 additions and 125464 deletions

46
.github/actions/config/action.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Config'
description: 'Read JDK Configuration Variables'
inputs:
var:
description: 'The name of the variable to read'
required: true
outputs:
value:
description: 'The value of the configuration variable'
value: ${{ steps.read-config.outputs.value }}
runs:
using: composite
steps:
- name: 'Read configuration variable from repo'
id: read-config
run: |
# Extract value from configuration file
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "value=$value" >> $GITHUB_OUTPUT
shell: bash

80
.github/actions/do-build/action.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Do build'
description: 'Build the JDK using make'
inputs:
make-target:
description: 'Make target(s)'
required: true
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Build'
id: build
run: >
make LOG=info ${{ inputs.make-target }}
|| bash ./.github/scripts/gen-build-failure-report.sh "$GITHUB_STEP_SUMMARY"
shell: bash
- name: 'Check for failure'
id: check
run: |
# Check for failure marker file
build_dir="$(ls -d build/*)"
if [[ -e $build_dir/build-failure ]]; then
# Collect relevant log files
mkdir failure-logs
cp \
$build_dir/spec.gmk \
$build_dir/build.log \
$build_dir/configure.log \
$build_dir/make-support/failure-summary.log \
$build_dir/make-support/failure-logs/* \
failure-logs/ 2> /dev/null || true
echo 'failure=true' >> $GITHUB_OUTPUT
fi
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v3
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
if: steps.check.outputs.failure == 'true'
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v6
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

109
.github/actions/get-bootjdk/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get BootJDK'
description: 'Download the BootJDK from cache or source location'
inputs:
platform:
description: 'Platform'
required: true
outputs:
path:
description: 'Path to the installed BootJDK'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Determine platform prefix'
id: platform-prefix
run: |
# Convert platform name to upper case
platform_prefix="$(echo ${{ inputs.platform }} | tr [a-z-] [A-Z_])"
echo "value=$platform_prefix" >> $GITHUB_OUTPUT
shell: bash
- name: 'Get URL configuration'
id: url
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_URL
- name: 'Get SHA256 configuration'
id: sha256
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_SHA256
- name: 'Get file extension configuration'
id: ext
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_EXT
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v3
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}
# macOS is missing sha256sum
- name: 'Install sha256sum'
run: |
# Run Homebrew installation
brew install coreutils
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true' && runner.os == 'macOS'
- name: 'Download BootJDK'
run: |
# Download BootJDK and verify checksum
mkdir -p bootjdk/jdk
mkdir -p bootjdk/unpacked
wget --progress=dot:mega -O bootjdk/jdk.${{ steps.ext.outputs.value }} '${{ steps.url.outputs.value }}'
echo '${{ steps.sha256.outputs.value }} bootjdk/jdk.${{ steps.ext.outputs.value }}' | sha256sum -c >/dev/null -
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Unpack BootJDK'
run: |
# Unpack the BootJDK and move files to a common location
if [[ '${{ steps.ext.outputs.value }}' == 'tar.gz' ]]; then
tar -xf bootjdk/jdk.${{ steps.ext.outputs.value }} -C bootjdk/unpacked
else
unzip -q bootjdk/jdk.${{ steps.ext.outputs.value }} -d bootjdk/unpacked
fi
jdk_root="$(dirname $(find bootjdk/unpacked -name bin -type d))"
mv "$jdk_root"/* bootjdk/jdk/
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Export path to where BootJDK is installed'
id: path-name
run: |
# Export the path
echo 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
shell: bash

109
.github/actions/get-bundles/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get bundles'
description: 'Download resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
outputs:
jdk-path:
description: 'Path to the installed JDK bundle'
value: ${{ steps.path-name.outputs.jdk }}
symbols-path:
description: 'Path to the installed symbols bundle'
value: ${{ steps.path-name.outputs.symbols }}
tests-path:
description: 'Path to the installed tests bundle'
value: ${{ steps.path-name.outputs.tests }}
runs:
using: composite
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
if: steps.download-bundles.outcome == 'failure'
- name: 'Unpack bundles'
run: |
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
unzip -q bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip -d bundles/jdk
fi
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
tar -xf bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/jdk
fi
if [[ -e bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking symbols bundle...'
mkdir -p bundles/symbols
tar -xf bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/symbols
fi
if [[ -e bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking tests bundle...'
mkdir -p bundles/tests
tar -xf bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/tests
fi
shell: bash
- name: 'Export paths to where bundles are installed'
id: path-name
run: |
# Export the paths
jdk_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/jdk -name bin -type d))"
symbols_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/symbols -name bin -type d))"
tests_dir="$GITHUB_WORKSPACE/bundles/tests"
if [[ '${{ runner.os }}' == 'Windows' ]]; then
jdk_dir="$(cygpath $jdk_dir)"
symbols_dir="$(cygpath $symbols_dir)"
tests_dir="$(cygpath $tests_dir)"
fi
echo "jdk=$jdk_dir" >> $GITHUB_OUTPUT
echo "symbols=$symbols_dir" >> $GITHUB_OUTPUT
echo "tests=$tests_dir" >> $GITHUB_OUTPUT
shell: bash

54
.github/actions/get-gtest/action.yml vendored Normal file
View File

@@ -0,0 +1,54 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get GTest'
description: 'Download GTest source'
outputs:
path:
description: 'Path to the installed GTest'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get GTest version configuration'
id: version
uses: ./.github/actions/config
with:
var: GTEST_VERSION
- name: 'Checkout GTest source'
uses: actions/checkout@v3
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'
path: gtest
- name: 'Export path to where GTest is installed'
id: path-name
run: |
# Export the path
echo 'path=gtest' >> $GITHUB_OUTPUT
shell: bash

72
.github/actions/get-jtreg/action.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get JTReg'
description: 'Download JTReg from cache or source location'
outputs:
path:
description: 'Path to the installed JTReg'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get JTReg version configuration'
id: version
uses: ./.github/actions/config
with:
var: JTREG_VERSION
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v3
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v3
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
path: jtreg/src
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_11_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
shell: bash
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Export path to where JTReg is installed'
id: path-name
run: |
# Export the path
echo 'path=jtreg/installed' >> $GITHUB_OUTPUT
shell: bash

44
.github/actions/get-msys2/action.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get MSYS2'
description: 'Download MSYS2 and prepare a Windows host'
runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: msys2
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
echo "$env:GITHUB_WORKSPACE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
shell: pwsh

View File

@@ -0,0 +1,77 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Upload bundles'
description: 'Upload resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Determine bundle names'
id: bundles
run: |
# Rename bundles to consistent names
jdk_bundle_zip="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
jdk_bundle_tar_gz="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
symbols_bundle="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}-symbols.tar.gz 2> /dev/null || true)"
tests_bundle="$(ls build/*/bundles/jdk-*_bin-tests${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
mkdir bundles
if [[ "$jdk_bundle_zip" != "" ]]; then
mv "$jdk_bundle_zip" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip"
fi
if [[ "$jdk_bundle_tar_gz" != "" ]]; then
mv "$jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$symbols_bundle" != "" ]]; then
mv "$symbols_bundle" "bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$tests_bundle" != "" ]]; then
mv "$tests_bundle" "bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle" != "" ]]; then
echo 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo 'bundles-found=false' >> $GITHUB_OUTPUT
fi
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
retention-days: 1
if: steps.bundles.outputs.bundles-found == 'true'

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 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
@@ -24,34 +24,28 @@
# questions.
#
. config.sh
GITHUB_STEP_SUMMARY="$1"
BUILD_DIR="$(ls -d build/*)"
Log false "Building Vector API tests, $(date)\n"
# For each type
for type in byte short int long float double
do
Type="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}"
# For each size
for bits in 64 128 256 512
do
vectorteststype=${typeprefix}${Type}${bits}VectorTests
# Compile
Log true "Compiling ${vectorteststype}... "
Log false "\n${JAVAC} -cp \"${VECTORTESTS_HOME_CP}$SEPARATOR${TESTNG_JAR}\" --add-modules=jdk.incubator.vector $vectorteststype.java 2>&1"
compilation=$(${JAVAC} -cp "${VECTORTESTS_HOME_CP}$SEPARATOR${TESTNG_JAR}" \
--add-modules=jdk.incubator.vector $vectorteststype.java 2>&1)
if [[ $compilation == *"error"* ]]; then
Log true "$compilation\n"
exit -1
else
Log false "$compilation\n"
fi
Log true "done\n"
done
done
rm -fr build
# Send signal to the do-build action that we failed
touch "$BUILD_DIR/build-failure"
(
echo '### :boom: Build failure summary'
echo ''
echo 'The build failed. Here follows the failure summary from the build.'
echo '<details><summary><b>View build failure summary</b></summary>'
echo ''
echo '```'
if [[ -f "$BUILD_DIR/make-support/failure-summary.log" ]]; then
cat "$BUILD_DIR/make-support/failure-summary.log"
else
echo "Failure summary ($BUILD_DIR/make-support/failure-summary.log) not found"
fi
echo '```'
echo '</details>'
echo ''
echo ''
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
) >> $GITHUB_STEP_SUMMARY

92
.github/scripts/gen-test-results.sh vendored Normal file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
report_dir=build/run-test-prebuilt/test-support/$test_suite_name
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# If we have nothing to report, exit this step now
exit 0
fi
echo "### Test output for failed tests" >> $GITHUB_STEP_SUMMARY
for test in $failures $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
base_path="$(echo "$test" | tr '#' '_')"
report_file="$report_dir/$base_path.jtr"
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
echo "#### <a id="$anchor">$test"
echo '<details><summary>View test results</summary>'
echo ''
echo '```'
if [[ -f "$report_file" ]]; then
cat "$report_file"
else
echo "Error: Result file $report_file not found"
fi
echo '```'
echo '</details>'
echo ''
if [[ "$hs_err_files" != "" ]]; then
echo '<details><summary>View HotSpot error log</summary>'
echo ''
for hs_err in $hs_err_files; do
echo '```'
echo "$hs_err:"
echo ''
cat "$hs_err"
echo '```'
done
echo '</details>'
echo ''
fi
done >> $GITHUB_STEP_SUMMARY
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
# Trim it down if so.
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
if [[ $summary_size -gt 1000000 ]]; then
# Trim to below 1024 kB, and cut off after the last detail group
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
(
echo ''
echo ':x: **WARNING: Summary is too large and has been truncated.**'
echo ''
) >> $GITHUB_STEP_SUMMARY
fi
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY

70
.github/scripts/gen-test-summary.sh vendored Normal file
View File

@@ -0,0 +1,70 @@
#!/bin/bash
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
GITHUB_STEP_SUMMARY="$1"
GITHUB_OUTPUT="$2"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
if [[ ! -f build/run-test-prebuilt/make-support/exit-with-error ]]; then
# There were no failures, exit now
exit
fi
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
failure_count=$(echo $failures | wc -w || true)
error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi
echo 'failure=true' >> $GITHUB_OUTPUT
echo "error-message=Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details." >> $GITHUB_OUTPUT
echo '### :boom: Test failures summary' >> $GITHUB_STEP_SUMMARY
if [[ "$failures" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported failure:' >> $GITHUB_STEP_SUMMARY
for test in $failures; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi
if [[ "$errors" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported errors:' >> $GITHUB_STEP_SUMMARY
for test in $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi

View File

@@ -0,0 +1,154 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (cross-compile)'
on:
workflow_call:
inputs:
gcc-major-version:
required: false
type: string
default: '10'
apt-gcc-version:
required: false
type: string
default: '10.3.0-1ubuntu1~20.04'
apt-gcc-cross-suffix:
required: false
type: string
default: 'cross1'
jobs:
build-cross-compile:
name: build
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
target-cpu:
- aarch64
- arm
- s390x
- ppc64le
include:
- target-cpu: aarch64
debian-arch: arm64
gnu-arch: aarch64
- target-cpu: arm
debian-arch: armhf
gnu-arch: arm
gnu-abi: eabihf
- target-cpu: s390x
debian-arch: s390x
gnu-arch: s390x
- target-cpu: ppc64le
debian-arch: ppc64el
gnu-arch: powerpc64le
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install \
gcc-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
g++-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
- name: 'Install sysroot dependencies'
run: sudo apt-get install debootstrap qemu-user-static
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
run: >
sudo qemu-debootstrap
--arch=${{ matrix.debian-arch }}
--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
https://httpredir.debian.org/debian/
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
run: |
# Prepare sysroot and remove unused files to minimize cache
sudo chroot sysroot symlinks -cr .
sudo chown ${USER} -R sysroot
rm -rf sysroot/{dev,proc,run,sys}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-10
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-10
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: 'hotspot'
platform: linux-${{ matrix.target-cpu }}

132
.github/workflows/build-linux.yml vendored Normal file
View File

@@ -0,0 +1,132 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (linux)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
apt-gcc-version:
required: true
type: string
apt-architecture:
required: false
type: string
apt-extra-packages:
required: false
type: string
jobs:
build-linux:
name: build
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Set architecture'
id: arch
run: |
# Set a proper suffix for packages if using a different architecture
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
echo 'suffix=:${{ inputs.apt-architecture }}' >> $GITHUB_OUTPUT
fi
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
sudo dpkg --add-architecture ${{ inputs.apt-architecture }}
fi
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install gcc-${{ inputs.apt-gcc-version }} g++-${{ inputs.apt-gcc-version }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
${{ inputs.extra-conf-options }}
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

114
.github/workflows/build-macos.yml vendored Normal file
View File

@@ -0,0 +1,114 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (macos)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
xcode-toolset-version:
required: true
type: string
jobs:
build-macos:
name: build
runs-on: macos-11
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: macos-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Install toolchain and dependencies'
run: |
# Run Homebrew installation and xcode-select
brew install make
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
${{ inputs.extra-conf-options }}
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

145
.github/workflows/build-windows.yml vendored Normal file
View File

@@ -0,0 +1,145 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (windows)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
msvc-toolset-version:
required: true
type: string
msvc-toolset-architecture:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
build-windows:
name: build
runs-on: windows-2019
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: windows-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Check toolchain installed'
id: toolchain-check
run: |
set +e
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ $? -eq 0 ]; then
echo "Toolchain is already installed"
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
else
echo "Toolchain is not yet installed"
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
fi
- name: 'Install toolchain and dependencies'
run: |
# Run Visual Studio Installer
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
modify --quiet --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' \
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
if: steps.toolchain-check.outputs.toolchain-installed != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
${{ inputs.extra-conf-options }}
env:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

331
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,331 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
workflow_dispatch:
inputs:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-20.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
echo 'false'
return
fi
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
else
echo 'Internal error in GHA'
exit 1
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
apt-gcc-version: '10-multilib'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
extra-conf-options: '--with-target-bits=32'
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
extra-conf-options: '--disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
name: linux-x64-hs-zero
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
name: linux-x64-hs-minimal
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
name: linux-x64-hs-optimized
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
debug-levels: '[ "debug" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '11.7'
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.4'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
if: needs.select.outputs.windows-x64 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
if: needs.select.outputs.windows-aarch64 == 'true'
###
### Test jobs
###
test-linux-x64:
name: linux-x64
needs:
- build-linux-x64
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-20.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-20.04
test-macos-x64:
name: macos-x64
needs:
- build-macos-x64
uses: ./.github/workflows/test.yml
with:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-11
test-windows-x64:
name: windows-x64
needs:
- build-windows-x64
uses: ./.github/workflows/test.yml
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-20.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
- build-linux-x64-hs-optimized
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-windows-x64
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
|| echo "Failed to remove bundle"
done

File diff suppressed because it is too large Load Diff

205
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,205 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Run tests'
on:
workflow_call:
inputs:
platform:
required: true
type: string
bootjdk-platform:
required: true
type: string
runs-on:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
test:
name: test
runs-on: ${{ inputs.runs-on }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
test-name:
- 'jdk/tier1 part 1'
- 'jdk/tier1 part 2'
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
include:
- test-name: 'jdk/tier1 part 1'
test-suite: 'test/jdk/:tier1_part1'
- test-name: 'jdk/tier1 part 2'
test-suite: 'test/jdk/:tier1_part2'
- test-name: 'jdk/tier1 part 3'
test-suite: 'test/jdk/:tier1_part3'
- test-name: 'langtools/tier1'
test-suite: 'test/langtools/:tier1'
- test-name: 'hs/tier1 common'
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'
test-suite: 'test/hotspot/jtreg/:tier1_gc'
debug-suffix: -debug
- test-name: 'hs/tier1 runtime'
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
debug-suffix: -debug
- test-name: 'hs/tier1 serviceability'
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
debug-suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
if: runner.os == 'Windows'
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: ${{ inputs.bootjdk-platform }}
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get bundles'
id: bundles
uses: ./.github/actions/get-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
- name: 'Install dependencies'
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_11.7.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
- name: 'Set PATH'
id: path
run: |
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
if [[ '${{ runner.os }}' == 'Windows' ]]; then
echo "value=" >> $GITHUB_OUTPUT
else
echo "value=$PATH" >> $GITHUB_OUTPUT
fi
- name: 'Run tests'
id: run-tests
run: >
make test-prebuilt
TEST='${{ matrix.test-suite }}'
BOOT_JDK=${{ steps.bootjdk.outputs.path }}
JT_HOME=${{ steps.jtreg.outputs.path }}
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
# This is a separate step, since if the markdown from a step gets bigger than
# 1024 kB it is skipped, but then the short summary above is still generated
- name: 'Generate test report'
run: bash ./.github/scripts/gen-test-results.sh "$GITHUB_STEP_SUMMARY"
if: always()
- name: 'Package test results'
id: package
run: |
# Package test-results and relevant parts of test-support
mkdir results
if [[ -d build/run-test-prebuilt/test-results ]]; then
cd build/run-test-prebuilt/test-results/
zip -r -9 "$GITHUB_WORKSPACE/results/test-results.zip" .
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-results directory'
fi
if [[ -d build/run-test-prebuilt/test-support ]]; then
cd build/run-test-prebuilt/test-support/
zip -r -9 "$GITHUB_WORKSPACE/results/test-support.zip" . -i *.jtr -i */hs_err*.log -i */replay*.log
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-support directory'
fi
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
echo "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v3
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
if: always()
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v6
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

2
.gitignore vendored
View File

@@ -18,5 +18,7 @@ NashornProfile.txt
/src/utils/LogCompilation/target/
/.project/
/.settings/
/compile_commands.json
/.cache
*.class
.idea/workspace.xml

664
.hgtags
View File

@@ -1,664 +0,0 @@
3cc80be736f24704e505ad8ddaa598dec3fa2ed3 jdk-9+181
e2b70be325bd10dae4c06f74c46d70d480854916 jdk-9+179
5b16a1c3ccffff2a82c88bb7ea894c4ff1c9ebde jdk-9+180
43bf6f30fcba031ecf0cc7e511efe3a8179d0f77 jdk-9+176
d9f6bc6ba599d0487dc18b2fbdb6c34eedf6f958 jdk-9+177
bc9df7dd63ec76f50fafeb4acc44465044662f0a jdk-9+178
994036e74ab805bcc09afa0646be17a725bec42f jdk-9+175
94680c6d60ecd9ed3ffd1847706efde7eb947afc jdk-9+174
6dd7fda42bab7ecf648cafb0a4e9b4ca11b3094f jdk-9+173
dad6746278facbbea57dd462cb56fb743dc0a5f0 jdk-9+172
643b5f18c2656fe91b69fea85b07b98d5fad394d jdk-9+171
898cbe31fbdae2d25d141384fac746cc244a730c jdk-9+170
c7efde2b60fc1ec04630be769d9ad60efb39c39c jdk-9+169
8fd0a4569191f33c98ee90c2709174a342fefb0d jdk-9+167
fcabc74bd44e56c7419d111d59b95669ecb33c55 jdk-9+168
d3e973f1809606c67412361041ad197e50fe8cec jdk-9+166
3965b747cfe1e6cbd66b8739da5a1ea6ec6985e9 jdk-9+165
d16aebbb56d37f12e0c0b0a4fb427db65e1fb1a8 jdk-9+162
18c41483a082e097ac2f5f983c1226ed94aa4215 jdk-9+163
32db52c675e7d5bc413605d2e89b68b608b19be0 jdk-9+164
fd1497902bbe3aa24b21f270ecdcb8de5f7aa9ac jdk-9+159
6aa8be0c4e054fe8b3ab016ae00d16d680f92145 jdk-9+160
f6883b1a5a6478437cd4181c4bd45328ab24feaf jdk-9+161
fa3e76b477829afc4476f0b725cfaa440a6fd917 jdk-9+157
b5015f742ba648184bb7fc547197bd33ebfde30d jdk-9+158
1cc8dd79fd1cd13d36b385196271a29632c67c3b jdk7-b24
bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25
5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
67052ac87fc927d048e62ec54ff42adb230d3f7c jdk7-b27
18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
a9f1805e3ba9ca520cad199d522c84af5433e85a jdk7-b32
6838c1a3296aaa3572364d2ce7d70826cee96286 jdk7-b33
90cf935adb353bb0af4b46fb0677e841fd24c000 jdk7-b34
6d909d5803e3a22850e6c4e5a75b888742ee7e20 jdk7-b35
d718a441936196b93d8bc9f084933af9a4c2a350 jdk7-b36
c2036bf76829c03b99108fffab52e20910a9be4f jdk7-b37
a2879b2837f5a4c87e9542efe69ef138194af8ff jdk7-b38
126f365cec6c3c2c72de934fa1c64b5f082b55b5 jdk7-b39
3c53424bbe3bb77e01b468b4b0140deec33e11fc jdk7-b40
3cb2a607c347934f8e7e86f840a094c28b08d9ea jdk7-b41
caf58ffa084568990cbb3441f9ae188e36b31770 jdk7-b42
41bd0a702bc8ec6feebd725a63e7c3227f82ab11 jdk7-b43
5843778bda89b1d5ac8e1aa05e26930ac90b3145 jdk7-b44
54dffad0bf066791a2793305875250c395011d5f jdk7-b45
04b2620edc72de93671646e4720c5992c74ac8b5 jdk7-b46
0c4657194eec95c08ba478aee9cfc3c295e41657 jdk7-b47
1bf51a4c2627c2f0e0cbcc2cf0421bdb37f1f2b2 jdk7-b48
6b84b04a80afe23262377c60913eebfc898f14c4 jdk7-b49
5da0e6b9f4f18ef483c977337214b12ee0e1fc8f jdk7-b50
a25c5ec5e40e07733d1ff9898a0abe36159288ff jdk7-b51
7a90e89e36d103038f8667f6a7daae34ecfa1ad8 jdk7-b52
d52186ee770dac57950536cd00ccbfdef360b04c jdk7-b53
15096652c4d48dfb9fc0b2cb135304db94c65ba0 jdk7-b54
c8b275d62d6b0a980c510e839b70292245863e85 jdk7-b55
a8134c4ee2cf451cf9b5e1609f39d83ecd53acc5 jdk7-b56
b44f05654c26fcd1f995e712992f9b07ffd7c0c6 jdk7-b57
d60a9ce3c3eabf28f5d50ae839d18be04a551bc2 jdk7-b58
c33e7d38c9210741dbc285507403a4b20bd802a0 jdk7-b59
5a10e4d0b14d7beac53a7b2213ae6864afe1fd3e jdk7-b60
dbb955b1ee59b876dd1f133952b557b48b1d7732 jdk7-b61
6107cbff3130c747d243c25a7874cd59db5744a8 jdk7-b62
dfd8506f74c3731bb169ce93c72612d78ee0413b jdk7-b63
d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64
7d3bf00f3cc4f8125de1842521e7567f37dc84b8 jdk7-b65
62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66
eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67
bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68
1b662b1ed14eb4ae31d5138a36c433b13d941dc5 jdk7-b69
207f694795c448c17753eff1a2f50363106960c2 jdk7-b70
c5d39b6be65cba0effb5f466ea48fe43764d0e0c jdk7-b71
df4bcd06e1d0ab306efa5a44f24a409dc0c0c742 jdk7-b72
ce74bd35ce948d629a356e168797f44b593b1578 jdk7-b73
4e7661eaa211e186674f6cbefec4aef1144ac2a0 jdk7-b74
946518568340c4e511549318f19f47f06b7f5f9b jdk7-b75
09e0b33177af2b98a03c9ca19eedf61440bd1cf6 jdk7-b76
1d0121b741f029dc4b828e4b36ba6fda92907dd7 jdk7-b77
4061c66ba1af1a2e27c2c839ba887407dd3ce050 jdk7-b78
e9c98378f6b9256c0595ef2985ca5899f0c0e274 jdk7-b79
e6abd38682d237306d6c147c17538ec9e7f8e3a7 jdk7-b80
dcc938ac40cc45f1ef454d76020b5db5d943001c jdk7-b81
a30062be6d9ca1d48579826f870f85974300004e jdk7-b82
34c8199936a1682aa8587857f44cfaf37c2b6381 jdk7-b83
b1e55627a6980b9508854ed0c0f21d4f981b4494 jdk7-b84
b6f633a93ae0ec4555ff4bf756f5e2150c9bdede jdk7-b85
c94d9cc81f495d97817eba9d71b84fc45f7661a5 jdk7-b86
b7456c473862048fa70ed8092313a4ef0a55d403 jdk7-b87
7077b95d42f6b3942a8751bba033801ff50e5889 jdk7-b88
44158f6d3b94c0fa020e33632532473d92d1ea96 jdk7-b89
1d1927f9ec097b62c913921e2dfa5dbaf5dc325b jdk7-b90
308ad8f68b8dd68e22d73dd490e110059b732422 jdk7-b91
ff9031a745d9cc52318f2148e43ca3b07ee08098 jdk7-b92
b5dab6a313fdff4c043250e4d9c8f66fd624d27e jdk7-b93
8bb281f0f91582104d65d032be22522bfd2d8110 jdk7-b94
654298d26561b76dfe3cfcffbbd7078080837300 jdk7-b95
d260f892491e040ae385a8e6df59557a7d721abf jdk7-b96
7e406ebed9a5968b584f3c3e6b60893b5d6d9741 jdk7-b97
db6e660120446c407e2d908d52ec046592b21726 jdk7-b98
c4c8a5bc54f66abc68cd185d9294042121922154 jdk7-b99
2d6ba7a221915bdf0311acc5641c7f3875cb793e jdk7-b100
2548ac036b8fca3326d058d758e6df8355a42469 jdk7-b101
88db80c8e49cea352c2900f689600dc410761c1f jdk7-b102
64770970865839b0443066370e7d476ef47e90cd jdk7-b103
10bc903a228d3a8efdf46fb8c3fcf82a59b88bc5 jdk7-b104
1ce7938efb03224ccc8b3cdd7803eb39e889539c jdk7-b105
6bdae472f77205046703b685eff2ac4f7a0ecf4e jdk7-b106
439de530aac531a360beedba6e2fe51e17292cc0 jdk7-b107
044d31b99ef5609389fc771c422e722e5e224228 jdk7-b108
e02b4d709e177d08d56130a4bc68061e4bbacc7d jdk7-b109
a6442d6bc38a44152e0662688213ce4d2701f42a jdk7-b110
69f3edf083477955b5bd2f754252c7504167d8e1 jdk7-b111
f960f117f1623629f64203e2b09a92a8f6f14ff5 jdk7-b112
1fee41c7ed2b3388970a756a85aa693c0de8407a jdk7-b113
750c1ccb2f2d1ddfa95ab6c7f897fdab2f87f7e9 jdk7-b114
9cb24917216bc68997154f6e9566c3de62acb2f4 jdk7-b115
a4e6aa1f45ad23a6f083ed98d970b5006ea4d292 jdk7-b116
228e73f288c543a8c34e2a54227103ae5649e6af jdk7-b117
2e876e59938a853934aa738c811b26c452bd9fe8 jdk7-b118
4951967a61b4dbbf514828879f57bd1a0d4b420b jdk7-b119
8c840d3ab24f8d0f422b991638acb44b6ab1d98c jdk7-b120
0ce0a2c3a6926677dc507839a820ab6625541e5a jdk7-b121
6f09ea1c034f087916d2a8cf0d22be768400118f jdk7-b122
142129d8599d1f56b29387e7f9a5fad53b6d61df jdk7-b123
aa894c225b1a517b665ac2a58295217ea2245134 jdk7-b124
f658ec2730fa29323c36d23c27e54c7219ef5e16 jdk7-b125
f1df068076986679ea1105532a65529d63a89060 jdk7-b126
f83cd8bd35c678f94e526990e03dc838d0ec2717 jdk7-b127
7da3f5f30855dec6bf3a86529e87dee883b90c72 jdk7-b128
6823ea7eb8eb6fab405d7edb7a5c2f690887a2fa jdk7-b129
a36beda9b9de91231d92a2c529f21cc218fcf8d5 jdk7-b130
d8af56da89bc0fc02a6b6ad78f51157a46d665ab jdk7-b131
d61280d36755d1941fb487f554e8b7a6d0bca6a1 jdk7-b132
fd444c61e7ed3d92b2a730da7c737b02191b682f jdk7-b133
def8e16dd237a47fc067d66d4c616d7baaec6001 jdk7-b134
f75a1efb141210901aabe00a834e0fc32bb8b337 jdk7-b135
46acf76a533954cfd594bb88fdea79938abfbe20 jdk7-b136
d1cf7d4ee16c341f5b8c7e7f1d68a8c412b6c693 jdk7-b137
62b8e328f8c8c66c14b0713222116f2add473f3f jdk7-b138
955488f34ca418f6cdab843d61c20d2c615637d9 jdk7-b139
f4298bc3f4b6baa315643be06966f09684290068 jdk7-b140
5d86d0c7692e8f4a58d430d68c03594e2d3403b3 jdk7-b141
92bf0655022d4187e9b49c1400f98fb3392a4630 jdk7-b142
4a05062d8c4dfa3edec3faf1052af28baba5adff jdk7-b143
07a8728ad49ef6dfa469c3a8bf5ab1e9c80bed5c jdk7-b144
8294c99e685a1f6d1d37c45cd97854cf74be771e jdk7-b145
dca1e8a87e8f756f95b99bac8fe795750d42e1b0 jdk7-b146
a2a589fc29543ed32919c78a1810ad93a6fcf5bc jdk7-b147
de9223c94f9c710b3eebb599cd3586f36c8b94a9 jdk8-b01
1b9d19620eb4606a25b1e28f86d66c8bfa867e06 jdk8-b02
6815e85bf96d6d3875954f9777660372cd70d065 jdk8-b03
31f5c34d78081572ad9a2401c0bb0c6b9711dd65 jdk8-b04
c4f9ea1ecb55ff44e0dd21d2888ead308c86a3aa jdk8-b05
429da7734bf491bccde2a752fae97e9f225896dc jdk8-b06
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
f651ce87127980c58e3599daba964eba2f3b4026 jdk8-b10
cc1f5ce8e504d350e0b0c28c5f84333f8d540132 jdk8-b11
86db042b3385c338e17f7664447fdc7d406dd19e jdk8-b12
4cc0ef72c812943743ef4765f1100e2fbe2b1a08 jdk8-b13
9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
885050364691ac1ac978305c63f3368a197fb04d jdk8-b18
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
498124337041ad53cbaa7eb110f3d7acd6d4eac4 jdk8-b23
7d3720d8c595d1519c31e9ff7366203fc2c61350 jdk8-b24
0071a6d64113a35ba345bb1580c256de5ce17d3e jdk8-b25
6c805d8ed4e5449ea5e4d158c7bdbd7b0b70efd1 jdk8-b26
c51754cddc037b9609e202b9ed38363d8683e7a8 jdk8-b27
16ba58282d117247f480aae7a79b88141ade52a3 jdk8-b28
e070119aa56ee4dc5506c19d2c4d2eecab8ad429 jdk8-b29
23da7804aca0c9c4e6e86532a1453125a76d95ee jdk8-b30
bac81e9f7d57b75fba5ab31b571f3fe0dc08af69 jdk8-b31
2c5208ccb863db936eab523f49450b3fcd230348 jdk8-b32
a6e6d42203e6d35f9e8b31eac25b0021b4dd58ad jdk8-b33
0ae89825c75c9492e44efb3aca3d9ee3d8a209df jdk8-b34
f151d5833912a82cd4f203944da0305c3be83ecc jdk8-b35
98ce9816ae089c959ba1e70fba98423a31c4e9fa jdk8-b36
b3a91113026c99b0da010d41055719ab0d8938f0 jdk8-b37
4cc5610a6dd6227da766ebf9742eb11ff5ded6c0 jdk8-b38
35a5397278779a2f8f3013f81586dc8f30cb149d jdk8-b39
6e4e654931b976304bf6e7b4d0d6db8f75bac5d9 jdk8-b40
c029c972396cea042a0dc67c0f7ccf2fe68007d4 jdk8-b41
5c5a64ec0839df5affe9394b99ff338c363acbca jdk8-b42
69d8a827cdf9236be9694a46d75c710d71dac7d7 jdk8-b43
7e981cb0ad6a194f1fa859f9ad47586db461f269 jdk8-b44
9b19b2302c28f4da6d4078f66234abecfed5688a jdk8-b45
600c9a1feb01633cbcf2341a43d1d21e6497ecd0 jdk8-b46
b820143a6f1ce993c6e6f31db4d64de990f42654 jdk8-b47
086271e35b0a419b38e8bda9bebd70693811df0a jdk8-b48
cecd7026f30cbd83b0601925a7a5e059aec98138 jdk8-b49
38fe5ab028908cf64dd73a43336ba3211577bfc3 jdk8-b50
382651d28f2502d371eca751962232c0e535e57a jdk8-b51
b67041a6cb508da18d2f5c7687e6a31e08bea4fc jdk8-b52
c7aa5cca1c01689a7b1a92411daf83684af05a33 jdk8-b53
7c6aa31ff1b2ae48c1c686ebe1aadf0c3da5be15 jdk8-b54
319f583f66db47395fa86127dd3ddb729eb7c64f jdk8-b55
ffe6bce5a521be40146af2ac03c509b7bac30595 jdk8-b56
2c21c080b11b93efb3851e39e1363e45da805943 jdk8-b57
479d3302a26d7607ba271d66973e59ebf58825b6 jdk8-b58
3bd874584fc01aae92fbc8827e2bd04d8b6ace04 jdk8-b59
5e3adc681779037a2d33b7be6f75680619085492 jdk8-b60
cdaa6122185f9bf512dcd6600f56bfccc4824e8c jdk8-b61
8d9d430b4244b95f5cf1ebe719f834a1ac5d6cd5 jdk8-b62
21ee1dd7b809639284900a128b9b656a592ebc7a jdk8-b63
70fa4b11f26522e69b51fd652215f60ce350bac3 jdk8-b64
a2cf4d4a484378caea2e827ed604b2bbae58bdba jdk8-b65
17820b958ae84f7c1cc6719319c8e2232f7a4f1d jdk8-b66
76cc9bd3ece407d3a15d3bea537b57927973c5e7 jdk8-b67
cb33628d4e8f11e879c371959e5948b66a53376f jdk8-b68
adb5171c554e14cd86f618b5584f6e3d693d5889 jdk8-b69
0d625373c69e2ad6f546fd88ab50c6c9aad01271 jdk8-b70
a41ada2ed4ef735449531c6ebe6cec593d890a1c jdk8-b71
6725b3961f987cf40f446d1c11cd324a3bec545f jdk8-b72
fe94b40ffd9390f6cffcdf51c0389b0e6dde0c13 jdk8-b73
f627eff819628822a0777af8062244352f2a29cf jdk8-b74
f1478a6d25fddd311a84dcbfac50824cc1858bdd jdk8-b75
f407160c280d1c5b00d314c535441ac26f195fee jdk8-b76
d17eb2e13e362085e866d46235314c50cc4661cc jdk8-b77
6d3dcd34b5b962ea1ef9eed0dafdee9e812401bc jdk8-b78
a1313a8d90d17d363a3b2a645dc4030ec204b168 jdk8-b79
3fa21fbf9be7e6b482af43aacb6a09acfa30bdb6 jdk8-b80
e41d716405b209d3eddef8bd4240cec2bd34dcca jdk8-b81
5e8c55025644730385a6f8fa029ecdb2d2c98a07 jdk8-b82
bcebd3fdefc91abb9d7fa0c5af6211b3f8720da6 jdk8-b83
d7ad0dfaa41151bd3a9ae46725b0aec3730a9cd0 jdk8-b84
1872c12529090e1c1dbf567f02ad7ae6231b8f0c jdk8-b85
da9a4c9312816451884aa6db6f18be51a07bff13 jdk8-b86
5ebf6c63714de2c9dcf831074086d31daec819df jdk8-b87
e517701a4d0e25ae9c7945bca6e1762a8c5d8aa6 jdk8-b88
4dec41b3c5e3bb616f0c6f15830d940905aa5d16 jdk8-b89
f09ab0c416185e3cba371e81bcb6a16060c90f44 jdk8-b90
80b6c3172dc2cfceb022411292d290a967f9c728 jdk8-b91
2fd6acba737b01e705e1f7c33588c922a3787f13 jdk8-b92
b72ae39e1329fefae50d4690db4fde43f3841a95 jdk8-b93
0d804e3b955dce406af6a79ac1cc35c696aff7fb jdk8-b94
49fe9c8049132647ad38837a877dd473e6c9b0e5 jdk8-b95
ea73f01b9053e7165e7ba80f242bafecbc6af712 jdk8-b96
0a85476a0b9cb876d5666d45097dac68bef3fce1 jdk8-b97
711eb4aa87de68de78250e0549980936bab53d54 jdk8-b98
2d3875b0d18b3ad1c2bebf385a697e309e4005a4 jdk8-b99
3d34036aae4ea90b2ca59712d5a69db3221f0875 jdk8-b100
edb01c460d4cab21ff0ff13512df7b746efaa0e7 jdk8-b101
bbe43d712fe08e650808d774861b256ccb34e500 jdk8-b102
30a1d677a20c6a95f98043d8f20ce570304e3818 jdk8-b103
b5ed503c26ad38869c247c5e32debec217fd056b jdk8-b104
589f4fdc584e373a47cde0162e9eceec9165c381 jdk8-b105
514b0b69fb9683ef52062fd962a3e0644431f64d jdk8-b106
892889f445755790ae90e61775bfb59ddc6182b5 jdk8-b107
74049f7a28b48c14910106a75d9f2504169c352e jdk8-b108
af9a674e12a16da1a4bd53e4990ddb1121a21ef1 jdk8-b109
b5d2bf482a3ea1cca08c994512804ffbc73de0a1 jdk8-b110
b9a0f6c693f347a6f4b9bb994957f4eaa05bdedd jdk8-b111
ad67c34f79c28a8e755f4a49f313868619d6702c jdk8-b112
4a4dbcf7cb7d3e1a81beaa3b11cd909f69ebc79a jdk8-b113
dfa34ab293faad9b543a24646dbb381bc3ab5586 jdk8-b114
3dd9732b17034f45d111996d1d50287b05a3998c jdk8-b115
aaf663f591aba43ec942263b15ba62759ce26a1e jdk8-b116
31b0e03fcad73d7886b306b4c2e57ad270780d0d jdk8-b117
f5b521ade7a35cea18df78ee86322207729f5611 jdk8-b118
87b743b2263cc53955266411b7797b365a0fb050 jdk8-b119
a1ee9743f4ee165eae59389a020f2552f895dac8 jdk8-b120
13b877757b0b1c0d5813298df85364f41d7ba6fe jdk9-b00
f130ca87de6637acae7d99fcd7a8573eea1cbaed jdk9-b01
b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02
7f655f31f9bcee618cf832f08176ad8c1ed3fdd3 jdk9-b03
099891b1d86f3719e116ac717ffdafc90d037fb7 jdk9-b04
dd311791ad6895a3989020dd6c6c46db87972ab8 jdk9-b05
85dbdc227c5e11429b4fc4a8ba763f50107edd6e jdk9-b06
c826d05f1fb0773f6a28caa763307dd30d90d36e jdk9-b07
b47e021195757f8f45582124ea7cad48ccf5f872 jdk9-b08
efe7dbc6088691757404e0c8745f894e3ca9c022 jdk9-b09
8c0bdeecd7c0f9ce3f3762a51991f755cb3a972c jdk9-b10
0809c9a4d36e6291f1c4384604c4bbf29e975722 jdk9-b11
0d1f816217dce5e72187f167cc1816080cbeb453 jdk9-b12
1a30593dcb9802faec3b6edb24d86ca088594e4e jdk9-b13
97932f6ad950ae5a73a9da5c96e6e58503ff646b jdk9-b14
74eb0778e4f2dbff6628e718378449fba27c4265 jdk9-b15
4a09f5d30be844ac6f714bdb0f63d8c3c08b9a98 jdk9-b16
410bccbded9e9cce80f1e13ad221e37ae97a3986 jdk9-b17
c5495e25c7258ab5f96a1ae14610887d76d2be63 jdk9-b18
2dcf544eb7ed5ac6a3f7813a32e33acea7442405 jdk9-b19
89731ae72a761afdf4262e8b9513f302f6563f89 jdk9-b20
28dd0c7beb3cad9cf95f17b4b5ad87eb447a4084 jdk9-b21
9678e0db8ff6ed845d4c2ee4a3baf7f386a777e5 jdk9-b22
39cfdc2dcaf3f195c55398e4e677ab053b07e3d2 jdk9-b23
d9ce05f36ffec3e5e8af62a92455c1c66a63c320 jdk9-b24
13a5c76976fe48e55c9727c25fae2d2ce7c05da0 jdk9-b25
cd6f4557e7fea5799ff3762ed7a80a743e75d5fd jdk9-b26
d06a6d3c66c08293b2a9650f3cc01fd55c620e65 jdk9-b27
f4269e8f454eb77763ecee228a88ae102a9aef6e jdk9-b28
c36c0092693707a8255561433647e8c3cd724ccd jdk9-b29
b2287cac7813c70ed7f679d9a46fe774bd4005f8 jdk9-b30
9d0e6639a4d71b63507dd94b1a028e963b27e798 jdk9-b31
1b1ec4291abc0ba6da7bf79b754f08dd759a4a0c jdk9-b32
f0c5e4b732da823bdaa4184133675f384e7cd68d jdk9-b33
9618201c5df28a460631577fad1f61e96f775c34 jdk9-b34
a137992d750c72f6f944f341aa19b0d0d96afe0c jdk9-b35
41df50e7303daf73c0d661ef601c4fe250915de5 jdk9-b36
b409bc51bc23cfd51f2bd04ea919ec83535af9d0 jdk9-b37
948cceef81ba4cb34bc233e7cc5952951ff04e88 jdk9-b38
4e7c4d692e934cb9023af8201e7c2b510e9c4ee1 jdk9-b39
82f4cb44b2d7af2352f48568a64b7b6a5ae960cd jdk9-b40
9fffb959eb4197ff806e4ac12244761815b4deee jdk9-b41
3107be2ba9c6e208a0b86bc7100a141abbc5b5fb jdk9-b42
6494b13f88a867026ee316b444d9a4fa589dd6bd jdk9-b43
abbfccd659b91a7bb815d5e36fed635dcdd40f31 jdk9-b44
bfc24ae2b900187585079bb11e66e459d1e525fe jdk9-b45
722378bc599e38d9a1dd484de30f10dfd7b21438 jdk9-b46
8327024a99559982b848e9c2191da9c0bf8838fd jdk9-b47
b2f9702efbe95527ea3a991474fda23987ff1c5c jdk9-b48
5b8db585a33c3cc48e70e688ceee57dd9271dc5d jdk9-b49
1550b2f6b63d1411fa84dc7bbc6f04809aedb43f jdk9-b50
6efe265424e3f1ea596408a1f71baf2de316c772 jdk9-b51
d6224d6021459ac8b3832e822f5acc849fa944af jdk9-b52
874d76e4699dfcd61ae1826c9fe0ddc1610ad598 jdk9-b53
82cd31c5d6ca8d4c1653f4eb1c09eb2d9a3b2813 jdk9-b54
c97e2d1bad9708d379793ba2a4c848eda14c741e jdk9-b55
47544495db2d3d2edf0f85862d8715592fdb919f jdk9-b56
ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57
f40752db7773ca0c737f2ad88371e35c57fdfed7 jdk9-b58
da950f343762a856d69751570a4c07cfa68a415b jdk9-b59
38f98cb6b33562a926ec3b79c7b34128be37647d jdk9-b60
ac3f5a39d4ff14d70c365e12cf5ec8f2abd52a04 jdk9-b61
e7dbbef69d12b6a74dfad331b7188e7f893e8d29 jdk9-b62
989253a902c34dcb7564695161c9200a5fbb7412 jdk9-b63
8ffdeabc7c2b9a8280bf46cae026ac46b4d31c26 jdk9-b64
4915246064b2f89d5f00c96e758686b7fdad36a6 jdk9-b65
ff3fc75f3214ad7e03595be1b0d0f38d887b6f0e jdk9-b66
56166ce66037952fa21e9f680b31bf8eb47312c0 jdk9-b67
5b500c93ce4822d47061cd518ff3f72d9d8cb5b5 jdk9-b68
d69c968463f0ae5d0b45de3fc14fe65171b23948 jdk9-b69
43d0179ee9de3bfffae3417f09e07eb6d8efc963 jdk9-b70
f66c185284727f6e6ffd27e9c45ed2dd9da0a691 jdk9-b71
61d2d0629b6dbf4c091dc86151ade1b3ef34fffe jdk9-b72
9b3a9d72f07b40c648de79961679f42283af1bb5 jdk9-b73
7c577fda1855d03c04546694d514678f596508c9 jdk9-b74
f55df5cfe11c97e4b58998b76f5bd00a73cde12d jdk9-b75
eeea9adfd1e3d075ef82148c00a4847a1aab4d26 jdk9-b76
c25e882cee9622ec75c4e9d60633539a2f0a8809 jdk9-b77
c8753d0be1778944dc512ec86a459941ea1ad2c3 jdk9-b78
3966bd3b8167419aa05c6718a4af1cf54b1e3c58 jdk9-b79
3c9f5bd909ae7187f24622ee4b69f8a5756a9271 jdk9-b80
2050b3a0aadcb0e024bf798197421d58e54ec8bf jdk9-b81
6521875cb63e1d0121b30af56ebbc36db078c4c6 jdk9-b82
f61a63b7d1e52e307abc0bfc751203155d362ec4 jdk9-b83
51b2db2fa04c16d767b66113dbf08c5349ce382a jdk9-b84
8392405ab038b22e69a3728e17dbdd9e3d3a22ed jdk9-b85
7db0663a5e968059fa7c772172187ebd60b6492d jdk9-b86
1a52a30674cd28c24d4d388150336121f2e9ddf9 jdk9-b87
16b4968f9bb8f34371b42c0ba483d76e91ba84d8 jdk9-b88
4a0312f2894bcbe1fd20266c8fda8d983bd2fcf6 jdk9-b89
d131f4b8433a79408f935eff9bf92a0664229b60 jdk9-b90
8077fd2f055d31e50b46fcf62d9c035bc385a215 jdk9-b91
f242d4332f563648426a1b0fa02d8741beba19ef jdk9-b92
09206c6513b300e1ac8541f3be012e1a49312104 jdk9-b93
25a2cab05cfbe6034b71d9e72d64c65b0572ce63 jdk9-b94
5ac6287ec71aafe021cc839d8bc828108d23aaba jdk-9+95
139f19d70350238e15e107945cea75082b6380b3 jdk-9+96
4edcff1b9a8875eb6380a2165dfec599e8e3f7c0 jdk-9+97
d00ad2d9049ac60815f70bff445e95df85648bd2 jdk-9+98
f9bcdce2df26678c3fe468130b535c0342c69b89 jdk-9+99
4379223f8806626852c46c52d4e7a27a584b406e jdk-9+100
80f67512daa15cf37b4825c1c62a675d524d7c49 jdk-9+101
2dc4c11fe48831854916d53c3913bdb7d49023ea jdk-9+102
4a652e4ca9523422149958673033e0ac740d5e1e jdk-9+103
086c682bd8c5f195c324f61e2c61fbcd0226d63b jdk-9+104
db483b34fa7148d257a429acddbde9c13687dcae jdk-9+105
6c644cca3f3fc2763e2ff7d669849a75d34543ba jdk-9+106
1c076468bf7dad5b8f2ee5dcf66e2279caa3e208 jdk-9+107
257b579d813201682931d6b42f0445ffe5b4210d jdk-9+108
c870cb782aca71093d2584376f27f0cfbfec0e3a jdk-9+109
4a95f4b1bd8bfce85dc02a593896749feab96c34 jdk-9+110
a6614ff7bf09da74be1d0ef3d9755090d244697a jdk-9+111
7359994942f8d8e723b584d66a3a92c2e9e95e5c jdk-9+112
6072af7a98be3922f26bdce71b53bb3646cb2ac9 jdk-9+113
c84d0cce090e161d736de69e941830adf8c2f87a jdk-9+114
8d78fb40648dd221ce4ef19f9d5aa41ee1a3a884 jdk-9+115
84aba7335005a3a47751dcf1f37935f97df9f99a jdk-9+116
82b8d12a553f5617737c238cec060281d52e351c jdk-9+117
7c04fcb12bd4a31570a238e663fa846dfa5ec3b8 jdk-9+118
caf97b37ebec84288c112d21d3a60cb628cba1e8 jdk-9+119
9330543436402b8f3bd070524846a464d8143557 jdk-9+120
18e5cdecb37a2f03ba74f6c8f022858bcbaacf56 jdk-9+121
7693aa00e131493ceb42b93305e2f014c9922a3b jdk-9+122
d53037a90c441cb528dc41c30827985de0e67c62 jdk-9+123
2a5697a98620c4f40e4a1a71478464399b8878de jdk-9+124
3aa52182b3ad7c5b3a61cf05a59dd07e4c5884e5 jdk-9+125
03e7b2c5ae345be3caf981d76ceb3efe5ff447f8 jdk-9+126
8e45018bde9de4ad15b972ae62874bba52dba2d5 jdk-9+127
5bf88dce615f6804f9e101a96ffa7c9dfb4fbbbe jdk-9+128
e8373543a3f0f60589b7d72b1f9b172721124caf jdk-9+129
e613affb88d178dc7c589f1679db113d589bddb4 jdk-9+130
4d2a15091124488080d65848b704e25599b2aaeb jdk-9+131
2e83d21d78cd9c1d52e6cd2599e9c8aa36ea1f52 jdk-9+132
e17429a7e843c4a4ed3651458d0f950970edcbcc jdk-9+133
a71210c0d9800eb6925b61ecd6198abd554f90ee jdk-9+134
e384420383a5b79fa0012ebcb25d8f83cff7f777 jdk-9+135
1b4b5d01aa11edf24b6fadbe3d2f3e411e3b02cd jdk-9+136
9cb87c88ed851c0575b8ead753ea238ed5b544e9 jdk-9+137
d273dfe9a126d3bffe92072547fef2cd1361b0eb jdk-9+138
65477538bec32963dc41153d89c4417eb46c45fc jdk-9+139
0875007901f7d364a08220b052f0c81003e9c8c5 jdk-9+140
9aadd2163b568d76f8969ad2fb404a63733da359 jdk-9+141
df0e03e3ca0ed1307793017dfc1a054c8726131c jdk-9+142
d62173b931bf5b6bffc6e80a9060bb2e8b8efc75 jdk-9+143
31f5023200d42185b70c4c00ba5672391e4642d0 jdk-9+144
3ee4e7827413fa5c5c4fca58597b0ad89e921bfb jdk-9+145
581331db696a62dd411926ba7fd437252252a71d jdk-9+146
f4e854a77aa38749bd90f722b06974a56e7233d5 jdk-9+147
5c71ea43933b6c7e8a85eb1a4eb2213011b95d82 jdk-9+148
cf139f925da04c8bd7efd33270a0315d72b338d3 jdk-9+149
17469f16fbb406ec9f0dd262ce776ab6efbc38f1 jdk-9+150
37b95df0042ae0687324e1f7dc4a2519e230e704 jdk-9+151
ab2c8b03c3284fcbdd157551a66f807e3a182d9b jdk-9+152
d7034ff7f8e257e81c9f95c7785dd4eaaa3c2afc jdk-9+153
8c70d170e62c0c58b5bc3ba666bd140399b98c9c jdk-10+0
45b751afd11e6c05991cf4913c5a0ac3304fcc4e jdk-9+154
f4aff695ffe05cfdb69d8af25a4ddc6a029754ea jdk-9+155
06bce0388880b5ff8e040e4a9d72a3ea11dac321 jdk-9+156
74116beae88a8f17a80301aa6c83865c82f10ece jdk-10+1
4a79ad46e578112fce68f1af9dd931025cc235cb jdk-10+2
d1cab6c7e608479be4ebfad48a25b0ed48600f62 jdk-10+3
02253db2ace1422f576f58502fc7831ead77424b jdk-10+4
f113ce12fe24fbd24acf02711372d9f1e1c12426 jdk-10+5
1407b19a2ddf6baae162f5a1a5b96af473f4d7d1 jdk-10+6
30e75693ae99fd8e47fd2f5116527aff1b59aff9 jdk-10+7
c42dc7b58b4d4301ea676a76326fd9bbd403d595 jdk-10+8
aa5b01f5e5620438fd39efdb2e2f6365a2c7d898 jdk-10+9
b0f2b8ff25a2209b2c807785d75f20e5086bbfc2 jdk-10+10
036dbf8b381798e5d31065109714d04d97bf98a4 jdk-10+11
e6d70017f5b9adbb2ec82d826973d0251800a3c3 jdk-10+12
9927a9f16738e240ab7014f0118f41e314ef8f99 jdk-10+13
9ef5029b247b4d940080417a287440bbdbab995b jdk-10+14
878e216039322cb3f0ecbd0944642a2b4e2593f3 jdk-10+15
4bbea012e5676e8025ade2bcfab4d6581e6e9f4b jdk-10+16
7db699468b4f84abbcc01647e5a964409737411a jdk-10+17
3739654290616e533fc6f51bf9ad69ed47a6abba jdk-10+18
14df107500cc3b8ab238c3e4ad2c74e12bfe6067 jdk-10+19
4586bc5d28d13d3147b993e6237eaf29a7073bbb jdk-10+20
a85884d55ce32799f5c7382b7ea4839052b362a2 jdk-10+21
e5357aa85dadacc6562175ff74714fecfb4470cf jdk-10+22
22850b3a55240253841b9a425ad60a7fcdb22d47 jdk-10+23
3b201865d5c1f244f555cad58da599c9261286d8 jdk-10+24
8eb5e3ccee560c28ac9b1df2670adac2b3d36fad jdk-10+25
1129253d3bc728a2963ba411ab9dd1adf358fb6b jdk-10+26
b87d7b5d5dedc1185e5929470f945b7378cdb3ad jdk-10+27
92f08900cb3c0d694e5c529a676c1c9e5909193f jdk-10+28
a6e591e12f122768f675428e1e5a838fd0e9c7ec jdk-10+29
8fee80b92e65149f7414250fd5e34b6f35d417b4 jdk-10+30
e6278add9ff28fab70fe1cc4c1d65f7363dc9445 jdk-10+31
a2008587c13fa05fa2dbfcb09fe987576fbedfd1 jdk-10+32
bbd692ad4fa300ecca7939ffbe3b1d5e52a28cc6 jdk-10+33
89deac44e51517841491ba86ff44aa82a5ca96b3 jdk-10+34
d8c634b016c628622c9abbdc6bf50509e5dedbec jdk-10+35
0ee20aad71c4f33c426372b4c8bcc1235ce2ec08 jdk-11+0
959f2f7cbaa6d2ee45d50029744efb219721576c jdk-10+36
4f830b447edf04fb4a52151a5ad44d9bb60723cd jdk-10+37
e569e83139fdfbecfeb3cd9014d560917787f158 jdk-10+38
5b834ec962366e00d4445352a999a3ac14e26f64 jdk-10+39
860326263d1f6a83996d7da0f4c66806ae4aa1eb jdk-10+40
3eae36c6baa5f916a3024cf1513e22357e00185d jdk-10+41
4b62b815b4f49970b91a952929cf50115c263cb3 jdk-10+42
107413b070b92c88bde6230ceb4a19b579781068 jdk-10+43
dfa46cfe56346884a61efdc30dc50f7505d66761 jdk-11+1
03ae177c26b016353e5ea1cab6ffd051dfa086ca jdk-11+2
663f20fc51091bd7f95d18448850ba091207b7bd jdk-10+44
4f96cf952e71cb8a127334494faf28880c26181b jdk-10+45
1fd4d6068f54561cfc67d54fc9ca84af7212c4f8 jdk-11+3
e59941f7247d451fa7df9eaef3fce0f492f8420c jdk-11+4
d5c43e9f08fb9a7c74aae0d48daf17f2ad2afaef jdk-11+5
3acb379b86725c47e7f33358cb22efa8752ae532 jdk-11+6
f7363de371c9a1f668bd0a01b7df3d1ddb9cc58b jdk-11+7
755e1b55a4dff510f9639cdb5c5e82549a7e09b3 jdk-11+8
0c3e252cea44f06aef570ef464950ab97c669970 jdk-11+9
6fa770f9f8ab296e1ce255ec17ccf6d4e1051886 jdk-10+46
69d7398038c54774d9395b6810e0cca335edc02c jdk-11+10
e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
3ab6ba9f94a9045a526d645af26c933235371d6f jdk-11+12
758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
64e4b1686141e57a681936a8283983341484676e jdk-11+17
e1b3def126240d5433902f3cb0e91a4c27f6db50 jdk-11+18
36ca515343e00b021dcfc902e986d26ec994a2e5 jdk-11+19
95aad0c785e497f1bade3955c4e4a677b629fa9d jdk-12+0
9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
00b16d0457e43d23f6ca5ade6b243edce62750a0 jdk-12+1
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
990db216e7199b2ba9989d8fa20b657e0ca7d969 jdk-12+3
ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
499b873761d8e8a1cc4aa649daf04cbe98cbce77 jdk-12+4
331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
f8696e0ab9b795030429fc3374ec03e378fd9ed7 jdk-12+5
945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
7939b3c4e4088bf4f70ec5bbd8030393b653372f jdk-12+6
9d7d74c6f2cbe522e39fa22dc557fdd3f79b32ad jdk-11+27
ef57958c7c511162da8d9a75f0b977f0f7ac464e jdk-12+7
76072a077ee1d815152d45d1692c4b36c53c5c49 jdk-11+28
492b366f8e5784cc4927c2c98f9b8a3f16c067eb jdk-12+8
31b159f30fb281016c5f0c103552809aeda84063 jdk-12+9
8f594f75e0547d4ca16649cb3501659e3155e81b jdk-12+10
f0f5d23449d31f1b3580c8a73313918cafeaefd7 jdk-12+11
15094d12a632f452a2064318a4e416d0c7a9ce0c jdk-12+12
511a9946f83e3e3c7b9dbe1840367063fb39b4e1 jdk-12+13
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
6f04692c7d5137ee34a6bd94c0c8a6c9219cb127 jdk-12+14
f8626bcc169813a4b2a15880386b952719d1d6d1 jdk-12+15
199658d1ef860cdc17055b4fd3e94b057f292fe9 jdk-12+16
eefa65e142af305923d2adcd596fab9c639723a1 jdk-12+17
e38473506688e0995e701fc7f77d5a91b438ef93 jdk-12+18
dc1f9dec2018a37fedba47d8a2aedef99faaec64 jdk-12+19
40098289d5804c3b5e7074bc75501a81e70d9b0d jdk-12+20
f8fb0c86f2b3d24294d39c5685a628e1beb14ba7 jdk-12+21
732bec44c89e8b93a38296bf690f97b7230c5b6d jdk-12+22
eef755718cb24813031a842bbfc716a6cea18e9a jdk-12+23
cc4098b3bc10d1c390384289025fea7b0d4b9e93 jdk-13+0
7d4397b43fa305806160785a4c7210600d59581a jdk-12+24
11033c4ada542f9c9a873314b6ecf60af19e8256 jdk-13+1
7496df94b3b79f3da53925d2d137317715f11d97 jdk-12+25
50677f43ac3df9a8684222b8893543c60f3aa0bd jdk-13+2
de9fd809bb475401aad188eab2264226788aad81 jdk-12+26
642346a11059b9f283110dc301a24ed43b76a94e jdk-13+3
f15d443f97318e9b40e6f451e327ff69ed4ec361 jdk-12+27
a47b8125b7cc9ef59619745c163975fe935b57ed jdk-13+4
659b004b6a1bd8c31e766cbdf328d8f8473fd4d7 jdk-12+28
e3ed960609927b5fdfd0a797159835cd83a81a31 jdk-13+5
44f41693631f9b5ac78ff4d2bfabd6734fe46df2 jdk-12+29
b5f05fe4a6f8b3996a000c20078b356d991ca8ec jdk-13+6
6c377af36a5c4203f16aed8a5e4c2ecc08fcd8bd jdk-12+30
021917019cda1c0c5853255322274f37693a2431 jdk-13+7
b5f7bb57de2f797be34f6c75d45c3245ad37ab97 jdk-12+31
a535ba736cabc6886acdff36de3a096c46e5ddc5 jdk-13+8
4ce47bc1fb92cf94c6e3d1f49d582f02dcb851ab jdk-12+32
c081f3ea6b9300265a4a34e38f970b1e3ddaae9f jdk-13+9
b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 jdk-12+33
8e069f7b4fabfe05d9f500783e6d56cb0196d25c jdk-13+10
21ea4076a275a0f498afa517e9ee1b94a9cf0255 jdk-13+11
1d7aec80147a6d92b101a76aef92f3ddc88bedf4 jdk-13+12
b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 jdk-12-ga
83cace4142c8563b6a921787db02388e1bc48d01 jdk-13+13
46cf212cdccaf4fb064d913b12004007d3322b67 jdk-13+14
f855ec13aa2501ae184c8b3e0626a8cec9966116 jdk-13+15
9d0ae9508d5337b0dc7cc4684be42888c4023755 jdk-13+16
93b702d2a0cb9e32160208f6700aede1f8492773 jdk-13+17
bebb82ef3434a25f8142edafec20165f07ac562d jdk-13+18
a43d6467317d8f1e160f67aadec37919c9d64443 jdk-13+19
6ccc7cd7931e34129f6b7e04988fc9a63958dde0 jdk-13+20
f2f11d7f7f4e7128f8aba6ffa576cfa76fbf7d1a jdk-13+21
181986c5476468bc2dd4532af49599003ee8af37 jdk-13+22
b034d2dee5fc93d42a81b65e58ce3f91e42586ff jdk-13+23
7e2238451585029680f126ccbb46d01f2ff5607f jdk-13+24
22b3b7983adab54e318f75aeb94471f7a4429c1e jdk-14+0
22b3b7983adab54e318f75aeb94471f7a4429c1e jdk-13+25
2f4e214781a1d597ed36bf5a36f20928c6c82996 jdk-14+1
0692b67f54621991ba7afbf23e55b788f3555e69 jdk-13+26
43627549a488b7d0b4df8fad436e36233df89877 jdk-14+2
b7f68ddec66f996ae3aad03291d129ca9f02482d jdk-13+27
e64383344f144217c36196c3c8a2df8f588a2af3 jdk-14+3
1e95931e7d8fa7e3899340a9c7cb28dbea50c10c jdk-13+28
19d0b382f0869f72d4381b54fa129f1c74b6e766 jdk-14+4
3081f39a3d30d63b112098386ac2bb027c2b7223 jdk-13+29
0f1e29c77e50c7da11d83df410026392c4d1a28c jdk-14+5
2e63fb0a885fa908a97bbb0da8d7c3de11536aca jdk-13+30
443f7359b34d60e7821216ffc60f88b6ffe0ccdd jdk-14+6
6a159c6c23ccd0029140ab91653442e412305ce5 jdk-13+31
28ab01c067551ef158abaef08e154e1051ca0893 jdk-14+7
929f37a9c35d530d4e866f6e832001aeb4cfb371 jdk-13+32
c0023e364b6f130cb1e93747b796d8718d544db1 jdk-14+8
9c250a7600e12bdb1e611835250af3204d4aa152 jdk-13+33
18f189e69b29f8215a3500b875127ed4fb2d977a jdk-14+9
ececb6dae777e622abda42c705fd984a42f46b5a jdk-14+10
bf4c808a4488025a415f867e54c8b088417e08a0 jdk-14+11
8570f22b9b6ac6bec673899b582150865696e425 jdk-14+12
fbbe6672ae15deaf350a9e935290a36f57ba9c25 jdk-14+13
cddef3bde924f3ff4f17f3d369280cf69d0450e5 jdk-14+14
9c250a7600e12bdb1e611835250af3204d4aa152 jdk-13-ga
778fc2dcbdaa8981e07e929a2cacef979c72261e jdk-14+15
d29f0181ba424a95d881aba5eabf2e393abcc70f jdk-14+16
5c83830390baafb76a1fbe33443c57620bd45fb9 jdk-14+17
e84d8379815ba0d3e50fb096d28c25894cb50b8c jdk-14+18
9b67dd88a9313e982ec5f710a7747161bc8f0c23 jdk-14+19
54ffb15c48399dd59922ee22bb592d815307e77c jdk-14+20
c16ac7a2eba4e73cb4f7ee9294dd647860eebff0 jdk-14+21
83810b7d12e7ff761ad3dd91f323a22dad96f108 jdk-14+22
15936b142f86731afa4b1a2c0fe4a01e806c4944 jdk-14+23
438337c846fb071900ddb6922bddf8b3e895a514 jdk-14+24
17d242844fc9e7d18b3eac97426490a9c246119e jdk-14+25
288777cf0702914e5266bc1e5d380eed9032ca41 jdk-14+26
2c724dba4c3cf9516b2152e151c9aea66b21b30b jdk-15+0
91a3f092682fc715d991a87eb6ec6f28886d2035 jdk-14+27
63e17cf29bed191ea21020b4648c9cdf893f80f5 jdk-15+1
2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
f33197adda9ad82fdef46ac0f7dc0126204f35b2 jdk-15+2
563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
d05fcdf25717d85e80a3a39a6b719458b22be5fe jdk-15+3
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
bb0a7975b31ded63d594ee8dbfc4d4ead587f79b jdk-15+4
decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
b97c1773ccafae4a8c16cc6aedb10b2a4f9a07ed jdk-15+5
2776da28515e087cc8849acf1e131a65ea7e77b6 jdk-14+32
ef7d53b4fccd4a0501b17d974e84f37aa99fa813 jdk-15+6
f728b6c7f4910d6bd6070cb4dde8393f4ba95113 jdk-14+33
e2bc57500c1b785837982f7ce8af6751387ed73b jdk-15+7
a96bc204e3b31ddbf909b20088964112f052927e jdk-14+34
c7d4f2849dbfb755fc5860b362a4044ea0c9e082 jdk-15+8
4a87bb7ebfd7f6a25ec59a5982fe3607242777f8 jdk-14+35
62b5bfef8d618e08e6f3a56cf1fb0e67e89e9cc2 jdk-15+9
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14+36
1bee69801aeea1a34261c93f35bc9de072a98704 jdk-15+10
b2dd4028a6de4e40dda8b76109e4b5c6b294f980 jdk-15+11
2ec0ff3042630ddbd3587e340fe0dd40391cb6c4 jdk-15+12
1c06a8ee8acad4d93c782626a233693a73de0add jdk-15+13
1d6ceb13e142665ea833fca01c8c8598e0ddd211 jdk-15+14
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14-ga
82b7c62cf4cc56828a8fb724f57087967232a2a7 jdk-15+15
5c7ec21f5d13f6eb5cd32288c69b8be2f9cac256 jdk-15+16
dd5198db2e5b1ebcafe065d987c03ba9fcb50fc3 jdk-15+17
44aef192b488a48cce12422394691a6b1d16b98e jdk-15+18
7cc27caabe6e342151e8baf549beb07a9c755ec2 jdk-15+19
46bca5e5e6fb26efd07245d26fe96a9c3260f51e jdk-15+20
12b55fad80f30d24b1f8fdb3b947ea6465ef9518 jdk-15+21
7223c6d610343fd8323af9d07d501e01fa1a7696 jdk-15+22
f143729ca00ec14a98ea5c7f73acba88da97746e jdk-15+23
497fd9f9129c4928fd5a876dd55e0daf6298b511 jdk-15+24
90b266a84c06f1b3dc0ed8767856793e8c1c357e jdk-15+25
0a32396f7a690015d22ca3328ac441a358295d90 jdk-15+26
93813843680bbe1b7efbca56c03fd137f20a2c31 jdk-16+0
93813843680bbe1b7efbca56c03fd137f20a2c31 jdk-15+27
4a485c89d5a08b495961835f5308a96038678aeb jdk-16+1
06c9f89459daba98395fad726100feb44f89ba71 jdk-15+28
bcbe7b8a77b8971bc221c0be1bd2abb6fb68c2d0 jdk-16+2
b58fc60580550a4a587cab729d8fd87223ad6932 jdk-15+29
76810b3a88c8c641ae3850a8dfd7c40c984aea9d jdk-16+3
6909e4a1f25bfe9a2727026f5845fc1fc44a36aa jdk-15+30
e2622818f0bd30e736252eba101fe7d2c27f400b jdk-16+4
a32f58c6b8be81877411767de7ba9c4cf087c1b5 jdk-15+31
143e258f64af490010eb7e0bacc1cfaeceff0993 jdk-16+5
2dad000726b8d5db9f3df647fb4949d88f269dd4 jdk-15+32
4a8fd81d64bafa523cddb45f82805536edace106 jdk-16+6
6b65f4e7a975628df51ef755b02642075390041d jdk-15+33
c3a4a7ea7c304cabdacdc31741eb94c51351668d jdk-16+7
b0817631d2f4395508cb10e81c3858a94d9ae4de jdk-15+34
0a73d6f3aab48ff6d7e61e47f0bc2d87a054f217 jdk-16+8
fd60c3146a024037cdd9be34c645bb793995a7cc jdk-15+35
c075a286cc7df767cce28e8057d6ec5051786490 jdk-16+9
b01985b4f88f554f97901e53e1ba314681dd9c19 jdk-16+10
e3f940bd3c8fcdf4ca704c6eb1ac745d155859d5 jdk-15+36
5c18d696c7ce724ca36df13933aa53f50e12b9e0 jdk-16+11
fc8e62b399bd93d06e8d13dc3b384c450e853dcd jdk-16+12
fd07cdb26fc70243ef23d688b545514f4ddf1c2b jdk-16+13
36b29df125dc88f11657ce93b4998aa9ff5f5d41 jdk-16+14

View File

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

View File

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

View File

@@ -114,8 +114,8 @@ cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -rn "$TOPLEVEL_DIR/jb/project/idea-project-files"/* "$IDEA_OUTPUT"
cp -rn "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
cp -r "$TOPLEVEL_DIR/jb/project/idea-project-files"/* "$IDEA_OUTPUT"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
#override template
if [ -d "$TEMPLATES_OVERRIDE" ] ; then
@@ -321,4 +321,4 @@ if [ "$VERBOSE" = true ] ; then
echo "
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
fi
fi

View File

@@ -128,6 +128,15 @@ install_jib() {
exit 1
fi
fi
# Want to check the filetype using file, to see if we got served a HTML error page.
# This is sensitive to the filename containing a specific string, but good enough.
file "${installed_jib_script}.gz" | grep "gzip compressed data" > /dev/null
if [ $? -ne 0 ]; then
echo "Warning: ${installed_jib_script}.gz is not a gzip file."
echo "If you are behind a proxy you may need to configure exceptions using no_proxy."
echo "The download URL was: ${jib_url}"
exit 1
fi
echo "Extracting JIB bootstrap script"
rm -f "${installed_jib_script}"
gunzip "${installed_jib_script}.gz"

View File

@@ -70,6 +70,9 @@
<li><a href="#make-control-variables">Make Control Variables</a></li>
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#signing">Signing</a><ul>
<li><a href="#macos-1">macOS</a></li>
</ul></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
@@ -96,6 +99,7 @@
<li><a href="#specific-build-issues">Specific Build Issues</a></li>
<li><a href="#getting-help">Getting Help</a></li>
</ul></li>
<li><a href="#reproducible-builds">Reproducible Builds</a></li>
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
<li><a href="#bash-completion">Bash Completion</a></li>
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
@@ -195,7 +199,7 @@
<h3 id="windows">Windows</h3>
<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 layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</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 layers are Cygwin, Windows Subsystem for Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash; While OpenJDK can be built with MSYS2, support for it is still experimental, so build failures and unusual errors are not uncommon.)</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 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>
@@ -236,26 +240,26 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Supported toolchain</th>
<th>Operating system</th>
<th>Supported toolchain</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc, clang</td>
<td>Linux</td>
<td>gcc, clang</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode (using clang)</td>
<td>macOS</td>
<td>Apple Xcode (using clang)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">AIX</td>
<td style="text-align: left;">IBM XL C/C++</td>
<td>AIX</td>
<td>IBM XL C/C++</td>
</tr>
<tr class="even">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio</td>
<td>Windows</td>
<td>Microsoft Visual Studio</td>
</tr>
</tbody>
</table>
@@ -263,38 +267,42 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Toolchain version</th>
<th>Operating system</th>
<th>Toolchain version</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc 10.2.0</td>
<td>Linux</td>
<td>gcc 11.2.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
<td>macOS</td>
<td>Apple Xcode 10.1 (using clang 10.0.0)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.7.2</td>
<td>Windows</td>
<td>Microsoft Visual Studio 2022 update 17.1.0</td>
</tr>
</tbody>
</table>
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
<h3 id="gcc">gcc</h3>
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<p>The JDK is currently known to be able to compile with at least version 10.2 of gcc.</p>
<p>The JDK is currently known to be able to compile with at least version 11.2 of gcc.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
<p>The minimum accepted version of clang is 3.5. Older versions will not be accepted by <code>configure</code>.</p>
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
<h3 id="apple-xcode">Apple Xcode</h3>
<p>The oldest supported version of Xcode is 8.</p>
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<p>You will need the Xcode command line developer tools to be able to build the JDK. (Actually, <em>only</em> the command line tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<pre><code>xcode-select --install</code></pre>
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
<p>When updating Xcode, it is advisable to keep an older version for building the JDK. To use a specific version of Xcode you have multiple options:</p>
<ul>
<li>Use <code>xcode-select -s</code> before running <code>configure</code>, e.g. <code>xcode-select -s /Applications/Xcode13.1.app</code>. The drawback is that the setting is system wide and you may have to revert it after an OpenJDK build.</li>
<li>Use configure option <code>--with-xcode-path</code>, e.g. <code>configure --with-xcode-path=/Applications/Xcode13.1.app</code> This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by <code>xcode-select</code>.</li>
</ul>
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2019.</p>
@@ -488,7 +496,7 @@
<li><code>CONF</code> and <code>CONF_NAME</code> - Selecting the configuration(s) to use. See <a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
</ul>
<h4 id="test-make-control-variables">Test Make Control Variables</h4>
<p>These make control variables only make sense when running tests. Please see <a href="testing.html">Testing the JDK</a> for details.</p>
<p>These make control variables only make sense when running tests. Please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>) for details.</p>
<ul>
<li><code>TEST</code></li>
<li><code>TEST_JOBS</code></li>
@@ -506,7 +514,7 @@
</ul>
<h2 id="running-tests">Running Tests</h2>
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
<ul>
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
@@ -514,7 +522,13 @@
</ul>
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>
<p>For more details on how to run tests, please see the <a href="testing.html">Testing the JDK</a> document.</p>
<p>For more details on how to run tests, please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>).</p>
<h2 id="signing">Signing</h2>
<h3 id="macos-1">macOS</h3>
<p>Modern versions of macOS require applications to be signed and notarizied before distribution. See Apple's documentation for more background on what this means and how it works. To help support this, the JDK build can be configured to automatically sign all native binaries, and the JDK bundle, with all the options needed for successful notarization, as well as all the entitlements required by the JDK. To enable <code>hardened</code> signing, use configure parameter <code>--with-macosx-codesign=hardened</code> and configure the signing identity you wish to use with <code>--with-macosx-codesign-identity=&lt;identity&gt;</code>. The identity refers to a signing identity from Apple that needs to be preinstalled on the build host.</p>
<p>When not signing for distribution with the hardened option, the JDK build will still attempt to perform <code>adhoc</code> signing to add the special entitlement <code>com.apple.security.get-task-allow</code> to each binary. This entitlement is required to be able to dump core files from a process. Note that adding this entitlement makes the build invalid for notarization, so it is only added when signing in <code>debug</code> mode. To explicitly enable this kind of adhoc signing, use configure parameter <code>--with-macosx-codesign=debug</code>. It will be enabled by default in most cases.</p>
<p>It's also possible to completely disable any explicit codesign operations done by the JDK build using the configure parameter <code>--without-macosx-codesign</code>. The exact behavior then depends on the architecture. For macOS on x64, it (at least at the time of this writing) results in completely unsigned binaries that should still work fine for development and debugging purposes. On aarch64, the Xcode linker will apply a default &quot;adhoc&quot; signing, without any entitlements. Such a build does not allow dumping core files.</p>
<p>The default mode &quot;auto&quot; will try for <code>hardened</code> signing if the debug level is <code>release</code> and either the default identity or the specified identity is valid. If hardened isn't possible, then <code>debug</code> signing is chosen if it works. If nothing works, the codesign build step is disabled.</p>
<h2 id="cross-compiling">Cross-compiling</h2>
<p>Cross-compiling means using one platform (the <em>build</em> platform) to generate output that can ran on another platform (the <em>target</em> platform).</p>
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>
@@ -884,6 +898,32 @@ spawn failed</code></pre>
<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 <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="reproducible-builds">Reproducible Builds</h2>
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort. There are some things you can do to minimize non-determinism and make a larger part of the build reproducible:</p>
<ul>
<li>Turn on build system support for reproducible builds</li>
</ul>
<p>Add the flag <code>--enable-reproducible-build</code> to your <code>configure</code> command line. This will turn on support for reproducible builds where it could otherwise be lacking.</p>
<ul>
<li>Do not rely on <code>configure</code>'s default adhoc version strings</li>
</ul>
<p>Default adhoc version strings OPT segment include user name, source directory and timestamp. You can either override just the OPT segment using <code>--with-version-opt=&lt;any fixed string&gt;</code>, or you can specify the entire version string using <code>--with-version-string=&lt;your version&gt;</code>.</p>
<ul>
<li>Specify how the build sets <code>SOURCE_DATE_EPOCH</code></li>
</ul>
<p>The JDK build system will set the <code>SOURCE_DATE_EPOCH</code> environment variable during building, depending on the value of the <code>--with-source-date</code> option for <code>configure</code>. The default value is <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>.</p>
<p>The <a href="https://reproducible-builds.org/docs/source-date-epoch/"><code>SOURCE_DATE_EPOCH</code> environment variable</a> is an industry standard, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
<p>For reproducible builds, you need to set this to a fixed value. You can use the special value <code>version</code> which will use the nominal release date for the current JDK version, or a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
<p><strong>Hint:</strong> If your build environment already sets <code>SOURCE_DATE_EPOCH</code>, you can propagate this using <code>--with-source-date=$SOURCE_DATE_EPOCH</code>.</p>
<ul>
<li>Specify a hotspot build time</li>
</ul>
<p>Set a fixed hotspot build time. This will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>) and defaults to the current time when building hotspot. Use <code>--with-hotspot-build-time=&lt;any fixed string&gt;</code> for reproducible builds. It's a string so you don't need to format it specifically, so e.g. <code>n/a</code> will do. Another solution is to use the <code>SOURCE_DATE_EPOCH</code> variable, e.g. <code>--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)</code>.</p>
<ul>
<li>Copyright year</li>
</ul>
<p>The copyright year in some generated text files are normally set to the current year. This can be overridden by <code>--with-copyright-year=&lt;year&gt;</code>. For fully reproducible builds, this needs to be set to a fixed value.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<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>

View File

@@ -179,10 +179,10 @@ On Windows, it is important that you pay attention to the instructions in the
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 layers are Cygwin and Windows Subsystem for
Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would
likely be possible to support in a future version but that would require effort
to implement.)
Currently, the only supported such layers are Cygwin, Windows Subsystem for
Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash;
While OpenJDK can be built with MSYS2, support for it is still experimental, so
build failures and unusual errors are not uncommon.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
@@ -305,12 +305,12 @@ be able to run on the target platform. In theory, toolchain and operating
system should be independent factors, but in practice there's more or less a
one-to-one correlation between target operating system and toolchain.
Operating system Supported toolchain
------------------ -------------------------
Linux gcc, clang
macOS Apple Xcode (using clang)
AIX IBM XL C/C++
Windows Microsoft Visual Studio
| Operating system | Supported toolchain |
| ------------------ | ------------------------- |
| Linux | gcc, clang |
| macOS | Apple Xcode (using clang) |
| AIX | IBM XL C/C++ |
| Windows | Microsoft Visual Studio |
Please see the individual sections on the toolchains for version
recommendations. As a reference, these versions of the toolchains are used, at
@@ -319,11 +319,11 @@ possible to compile the JDK with both older and newer versions, but the closer
you stay to this list, the more likely you are to compile successfully without
issues.
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 10.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Windows Microsoft Visual Studio 2019 update 16.7.2
| Operating system | Toolchain version |
| ------------------ | ------------------------------------------ |
| Linux | gcc 11.2.0 |
| macOS | Apple Xcode 10.1 (using clang 10.0.0) |
| Windows | Microsoft Visual Studio 2022 update 17.1.0 |
All compilers are expected to be able to compile to the C99 language standard,
as some C99 features are used in the source code. Microsoft Visual Studio
@@ -335,7 +335,7 @@ features that it does support.
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
by `configure` and are unlikely to work.
The JDK is currently known to be able to compile with at least version 10.2 of
The JDK is currently known to be able to compile with at least version 11.2 of
gcc.
In general, any version between these two should be usable.
@@ -351,20 +351,20 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
The oldest supported version of Xcode is 8.
You will need the Xcode command lines developers tools to be able to build
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
You will need the Xcode command line developer tools to be able to build
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
The simplest way to install these is to run:
```
xcode-select --install
```
It is advisable to keep an older version of Xcode for building the JDK when
updating Xcode. This [blog page](
http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
good suggestions on managing multiple Xcode versions. To use a specific version
of Xcode, use `xcode-select -s` before running `configure`, or use
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
When updating Xcode, it is advisable to keep an older version for building the JDK.
To use a specific version of Xcode you have multiple options:
* Use `xcode-select -s` before running `configure`, e.g. `xcode-select -s /Applications/Xcode13.1.app`. The drawback is that the setting
is system wide and you may have to revert it after an OpenJDK build.
* Use configure option `--with-xcode-path`, e.g. `configure --with-xcode-path=/Applications/Xcode13.1.app`
This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by `xcode-select`.
If you have recently (inadvertently) updated your OS and/or Xcode version, and
the JDK can no longer be built, please see the section on [Problems with the
@@ -818,7 +818,7 @@ configuration, as opposed to the "configure time" configuration.
#### Test Make Control Variables
These make control variables only make sense when running tests. Please see
[Testing the JDK](testing.html) for details.
**Testing the JDK** ([html](testing.html), [markdown](testing.md)) for details.
* `TEST`
* `TEST_JOBS`
@@ -848,7 +848,7 @@ containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
recent builds of jtreg [here](
https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact).
https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
`jtreg` directory that you just unpacked.
@@ -865,8 +865,44 @@ To execute the most basic tests (tier 1), use:
make run-test-tier1
```
For more details on how to run tests, please see the [Testing
the JDK](testing.html) document.
For more details on how to run tests, please see **Testing the JDK**
([html](testing.html), [markdown](testing.md)).
## Signing
### macOS
Modern versions of macOS require applications to be signed and notarizied before
distribution. See Apple's documentation for more background on what this means
and how it works. To help support this, the JDK build can be configured to
automatically sign all native binaries, and the JDK bundle, with all the options
needed for successful notarization, as well as all the entitlements required by
the JDK. To enable `hardened` signing, use configure parameter
`--with-macosx-codesign=hardened` and configure the signing identity you wish to
use with `--with-macosx-codesign-identity=<identity>`. The identity refers to a
signing identity from Apple that needs to be preinstalled on the build host.
When not signing for distribution with the hardened option, the JDK build will
still attempt to perform `adhoc` signing to add the special entitlement
`com.apple.security.get-task-allow` to each binary. This entitlement is required
to be able to dump core files from a process. Note that adding this entitlement
makes the build invalid for notarization, so it is only added when signing in
`debug` mode. To explicitly enable this kind of adhoc signing, use configure
parameter `--with-macosx-codesign=debug`. It will be enabled by default in most
cases.
It's also possible to completely disable any explicit codesign operations done
by the JDK build using the configure parameter `--without-macosx-codesign`.
The exact behavior then depends on the architecture. For macOS on x64, it (at
least at the time of this writing) results in completely unsigned binaries that
should still work fine for development and debugging purposes. On aarch64, the
Xcode linker will apply a default "adhoc" signing, without any entitlements.
Such a build does not allow dumping core files.
The default mode "auto" will try for `hardened` signing if the debug level is
`release` and either the default identity or the specified identity is valid.
If hardened isn't possible, then `debug` signing is chosen if it works. If
nothing works, the codesign build step is disabled.
## Cross-compiling
@@ -1503,6 +1539,68 @@ If you need general help or advice about developing for the JDK, you can also
contact the Adoption Group. See the section on [Contributing to OpenJDK](
#contributing-to-openjdk) for more information.
## Reproducible Builds
Build reproducibility is the property of getting exactly the same bits out when
building, every time, independent on who builds the product, or where. This is
for many reasons a harder goal than it initially appears, but it is an important
goal, for security reasons and others. Please see [Reproducible Builds](
https://reproducible-builds.org) for more information about the background and
reasons for reproducible builds.
Currently, it is not possible to build OpenJDK fully reproducibly, but getting
there is an ongoing effort. There are some things you can do to minimize
non-determinism and make a larger part of the build reproducible:
* Turn on build system support for reproducible builds
Add the flag `--enable-reproducible-build` to your `configure` command line.
This will turn on support for reproducible builds where it could otherwise be
lacking.
* Do not rely on `configure`'s default adhoc version strings
Default adhoc version strings OPT segment include user name, source directory
and timestamp. You can either override just the OPT segment using
`--with-version-opt=<any fixed string>`, or you can specify the entire version
string using `--with-version-string=<your version>`.
* Specify how the build sets `SOURCE_DATE_EPOCH`
The JDK build system will set the `SOURCE_DATE_EPOCH` environment variable
during building, depending on the value of the `--with-source-date` option for
`configure`. The default value is `updated`, which means that
`SOURCE_DATE_EPOCH` will be set to the current time each time you are running
`make`.
The [`SOURCE_DATE_EPOCH` environment variable](
https://reproducible-builds.org/docs/source-date-epoch/) is an industry
standard, that many tools, such as gcc, recognize, and use in place of the
current time when generating output.
For reproducible builds, you need to set this to a fixed value. You can use the
special value `version` which will use the nominal release date for the current
JDK version, or a value describing a date, either an epoch based timestamp as an
integer, or a valid ISO-8601 date.
**Hint:** If your build environment already sets `SOURCE_DATE_EPOCH`, you can
propagate this using `--with-source-date=$SOURCE_DATE_EPOCH`.
* Specify a hotspot build time
Set a fixed hotspot build time. This will be included in the hotspot library
(`libjvm.so` or `jvm.dll`) and defaults to the current time when building
hotspot. Use `--with-hotspot-build-time=<any fixed string>` for reproducible
builds. It's a string so you don't need to format it specifically, so e.g. `n/a`
will do. Another solution is to use the `SOURCE_DATE_EPOCH` variable, e.g.
`--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)`.
* Copyright year
The copyright year in some generated text files are normally set to the current
year. This can be overridden by `--with-copyright-year=<year>`. For fully
reproducible builds, this needs to be set to a fixed value.
## Hints and Suggestions for Advanced Users
### Bash Completion

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>
<li><a href="#microbenchmarks">Microbenchmarks</a></li>
@@ -67,6 +68,19 @@ $ make exploded-test TEST=tier2</code></pre>
<p>All functionality is available using the <code>test</code> 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, <code>test-only</code> 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 test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>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>
@@ -179,7 +193,9 @@ TEST FAILURE</code></pre>
<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>
<p>Retry failed tests up to a set number of times, until they pass. This allows to pass the tests with intermittent failures. Defaults to 0.</p>
<h4 id="repeat_count">REPEAT_COUNT</h4>
<p>Repeat the tests up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. 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>
@@ -226,14 +242,39 @@ $ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TE
JTREG=&quot;JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs&quot;</code></pre>
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<h4 id="system-key-shortcuts">System key shortcuts</h4>
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>
<h5 id="macos">MacOS</h5>
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect &quot;Turn keyboard access on or off&quot; option which is responsible for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<h5 id="linux">Linux</h5>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<h4 id="windows">Windows</h4>
<h5 id="windows">Windows</h5>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for &quot;Turn off Windows key hotkeys&quot; and double click on it; enable or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
<h4 id="robot-api">Robot API</h4>
<p>Most automated Client UI tests use <code>Robot</code> API to control
the UI. Usually, the default operating system settings need to be
adjusted for Robot to work correctly. The detailed steps how to access
and update these settings for different platforms are provided
below.</p>
<h5 id="macos-1">macOS</h5>
<p><code>Robot</code> is not permitted to control your Mac by default
since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
click Privacy &amp; Security; then click Accessibility and ensure the
following apps are allowed to control your computer: <em>Java</em> and
<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
granted this permission too.</p>
<h5 id="windows-1">Windows</h5>
<p>On Windows if Cygwin terminal is used to run the tests, there is a
delay in focus transfer. Usually it causes automated UI test failure. To
disable the delay, type <code>regedit</code> in the Search and then
select Registry Editor; navigate to the following key:
<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
<code>ForegroundLockTimeout</code> value is set to 0.</p>
<p>Additional information about Client UI tests configuration for
various operating systems can be obtained at <a
href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
client GUI testing system set up requirements</a></p>
</body>
</html>

View File

@@ -64,6 +64,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
@@ -373,7 +419,15 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
### Gtest keywords
@@ -492,12 +546,14 @@ test/jdk/sun/security/pkcs11/README.
### Client UI Tests
#### System key shortcuts
Some Client UI tests use key sequences which may be reserved by the operating
system. Usually that causes the test failure. So it is highly recommended to
disable system key shortcuts prior testing. The steps to access and disable
system key shortcuts for various platforms are provided below.
#### MacOS
##### macOS
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
select or deselect desired shortcut.
@@ -510,12 +566,12 @@ test correctly the default global key shortcut should be disabled using the
steps described above, and then deselect "Turn keyboard access on or off"
option which is responsible for `CTRL + F1` combination.
#### Linux
##### Linux
Open the Activities overview and start typing Settings; Choose Settings, click
Devices, then click Keyboard; set or override desired shortcut.
#### Windows
##### Windows
Type `gpedit` in the Search and then click Edit group policy; navigate to User
Configuration -> Administrative Templates -> Windows Components -> File
@@ -524,6 +580,33 @@ double click on it; enable or disable hotkeys.
Note: restart is required to make the settings take effect.
#### Robot API
Most automated Client UI tests use `Robot` API to control the UI. Usually,
the default operating system settings need to be adjusted for Robot
to work correctly. The detailed steps how to access and update these settings
for different platforms are provided below.
##### macOS
`Robot` is not permitted to control your Mac by default since
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
Privacy & Security; then click Accessibility and ensure the following apps are
allowed to control your computer: *Java* and *Terminal*. If the tests are run
from an IDE, the IDE should be granted this permission too.
##### Windows
On Windows if Cygwin terminal is used to run the tests, there is a delay in
focus transfer. Usually it causes automated UI test failure. To disable the
delay, type `regedit` in the Search and then select Registry Editor; navigate
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
the `ForegroundLockTimeout` value is set to 0.
Additional information about Client UI tests configuration for various operating
systems can be obtained at [Automated client GUI testing system set up
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
---
# Override some definitions in the global css file that are not optimal for
# this document.

View File

@@ -1,13 +0,0 @@
# jetbrains/runtime:jbr15env
FROM centos:7
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool gcc gcc-c++ libstdc++-devel alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 16
RUN wget https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz \
-O - | tar xz -C /
RUN mv /zulu16.28.11-ca-jdk16.0.0-linux_x64 /jdk16.0.0
ENV PATH /opt/rh/devtoolset-8/root/usr/bin:$PATH
RUN mkdir .git
RUN git config user.email "teamcity@jetbrains.com"
RUN git config user.name "builduser"

View File

@@ -0,0 +1,46 @@
# 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.
# jetbrains/runtime:jbr17env_aarch64
FROM arm64v8/centos:7
# Install the necessary build tools
RUN yum -y update; \
yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7.aarch64 \
autoconf-2.69-11.el7.noarch \
automake-1.13.4-3.el7.noarch \
bzip2-1.0.6-13.el7.aarch64 \
cups-devel-1.6.3-51.el7.aarch64 \
file-5.11-37.el7.aarch64 \
fontconfig-devel-2.13.0-4.3.el7.aarch64 \
freetype-devel-2.8-14.el7_9.1.aarch64 \
giflib-devel-4.1.6-9.el7.aarch64 \
git-1.8.3.1-24.el7_9.aarch64 \
libtool-2.4.2-22.el7_3.aarch64 \
libXi-devel-1.7.9-1.el7.aarch64 \
libXrandr-devel-1.5.1-2.el7.aarch64 \
libXrender-devel-0.9.10-1.el7.aarch64 \
libXt-devel-1.1.5-3.el7.aarch64 \
libXtst-devel-1.2.3-1.el7.aarch64 \
make-3.82-24.el7.aarch64 \
rsync-3.1.2-12.el7_9.aarch64 \
tar-1.26-35.el7.aarch64 \
unzip-6.0-24.el7_9.aarch64 \
wayland-devel-1.15.0-1.el7 \
zip-3.0-11.el7.aarch64; \
yum -y clean all
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin:${PATH}"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -0,0 +1,22 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_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/alpine:3.12
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk17/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -0,0 +1,22 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.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 alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk17/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,7 +1,55 @@
FROM i386/ubuntu:xenial
# NOTE: This Dockerfile is meant to be used from the mkdocker_x86.sh script.
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
# Pull a concrete version of Linux that does NOT receive 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 i386/ubuntu:xenial
#FROM i386/ubuntu:bionic
FROM i386/ubuntu:focal
RUN linux32 \
apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN export DEBIAN_FRONTEND=noninteractive \
export DEBCONF_NONINTERACTIVE_SEEN=true && \
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
linux32 \
apt-get -y install \
autoconf \
build-essential \
curl \
file \
git \
libx11-dev \
libxext-dev \
libxrender-dev \
libxrandr-dev \
libxtst-dev \
libxt-dev \
libcups2-dev \
libasound2-data \
# libpng12-0 \
libasound2 \
libfreetype6 \
libfontconfig1-dev \
libasound2-dev \
rsync \
unzip \
zip
RUN linux32 \
apt-get -y install \
g++-10 \
gcc-10 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 && \
apt-get clean -qy && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set up boot JDK for building
COPY boot_jdk_x86.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_x86.tar.gz && rm /jdk17/boot_jdk_x86.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -0,0 +1,36 @@
# jetbrains/runtime:jbr17env_x86_64
FROM centos:7
RUN yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7 \
autoconf-2.69-11.el7 \
automake-1.13.4-3.el7 \
bzip2-1.0.6-13.el7 \
cups-devel-1.6.3-51.el7 \
file-5.11-37.el7 \
fontconfig-devel-2.13.0-4.3.el7 \
freetype-devel-2.8-14.el7_9.1 \
giflib-devel-4.1.6-9.el7 \
git-1.8.3.1-24.el7_9 \
libtool-2.4.2-22.el7_3 \
libXi-devel-1.7.9-1.el7 \
libXrandr-devel-1.5.1-2.el7 \
libXrender-devel-0.9.10-1.el7 \
libXt-devel-1.1.5-3.el7 \
libXtst-devel-1.2.3-1.el7 \
make-3.82-24.el7 \
tar-1.26-35.el7 \
unzip-6.0-24.el7_9 \
wayland-devel-1.15.0-1.el7 \
wget-1.14-18.el7_6.1 \
which-2.20-7.el7 \
zip-3.0-11.el7
RUN mkdir .git && \
git config user.email "teamcity@jetbrains.com" && \
git config user.name "builduser"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin::${PATH}"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"

View File

@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
set -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.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbr17buildenv -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

@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl AArch64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_aarch64.tar.gz
BOOT_JDK_SHA=6b920559abafbe9bdef386a20ecf3a2f318bc1f0d8359eb1f95aee26606bbc70
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_aarch64.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.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbr17buildenv -f Dockerfile.musl_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

@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_x64.tar.gz
BOOT_JDK_SHA=bcc5342011bd9f3643372aadbdfa68d47463ff0d8621668a0bdf2910614d95c6
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_amd64.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.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbr17buildenv -f Dockerfile.musl_x64 .
# 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

@@ -0,0 +1,26 @@
#!/bin/bash -x
# This script creates a Docker image suitable for building x86 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.34.19-ca-jdk17.0.3-linux_i686.tar.gz
BOOT_JDK_SHA=1c35c374ba0001e675d6e80819d5be900c4e141636d5e484992a8c550be14481
BOOT_JDK_LOCAL_FILE=boot_jdk_x86.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.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr17env_x86 -f Dockerfile.x86 .
# 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

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

View File

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

View File

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

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/src/jetbrains.api">
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/templates" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
</component>
</module>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
###MODULE_IMLS###
<module fileurl="file://$PROJECT_DIR$/.idea/jetbrains.api.iml" filepath="$PROJECT_DIR$/.idea/jetbrains.api.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
</modules>
</component>
</project>

View File

@@ -31,6 +31,7 @@ jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.javadoc,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
@@ -46,9 +47,8 @@ jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jetbrains.api,
jetbrains.api.impl,
jdk.jcmd

View File

@@ -0,0 +1,18 @@
#!/bin/bash
set -euo pipefail
# $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,14 +1,123 @@
#!/bin/bash
set -euo pipefail
set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
do_maketest=0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
esac
done
shift $((OPTIND-1))
if [[ $# -lt 2 ]]; then
echo "Required at least two arguments: build_number bundle_type"
exit 1
fi
build_number=$1
bundle_type=$2
# shellcheck disable=SC2034
architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jbr-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ",")
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
STATIC_CONF_ARGS=""
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
if [[ -f "$common_conf_props_file" ]]; then
STATIC_CONF_ARGS=$(<$common_conf_props_file)
fi
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
USER=builduser
export USER
case "$OS_NAME" in
Linux)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
CYGWIN*)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--disable-absolute-paths-in-output"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jdk_name=$(echo $1 | cut -d"/" -f5)
jbr_diz_name=$2
[ -d "dizfiles" ] && rm -rf dizfiles
mkdir dizfiles
rsync_target="../../../../dizfiles"
[ -z "$jdk_name" ] && rsync_target=$rsync_target"/"$jbr_diz_name
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} $rsync_target \;)
[ ! -z "$jdk_name" ] && mv dizfiles/$jdk_name dizfiles/$jbr_diz_name
(cd dizfiles && find $jbr_diz_name -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
@@ -37,7 +146,7 @@ function update_jsdk_mods() {
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$JSDK"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \

View File

@@ -0,0 +1 @@
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR

View File

@@ -1,84 +1,165 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -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
# build_number - specifies the number of JetBrainsRuntime build
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with 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
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# $ ./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)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
function do_configure {
sh configure \
$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" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
sh configure \
--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-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-server-release || exit $?
make images CONF=linux-aarch64-server-release test-image || exit $?
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-server-release/images
JSDK=${BASE_DIR}/jdk
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
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 $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
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 $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?
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 $?
do_exit 0

View File

@@ -1,34 +1,54 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -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:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with 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
#
# $ ./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)
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
source jb/project/tools/common/scripts/common.sh
function do_configure {
sh configure \
$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" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
@@ -36,30 +56,44 @@ function create_image_bundle {
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-x64-${fastdebug_infix}b${build_number}
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__arch_name" ] && rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__arch_name"
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__arch_name"/release
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__arch_name"/release > release
mv release "$IMAGES_DIR"/"$__arch_name"/release
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__arch_name"/jmods
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
tar -pcf "$JBR".tar -C "$IMAGES_DIR" "$__arch_name" || do_exit $?
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
#rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
@@ -68,12 +102,7 @@ RELEASE_NAME=linux-x86_64-server-release
case "$bundle_type" in
"jcef")
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
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
@@ -85,18 +114,10 @@ case "$bundle_type" in
;;
esac
sh configure \
$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" \
--enable-cds=yes || do_exit $?
make clean CONF=$RELEASE_NAME || 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 $?
IMAGES_DIR=build/$RELEASE_NAME/images
@@ -107,32 +128,37 @@ JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ -z "$bundle_type" ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-test-x64-b${build_number}
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
make test-image CONF=$RELEASE_NAME || do_exit $?
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -1,80 +1,144 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -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
# build_number - specifies the number of JetBrainsRuntime build
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with 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
#
# $ ./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)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
function do_configure {
linux32 bash configure \
$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" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
linux32 bash configure \
--with-debug-level=release \
--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-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-server-release || exit $?
make images CONF=linux-x86-server-release test-image || exit $?
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-server-release/images
JSDK=${BASE_DIR}/jdk
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86-server-fastdebug
;;
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 $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
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
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
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 $?
do_exit 0

View File

@@ -0,0 +1,47 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isMacOsBinary() {
file "$1" | grep -q 'Mach-O'
}
function isSigned() {
codesign --verify "$1" >/dev/null 2>&1 && ! grep -q Signature=adhoc < <(codesign --display --verbose "$1" 2>&1)
}
# last argument is a path to be signed
pathToBeSigned="$(pwd)/${*: -1}"
jetSignArgs=("${@:1:$#-1}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif ! isMacOsBinary "$pathToBeSigned" && [[ "$pathToBeSigned" != *.sit ]] && [[ "$pathToBeSigned" != *.tar.gz ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS executable"
else
if isMacOsBinary "$pathToBeSigned" && ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS binary: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
# SRE-1223 (Codesign removes execute bits in executable files) workaround
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
if isMacOsBinary "$pathSigned"; then
isSigned "$pathSigned"
fi
rm "$pathToBeSigned"
mv "$pathSigned" "$pathToBeSigned"
rm -rf "$workDir/signed"
)
fi

View File

@@ -0,0 +1,63 @@
#!/bin/bash
set -euo pipefail
function isForced() {
for arg in "$@"; do
if [[ "$arg" == --force ]]; then
return 0
fi
done
return 1
}
function jetSignExtensions() {
args=("$@")
((lastElementIndex=${#args[@]}-1))
for index in "${!args[@]}"; do
arg=${args[$index]}
case "$arg" in
--sign | -s)
echo -n 'mac_codesign_identity='
continue
;;
--entitlements)
echo -n 'mac_codesign_entitlements='
continue
;;
--options=runtime)
echo -n 'mac_codesign_options=runtime'
;;
--force)
echo -n 'mac_codesign_force=true'
;;
--timestamp | --verbose | -v)
continue
;;
*)
echo -n "$arg"
;;
esac
if [[ $index != "$lastElementIndex" ]]; then
echo -n ","
fi
done
}
# See jetbrains.sign.util.FileUtil.contentType
function jetSignContentType() {
case "${1##*/}" in
*.sit)
echo -n 'application/x-mac-app-zip'
;;
*.tar.gz)
echo -n 'application/x-mac-app-targz'
;;
*.pkg)
echo -n 'application/x-mac-pkg'
;;
*)
echo -n 'application/x-mac-app-bin'
;;
esac
}

View File

@@ -1,45 +1,72 @@
#!/bin/bash -x
#!/bin/bash
set -euo pipefail
set -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:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with 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
#
# $ ./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)
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
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}
architecture=${architecture:=x64}
MAJOR_JBSDK_VERSION=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $1}')
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
# MACOSX_VERSION_MAX - specifies value for the --with-macosx-version-max parameter. By default it is 10.12.00 for x64
# and 11.00.00 for aarch64
source jb/project/tools/common/scripts/common.sh
function copyJNF {
__contents_dir=$1
mkdir -p ${__contents_dir}/Frameworks
cp -Rp Frameworks/JavaNativeFoundation.framework ${__contents_dir}/Frameworks
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="${JDK_BUILD_NUMBER}" \
--with-version-opt=b"${build_number}" \
--with-boot-jdk="$BOOT_JDK" \
--with-macosx-version-max="${MACOSX_VERSION_MAX:="11.00.00"}" \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
else
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--with-macosx-version-max="${MACOSX_VERSION_MAX:="10.12.00"}" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
fi
}
function create_image_bundle {
@@ -48,13 +75,16 @@ function create_image_bundle {
__modules_path=$3
__modules=$4
fastdebug_infix=''
tmp=.bundle.$$.tmp
mkdir "$tmp" || do_exit $?
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix}b${build_number}
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
JRE_CONTENTS=$tmp/$__arch_name/Contents
JRE_CONTENTS=$tmp/$__root_dir/Contents
mkdir -p "$JRE_CONTENTS" || do_exit $?
echo Running jlink...
@@ -66,22 +96,29 @@ function create_image_bundle {
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
mv release $JRE_CONTENTS/Home/release
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
if [ "$bundle_type" == "jcef" ]; then
cat $JCEF_PATH/jcef.version >> "$JRE_CONTENTS/Home/release"
fi
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
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
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
echo Creating "$JBR".tar.gz ...
COPYFILE_DISABLE=1 tar -pczf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man' -C "$tmp" "$__arch_name" || do_exit $?
# Normalize timestamp
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
rm -rf "$tmp"
}
@@ -95,12 +132,7 @@ RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
case "$bundle_type" in
"jcef")
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
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
@@ -113,66 +145,47 @@ case "$bundle_type" in
;;
esac
if [[ "${architecture}" == *aarch64* ]]; then
sh configure \
$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" \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" || do_exit $?
else
sh configure \
$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" \
--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=$RELEASE_NAME || do_exit $?
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$MAJOR_JBSDK_VERSION.jdk/Contents/Home
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
if [ -z "$bundle_type" ]; then
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
make test-image CONF=$RELEASE_NAME || do_exit $?
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0
do_exit 0

View File

@@ -1,18 +1,17 @@
#!/bin/bash
APP_DIRECTORY=$1
APPL_USER=$2
APPL_PASSWORD=$3
APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
APP_PATH=$1
if [[ -z "$APP_PATH" ]]; then
echo "Usage: $0 AppPath"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
if [[ ! -f "$APP_PATH" ]]; then
echo "AppName '$APP_PATH' does not exist or not a file"
exit 1
fi
@@ -20,101 +19,22 @@ function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
function publish-log() {
id=$1
file=$2
curl -T "$file" "$ARTIFACTORY_URL/$id" || true
}
function altool-upload() {
# Since altool uses same file for upload token we have to trick it into using different folders for token file location
# Also it copies zip into TMPDIR so we override it too, to simplify cleanup
OLD_HOME="$HOME"
export HOME="$FAKE_ROOT/home"
export TMPDIR="$FAKE_ROOT/tmp"
mkdir -p "$HOME"
mkdir -p "$TMPDIR"
export _JAVA_OPTIONS="-Duser.home=$HOME -Djava.io.tmpdir=$TMPDIR"
# Reduce amount of downloads, cache transporter libraries
shared_itmstransporter="$OLD_HOME/shared-itmstransporter"
if [[ -f "$shared_itmstransporter" ]]; then
cp -r "$shared_itmstransporter" "$HOME/.itmstransporter"
fi
# For some reason altool prints everything to stderr, not stdout
set +e
xcrun altool --notarize-app \
--username "$APPL_USER" --password "$APPL_PASSWORD" \
--primary-bundle-id "$BUNDLE_ID" \
--asc-provider JetBrainssro --file "$1" 2>&1 | tee "altool.init.out"
unset TMPDIR
export HOME="$OLD_HOME"
set -e
}
# check required parameters
: "${APPLE_ISSUER_ID}"
: "${APPLE_KEY_ID}"
: "${APPLE_PRIVATE_KEY}"
#immediately exit script with an error if a command fails
set -euo pipefail
# shellcheck disable=SC2064
trap "rm -f \"$PWD/tmp_key\"" INT EXIT RETURN
echo -n "${APPLE_PRIVATE_KEY}" > tmp_key
file="$APP_NAME.zip"
log "Notarizing $APP_PATH..."
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 | tee "notarytool.submit.out"
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h ||:
xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json ||:
xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$file"
rm -rf "$file"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"
if [ -z "$notarization_info" ]; then
log "Faile to read RequestUUID from altool.init.out"
exit 10
fi
PATH="$PATH:/usr/local/bin/"
log "Notarization request sent, awaiting response"
spent=0
while true; do
# For some reason altool prints everything to stderr, not stdout
xcrun altool --username "$APPL_USER" --notarization-info "$notarization_info" --password "$APPL_PASSWORD" >"altool.check.out" 2>&1 || true
status="$(grep -oe 'Status: .*' "altool.check.out" | cut -c 9- || true)"
log "Current status: $status"
if [ "$status" = "invalid" ]; then
log "Notarization failed"
ec=1
elif [ "$status" = "success" ]; then
log "Notarization succeeded"
ec=0
else
if [ "$status" != "in progress" ]; then
log "Unknown notarization status, waiting more, altool output:"
cat "altool.check.out"
fi
if [[ $spent -gt 60 ]]; then
log "Waiting time out (apx 60 minutes)"
ec=2
break
fi
sleep 60
((spent += 1))
continue
fi
developer_log="developer_log.json"
log "Fetching $developer_log"
# TODO: Replace cut with trim or something better
url="$(grep -oe 'LogFileURL: .*' "altool.check.out" | cut -c 13-)"
wget "$url" -O "$developer_log" && cat "$developer_log" || true
if [ $ec != 0 ]; then
log "Publishing $developer_log"
publish-log "$notarization_info" "$developer_log"
fi
break
done
cat "altool.check.out"
rm -rf "altool.init.out" "altool.check.out"
exit $ec
log "Notarizing finished"

View File

@@ -0,0 +1,41 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isSigned() {
pkgutil --check-signature "$1" >/dev/null 2>&1 && grep -q "signed by a developer certificate" < <(pkgutil --check-signature "$1" 2>&1)
}
# second last argument is a path to be signed
pathToBeSigned="$(pwd)/${*:(-2):1}"
# last argument is a path to signed file
pathOut="$(pwd)/${*:(-1)}"
jetSignArgs=("${@:1:$#-2}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif [[ "$pathToBeSigned" != *.pkg ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS package"
else
if ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS package: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
isSigned "$pathSigned"
rm -f "$pathOut"
mv "$pathSigned" "$pathOut"
rm -rf "$workDir/signed"
)
fi

View File

@@ -1,14 +1,35 @@
#!/bin/bash
APP_DIRECTORY=$1
JB_CERT=$2
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$JB_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
if [[ $# -lt 5 ]]; then
echo "Usage: $0 AppDirectory AppName BundleId CertificateID InstallerCertificateID"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
APPLICATION_PATH=$1
PKG_NAME=$2
BUNDLE_ID=$3
JB_DEVELOPER_CERT=$4
JB_INSTALLER_CERT=$5
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
# Use JetBrains sign utility if it's available
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
JB_SIGN=false
SIGN_UTILITY="codesign"
PRODUCTSIGN_UTILITY="productsign"
else
JB_SIGN=true
SIGN_UTILITY="$SCRIPT_DIR/codesign.sh"
PRODUCTSIGN_UTILITY="$SCRIPT_DIR/productsign.sh"
fi
if [[ ! -d "$APPLICATION_PATH" ]]; then
echo "AppDirectory '$APPLICATION_PATH' does not exist or not a directory"
exit 1
fi
@@ -16,47 +37,31 @@ function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
#immediately exit script with an error if a command fails
set -euo pipefail
# Cleanup files left from previous sign attempt (if any)
find "$APP_DIRECTORY" -name '*.cstemp' -exec rm '{}' \;
find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
"Contents/Home/lib" "Contents/MacOS" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
if [ -d "$APP_DIRECTORY/Contents/Frameworks" ]; then
log "Signing frameworks..."
for f in $APP_DIRECTORY/Contents/Frameworks/*; do
find "$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" \
--entitlements entitlements.xml {} \;
codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml "$f"
done
fi
log "Signing libraries in jars in $PWD"
log "Signing libraries in jars in $APPLICATION_PATH"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APP_DIRECTORY" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
find "$APPLICATION_PATH" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
@@ -67,41 +72,91 @@ find "$APP_DIRECTORY" -name '*.jar' \
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec "$SIGN_UTILITY" --timestamp \
--force \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
(cd jarfolder; zip -q -r -o ../jar.jar .)
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
# shellcheck disable=SC2043
for f in \
"Contents/MacOS"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
"Contents/Home/bin"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
#log "Signing executable..."
#codesign --timestamp \
# -v -s "$JB_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml "$APP_DIRECTORY/Contents/MacOS/idea"
log "Signing whole frameworks..."
# shellcheck disable=SC2043
if [ "$JB_SIGN" = true ]; then for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
do
log "Signing '$line':"
tar -pczf tmp-to-sign.tar.gz -C "$(dirname "$line")" "$(basename "$line")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
rm -rf "$line"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
rm -f tmp-to-sign.tar.gz
done
fi
done; fi
log "Checking framework signatures..."
for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
done
log "Signing whole app..."
codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--force \
--entitlements entitlements.xml "$APP_DIRECTORY"
if [ "$JB_SIGN" = true ]; then
tar -pczf tmp-to-sign.tar.gz --exclude='man' -C "$(dirname "$APPLICATION_PATH")" "$(basename "$APPLICATION_PATH")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
rm -rf "$APPLICATION_PATH"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
rm -f tmp-to-sign.tar.gz
else
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH"
fi
BUILD_NAME="$(basename "$APPLICATION_PATH")"
log "Creating $PKG_NAME..."
rm -rf "$PKG_NAME"
mkdir -p unsigned
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${PKG_NAME}
log "Signing $PKG_NAME..."
"$PRODUCTSIGN_UTILITY" --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${PKG_NAME} ${PKG_NAME}
log "Verifying java is not broken"
find "$APP_DIRECTORY" \
find "$APPLICATION_PATH" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -1,7 +1,8 @@
#!/bin/bash -x
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
@@ -12,10 +13,11 @@ BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
NOTARIZE=$6
BUNDLE_ID=$7
JB_INSTALLER_CERT=$6
NOTARIZE=$7
BUNDLE_ID=$8
cd "$(dirname "$0")"
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
@@ -33,7 +35,7 @@ mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
BUILD_NAME="$(ls "$EXPLODED")"
sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
@@ -42,7 +44,9 @@ fi
log "$INPUT_FILE extracted and removed"
APPLICATION_PATH="$EXPLODED/$BUILD_NAME"
APP_NAME=$(basename "$INPUT_FILE" | awk -F".tar" '{ print $1 }')
PKG_NAME="$APP_NAME.pkg"
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
@@ -70,16 +74,18 @@ if [[ $non_plist -gt 0 ]]; then
exit 1
fi
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
fi
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$CODESIGN_STRING"
"$SCRIPT_DIR/sign.sh" "$APPLICATION_PATH" "$PKG_NAME" "$BUNDLE_ID" "$CODESIGN_STRING" "$JB_INSTALLER_CERT"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
@@ -92,6 +98,7 @@ while [[ $attempt -le $limit ]]; do
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
spctl -a -v $APPLICATION_PATH
((attempt += limit))
fi
done
@@ -100,20 +107,10 @@ set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
APP_NAME=$(echo ${INPUT_FILE} | awk -F"." '{ print $1 }')
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH"
xcrun stapler staple "$APPLICATION_PATH" ||:
xcrun stapler staple "$PKG_NAME" ||:
else
log "Notarization disabled"
log "Stapling disabled"
@@ -124,10 +121,15 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
fi
if [[ "$APPLICATION_PATH" != "$EXPLODED/$BUILD_NAME" ]]; then
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
else
echo "No move, source == destination: $APPLICATION_PATH"
fi
tar -pczvf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"

View File

@@ -1,56 +0,0 @@
#!/bin/bash -x
# How to call this script:
# eval $(jb/project/tools/mkjbrapi.sh)
# It is used to build jetbrains.api module
# After properly calling this script, you can use following variables:
# JBR_API_JAR - absolute path to resulting JAR
# JBR_API_SOURCES_JAR - absolute path to JAR with sources
# JBR_API_VERSION - JBR API version in form <major>.<minor>
# JBR_API_VERSION_MAJOR, JBR_API_VERSION_MINOR - JBR API version components
# JBR_BUILD_DIR - absolute path to JBR build directory
# JBR_BOOT_JDK - absolute path to used boot JDK
ROOT=$(pwd)
sh configure --with-debug-level=release --disable-warnings-as-errors 1>&2 || exit $?
# Get boot JDK & build directory using make script
make -f $ROOT/make/JBRApi.gmk -I $ROOT jbr-api MAKEOVERRIDES= CONF=release OUT="$ROOT/build/jbr-api.cfg" 1>&2 || exit $?
source "$ROOT/build/jbr-api.cfg" || exit $?
# Build module
make jetbrains.api 1>&2 || exit $?
# Get JBR API version from compiled class
JSHELL_COMMAND='
System.out.println("\nVERSION_MAJOR=" + com.jetbrains.JBRApi.getMajorVersion());
System.out.println("\nVERSION_MINOR=" + com.jetbrains.JBRApi.getMinorVersion());
/exit'
VERSION_VARIABLES=$("$BOOT_JDK/bin/jshell" -s --module-path "$BUILD_DIR/jdk/modules/jetbrains.api" \
--add-modules jetbrains.api <<< "$JSHELL_COMMAND" | grep "^VERSION\|^|") || exit $?
eval "$VERSION_VARIABLES" || exit $?
# Create JAR
(
cd "$BUILD_DIR/jdk/modules/jetbrains.api"
"$BOOT_JDK/bin/jar" -cf "$BUILD_DIR/jbr-api.jar" * 1>&2
) || exit $?
# Create source JAR
(
cd "src/jetbrains.api/share/classes"
"$BOOT_JDK/bin/jar" -cf "$BUILD_DIR/jbr-api-sources.jar" * 1>&2
) || exit $?
# Print output values
echo "JBR_API_JAR=$BUILD_DIR/jbr-api.jar"
echo "JBR_API_SOURCES_JAR=$BUILD_DIR/jbr-api-sources.jar"
echo "JBR_API_VERSION=$VERSION_MAJOR.$VERSION_MINOR"
echo "JBR_API_VERSION_MAJOR=$VERSION_MAJOR"
echo "JBR_API_VERSION_MINOR=$VERSION_MINOR"
echo "JBR_BUILD_DIR=$BUILD_DIR"
echo "JBR_BOOT_JDK=$BOOT_JDK"
echo "Success!" 1>&2

View File

@@ -1,11 +1,11 @@
diff --git modules.list modules.list
index dcf610a6a56..f8797505c23 100644
--- modules.list
+++ modules.list
@@ -51,4 +51,7 @@ jdk.zipfs,
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7cb43..c40e689d5de 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jetbrains.api,
jetbrains.api.impl,
-jdk.jcmd
+jdk.jcmd,
+jcef,

View File

@@ -0,0 +1,30 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7..c40e689 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647e..781d180 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ 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,29 +0,0 @@
From d937dae078891013a644c6a53eb17f8f5deb8ec8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 11 Mar 2020 14:19:34 +0100
Subject: [PATCH 03/39] Fix class cast exception on redefinition of class A,
that is superclass of B that has anonymous class C
---
src/hotspot/share/oops/instanceKlass.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 9327652d8fe..c18a5822939 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -908,7 +908,10 @@ bool InstanceKlass::link_class_impl(TRAPS) {
if (!is_linked()) {
if (!is_rewritten()) {
- {
+ // (DCEVM): If class A is being redefined and class B->A (B is extended from A) and B is host class of anonymous class C
+ // then second redefinition fails with cannot cast klass exception. So we currently turn off bytecode verification
+ // on redefinition.
+ if (!AllowEnhancedClassRedefinition || !newest_version()->is_redefining()) {
bool verify_ok = verify_code(THREAD);
if (!verify_ok) {
return false;
--
2.23.0

View File

@@ -1,206 +0,0 @@
From 53d50b53f83aa5135ff5092d0d566424024b8b4b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 4 Oct 2020 21:12:12 +0200
Subject: [PATCH 04/39] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
.../share/classfile/classLoaderData.hpp | 2 +-
.../share/classfile/systemDictionary.cpp | 10 ++-
.../prims/jvmtiEnhancedRedefineClasses.cpp | 65 +++++++++++++++++--
.../prims/jvmtiEnhancedRedefineClasses.hpp | 1 +
.../share/prims/resolvedMethodTable.cpp | 2 +
6 files changed, 80 insertions(+), 9 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 340ffadf837..db50b3edee8 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -599,6 +599,15 @@ Dictionary* ClassLoaderData::create_dictionary() {
return new Dictionary(this, size, resizable);
}
+void ClassLoaderData::exchange_holders(ClassLoaderData* cld) {
+ oop holder_oop = _holder.peek();
+ _holder.replace(cld->_holder.peek());
+ cld->_holder.replace(holder_oop);
+ WeakHandle<vm_class_loader_data> exchange = _holder;
+ _holder = cld->_holder;
+ cld->_holder = exchange;
+}
+
// Tell the GC to keep this klass alive while iterating ClassLoaderDataGraph
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 5a81ab90ca3..bda39f3e353 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -175,7 +175,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
oop holder_no_keepalive() const;
oop holder_phantom() const;
-
+ void exchange_holders(ClassLoaderData* cld);
private:
void unload();
bool keep_alive() const { return _keep_alive > 0; }
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 2bfd9cb802f..cea614a574f 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -825,10 +825,14 @@ InstanceKlass* SystemDictionary::resolve_hidden_class_from_stream(
Symbol* class_name,
Handle class_loader,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS) {
EventClassLoad class_load_start_event;
ClassLoaderData* loader_data;
+
+ bool is_redefining = (old_klass != NULL);
+
// - for hidden classes that are not strong: create a new CLD that has a class holder and
// whose loader is the Lookup class's loader.
@@ -845,9 +849,13 @@ InstanceKlass* SystemDictionary::resolve_hidden_class_from_stream(
class_name,
loader_data,
cl_info,
- false, // pick_newest
+ is_redefining, // pick_newest
CHECK_NULL);
assert(k != NULL, "no klass created");
+ if (is_redefining && k != NULL) {
+ k->set_redefining(true);
+ k->set_old_version(old_klass);
+ }
// Hidden classes that are not strong must update ClassLoaderData holder
// so that they can be unloaded when the mirror is no longer referenced.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 5551d3ca123..bf31819479d 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -492,6 +492,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;
@@ -754,12 +756,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();
@@ -1440,6 +1464,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];
@@ -1977,7 +2025,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.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
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
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 6a8128e844f..8644937dbbb 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -409,6 +409,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());
+ log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
assert(old_method != newer_method, "sanity check");
--
2.23.0

View File

@@ -1,135 +0,0 @@
From 7bb6ea77608cd43cb7ca8c1ea8d492ae07789a0f Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 23 May 2020 10:02:15 +0200
Subject: [PATCH 05/39] Fix "no original bytecode found" error if method with
bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
n bytecode, but breakpoint position can still exist.
---
src/hotspot/share/interpreter/bytecodes.cpp | 2 +-
.../share/interpreter/interpreterRuntime.cpp | 2 +-
src/hotspot/share/oops/method.cpp | 8 ++++----
src/hotspot/share/oops/method.hpp | 4 ++--
.../prims/jvmtiEnhancedRedefineClasses.cpp | 18 ++++++++++--------
5 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/src/hotspot/share/interpreter/bytecodes.cpp b/src/hotspot/share/interpreter/bytecodes.cpp
index 6711ba735db..4f0b655265a 100644
--- a/src/hotspot/share/interpreter/bytecodes.cpp
+++ b/src/hotspot/share/interpreter/bytecodes.cpp
@@ -84,7 +84,7 @@ Bytecodes::Code Bytecodes::code_at(Method* method, int bci) {
Bytecodes::Code Bytecodes::non_breakpoint_code_at(const Method* method, address bcp) {
assert(method != NULL, "must have the method for breakpoint conversion");
assert(method->contains(bcp), "must be valid bcp in method");
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
}
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 d66ed24d862..9bfcd9eb479 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -788,7 +788,7 @@ JRT_END
// Invokes
JRT_ENTRY(Bytecodes::Code, InterpreterRuntime::get_original_bytecode_at(JavaThread* current, Method* method, address bcp))
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
JRT_END
JRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* current, 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 613c10a9d8c..a5a12599997 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1853,14 +1853,14 @@ bool CompressedLineNumberReadStream::read_pair() {
#if INCLUDE_JVMTI
-Bytecodes::Code Method::orig_bytecode_at(int bci) const {
+Bytecodes::Code Method::orig_bytecode_at(int bci, bool no_fatal) const {
BreakpointInfo* bp = method_holder()->breakpoints();
for (; bp != NULL; bp = bp->next()) {
if (bp->match(this, bci)) {
return bp->orig_bytecode();
}
}
- {
+ if (!no_fatal) {
ResourceMark rm;
fatal("no original bytecode found in %s at bci %d", name_and_sig_as_C_string(), bci);
}
@@ -1998,7 +1998,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)
- _orig_bytecode = m->orig_bytecode_at(_bci);
+ _orig_bytecode = m->orig_bytecode_at(_bci, false);
_next = NULL;
}
@@ -2007,7 +2007,7 @@ void BreakpointInfo::set(Method* method) {
{
Bytecodes::Code code = (Bytecodes::Code) *method->bcp_from(_bci);
if (code == Bytecodes::_breakpoint)
- code = method->orig_bytecode_at(_bci);
+ code = method->orig_bytecode_at(_bci, false);
assert(orig_bytecode() == code, "original bytecode must be the same");
}
#endif
diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp
index 030ddd1f675..a8d6507ff6c 100644
--- a/src/hotspot/share/oops/method.hpp
+++ b/src/hotspot/share/oops/method.hpp
@@ -226,7 +226,7 @@ class Method : public Metadata {
// JVMTI breakpoints
#if !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const {
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const {
ShouldNotReachHere();
return Bytecodes::_shouldnotreachhere;
}
@@ -235,7 +235,7 @@ class Method : public Metadata {
};
u2 number_of_breakpoints() const {return 0;}
#else // !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const;
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const;
void set_orig_bytecode_at(int bci, Bytecodes::Code code);
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 bf31819479d..07935bd0ada 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1360,14 +1360,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);
--
2.23.0

View File

@@ -1,83 +0,0 @@
From c40cd307310822e6e60c61931c14f97a8501f975 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 24 May 2020 12:07:42 +0200
Subject: [PATCH 06/39] Replace deleted method with
Universe::throw_no_such_method_error
+ 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
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
.../share/prims/resolvedMethodTable.cpp | 30 +++++++++----------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 07935bd0ada..3c86e8c68ac 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -881,7 +881,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());
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 8644937dbbb..b8d039adff6 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -399,25 +399,25 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
if (old_method->is_old()) {
+ InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
+ Method* newer_method;
+
// Method* new_method;
if (old_method->is_deleted()) {
- // FIXME:(DCEVM) - check if exception can be thrown
- // new_method = Universe::throw_no_such_method_error();
- continue;
- }
-
- InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
- Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+ newer_method = Universe::throw_no_such_method_error();
+ } else {
+ newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
- log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+ log_debug(redefine, class, update)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
- assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
- assert(newer_method != NULL, "method_with_idnum() should not be NULL");
- assert(old_method != newer_method, "sanity check");
+ assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
+ assert(newer_method != NULL, "method_with_idnum() should not be NULL");
+ assert(old_method != newer_method, "sanity check");
- if (_the_table->lookup(newer_method) != NULL) {
- // old method was already adjusted if new method exists in _the_table
- continue;
+ if (_the_table->lookup(newer_method) != NULL) {
+ // old method was already adjusted if new method exists in _the_table
+ continue;
+ }
}
java_lang_invoke_ResolvedMethodName::set_vmtarget(mem_name, newer_method);
@@ -428,7 +428,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
ResourceMark rm;
if (!(*trace_name_printed)) {
- log_info(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
+ log_debug(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
*trace_name_printed = true;
}
log_debug(redefine, class, update, constantpool)
--
2.23.0

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +0,0 @@
From e062743b148a099a8593a3110d5f1d9156f4ca23 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 6 Oct 2020 22:15:31 +0200
Subject: [PATCH 08/39] AllowEnhancedClassRedefinition is false (disabled) by
default
---
src/hotspot/share/runtime/globals.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 2fcb02fcf49..7051b634a9b 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2088,7 +2088,7 @@ const intx ObjectAlignmentInBytes = 8;
develop(bool, TraceOptimizedUpcallStubs, false, \
"Trace optimized upcall stub generation") \
\
- product(bool, AllowEnhancedClassRedefinition, true, \
+ product(bool, AllowEnhancedClassRedefinition, false, \
"Allow enhanced class redefinition beyond swapping method " \
"bodies")
--
2.23.0

View File

@@ -1,74 +0,0 @@
From 703cb7aa230b6a159c7f1f86b749a8e0119ef881 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 19 Oct 2020 20:00:04 +0200
Subject: [PATCH 09/39] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
---
make/autoconf/version-numbers | 55 +++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 make/autoconf/version-numbers
diff --git a/make/autoconf/version-numbers b/make/autoconf/version-numbers
new file mode 100644
index 00000000000..df8025a2e84
--- /dev/null
+++ b/make/autoconf/version-numbers
@@ -0,0 +1,55 @@
+#
+# 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# Default version, product, and vendor information to use,
+# unless overridden by configure
+
+DEFAULT_VERSION_FEATURE=15
+DEFAULT_VERSION_INTERIM=0
+DEFAULT_VERSION_UPDATE=0
+DEFAULT_VERSION_PATCH=0
+DEFAULT_VERSION_EXTRA1=0
+DEFAULT_VERSION_EXTRA2=0
+DEFAULT_VERSION_EXTRA3=0
+DEFAULT_VERSION_DATE=2020-09-15
+DEFAULT_VERSION_CLASSFILE_MAJOR=59 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
+DEFAULT_VERSION_CLASSFILE_MINOR=0
+DEFAULT_ACCEPTABLE_BOOT_VERSIONS="14 15"
+DEFAULT_JDK_SOURCE_TARGET_VERSION=15
+DEFAULT_PROMOTED_VERSION_PRE=
+
+LAUNCHER_NAME=openjdk
+PRODUCT_NAME=OpenJDK
+PRODUCT_SUFFIX="Runtime Environment"
+JDK_RC_PLATFORM_NAME=Platform
+COMPANY_NAME=N/A
+HOTSPOT_VM_DISTRO="Dynamic Code Evolution"
+VENDOR_URL=https://openjdk.java.net/
+VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
+VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
+
+# Might need better names for these
+MACOSX_BUNDLE_NAME_BASE="OpenJDK"
+MACOSX_BUNDLE_ID_BASE="net.java.openjdk"
--
2.23.0

View File

@@ -1,206 +0,0 @@
From 3b4788c779cb9ffe2751e996bba3b445b474eba7 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 23 Oct 2020 10:20:26 +0200
Subject: [PATCH 10/39] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 3 +--
src/hotspot/share/gc/serial/genMarkSweep.cpp | 8 +++++---
src/hotspot/share/interpreter/linkResolver.cpp | 14 ++++++++++----
.../instrumentation/jfrEventClassTransformer.cpp | 2 +-
src/hotspot/share/oops/cpCache.hpp | 8 +++++---
src/hotspot/share/oops/instanceKlass.cpp | 6 +++---
src/hotspot/share/oops/method.cpp | 2 +-
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
src/hotspot/share/runtime/reflection.cpp | 2 +-
9 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index cea614a574f..98e2541c79b 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -830,9 +830,8 @@ InstanceKlass* SystemDictionary::resolve_hidden_class_from_stream(
EventClassLoad class_load_start_event;
ClassLoaderData* loader_data;
-
+
bool is_redefining = (old_klass != NULL);
-
// - for hidden classes that are not strong: create a new CLD that has a class holder and
// whose loader is the Lookup class's loader.
diff --git a/src/hotspot/share/gc/serial/genMarkSweep.cpp b/src/hotspot/share/gc/serial/genMarkSweep.cpp
index bbb2c02f2b2..00b8e44078e 100644
--- a/src/hotspot/share/gc/serial/genMarkSweep.cpp
+++ b/src/hotspot/share/gc/serial/genMarkSweep.cpp
@@ -316,7 +316,9 @@ void GenMarkSweep::mark_sweep_phase4() {
GenCompactClosure blk;
gch->generation_iterate(&blk, true);
- DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
- DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
- MarkSweep::_rescued_oops = NULL;
+ if (AllowEnhancedClassRedefinition) {
+ DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
+ DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
+ MarkSweep::_rescued_oops = NULL;
+ }
}
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index 8fb336762df..74a6af13ea4 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -287,9 +287,14 @@ void LinkResolver::check_klass_accessibility(Klass* ref_klass, Klass* sel_klass,
if (!base_klass->is_instance_klass()) {
return; // no relevant check to do
}
-
+ Klass* refKlassNewest = ref_klass;
+ Klass* baseKlassNewest = base_klass;
+ if (AllowEnhancedClassRedefinition) {
+ refKlassNewest = ref_klass->newest_version();
+ baseKlassNewest = base_klass->newest_version();
+ }
Reflection::VerifyClassAccessResults vca_result =
- Reflection::verify_class_access(ref_klass->newest_version(), InstanceKlass::cast(base_klass->newest_version()), true);
+ Reflection::verify_class_access(refKlassNewest, InstanceKlass::cast(baseKlassNewest), true);
if (vca_result != Reflection::ACCESS_OK) {
ResourceMark rm(THREAD);
char* msg = Reflection::verify_class_access_msg(ref_klass,
@@ -551,7 +556,8 @@ void LinkResolver::check_method_accessability(Klass* ref_klass,
// We'll check for the method name first, as that's most likely
// to be false (so we'll short-circuit out of these tests).
if (sel_method->name() == vmSymbols::clone_name() &&
- sel_klass->newest_version() == vmClasses::Object_klass()->newest_version() &&
+ ( !AllowEnhancedClassRedefinition && sel_klass == vmClasses::Object_klass() ||
+ AllowEnhancedClassRedefinition && sel_klass->newest_version() == vmClasses::Object_klass()->newest_version()) &&
resolved_klass->is_array_klass()) {
// We need to change "protected" to "public".
assert(flags.is_protected(), "clone not protected?");
@@ -997,7 +1003,7 @@ void LinkResolver::resolve_field(fieldDescriptor& fd,
// or by the <init> method (in case of an instance field).
if (is_put && fd.access_flags().is_final()) {
- if (sel_klass != current_klass && sel_klass != current_klass->active_version()) {
+ if (sel_klass != current_klass && (!AllowEnhancedClassRedefinition || sel_klass != current_klass->active_version())) {
ResourceMark rm(THREAD);
stringStream ss;
ss.print("Update to %s final field %s.%s attempted from a different class (%s) than the field's declaring class",
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 88e520ec475..73832251f3f 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1475,7 +1475,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
cld,
&cl_info,
ClassFileParser::INTERNAL, // internal visibility
- false,
+ false,
THREAD);
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/oops/cpCache.hpp b/src/hotspot/share/oops/cpCache.hpp
index b934302f422..d7ae5edc7b3 100644
--- a/src/hotspot/share/oops/cpCache.hpp
+++ b/src/hotspot/share/oops/cpCache.hpp
@@ -148,13 +148,13 @@ class ConstantPoolCacheEntry {
void set_bytecode_2(Bytecodes::Code code);
void set_f1(Metadata* f1) {
Metadata* existing_f1 = _f1; // read once
- //assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change");
+ assert(AllowEnhancedClassRedefinition || existing_f1 == NULL || existing_f1 == f1, "illegal field change");
_f1 = f1;
}
void release_set_f1(Metadata* f1);
void set_f2(intx f2) {
intx existing_f2 = _f2; // read once
- //assert(existing_f2 == 0 || existing_f2 == f2, "illegal field change");
+ assert(AllowEnhancedClassRedefinition || existing_f2 == 0 || existing_f2 == f2, "illegal field change");
_f2 = f2;
}
void set_f2_as_vfinal_method(Method* f2) {
@@ -215,7 +215,9 @@ 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;
+ if (AllowEnhancedClassRedefinition) {
+ _flags = 1 << is_resolved_ref_shift;
+ }
}
void set_field( // sets entry to resolved field state
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c18a5822939..994f6bf266f 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -968,7 +968,7 @@ bool InstanceKlass::link_class_impl(TRAPS) {
set_init_state(linked);
}
// (DCEVM) Must check for old version in order to prevent infinite loops.
- if (JvmtiExport::should_post_class_prepare() && old_version() == NULL /* JVMTI deadlock otherwise */) {
+ if (JvmtiExport::should_post_class_prepare() && (!AllowEnhancedClassRedefinition || old_version() == NULL /* JVMTI deadlock otherwise */) {
JvmtiExport::post_class_prepare(THREAD, this);
}
}
@@ -1046,7 +1046,7 @@ void InstanceKlass::initialize_impl(TRAPS) {
// we might end up throwing IE from link/symbol resolution sites
// that aren't expected to throw. This would wreak havoc. See 6320309.
while ((is_being_initialized() && !is_reentrant_initialization(jt))
- || (old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
+ || (AllowEnhancedClassRedefinition && old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
wait = true;
jt->set_class_to_be_initialized(this);
ol.wait_uninterruptibly(jt);
@@ -3796,7 +3796,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
- guarantee(sib->super() == super || super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
+ guarantee(sib->super() == super || AllowEnhancedClassRedefinition && super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
}
// Verify local interfaces
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index a5a12599997..4426f03fd40 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -2199,7 +2199,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) ???
- if (m != m->newest_version()) {
+ if (AllowEnhancedClassRedefinition && m != m->newest_version()) {
m = m->newest_version();
}
ClassLoaderData* cld = loader_data;
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 42e72c67879..c860ee24f80 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -76,7 +76,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 (k->new_version()==NULL) {
+ if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
if (_dictionary_walk) {
// Collect array classes this way when walking the dictionary (because array classes are
diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp
index cc58f913ed5..21104c18423 100644
--- a/src/hotspot/share/runtime/reflection.cpp
+++ b/src/hotspot/share/runtime/reflection.cpp
@@ -608,7 +608,7 @@ bool Reflection::verify_member_access(const Klass* current_class,
TRAPS) {
// (DCEVM) Decide accessibility based on active version
- if (current_class != NULL) {
+ if (AllowEnhancedClassRedefinition && current_class != NULL) {
current_class = current_class->active_version();
}
--
2.23.0

View File

@@ -1,26 +0,0 @@
From bb8f91da24b2649507f2e200f1ff2bae2d2658bf Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 11 Nov 2020 18:45:15 +0100
Subject: [PATCH 11/39] 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 c860ee24f80..dfe0bb8d96a 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -76,7 +76,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())));
if (_dictionary_walk) {
// Collect array classes this way when walking the dictionary (because array classes are
--
2.23.0

View File

@@ -1,43 +0,0 @@
From 9815ee603b27484953651bdc6d5705994a4d38aa Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 19:51:46 +0100
Subject: [PATCH 13/39] dcevm15 - add ClassLoaderDataGraph_lock on
ClassLoaderDataGraph::classes_do
ClassLoaderDataGraph::classes_do and need safepoint or lock,
find_sorted_affected_classes is not in safepoint therefore it must be
locked
ClassLoaderDataGraph::rollback_redefinition need safepoint too
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index efaf11e1666..9f42d14ce98 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1380,7 +1380,9 @@ void VM_EnhancedRedefineClasses::calculate_instance_update_information(Klass* ne
// Rollback all changes - clear new classes from the system dictionary, return old classes to directory, free memory.
void VM_EnhancedRedefineClasses::rollback() {
log_info(redefine, class, load)("Rolling back redefinition, result=%d", _res);
+ ClassLoaderDataGraph_lock->lock();
ClassLoaderDataGraph::rollback_redefinition();
+ ClassLoaderDataGraph_lock->unlock();
for (int i = 0; i < _new_classes->length(); i++) {
SystemDictionary::remove_from_hierarchy(_new_classes->at(i));
@@ -2063,7 +2065,10 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::classes_do(&closure);
+ {
+ MutexLocker mcld(ClassLoaderDataGraph_lock);
+ ClassLoaderDataGraph::classes_do(&closure);
+ }
//ClassLoaderDataGraph::dictionary_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -1,98 +0,0 @@
From d3e5f8acd389021128bb8a899bb538294de353f6 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 12:05:50 +0100
Subject: [PATCH 14/39] dcevm15 - fix Universe::root_oops_do
Removed ClassLoaderDataGraph::cld_do was cause of crashes due multiple
oop patching. ClassLoaderDataGraph::cld_do replaced in dcevm15
previously used and removed SystemDictionary:oops_do
---
src/hotspot/share/memory/universe.cpp | 45 +++++++++++----------------
1 file changed, 19 insertions(+), 26 deletions(-)
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 9fcbb6c41b3..247f2b3e8c0 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -44,6 +44,8 @@
#include "gc/shared/oopStorageSet.hpp"
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/tlab_globals.hpp"
+#include "gc/shared/weakProcessor.hpp"
+#include "interpreter/interpreter.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
#include "memory/metadataFactory.hpp"
@@ -71,6 +73,8 @@
#include "runtime/jniHandles.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/timerTrace.hpp"
+#include "runtime/vmOperations.hpp"
+#include "services/management.hpp"
#include "services/memoryService.hpp"
#include "utilities/align.hpp"
#include "utilities/autoRestore.hpp"
@@ -209,45 +213,34 @@ void Universe::basic_type_classes_do(KlassClosure *closure) {
// FIXME: (DCEVM) This method should iterate all pointers that are not within heap objects.
void Universe::root_oops_do(OopClosure *oopClosure) {
-
- class AlwaysTrueClosure: public BoolObjectClosure {
- public:
- void do_object(oop p) { ShouldNotReachHere(); }
- bool do_object_b(oop p) { return true; }
- };
- AlwaysTrueClosure always_true;
-
Universe::oops_do(oopClosure);
// ReferenceProcessor::oops_do(oopClosure); (tw) check why no longer there
JNIHandles::oops_do(oopClosure); // Global (strong) JNI handles
Threads::oops_do(oopClosure, NULL);
ObjectSynchronizer::oops_do(oopClosure);
- // TODO: review, flat profiler was removed in j10
- // FlatProfiler::oops_do(oopClosure);
- JvmtiExport::oops_do(oopClosure);
+ // (DCEVM) TODO: Check if this is correct?
+ Management::oops_do(oopClosure);
+ OopStorageSet::vm_global()->oops_do(oopClosure);
+ // CLDToOopClosure cld_closure(oopClosure, ClassLoaderData::_claim_none);
+ // ClassLoaderDataGraph::cld_do(&cld_closure);
// Now adjust pointers in remaining weak roots. (All of which should
// have been cleared if they pointed to non-surviving objects.)
// Global (weak) JNI handles
- JNIHandles::weak_oops_do(&always_true, oopClosure);
+ WeakProcessor::oops_do(oopClosure);
+
+ JvmtiExport::oops_do(oopClosure);
CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
CodeCache::blobs_do(&blobClosure);
- StringTable::oops_do(oopClosure);
+
+ AOT_ONLY(AOTLoader::oops_do(oopClosure);)
+
+ // StringTable::oops_do was removed in j15
+ // StringTable::oops_do(oopClosure);
+
+ // OopStorageSet::vm_global()->oops_do(oopClosure);
- // (DCEVM) TODO: Check if this is correct?
- //CodeCache::scavenge_root_nmethods_oops_do(oopClosure);
- //Management::oops_do(oopClosure);
- //ref_processor()->weak_oops_do(&oopClosure);
- //PSScavenge::reference_processor()->weak_oops_do(&oopClosure);
-
-#if INCLUDE_AOT
- if (UseAOT) {
- AOTLoader::oops_do(oopClosure);
- }
-#endif
- // SO_AllClasses
- SystemDictionary::oops_do(oopClosure);
}
void Universe::oops_do(OopClosure* f) {
--
2.23.0

View File

@@ -1,29 +0,0 @@
From 574cddeb00c3d93bddbaf1845a7d9d3ffdced324 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 28 Nov 2020 19:29:42 +0100
Subject: [PATCH 15/39] dcevm15 - check if has_nestmate_access_to has newest
host class
---
src/hotspot/share/oops/instanceKlass.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index ef0091fe288..b4d09e92830 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -398,6 +398,11 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
return false;
}
+ if (AllowEnhancedClassRedefinition) {
+ // TODO: (DCEVM) check if it correct. It fix problems with lambdas (hidden)
+ cur_host = InstanceKlass::cast(cur_host->newest_version());
+ }
+
Klass* k_nest_host = k->nest_host(CHECK_false);
if (k_nest_host == NULL) {
return false;
--
2.23.0

View File

@@ -1,54 +0,0 @@
From 983b4aaed2c56a74287b9400ddae4b7d7f3fd715 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 17:18:16 +0100
Subject: [PATCH 16/39] dcevm15 - mark_as_scavengable only alive methods
---
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 9f42d14ce98..db5fb1c472b 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -223,19 +223,21 @@ class FieldCopier : public FieldClosure {
// TODO: review...
void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
- ScavengableNMethods::register_nmethod(nm);
+ if (nm->is_alive()) {
+ ScavengableNMethods::register_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()) {
+ if (nm->is_alive()) {
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()) {
+ if (nm->is_alive()) {
Universe::heap()->register_nmethod(nm);
}
}
@@ -511,9 +513,9 @@ void VM_EnhancedRedefineClasses::doit() {
flush_dependent_code(thread);
// }
- // Adjust constantpool caches for all classes that reference methods of the evolved class.
- ClearCpoolCacheAndUnpatch clear_cpool_cache(thread);
- ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
+ // Adjust constantpool caches for all classes that reference methods of the evolved class.
+ ClearCpoolCacheAndUnpatch clear_cpool_cache(thread);
+ ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
// JSR-292 support
if (_any_class_has_resolved_methods) {
--
2.23.0

View File

@@ -1,91 +0,0 @@
From ed546016ead6064d8b95a9c1e4cdc6bc192f8d67 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 20:05:03 +0100
Subject: [PATCH 17/39] dcevm15 - fix hidded classes
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 41 ++++++++++++++-----
1 file changed, 30 insertions(+), 11 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index db5fb1c472b..590f7fdfafe 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -722,7 +722,8 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
}
// Cannot redefine or retransform an anonymous class.
- if (InstanceKlass::cast(k)->is_unsafe_anonymous()) {
+ // TODO: check if is correct in j15
+ if (InstanceKlass::cast(k)->is_unsafe_anonymous() || InstanceKlass::cast(k)->is_hidden()) {
return false;
}
return true;
@@ -808,21 +809,27 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
InstanceKlass* k;
- if (InstanceKlass::cast(the_class)->is_unsafe_anonymous()) {
- const InstanceKlass* host_class = the_class->unsafe_anonymous_host();
+ if (the_class->is_unsafe_anonymous() || the_class->is_hidden()) {
+ InstanceKlass* dynamic_host_class = NULL;
+ InstanceKlass* unsafe_anonymous_host = NULL;
- // Make sure it's the real host class, not another anonymous class.
- while (host_class != NULL && host_class->is_unsafe_anonymous()) {
- host_class = host_class->unsafe_anonymous_host();
+ if (the_class->is_hidden()) {
+ log_debug(redefine, class, load)("loading hidden class %s", the_class->name()->as_C_string());
+ dynamic_host_class = the_class->nest_host(THREAD);
+ }
+
+ if (the_class->is_unsafe_anonymous()) {
+ log_debug(redefine, class, load)("loading usafe anonymous %s", the_class->name()->as_C_string());
+ unsafe_anonymous_host = the_class->unsafe_anonymous_host();
}
ClassLoadInfo cl_info(protection_domain,
- host_class,
- NULL, // dynamic_nest_host
+ unsafe_anonymous_host,
NULL, // cp_patches
+ dynamic_host_class, // dynamic_nest_host
Handle(), // classData
- false, // is_hidden
- false, // is_strong_hidden
+ the_class->is_hidden(), // is_hidden
+ !the_class->is_non_strong_hidden(), // is_strong_hidden
true); // FIXME: check if correct. can_access_vm_annotations
k = SystemDictionary::parse_stream(the_class_sym,
@@ -833,7 +840,17 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
THREAD);
k->class_loader_data()->exchange_holders(the_class->class_loader_data());
- the_class->class_loader_data()->inc_keep_alive();
+
+ if (the_class->is_hidden()) {
+ // from jvm_lookup_define_class() (jvm.cpp):
+ // The hidden class loader data has been artificially been kept alive to
+ // this point. The mirror and any instances of this class have to keep
+ // it alive afterwards.
+ the_class->class_loader_data()->dec_keep_alive();
+ } else {
+ the_class->class_loader_data()->inc_keep_alive();
+ }
+
} else {
k = SystemDictionary::resolve_from_stream(the_class_sym,
the_class_loader,
@@ -1475,6 +1492,8 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
ik->set_unsafe_anonymous_host(InstanceKlass::cast(ik->unsafe_anonymous_host()->newest_version()));
}
+ // FIXME: check new nest_host for hidden
+
// Update implementor if there is only one, in this case implementor() can reference old class
if (ik->is_interface()) {
Klass* implKlass = ik->implementor();
--
2.23.0

View File

@@ -1,27 +0,0 @@
From 9983c44fe6903daba758ed0c43b8c86e738e0741 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 20:08:57 +0100
Subject: [PATCH 18/39] dcevm15 - DON'T clear F2 in CP cache after indy
unevolving
It's not clear why it was cleared in dcevm7-11
---
src/hotspot/share/oops/cpCache.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/cpCache.cpp b/src/hotspot/share/oops/cpCache.cpp
index 167cb274661..7e72641ec5a 100644
--- a/src/hotspot/share/oops/cpCache.cpp
+++ b/src/hotspot/share/oops/cpCache.cpp
@@ -654,7 +654,7 @@ void ConstantPoolCacheEntry::clear_entry() {
if (clearData) {
if (!is_resolved_reference()) {
- _f2 = 0;
+ // _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
--
2.23.0

View File

@@ -1,66 +0,0 @@
From 3b09df69c007285ea6c258388532a8e5f9fe3d45 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 12:03:32 +0100
Subject: [PATCH 19/39] Cleanup and review comments
---
src/hotspot/share/classfile/classLoaderDataGraph.hpp | 2 +-
src/hotspot/share/gc/shared/gcConfig.cpp | 2 +-
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 1 +
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp | 2 +-
4 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.hpp b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
index 5f8913001b0..c3bcc7271e6 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
@@ -105,7 +105,7 @@ class ClassLoaderDataGraph : public AllStatic {
static void dictionary_classes_do(KlassClosure* klass_closure);
- // Enhanced class redefinition
+ // (DCEVM) Enhanced class redefinition
static void rollback_redefinition();
// VM_CounterDecay iteration support
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index 26a2b67b8e9..8e78696bef5 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -97,7 +97,7 @@ void GCConfig::fail_if_non_included_gc_is_selected() {
void GCConfig::select_gc_ergonomically() {
if (AllowEnhancedClassRedefinition && !UseG1GC) {
- // Enhanced class redefinition only supports serial GC at the moment
+ // (DCEVM) Enhanced class redefinition only supports serial GC at the moment
FLAG_SET_ERGO(UseSerialGC, 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 590f7fdfafe..2a7dd35bdd1 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -842,6 +842,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
k->class_loader_data()->exchange_holders(the_class->class_loader_data());
if (the_class->is_hidden()) {
+ // TODO: (DCEVM) review if is correct
// from jvm_lookup_define_class() (jvm.cpp):
// The hidden class loader data has been artificially been kept alive to
// this point. The mirror and any instances of this class have to keep
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index bd5e7d153be..5de375fb888 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -78,7 +78,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
// have any entries.
bool _any_class_has_resolved_methods;
- // Enhanced class redefinition, affected klasses contain all classes which should be redefined
+ // (DCEVM) Enhanced class redefinition, affected klasses contain all classes which should be redefined
// either because of redefine, class hierarchy or interface change
GrowableArray<Klass*>* _affected_klasses;
--
2.23.0

View File

@@ -1,31 +0,0 @@
From 5c41ecc9f48d22b81b3ac610e5655f1a74d25614 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 10:11:10 +0100
Subject: [PATCH 20/39] 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 567803b70b7..cbcd8f91c66 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3994,6 +3994,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;
+ }
+ }
+
#if !INCLUDE_CDS
if (DumpSharedSpaces || RequireSharedSpaces) {
jio_fprintf(defaultStream::error_stream(),
--
2.23.0

View File

@@ -1,695 +0,0 @@
From e560b33cdec3ef0e4ce91714663d3befa87ff4e5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 09:44:28 +0100
Subject: [PATCH 21/39] dcevm17 - fix compilation issues
---
.../share/classfile/classLoaderData.cpp | 2 +-
src/hotspot/share/classfile/javaClasses.cpp | 4 +-
src/hotspot/share/classfile/javaClasses.hpp | 4 +-
.../share/classfile/lambdaFormInvokers.cpp | 152 ++++++++++++++++++
.../share/classfile/systemDictionary.cpp | 5 +-
.../share/classfile/systemDictionary.hpp | 6 +
src/hotspot/share/classfile/vmClassMacros.hpp | 2 +
.../share/gc/g1/g1FullGCCompactTask.cpp | 9 +-
.../share/gc/g1/g1FullGCCompactionPoint.cpp | 12 +-
src/hotspot/share/gc/shared/dcevmSharedGC.cpp | 2 +-
src/hotspot/share/gc/shared/space.inline.hpp | 2 +-
src/hotspot/share/memory/universe.cpp | 71 --------
src/hotspot/share/memory/universe.hpp | 7 -
src/hotspot/share/oops/instanceKlass.cpp | 4 +-
.../prims/jvmtiEnhancedRedefineClasses.cpp | 47 ++++--
.../prims/jvmtiEnhancedRedefineClasses.hpp | 2 +
.../share/prims/resolvedMethodTable.cpp | 5 +-
src/hotspot/share/runtime/arguments.hpp | 2 +
18 files changed, 221 insertions(+), 117 deletions(-)
create mode 100644 src/hotspot/share/classfile/lambdaFormInvokers.cpp
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 2a826ff50a7..65ce4c4af8c 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -603,7 +603,7 @@ void ClassLoaderData::exchange_holders(ClassLoaderData* cld) {
oop holder_oop = _holder.peek();
_holder.replace(cld->_holder.peek());
cld->_holder.replace(holder_oop);
- WeakHandle<vm_weak_data> exchange = _holder;
+ WeakHandle exchange = _holder;
_holder = cld->_holder;
cld->_holder = exchange;
}
diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp
index dc800debea4..66ff72b2f02 100644
--- a/src/hotspot/share/classfile/javaClasses.cpp
+++ b/src/hotspot/share/classfile/javaClasses.cpp
@@ -3827,7 +3827,7 @@ void java_lang_invoke_DirectMethodHandle_StaticAccessor::set_static_offset(oop d
macro(_static_offset_offset, k, vmSymbols::static_offset_name(), long_signature, false)
void java_lang_invoke_DirectMethodHandle_StaticAccessor::compute_offsets() {
- InstanceKlass* k = SystemDictionary::DirectMethodHandle_StaticAccessor_klass();
+ InstanceKlass* k = vmClasses::DirectMethodHandle_StaticAccessor_klass();
DIRECTMETHODHANDLE_STATIC_ACCESSOR_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
@@ -3855,7 +3855,7 @@ void java_lang_invoke_DirectMethodHandle_Accessor::set_field_offset(oop dmh, int
macro(_field_offset_offset, k, vmSymbols::field_offset_name(), int_signature, false)
void java_lang_invoke_DirectMethodHandle_Accessor::compute_offsets() {
- InstanceKlass* k = SystemDictionary::DirectMethodHandle_Accessor_klass();
+ InstanceKlass* k = vmClasses::DirectMethodHandle_Accessor_klass();
DIRECTMETHODHANDLE_ACCESSOR_FIELDS_DO(FIELD_COMPUTE_OFFSET);
}
diff --git a/src/hotspot/share/classfile/javaClasses.hpp b/src/hotspot/share/classfile/javaClasses.hpp
index 32348c90ef9..f7dc5ccbd8c 100644
--- a/src/hotspot/share/classfile/javaClasses.hpp
+++ b/src/hotspot/share/classfile/javaClasses.hpp
@@ -1029,7 +1029,7 @@ class java_lang_invoke_DirectMethodHandle_StaticAccessor: AllStatic {
// Testers
static bool is_subclass(Klass* klass) {
- return klass->is_subclass_of(SystemDictionary::DirectMethodHandle_StaticAccessor_klass());
+ return klass->is_subclass_of(vmClasses::DirectMethodHandle_StaticAccessor_klass());
}
static bool is_instance(oop obj);
@@ -1053,7 +1053,7 @@ class java_lang_invoke_DirectMethodHandle_Accessor: AllStatic {
// Testers
static bool is_subclass(Klass* klass) {
- return klass->is_subclass_of(SystemDictionary::DirectMethodHandle_Accessor_klass());
+ return klass->is_subclass_of(vmClasses::DirectMethodHandle_Accessor_klass());
}
static bool is_instance(oop obj);
diff --git a/src/hotspot/share/classfile/lambdaFormInvokers.cpp b/src/hotspot/share/classfile/lambdaFormInvokers.cpp
new file mode 100644
index 00000000000..281de58b482
--- /dev/null
+++ b/src/hotspot/share/classfile/lambdaFormInvokers.cpp
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "classfile/classLoadInfo.hpp"
+#include "classfile/classFileStream.hpp"
+#include "classfile/javaClasses.inline.hpp"
+#include "classfile/klassFactory.hpp"
+#include "classfile/lambdaFormInvokers.hpp"
+#include "classfile/symbolTable.hpp"
+#include "classfile/systemDictionary.hpp"
+#include "classfile/systemDictionaryShared.hpp"
+#include "classfile/vmClasses.hpp"
+#include "classfile/vmSymbols.hpp"
+#include "logging/log.hpp"
+#include "memory/oopFactory.hpp"
+#include "memory/metaspaceShared.hpp"
+#include "memory/resourceArea.hpp"
+#include "oops/instanceKlass.hpp"
+#include "oops/klass.hpp"
+#include "oops/objArrayKlass.hpp"
+#include "oops/objArrayOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "oops/typeArrayOop.inline.hpp"
+#include "runtime/handles.inline.hpp"
+#include "runtime/javaCalls.hpp"
+
+GrowableArray<char*>* LambdaFormInvokers::_lambdaform_lines = NULL;
+
+void LambdaFormInvokers::append(char* line) {
+ if (_lambdaform_lines == NULL) {
+ _lambdaform_lines = new GrowableArray<char*>(100);
+ }
+ _lambdaform_lines->append(line);
+}
+
+void LambdaFormInvokers::regenerate_holder_classes(TRAPS) {
+ assert(_lambdaform_lines != NULL, "Bad List");
+ ResourceMark rm(THREAD);
+
+ Symbol* cds_name = vmSymbols::jdk_internal_misc_CDS();
+ Klass* cds_klass = SystemDictionary::resolve_or_null(cds_name, THREAD);
+ guarantee(cds_klass != NULL, "jdk/internal/misc/CDS must exist!");
+
+ int len = _lambdaform_lines->length();
+ objArrayHandle list_lines = oopFactory::new_objArray_handle(vmClasses::String_klass(), len, CHECK);
+ for (int i = 0; i < len; i++) {
+ Handle h_line = java_lang_String::create_from_str(_lambdaform_lines->at(i), CHECK);
+ list_lines->obj_at_put(i, h_line());
+ }
+
+ //
+ // Object[] CDS.generateLambdaFormHolderClasses(String[] lines)
+ // the returned Object[] layout:
+ // name, byte[], name, byte[] ....
+ Symbol* method = vmSymbols::generateLambdaFormHolderClasses();
+ Symbol* signrs = vmSymbols::generateLambdaFormHolderClasses_signature();
+
+ JavaValue result(T_OBJECT);
+ JavaCalls::call_static(&result, cds_klass, method, signrs, list_lines, THREAD);
+
+ if (HAS_PENDING_EXCEPTION) {
+ log_info(cds)("%s: %s", THREAD->pending_exception()->klass()->external_name(),
+ java_lang_String::as_utf8_string(java_lang_Throwable::message(THREAD->pending_exception())));
+ CLEAR_PENDING_EXCEPTION;
+ return;
+ }
+
+ objArrayHandle h_array(THREAD, (objArrayOop)result.get_oop());
+ int sz = h_array->length();
+ assert(sz % 2 == 0 && sz >= 2, "Must be even size of length");
+ for (int i = 0; i < sz; i+= 2) {
+ Handle h_name(THREAD, h_array->obj_at(i));
+ typeArrayHandle h_bytes(THREAD, (typeArrayOop)h_array->obj_at(i+1));
+ assert(h_name != NULL, "Class name is NULL");
+ assert(h_bytes != NULL, "Class bytes is NULL");
+
+ char *class_name = java_lang_String::as_utf8_string(h_name());
+ int len = h_bytes->length();
+ // make a copy of class bytes so GC will not affect us.
+ char *buf = resource_allocate_bytes(THREAD, len);
+ memcpy(buf, (char*)h_bytes->byte_at_addr(0), len);
+ ClassFileStream st((u1*)buf, len, NULL, ClassFileStream::verify);
+
+ reload_class(class_name, st, THREAD);
+ // free buf
+ resource_free_bytes(buf, len);
+
+ if (HAS_PENDING_EXCEPTION) {
+ log_info(cds)("Exception happened: %s", PENDING_EXCEPTION->klass()->name()->as_C_string());
+ log_info(cds)("Could not create InstanceKlass for class %s", class_name);
+ CLEAR_PENDING_EXCEPTION;
+ return;
+ }
+ }
+}
+
+// class_handle - the class name, bytes_handle - the class bytes
+void LambdaFormInvokers::reload_class(char* name, ClassFileStream& st, TRAPS) {
+ Symbol* class_name = SymbolTable::new_symbol((const char*)name);
+ // the class must exist
+ Klass* klass = SystemDictionary::resolve_or_null(class_name, THREAD);
+ if (klass == NULL) {
+ log_info(cds)("Class %s not present, skip", name);
+ return;
+ }
+ assert(klass->is_instance_klass(), "Should be");
+
+ ClassLoaderData* cld = ClassLoaderData::the_null_class_loader_data();
+ Handle protection_domain;
+ ClassLoadInfo cl_info(protection_domain);
+
+ InstanceKlass* result = KlassFactory::create_from_stream(&st,
+ class_name,
+ cld,
+ cl_info,
+ false,
+ CHECK);
+
+ {
+ MutexLocker mu_r(THREAD, Compile_lock); // add_to_hierarchy asserts this.
+ SystemDictionary::add_to_hierarchy(result);
+ }
+ // new class not linked yet.
+ MetaspaceShared::try_link_class(THREAD, result);
+ assert(!HAS_PENDING_EXCEPTION, "Invariant");
+
+ // exclude the existing class from dump
+ SystemDictionaryShared::set_excluded(InstanceKlass::cast(klass));
+ log_info(cds, lambda)("Replaced class %s, old: %p new: %p", name, klass, result);
+}
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 98e2541c79b..63de2e2f099 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -963,11 +963,12 @@ InstanceKlass* SystemDictionary::resolve_from_stream(ClassFileStream* st,
Symbol* class_name,
Handle class_loader,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS) {
if (cl_info.is_hidden()) {
- return resolve_hidden_class_from_stream(st, class_name, class_loader, cl_info, CHECK_NULL);
+ return resolve_hidden_class_from_stream(st, class_name, class_loader, cl_info, old_klass, CHECK_NULL);
} else {
- return resolve_class_from_stream(st, class_name, class_loader, cl_info, CHECK_NULL);
+ return resolve_class_from_stream(st, class_name, class_loader, cl_info, old_klass, CHECK_NULL);
}
}
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 0c774dfeb51..65185a29b10 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -124,6 +124,7 @@ class SystemDictionary : AllStatic {
Symbol* class_name,
Handle class_loader,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS);
// Resolve a class from stream (called by jni_DefineClass and JVM_DefineClass)
@@ -132,6 +133,7 @@ class SystemDictionary : AllStatic {
Symbol* class_name,
Handle class_loader,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS);
public:
@@ -203,6 +205,10 @@ class SystemDictionary : AllStatic {
// Initialization
static void initialize(TRAPS);
+ // (DCEVM) Enhanced class redefinition
+ static void remove_from_hierarchy(InstanceKlass* k);
+ static void update_constraints_after_redefinition();
+
protected:
// Returns the class loader data to be used when looking up/updating the
// system dictionary.
diff --git a/src/hotspot/share/classfile/vmClassMacros.hpp b/src/hotspot/share/classfile/vmClassMacros.hpp
index a4f55641b51..fb205721a39 100644
--- a/src/hotspot/share/classfile/vmClassMacros.hpp
+++ b/src/hotspot/share/classfile/vmClassMacros.hpp
@@ -109,6 +109,8 @@
\
/* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
do_klass(DirectMethodHandle_klass, java_lang_invoke_DirectMethodHandle ) \
+ do_klass(DirectMethodHandle_StaticAccessor_klass, java_lang_invoke_DirectMethodHandle_StaticAccessor ) \
+ do_klass(DirectMethodHandle_Accessor_klass, java_lang_invoke_DirectMethodHandle_Accessor ) \
do_klass(MethodHandle_klass, java_lang_invoke_MethodHandle ) \
do_klass(VarHandle_klass, java_lang_invoke_VarHandle ) \
do_klass(MemberName_klass, java_lang_invoke_MemberName ) \
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
index 54edc9dffb5..058dea90828 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
@@ -141,7 +141,10 @@ void G1FullGCCompactTask::compact_region_dcevm(HeapRegion* hr, GrowableArray<Hea
// Once all objects have been moved the liveness information
// needs be cleared.
collector()->mark_bitmap()->clear_region(hr);
- hr->complete_compaction();
+ if (G1VerifyBitmaps) {
+ collector()->mark_bitmap()->clear_region(hr);
+ }
+ hr->reset_compacted_after_full_gc();
}
void G1FullGCCompactTask::serial_compaction_dcevm() {
@@ -184,13 +187,13 @@ size_t G1FullGCCompactTask::G1CompactRegionClosureDcevm::apply(oop obj) {
} else {
DcevmSharedGC::update_fields(obj, oop(destination));
}
- oop(destination)->init_mark_raw();
+ oop(destination)->init_mark();
assert(oop(destination)->klass() != NULL, "should have a class");
return size;
}
Copy::aligned_conjoint_words(obj_addr, destination, size);
- oop(destination)->init_mark_raw();
+ oop(destination)->init_mark();
assert(oop(destination)->klass() != NULL, "should have a class");
return size;
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
index 71a46b88f9e..87b1977128a 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
@@ -36,8 +36,8 @@ G1FullGCCompactionPoint::G1FullGCCompactionPoint() :
{
_compaction_regions = new (ResourceObj::C_HEAP, mtGC) GrowableArray<HeapRegion*>(32, mtGC);
_compaction_region_iterator = _compaction_regions->begin();
- _rescued_oops = new (ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(128, true, mtGC);
- _rescued_oops_values = new (ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(128, true, mtGC);
+ _rescued_oops = new (ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(128, mtGC);
+ _rescued_oops_values = new (ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(128, mtGC);
}
G1FullGCCompactionPoint::~G1FullGCCompactionPoint() {
@@ -180,15 +180,15 @@ void G1FullGCCompactionPoint::forward_dcevm(oop object, size_t size, bool force_
// with BiasedLocking, in this case forwardee() will return NULL
// even if the mark-word is used. This is no problem since
// forwardee() will return NULL in the compaction phase as well.
- object->init_mark_raw();
+ object->init_mark();
} else {
// Make sure object has the correct mark-word set or that it will be
// fixed when restoring the preserved marks.
- assert(object->mark_raw() == markWord::prototype_for_klass(object->klass()) || // Correct mark
+ assert(object->mark() == markWord::prototype_for_klass(object->klass()) || // Correct mark
object->mark_must_be_preserved() || // Will be restored by PreservedMarksSet
- (UseBiasedLocking && object->has_bias_pattern_raw()), // Will be restored by BiasedLocking
+ (UseBiasedLocking && object->has_bias_pattern()), // Will be restored by BiasedLocking
"should have correct prototype obj: " PTR_FORMAT " mark: " PTR_FORMAT " prototype: " PTR_FORMAT,
- p2i(object), object->mark_raw().value(), markWord::prototype_for_klass(object->klass()).value());
+ p2i(object), object->mark().value(), markWord::prototype_for_klass(object->klass()).value());
}
assert(object->forwardee() == NULL, "should be forwarded to NULL");
}
diff --git a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
index 3dee097f1d3..edc19a3077d 100644
--- a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
+++ b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
@@ -64,7 +64,7 @@ void DcevmSharedGC::copy_rescued_objects_back(GrowableArray<HeapWord*>* rescued_
Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(rescued_obj), cast_from_oop<HeapWord*>(new_obj), size);
}
- new_obj->init_mark_raw();
+ new_obj->init_mark();
assert(oopDesc::is_oop(new_obj), "must be a valid oop");
}
}
diff --git a/src/hotspot/share/gc/shared/space.inline.hpp b/src/hotspot/share/gc/shared/space.inline.hpp
index e3a37280268..cafa2503ef4 100644
--- a/src/hotspot/share/gc/shared/space.inline.hpp
+++ b/src/hotspot/share/gc/shared/space.inline.hpp
@@ -371,7 +371,7 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
} else {
DcevmSharedGC::update_fields(oop(cur_obj), oop(compaction_top));
}
- oop(compaction_top)->init_mark_raw();
+ oop(compaction_top)->init_mark();
assert(oop(compaction_top)->klass() != NULL, "should have a class");
debug_only(prev_obj = cur_obj);
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 247f2b3e8c0..4ae3b382b67 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -44,8 +44,6 @@
#include "gc/shared/oopStorageSet.hpp"
#include "gc/shared/stringdedup/stringDedup.hpp"
#include "gc/shared/tlab_globals.hpp"
-#include "gc/shared/weakProcessor.hpp"
-#include "interpreter/interpreter.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
#include "memory/metadataFactory.hpp"
@@ -73,8 +71,6 @@
#include "runtime/jniHandles.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/timerTrace.hpp"
-#include "runtime/vmOperations.hpp"
-#include "services/management.hpp"
#include "services/memoryService.hpp"
#include "utilities/align.hpp"
#include "utilities/autoRestore.hpp"
@@ -208,73 +204,6 @@ void Universe::basic_type_classes_do(KlassClosure *closure) {
}
}
-#define DO_PRIMITIVE_MIRROR(m) \
- f->do_oop((oop*) &m);
-
-// FIXME: (DCEVM) This method should iterate all pointers that are not within heap objects.
-void Universe::root_oops_do(OopClosure *oopClosure) {
- Universe::oops_do(oopClosure);
-// ReferenceProcessor::oops_do(oopClosure); (tw) check why no longer there
- JNIHandles::oops_do(oopClosure); // Global (strong) JNI handles
- Threads::oops_do(oopClosure, NULL);
- ObjectSynchronizer::oops_do(oopClosure);
- // (DCEVM) TODO: Check if this is correct?
- Management::oops_do(oopClosure);
- OopStorageSet::vm_global()->oops_do(oopClosure);
- // CLDToOopClosure cld_closure(oopClosure, ClassLoaderData::_claim_none);
- // ClassLoaderDataGraph::cld_do(&cld_closure);
-
- // Now adjust pointers in remaining weak roots. (All of which should
- // have been cleared if they pointed to non-surviving objects.)
- // Global (weak) JNI handles
- WeakProcessor::oops_do(oopClosure);
-
- JvmtiExport::oops_do(oopClosure);
-
- CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
- CodeCache::blobs_do(&blobClosure);
-
- AOT_ONLY(AOTLoader::oops_do(oopClosure);)
-
- // StringTable::oops_do was removed in j15
- // StringTable::oops_do(oopClosure);
-
- // OopStorageSet::vm_global()->oops_do(oopClosure);
-
-}
-
-void Universe::oops_do(OopClosure* f) {
- PRIMITIVE_MIRRORS_DO(DO_PRIMITIVE_MIRROR);
-
- for (int i = T_BOOLEAN; i < T_VOID+1; i++) {
- f->do_oop((oop*) &_mirrors[i]);
- }
- assert(_mirrors[0] == NULL && _mirrors[T_BOOLEAN - 1] == NULL, "checking");
-
- f->do_oop((oop*)&_the_empty_class_array);
- f->do_oop((oop*)&_the_null_sentinel);
- f->do_oop((oop*)&_the_null_string);
- f->do_oop((oop*)&_the_min_jint_string);
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_java_heap));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_c_heap));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_metaspace));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_class_metaspace));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_array_size));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_gc_overhead_limit));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_realloc_objects));
- f->do_oop((oop*)&out_of_memory_errors()->obj_at(_oom_retry));
- f->do_oop((oop*)&_delayed_stack_overflow_error_message);
- f->do_oop((oop*)&_preallocated_out_of_memory_error_array);
- f->do_oop((oop*)&_null_ptr_exception_instance);
- f->do_oop((oop*)&_arithmetic_exception_instance);
- f->do_oop((oop*)&_virtual_machine_error_instance);
- f->do_oop((oop*)&_main_thread_group);
- f->do_oop((oop*)&_system_thread_group);
- f->do_oop((oop*)&_reference_pending_list);
- debug_only(f->do_oop((oop*)&_fullgc_alot_dummy_array);)
- ThreadsSMRSupport::exiting_threads_oops_do(f);
-}
-
void LatestMethodCache::metaspace_pointers_do(MetaspaceClosure* it) {
it->push(&_klass);
}
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index cb320076a55..4b2211c415e 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -326,13 +326,6 @@ class Universe: AllStatic {
static bool should_fill_in_stack_trace(Handle throwable);
static void check_alignment(uintx size, uintx alignment, const char* name);
- // Iteration
-
- static void root_oops_do(OopClosure *oopClosure); // FIXME: kill...
- // Apply "f" to the addresses of all the direct heap pointers maintained
- // as static fields of "Universe".
- static void oops_do(OopClosure* f);
-
// CDS support
static void serialize(SerializeClosure* f);
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index b4d09e92830..c2de2bec7d4 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -1286,7 +1286,7 @@ void InstanceKlass::init_implementor() {
// (DCEVM) - init_implementor() for dcevm
void InstanceKlass::init_implementor_from_redefine() {
assert(is_interface(), "not interface");
- Klass* volatile* addr = adr_implementor();
+ InstanceKlass* volatile* addr = adr_implementor();
assert(addr != NULL, "null addr");
if (addr != NULL) {
*addr = NULL;
@@ -3816,7 +3816,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
- guarantee(sib->super() == super || AllowEnhancedClassRedefinition && super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
+ guarantee(sib->super() == super || AllowEnhancedClassRedefinition && super->newest_version() == vmClasses::Object_klass(), "siblings should have same superklass");
}
// Verify local interfaces
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 2a7dd35bdd1..071dbc6d6ad 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -26,8 +26,10 @@
#include "aot/aotLoader.hpp"
#include "classfile/classFileParser.hpp"
#include "classfile/classFileStream.hpp"
+#include "classfile/classLoadInfo.hpp"
#include "classfile/metadataOnStackMark.hpp"
#include "classfile/systemDictionary.hpp"
+#include "classfile/symbolTable.hpp"
#include "classfile/verifier.hpp"
#include "classfile/dictionary.hpp"
#include "classfile/classLoaderDataGraph.hpp"
@@ -198,8 +200,8 @@ class FieldCopier : public FieldClosure {
if (found && result.is_static()) {
log_trace(redefine, class, obsolete, metadata)("Copying static field value for field %s old_offset=%d new_offset=%d",
fd->name()->as_C_string(), result.offset(), fd->offset());
- memcpy(cur_oop->obj_field_addr_raw<HeapWord>(fd->offset()),
- old_oop->obj_field_addr_raw<HeapWord>(result.offset()),
+ memcpy(cur_oop->obj_field_addr<HeapWord>(fd->offset()),
+ old_oop->obj_field_addr<HeapWord>(result.offset()),
type2aelembytes(fd->field_type()));
// Static fields may have references to java.lang.Class
@@ -242,6 +244,17 @@ void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
}
}
+void VM_EnhancedRedefineClasses::root_oops_do(OopClosure *oopClosure) {
+ Universe::vm_global()->oops_do(oopClosure);
+
+ Threads::oops_do(oopClosure, NULL);
+ AOT_ONLY(AOTLoader::oops_do(oopClosure);)
+ OopStorageSet::strong_oops_do(oopClosure);
+
+ CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
+ CodeCache::blobs_do(&blobClosure);
+}
+
// TODO comment
struct StoreBarrier {
// TODO: j10 review change ::oop_store -> HeapAccess<>::oop_store
@@ -558,7 +571,7 @@ void VM_EnhancedRedefineClasses::doit() {
_timer_heap_iterate.stop();
}
- Universe::root_oops_do(&oopClosureNoBarrier);
+ root_oops_do(&oopClosureNoBarrier);
if (UseG1GC) {
// this should work also for other GCs
@@ -737,8 +750,8 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
// - link new classes
jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
- _affected_klasses = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<Klass*>(_class_count, true);
- _new_classes = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<InstanceKlass*>(_class_count, true);
+ _affected_klasses = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<Klass*>(_class_count);
+ _new_classes = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<InstanceKlass*>(_class_count);
ResourceMark rm(THREAD);
@@ -832,12 +845,12 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
!the_class->is_non_strong_hidden(), // is_strong_hidden
true); // FIXME: check if correct. can_access_vm_annotations
- k = SystemDictionary::parse_stream(the_class_sym,
- the_class_loader,
- &st,
- cl_info,
- the_class,
- THREAD);
+ k = SystemDictionary::resolve_from_stream(&st,
+ the_class_sym,
+ the_class_loader,
+ cl_info,
+ the_class,
+ THREAD);
k->class_loader_data()->exchange_holders(the_class->class_loader_data());
@@ -853,12 +866,12 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
}
} else {
- k = SystemDictionary::resolve_from_stream(the_class_sym,
- the_class_loader,
- protection_domain,
- &st,
- the_class,
- THREAD);
+ k = SystemDictionary::resolve_from_stream(&st,
+ the_class_sym,
+ the_class_loader,
+ protection_domain,
+ the_class,
+ THREAD);
}
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 5de375fb888..9be70039e32 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -124,6 +124,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
static void register_nmethod_g1(nmethod* nm);
static void unpatch_bytecode(Method* method, TRAPS);
+ void root_oops_do(OopClosure *oopClosure);
+
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
void compute_added_deleted_matching_methods();
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 3c29eda4da0..a1eadc2958a 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -34,6 +34,7 @@
#include "oops/access.inline.hpp"
#include "oops/method.hpp"
#include "oops/oop.inline.hpp"
+#include "oops/klass.inline.hpp"
#include "oops/weakHandle.inline.hpp"
#include "prims/resolvedMethodTable.hpp"
#include "runtime/atomic.hpp"
@@ -375,7 +376,7 @@ class AdjustMethodEntriesDcevm : public StackObj {
GrowableArray<oop>* _oops_to_add;
public:
AdjustMethodEntriesDcevm(GrowableArray<oop>* oops_to_add, bool* trace_name_printed) : _trace_name_printed(trace_name_printed), _oops_to_add(oops_to_add) {};
- bool operator()(WeakHandle<vm_resolved_method_table_data>* entry) {
+ bool operator()(WeakHandle* entry) {
oop mem_name = entry->peek();
if (mem_name == NULL) {
// Removed
@@ -460,7 +461,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
if (_local_table->get(thread, lookup, rmg)) {
break;
}
- WeakHandle<vm_resolved_method_table_data> wh = WeakHandle<vm_resolved_method_table_data>::create(Handle(thread, mem_name));
+ WeakHandle wh(_oop_storage, mem_name);
// The hash table takes ownership of the WeakHandle, even if it's not inserted.
if (_local_table->insert(thread, lookup, wh)) {
log_insert(method);
diff --git a/src/hotspot/share/runtime/arguments.hpp b/src/hotspot/share/runtime/arguments.hpp
index 1b7f8fe9f47..6a8ceb7fa8a 100644
--- a/src/hotspot/share/runtime/arguments.hpp
+++ b/src/hotspot/share/runtime/arguments.hpp
@@ -482,6 +482,8 @@ class Arguments : AllStatic {
// Adjusts the arguments after the OS have adjusted the arguments
static jint adjust_after_os();
+ // Check for consistency in the selection of the garbage collector.
+ static bool check_gc_consistency(); // Check user-selected gc
// Check consistency or otherwise of VM argument settings
static bool check_vm_args_consistency();
// Used by os_solaris
--
2.23.0

View File

@@ -1,27 +0,0 @@
From 6e18ad67981ab5a1bbdac46e1e0c7cc80beb4a5b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 11:38:48 +0100
Subject: [PATCH 22/39] Fix crash on GrowableArray allocation in C_HEAP
---
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 071dbc6d6ad..a5264077bfe 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -750,8 +750,8 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
// - link new classes
jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
- _affected_klasses = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<Klass*>(_class_count);
- _new_classes = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<InstanceKlass*>(_class_count);
+ _affected_klasses = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<Klass*>(_class_count, mtInternal);
+ _new_classes = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<InstanceKlass*>(_class_count, mtInternal);
ResourceMark rm(THREAD);
--
2.23.0

View File

@@ -1,49 +0,0 @@
From 96680710816d9cd6e9cd8d5ce6dcbe054a7e53bd Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 11:39:05 +0100
Subject: [PATCH 23/39] Rename confusing method name old_if_redefined to
old_if_redefining
---
src/hotspot/share/classfile/dictionary.cpp | 4 ++--
src/hotspot/share/classfile/dictionary.hpp | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 223b9e1e7a9..2b236a7724e 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -359,7 +359,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;
}
@@ -373,7 +373,7 @@ InstanceKlass* Dictionary::find_class(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);
}
void Dictionary::add_protection_domain(int index, unsigned int hash,
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index bdfef5c8663..e997cfdcabd 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -109,7 +109,7 @@ public:
Handle protection_domain);
// (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;
}
};
--
2.23.0

View File

@@ -1,43 +0,0 @@
From 5d10d789150dfa6f8366dceb7fce3251d725ab8a Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 12:33:47 +0100
Subject: [PATCH 24/39] 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 | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c2de2bec7d4..3cc96f98f41 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -398,9 +398,9 @@ 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) {
- // TODO: (DCEVM) check if it correct. It fix problems with lambdas (hidden)
- cur_host = InstanceKlass::cast(cur_host->newest_version());
+ cur_host = InstanceKlass::cast(cur_host->active_version());
}
Klass* k_nest_host = k->nest_host(CHECK_false);
@@ -408,6 +408,11 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
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);
ResourceMark rm(THREAD);
--
2.23.0

View File

@@ -1,95 +0,0 @@
From dac9d7a7d87de680a50be7c2857646323c4c8ffa Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 13 Feb 2021 20:47:52 +0100
Subject: [PATCH 25/39] 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/classLoaderDataGraph.cpp | 9 +++++++++
src/hotspot/share/classfile/classLoaderDataGraph.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/classLoaderDataGraph.cpp b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
index fda5d2eb1ba..67ade5709f6 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
@@ -455,6 +455,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;
+}
+
void ClassLoaderDataGraph::verify_dictionary() {
FOR_ALL_DICTIONARY(cld) {
cld->dictionary()->verify();
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.hpp b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
index c3bcc7271e6..ebdb0bc2c8c 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
@@ -108,6 +108,9 @@ class ClassLoaderDataGraph : public AllStatic {
// (DCEVM) Enhanced class redefinition
static void rollback_redefinition();
+ // Enhanced class redefinition
+ static bool dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
+
// VM_CounterDecay iteration support
static InstanceKlass* try_get_next_class();
static void adjust_saved_class(ClassLoaderData* cld);
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 2b236a7724e..bb1d09fa7a2 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -322,7 +322,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 e997cfdcabd..7f8d8e35fc3 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -83,7 +83,7 @@ public:
void verify();
// (DCEVM) 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 63de2e2f099..35e2f376870 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1441,7 +1441,9 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, InstanceKlass* ol
unsigned int name_hash = dictionary->compute_hash(name_h);
if (is_redefining) {
- bool ok = dictionary->update_klass(name_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(name_hash, k, class_loader, !is_redefining, CHECK);
--
2.23.0

View File

@@ -1,29 +0,0 @@
From f42115a3d488c93a2d163aebd030530f060dcef8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 20 Feb 2021 15:47:47 +0100
Subject: [PATCH 26/39] Add ClassLoaderDataGraph_lock to define new class in
enhanced redefiniton
ClassLoaderDataGraph locking for introduced in redefinition in
java.version>11
---
src/hotspot/share/classfile/systemDictionary.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 35e2f376870..c628cb9da83 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1443,7 +1443,9 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, InstanceKlass* ol
if (is_redefining) {
// 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
+ ClassLoaderDataGraph_lock->lock();
bool ok = ClassLoaderDataGraph::dictionary_classes_do_update_klass(name_h, k, old_klass);
+ ClassLoaderDataGraph_lock->unlock();
assert (ok, "must have found old class and updated!");
}
check_constraints(name_hash, k, class_loader, !is_redefining, CHECK);
--
2.23.0

View File

@@ -1,180 +0,0 @@
From 30308e893e43425da166175f5f18f84abf2c6110 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Thu, 18 Jun 2020 18:40:11 +0200
Subject: [PATCH 27/39] JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
---
src/hotspot/share/runtime/arguments.cpp | 77 +++++++++++++++++++
src/hotspot/share/runtime/arguments.hpp | 4 +
.../flags/jvmFlagConstraintsRuntime.cpp | 9 +++
.../flags/jvmFlagConstraintsRuntime.hpp | 3 +-
src/hotspot/share/runtime/globals.hpp | 11 ++-
5 files changed, 102 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index cbcd8f91c66..4f9cfde9323 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -4001,6 +4001,8 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
}
}
+ setup_hotswap_agent();
+
#if !INCLUDE_CDS
if (DumpSharedSpaces || RequireSharedSpaces) {
jio_fprintf(defaultStream::error_stream(),
@@ -4357,3 +4359,78 @@ 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
}
+
+void Arguments::setup_hotswap_agent() {
+
+ if (DumpSharedSpaces)
+ return;
+
+ 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 (ha_fatjar || ha_core) {
+
+ char ext_path_str[JVM_MAXPATHLEN];
+
+ os::jvm_path(ext_path_str, sizeof(ext_path_str));
+ for (int i = 0; i < 3; i++) {
+ char *end = strrchr(ext_path_str, *os::file_separator());
+ if (end != NULL) *end = '\0';
+ }
+ size_t ext_path_length = strlen(ext_path_str);
+ if (ext_path_length >= 3) {
+ if (strcmp(ext_path_str + ext_path_length - 3, "lib") != 0) {
+ if (ext_path_length < JVM_MAXPATHLEN - 4) {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length, "%slib", os::file_separator());
+ ext_path_length += 4;
+ }
+ }
+ }
+ if (ext_path_length < JVM_MAXPATHLEN - 10) {
+ 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
+ // Use to access java.lang.reflect.Proxy/proxyCache
+ create_numbered_module_property("jdk.module.addopens", "java.base/java.lang=ALL-UNNAMED", addopens_count++);
+ // Class of field java.lang.reflect.Proxy/proxyCache
+ create_numbered_module_property("jdk.module.addopens", "java.base/jdk.internal.loader=ALL-UNNAMED", addopens_count++);
+ // Use to access java.io.Reader, java.io.InputStream, java.io.FileInputStream
+ create_numbered_module_property("jdk.module.addopens", "java.base/java.io=ALL-UNNAMED", addopens_count++);
+ // java.beans.Introspector access
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/java.beans=ALL-UNNAMED", addopens_count++);
+ // java.beans.Introspector access
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans=ALL-UNNAMED", addopens_count++);
+ // com.sun.beans.introspect.ClassInfo access
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans.introspect=ALL-UNNAMED", addopens_count++);
+ // com.sun.beans.introspect.util.Cache access
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans.util=ALL-UNNAMED", addopens_count++);
+
+}
diff --git a/src/hotspot/share/runtime/arguments.hpp b/src/hotspot/share/runtime/arguments.hpp
index 6a8ceb7fa8a..7669a283375 100644
--- a/src/hotspot/share/runtime/arguments.hpp
+++ b/src/hotspot/share/runtime/arguments.hpp
@@ -491,6 +491,10 @@ class Arguments : AllStatic {
static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
+
+ // Initialize HotswapAgent
+ static void setup_hotswap_agent();
+
// Return the maximum size a heap with compressed oops can take
static size_t max_heap_for_compressed_oops();
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
index 5b09758e089..e55b68e63a6 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
@@ -158,6 +158,15 @@ JVMFlag::Error NUMAInterleaveGranularityConstraintFunc(size_t value, bool verbos
" ... " UINTX_FORMAT " ]\n", value, min, max);
return JVMFlag::VIOLATES_CONSTRAINT;
}
+ return JVMFlag::SUCCESS;
+}
+JVMFlag::Error HotswapAgentConstraintFunc(ccstr 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 8bc3a9a1548..c5f58fd16ee 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
@@ -42,7 +42,8 @@
f(intx, BiasedLockingDecayTimeFunc) \
f(intx, PerfDataSamplingIntervalFunc) \
f(uintx, VMPageSizeConstraintFunc) \
- f(size_t, NUMAInterleaveGranularityConstraintFunc)
+ f(size_t, NUMAInterleaveGranularityConstraintFunc) \
+ f(ccstr, HotswapAgentConstraintFunc)
RUNTIME_CONSTRAINTS(DECLARE_CONSTRAINT)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 7051b634a9b..d23e43407e1 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2090,7 +2090,16 @@ const intx ObjectAlignmentInBytes = 8;
\
product(bool, AllowEnhancedClassRedefinition, false, \
"Allow enhanced class redefinition beyond swapping method " \
- "bodies")
+ "bodies") \
+ \
+ 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)
// end of RUNTIME_FLAGS
--
2.23.0

View File

@@ -1,347 +0,0 @@
From 51f0036ff15d39330b787512af9e38d15c748e4b 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 28/39] 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 ++
src/hotspot/share/classfile/vmClasses.cpp | 10 +++
src/hotspot/share/classfile/vmClasses.hpp | 4 ++
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 | 2 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 63 ++++++++++++++++++-
.../prims/jvmtiEnhancedRedefineClasses.hpp | 2 +
11 files changed, 142 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/ci/ciKlass.hpp b/src/hotspot/share/ci/ciKlass.hpp
index 467284b7cde..644993a7513 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_CI_CIKLASS_HPP
diff --git a/src/hotspot/share/ci/ciObjectFactory.cpp b/src/hotspot/share/ci/ciObjectFactory.cpp
index 664062a0f74..e9cb49be3ff 100644
--- a/src/hotspot/share/ci/ciObjectFactory.cpp
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp
@@ -74,7 +74,10 @@ GrowableArray<ciMetadata*>* ciObjectFactory::_shared_ci_metadata = NULL;
ciSymbol* ciObjectFactory::_shared_ci_symbols[vmSymbols::number_of_symbols()];
int ciObjectFactory::_shared_ident_limit = 0;
volatile bool ciObjectFactory::_initialized = false;
+volatile bool ciObjectFactory::_reinitialize_vm_klasses = false;
+// TODO: review...
+Arena* ciObjectFactory::_initial_arena = NULL;
// ------------------------------------------------------------------
// ciObjectFactory::ciObjectFactory
@@ -110,6 +113,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();
@@ -118,6 +122,36 @@ void ciObjectFactory::initialize() {
}
+// (DCEVM) vm classes could be modified
+void ciObjectFactory::reinitialize_vm_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_vm_classes();
+ _reinitialize_vm_klasses = false;
+}
+
+// (DCEVM) vm classes could be modified
+void ciObjectFactory::do_reinitialize_vm_classes() {
+#define VM_CLASS_DEFN(name, ignore_s) \
+ if (ciEnv::_##name != NULL && ciEnv::_##name->new_version() != NULL) { \
+ int old_ident = ciEnv::_##name->ident(); \
+ ciEnv::_##name = get_metadata(vmClasses::name())->as_instance_klass(); \
+ ciEnv::_##name->compute_nonstatic_fields(); \
+ ciEnv::_##name->set_ident(old_ident); \
+ }
+
+ VM_CLASSES_DO(VM_CLASS_DEFN)
+#undef VM_CLASS_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 fdefc8e3b92..1ed8732cb40 100644
--- a/src/hotspot/share/ci/ciObjectFactory.hpp
+++ b/src/hotspot/share/ci/ciObjectFactory.hpp
@@ -42,9 +42,11 @@ class ciObjectFactory : public ResourceObj {
private:
static volatile bool _initialized;
+ static volatile bool _reinitialize_vm_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;
@@ -90,10 +92,14 @@ private:
ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
static int compare_cimetadata(ciMetadata** a, ciMetadata** b);
+ void do_reinitialize_vm_classes();
public:
static bool is_initialized() { return _initialized; }
+ static bool is_reinitialize_vm_klasses() { return _reinitialize_vm_klasses; }
+ static void set_reinitialize_vm_klasses() { _reinitialize_vm_klasses = true; }
static void initialize();
+ static void reinitialize_vm_classes();
void init_shared_objects();
void remove_symbols();
diff --git a/src/hotspot/share/classfile/vmClasses.cpp b/src/hotspot/share/classfile/vmClasses.cpp
index 2bd1ca65cc0..3ec13d952d8 100644
--- a/src/hotspot/share/classfile/vmClasses.cpp
+++ b/src/hotspot/share/classfile/vmClasses.cpp
@@ -259,3 +259,13 @@ BasicType vmClasses::box_klass_type(Klass* k) {
}
return T_OBJECT;
}
+
+bool vmClasses::update_vm_klass(InstanceKlass* old_klass, InstanceKlass* new_klass) {
+ for (int id = static_cast<int>(vmClassID::FIRST); id < static_cast<int>(vmClassID::LIMIT); id++) {
+ if (_klasses[id] == old_klass) {
+ _klasses[id] = new_klass;
+ return true;
+ }
+ }
+ return false;
+}
diff --git a/src/hotspot/share/classfile/vmClasses.hpp b/src/hotspot/share/classfile/vmClasses.hpp
index 364014a2514..b637ff0ae3d 100644
--- a/src/hotspot/share/classfile/vmClasses.hpp
+++ b/src/hotspot/share/classfile/vmClasses.hpp
@@ -110,6 +110,10 @@ public:
static bool Cloneable_klass_loaded() { return is_loaded(VM_CLASS_AT(Cloneable_klass)); }
static bool Parameter_klass_loaded() { return is_loaded(VM_CLASS_AT(reflect_Parameter_klass)); }
static bool ClassLoader_klass_loaded() { return is_loaded(VM_CLASS_AT(ClassLoader_klass)); }
+
+ // (DCEVM) vmClasses could be modified
+ static bool update_vm_klass(InstanceKlass* new_klass, InstanceKlass* old_klass);
+
};
#endif // SHARE_CLASSFILE_VMCLASSES_HPP
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index dad94005f5c..82fd593224a 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -380,6 +380,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 cc1dff089e8..aaf8e4b1f1e 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -1982,6 +1982,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_vm_klasses())
+ {
+ ASSERT_IN_VM;
+ MutexLocker only_one(CompileThread_lock);
+ if (ciObjectFactory::is_reinitialize_vm_klasses()) {
+ ciObjectFactory::reinitialize_vm_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 4ae3b382b67..92da9bbe5f9 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -924,6 +924,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,
+ vmClasses::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 4b2211c415e..4d4c444220e 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -268,6 +268,8 @@ class Universe: AllStatic {
// Function to initialize these
static void initialize_known_methods(TRAPS);
+ static void reinitialize_loader_addClass_method(TRAPS);
+
static void create_preallocated_out_of_memory_errors(TRAPS);
// Reference pending list manipulation. Access is protected by
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index a5264077bfe..e00f0e19e20 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -55,6 +55,7 @@
#include "prims/resolvedMethodTable.hpp"
#include "prims/methodHandles.hpp"
#include "runtime/deoptimization.hpp"
+#include "runtime/javaCalls.hpp"
#include "runtime/jniHandles.inline.hpp"
#include "runtime/relocator.hpp"
#include "runtime/fieldDescriptor.hpp"
@@ -66,6 +67,7 @@
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/shared/dcevmSharedGC.hpp"
#include "gc/shared/scavengableNMethods.hpp"
+#include "gc/shared/oopStorageSet.inline.hpp"
#include "ci/ciObjectFactory.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
@@ -521,6 +523,16 @@ void VM_EnhancedRedefineClasses::doit() {
redefine_single_class(_new_classes->at(i), thread);
}
+ // Update possible redefinition of vm classes (like ClassLoader)
+ for (int i = 0; i < _new_classes->length(); i++) {
+ InstanceKlass* cur = _new_classes->at(i);
+ if (cur->old_version() != NULL && vmClasses::update_vm_klass(InstanceKlass::cast(cur->old_version()), cur))
+ {
+ log_trace(redefine, class, obsolete, metadata)("Well known class updated %s", cur->external_name());
+ ciObjectFactory::set_reinitialize_vm_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(thread);
@@ -688,12 +700,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 == vmClasses::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;
}
@@ -1623,7 +1679,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 9be70039e32..673688dff84 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -150,6 +150,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
u8 next_id();
+ void reinitializeJDKClasses();
+
static void check_class(InstanceKlass* k_oop, TRAPS);
static void dump_methods();
--
2.23.0

View File

@@ -1,260 +0,0 @@
From 6cde71e353f823f2df2d0875cd03b656fe060d5c Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 15 May 2021 10:31:28 +0200
Subject: [PATCH 29/39] Fix fastdebug compilation issues - cast_to_oop
---
.../share/gc/g1/g1FullGCCompactTask.cpp | 12 +++++-----
.../share/gc/g1/g1FullGCCompactionPoint.cpp | 10 ++++-----
.../share/gc/g1/g1FullGCPrepareTask.cpp | 4 ++--
src/hotspot/share/gc/shared/dcevmSharedGC.cpp | 6 ++---
src/hotspot/share/gc/shared/space.cpp | 22 +++++++++----------
src/hotspot/share/gc/shared/space.inline.hpp | 14 ++++++------
.../prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
7 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
index 058dea90828..765630a9826 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
@@ -183,18 +183,18 @@ size_t G1FullGCCompactTask::G1CompactRegionClosureDcevm::apply(oop obj) {
Klass* new_version = obj->klass()->new_version();
if (new_version->update_information() == NULL) {
Copy::aligned_conjoint_words(obj_addr, destination, size);
- oop(destination)->set_klass(new_version);
+ cast_to_oop(destination)->set_klass(new_version);
} else {
- DcevmSharedGC::update_fields(obj, oop(destination));
+ DcevmSharedGC::update_fields(obj, cast_to_oop(destination));
}
- oop(destination)->init_mark();
- assert(oop(destination)->klass() != NULL, "should have a class");
+ cast_to_oop(destination)->init_mark();
+ assert(cast_to_oop(destination)->klass() != NULL, "should have a class");
return size;
}
Copy::aligned_conjoint_words(obj_addr, destination, size);
- oop(destination)->init_mark();
- assert(oop(destination)->klass() != NULL, "should have a class");
+ cast_to_oop(destination)->init_mark();
+ assert(cast_to_oop(destination)->klass() != NULL, "should have a class");
return size;
}
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
index 87b1977128a..028c182e68f 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
@@ -171,7 +171,7 @@ void G1FullGCCompactionPoint::forward_dcevm(oop object, size_t size, bool force_
// Store a forwarding pointer if the object should be moved.
if (cast_from_oop<HeapWord*>(object) != _compaction_top || force_forward) {
- object->forward_to(oop(_compaction_top));
+ object->forward_to(cast_to_oop(_compaction_top));
} else {
if (object->forwardee() != NULL) {
// Object should not move but mark-word is used so it looks like the
@@ -208,17 +208,17 @@ void G1FullGCCompactionPoint::forward_rescued() {
for (;i<rescued_oops()->length(); i++) {
HeapWord* q = rescued_oops()->at(i);
- size_t size = oop(q)->size();
+ size_t size = cast_to_oop(q)->size();
// (DCEVM) There is a new version of the class of q => different size
- if (oop(q)->klass()->new_version() != NULL) {
+ if (cast_to_oop(q)->klass()->new_version() != NULL) {
// assert(size != new_size, "instances without changed size have to be updated prior to GC run");
- size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
+ size = cast_to_oop(q)->size_given_klass(cast_to_oop(q)->klass()->new_version());
}
if (forward_compact_top(size) == NULL) {
break;
}
- forward_dcevm(oop(q), size, true);
+ forward_dcevm(cast_to_oop(q), size, true);
}
_last_rescued_oop = i;
}
diff --git a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
index 05f0444cc7a..93c066383a1 100644
--- a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
@@ -297,7 +297,7 @@ size_t G1FullGCPrepareTask::G1PrepareCompactLiveClosureDcevm::apply(oop object)
HeapWord* compact_top = _cp->forward_compact_top(forward_size);
- if (compact_top == NULL || must_rescue(object, oop(compact_top))) {
+ if (compact_top == NULL || must_rescue(object, cast_to_oop(compact_top))) {
_cp->rescued_oops()->append(cast_from_oop<HeapWord*>(object));
} else {
_cp->forward_dcevm(object, forward_size, (size != forward_size));
@@ -308,7 +308,7 @@ size_t G1FullGCPrepareTask::G1PrepareCompactLiveClosureDcevm::apply(oop object)
bool G1FullGCPrepareTask::G1PrepareCompactLiveClosureDcevm::must_rescue(oop old_obj, oop new_obj) {
// Only redefined objects can have the need to be rescued.
- if (oop(old_obj)->klass()->new_version() == NULL) {
+ if (old_obj->klass()->new_version() == NULL) {
return false;
}
diff --git a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
index edc19a3077d..de3d518b696 100644
--- a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
+++ b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
@@ -46,7 +46,7 @@ void DcevmSharedGC::copy_rescued_objects_back(GrowableArray<HeapWord*>* rescued_
if (rescued_oops != NULL) {
for (int i=from; i < to; i++) {
HeapWord* rescued_ptr = rescued_oops->at(i);
- oop rescued_obj = (oop) rescued_ptr;
+ oop rescued_obj = cast_to_oop(rescued_ptr);
int size = rescued_obj->size();
oop new_obj = rescued_obj->forwardee();
@@ -75,7 +75,7 @@ void DcevmSharedGC::clear_rescued_objects_resource(GrowableArray<HeapWord*>* res
if (rescued_oops != NULL) {
for (int i=0; i < rescued_oops->length(); i++) {
HeapWord* rescued_ptr = rescued_oops->at(i);
- int size = ((oop) rescued_ptr)->size();
+ int size = cast_to_oop(rescued_ptr)->size();
FREE_RESOURCE_ARRAY(HeapWord, rescued_ptr, size);
}
rescued_oops->clear();
@@ -114,7 +114,7 @@ void DcevmSharedGC::update_fields(oop q, oop new_location) {
if ((cast_from_oop<HeapWord*>(q) >= cast_from_oop<HeapWord*>(new_location) && cast_from_oop<HeapWord*>(q) < cast_from_oop<HeapWord*>(new_location) + new_size) ||
(cast_from_oop<HeapWord*>(new_location) >= cast_from_oop<HeapWord*>(q) && cast_from_oop<HeapWord*>(new_location) < cast_from_oop<HeapWord*>(q) + size)) {
tmp = NEW_RESOURCE_ARRAY(HeapWord, size);
- q = (oop) tmp;
+ q = cast_to_oop(tmp);
Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(tmp_obj), cast_from_oop<HeapWord*>(q), size);
}
}
diff --git a/src/hotspot/share/gc/shared/space.cpp b/src/hotspot/share/gc/shared/space.cpp
index 29a81348d2d..000760744f7 100644
--- a/src/hotspot/share/gc/shared/space.cpp
+++ b/src/hotspot/share/gc/shared/space.cpp
@@ -475,7 +475,7 @@ bool CompactibleSpace::must_rescue(oop old_obj, oop new_obj) {
int new_size = old_obj->size_given_klass(oop(old_obj)->klass()->new_version());
int original_size = old_obj->size();
-
+
Generation* tenured_gen = GenCollectedHeap::heap()->old_gen();
bool old_in_tenured = tenured_gen->is_in_reserved(old_obj);
bool new_in_tenured = tenured_gen->is_in_reserved(new_obj);
@@ -513,9 +513,9 @@ bool CompactibleSpace::must_rescue(oop old_obj, oop new_obj) {
}
HeapWord* CompactibleSpace::rescue(HeapWord* old_obj) {
- assert(must_rescue(oop(old_obj), oop(old_obj)->forwardee()), "do not call otherwise");
+ assert(must_rescue(cast_to_oop(old_obj), cast_to_oop(old_obj)->forwardee()), "do not call otherwise");
- int size = oop(old_obj)->size();
+ int size = cast_to_oop(old_obj)->size();
HeapWord* rescued_obj = NEW_RESOURCE_ARRAY(HeapWord, size);
Copy::aligned_disjoint_words(old_obj, rescued_obj, size);
@@ -803,16 +803,16 @@ HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
size_t forward_size = size;
// (DCEVM) There is a new version of the class of q => different size
- if (oop(q)->klass()->new_version() != NULL) {
+ if (cast_to_oop(q)->klass()->new_version() != NULL) {
- size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
+ size_t new_size = cast_to_oop(q)->size_given_klass(cast_to_oop(q)->klass()->new_version());
// assert(size != new_size, "instances without changed size have to be updated prior to GC run");
forward_size = new_size;
}
compact_top = forward_compact_top(forward_size, cp, compact_top);
- if (must_rescue(oop(q), oop(compact_top))) {
+ if (must_rescue(cast_to_oop(q), cast_to_oop(compact_top))) {
if (MarkSweep::_rescued_oops == NULL) {
MarkSweep::_rescued_oops = new GrowableArray<HeapWord*>(128);
}
@@ -820,7 +820,7 @@ HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
return compact_top;
}
- return forward(oop(q), forward_size, cp, compact_top, force_forward);
+ return forward(cast_to_oop(q), forward_size, cp, compact_top, force_forward);
}
// Compute the forwarding addresses for the objects that need to be rescued.
@@ -830,17 +830,17 @@ HeapWord* CompactibleSpace::forward_rescued(CompactPoint* cp, HeapWord* compact_
for (int i=0; i<MarkSweep::_rescued_oops->length(); i++) {
HeapWord* q = MarkSweep::_rescued_oops->at(i);
- /* size_t size = oop(q)->size(); changing this for cms for perm gen */
+ /* size_t size = cast_to_oop(q)->size(); changing this for cms for perm gen */
size_t size = block_size(q);
// (DCEVM) There is a new version of the class of q => different size
- if (oop(q)->klass()->new_version() != NULL) {
- size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
+ if (cast_to_oop(q)->klass()->new_version() != NULL) {
+ size_t new_size = cast_to_oop(q)->size_given_klass(cast_to_oop(q)->klass()->new_version());
// assert(size != new_size, "instances without changed size have to be updated prior to GC run");
size = new_size;
}
- compact_top = cp->space->forward(oop(q), size, cp, compact_top, true);
+ compact_top = cp->space->forward(cast_to_oop(q), size, cp, compact_top, true);
assert(compact_top <= end(), "must not write over end of space!");
}
MarkSweep::_rescued_oops->clear();
diff --git a/src/hotspot/share/gc/shared/space.inline.hpp b/src/hotspot/share/gc/shared/space.inline.hpp
index cafa2503ef4..076ce6b0cce 100644
--- a/src/hotspot/share/gc/shared/space.inline.hpp
+++ b/src/hotspot/share/gc/shared/space.inline.hpp
@@ -351,7 +351,7 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
size_t size = space->obj_size(cur_obj);
HeapWord* compaction_top = cast_from_oop<HeapWord*>(cast_to_oop(cur_obj)->forwardee());
- if (redefinition_run && space->must_rescue(oop(cur_obj), oop(cur_obj)->forwardee())) {
+ if (redefinition_run && space->must_rescue(cast_to_oop(cur_obj), cast_to_oop(cur_obj)->forwardee())) {
space->rescue(cur_obj);
debug_only(Copy::fill_to_words(cur_obj, size, 0));
cur_obj += size;
@@ -363,16 +363,16 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
// copy object and reinit its mark
assert(redefinition_run || cur_obj != compaction_top, "everything in this pass should be moving");
- if (redefinition_run && oop(cur_obj)->klass()->new_version() != NULL) {
- Klass* new_version = oop(cur_obj)->klass()->new_version();
+ if (redefinition_run && cast_to_oop(cur_obj)->klass()->new_version() != NULL) {
+ Klass* new_version = cast_to_oop(cur_obj)->klass()->new_version();
if (new_version->update_information() == NULL) {
Copy::aligned_conjoint_words(cur_obj, compaction_top, size);
- oop(compaction_top)->set_klass(new_version);
+ cast_to_oop(compaction_top)->set_klass(new_version);
} else {
- DcevmSharedGC::update_fields(oop(cur_obj), oop(compaction_top));
+ DcevmSharedGC::update_fields(cast_to_oop(cur_obj), cast_to_oop(compaction_top));
}
- oop(compaction_top)->init_mark();
- assert(oop(compaction_top)->klass() != NULL, "should have a class");
+ cast_to_oop(compaction_top)->init_mark();
+ assert(cast_to_oop(compaction_top)->klass() != NULL, "should have a class");
debug_only(prev_obj = cur_obj);
cur_obj += size;
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index e00f0e19e20..62477b5ce10 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -439,7 +439,7 @@ public:
int size = o->size();
if (_tmp_obj_size < size) {
_tmp_obj_size = size;
- _tmp_obj = (oop)resource_allocate_bytes(size * HeapWordSize);
+ _tmp_obj = cast_to_oop(resource_allocate_bytes(size * HeapWordSize));
}
Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(o), cast_from_oop<HeapWord*>(_tmp_obj), size);
}
--
2.23.0

View File

@@ -1,27 +0,0 @@
From 585e2f11d293081db5dc919fa8c13fb5bc7cbc53 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 30/39] 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 62477b5ce10..7bdbc861c1f 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -707,7 +707,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 == vmClasses::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
--
2.23.0

View File

@@ -1,81 +0,0 @@
From d4d56b7ad6cd8f73f7485cdc608655c014c55f3c 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 31/39] 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.
---
.../share/classfile/classLoaderDataGraph.cpp | 10 ++++++++++
.../share/classfile/classLoaderDataGraph.hpp | 4 ++++
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 14 ++++++++++++--
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.cpp b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
index 67ade5709f6..aa2a6bcec6b 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
@@ -361,6 +361,16 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
+void ClassLoaderDataGraph::anonymous_or_hidden_classes_do(KlassClosure* klass_closure) {
+ Thread* thread = Thread::current();
+ for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
+ if (cld->has_class_mirror_holder()) {
+ Handle holder(thread, cld->holder_phantom());
+ cld->classes_do(klass_closure);
+ }
+ }
+}
+
void ClassLoaderDataGraph::classes_do(void f(Klass* const)) {
ClassLoaderDataGraphIterator iter;
while (ClassLoaderData* cld = iter.get_next()) {
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.hpp b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
index ebdb0bc2c8c..da712eaf55f 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
@@ -78,6 +78,10 @@ class ClassLoaderDataGraph : public AllStatic {
// for redefinition. These classes are removed during the next class unloading.
// Walking the ClassLoaderDataGraph also includes hidden classes.
static void classes_do(KlassClosure* klass_closure);
+
+ // Enhanced class redefinition
+ static void anonymous_or_hidden_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 7bdbc861c1f..4e8e7141e61 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2164,9 +2164,19 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
{
MutexLocker mcld(ClassLoaderDataGraph_lock);
- ClassLoaderDataGraph::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 or hidden 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_or_hidden_classes_do(&closure);
}
- //ClassLoaderDataGraph::dictionary_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -1,39 +0,0 @@
From 5356c4dbbcc2564e401fc92b7680b870ee7070ec Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 15 May 2021 13:01:25 +0200
Subject: [PATCH 32/39] Fix compilation problems
---
src/hotspot/share/oops/instanceKlass.cpp | 2 +-
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 3cc96f98f41..c54b6b1bf46 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -978,7 +978,7 @@ bool InstanceKlass::link_class_impl(TRAPS) {
set_init_state(linked);
}
// (DCEVM) Must check for old version in order to prevent infinite loops.
- if (JvmtiExport::should_post_class_prepare() && (!AllowEnhancedClassRedefinition || old_version() == NULL /* JVMTI deadlock otherwise */) {
+ if (JvmtiExport::should_post_class_prepare() && (!AllowEnhancedClassRedefinition || old_version() == NULL /* JVMTI deadlock otherwise */)) {
JvmtiExport::post_class_prepare(THREAD, this);
}
}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 4e8e7141e61..f6bef8262d3 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -708,7 +708,7 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
InstanceKlass* cur = _new_classes->at(i);
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
+ && cur->name()->index_of_at(0, "$$", (int) strlen("$$")) == -1) { // skip dynamic proxies
if (cur == vmClasses::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
--
2.23.0

View File

@@ -1,350 +0,0 @@
From 3eb64e8ed65ae214091b55e497d24dff0eb1e353 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 20 Jun 2021 19:11:16 +0200
Subject: [PATCH 33/39] Fix dcevm issues related to refactorization of Thread
to JavaThread
---
src/hotspot/share/cds/lambdaFormInvokers.cpp | 1 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 72 +++++++++----------
.../prims/jvmtiEnhancedRedefineClasses.hpp | 12 ++--
3 files changed, 39 insertions(+), 46 deletions(-)
diff --git a/src/hotspot/share/cds/lambdaFormInvokers.cpp b/src/hotspot/share/cds/lambdaFormInvokers.cpp
index 5c058dc43ac..9de28f740ac 100644
--- a/src/hotspot/share/cds/lambdaFormInvokers.cpp
+++ b/src/hotspot/share/cds/lambdaFormInvokers.cpp
@@ -178,6 +178,7 @@ void LambdaFormInvokers::reload_class(char* name, ClassFileStream& st, TRAPS) {
class_name,
cld,
cl_info,
+ false, // pick_newest
CHECK);
{
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index f6bef8262d3..b662976afcb 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -23,7 +23,6 @@
*/
#include "precompiled.hpp"
-#include "aot/aotLoader.hpp"
#include "classfile/classFileParser.hpp"
#include "classfile/classFileStream.hpp"
#include "classfile/classLoadInfo.hpp"
@@ -38,7 +37,7 @@
#include "interpreter/rewriter.hpp"
#include "logging/logStream.hpp"
#include "memory/metadataFactory.hpp"
-#include "memory/metaspaceShared.hpp"
+#include "cds/metaspaceShared.hpp"
#include "memory/resourceArea.hpp"
#include "memory/iterator.inline.hpp"
#include "oops/fieldStreams.hpp"
@@ -156,7 +155,7 @@ bool VM_EnhancedRedefineClasses::doit_prologue() {
// We first load new class versions in the prologue, because somewhere down the
// call chain it is required that the current thread is a Java thread.
- _res = load_new_class_versions(Thread::current());
+ _res = load_new_class_versions(JavaThread::current());
// prepare GC, lock heap
if (_res == JVMTI_ERROR_NONE && !VM_GC_Operation::doit_prologue()) {
@@ -250,7 +249,6 @@ void VM_EnhancedRedefineClasses::root_oops_do(OopClosure *oopClosure) {
Universe::vm_global()->oops_do(oopClosure);
Threads::oops_do(oopClosure, NULL);
- AOT_ONLY(AOTLoader::oops_do(oopClosure);)
OopStorageSet::strong_oops_do(oopClosure);
CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
@@ -520,7 +518,7 @@ void VM_EnhancedRedefineClasses::doit() {
// before the stack walk again.
for (int i = 0; i < _new_classes->length(); i++) {
- redefine_single_class(_new_classes->at(i), thread);
+ redefine_single_class(thread, _new_classes->at(i));
}
// Update possible redefinition of vm classes (like ClassLoader)
@@ -535,7 +533,7 @@ void VM_EnhancedRedefineClasses::doit() {
// 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(thread);
+ flush_dependent_code();
// }
// Adjust constantpool caches for all classes that reference methods of the evolved class.
@@ -692,7 +690,7 @@ void VM_EnhancedRedefineClasses::doit() {
assert(new_version->super() == NULL || new_version->super()->new_version() == NULL, "Super class must be newest version");
}
log_trace(redefine, class, obsolete, metadata)("calling check_class");
- ClassLoaderData::the_null_class_loader_data()->dictionary()->classes_do(check_class, thread);
+ ClassLoaderData::the_null_class_loader_data()->dictionary()->classes_do(check_class);
#ifdef PRODUCT
}
#endif
@@ -702,7 +700,7 @@ void VM_EnhancedRedefineClasses::doit() {
void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
if (!_new_classes->is_empty()) {
- ResourceMark rm(Thread::current());
+ ResourceMark rm(JavaThread::current());
for (int i = 0; i < _new_classes->length(); i++) {
InstanceKlass* cur = _new_classes->at(i);
@@ -712,7 +710,7 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
if (cur == vmClasses::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
- Universe::reinitialize_loader_addClass_method(Thread::current());
+ Universe::reinitialize_loader_addClass_method(JavaThread::current());
log_trace(redefine, class, obsolete, metadata)("Reinitialize ClassLoade addClass method cache.");
}
@@ -735,7 +733,7 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
cur,
signature,
vmSymbols::void_method_signature(),
- Thread::current());
+ JavaThread::current());
log_trace(redefine, class, obsolete, metadata)("Reregister natives of JDK class %s", cur->external_name());
}
}
@@ -793,7 +791,7 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
// Cannot redefine or retransform an anonymous class.
// TODO: check if is correct in j15
- if (InstanceKlass::cast(k)->is_unsafe_anonymous() || InstanceKlass::cast(k)->is_hidden()) {
+ if (InstanceKlass::cast(k)->is_hidden()) {
return false;
}
return true;
@@ -879,23 +877,15 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
InstanceKlass* k;
- if (the_class->is_unsafe_anonymous() || the_class->is_hidden()) {
+ if (the_class->is_hidden()) {
InstanceKlass* dynamic_host_class = NULL;
- InstanceKlass* unsafe_anonymous_host = NULL;
if (the_class->is_hidden()) {
log_debug(redefine, class, load)("loading hidden class %s", the_class->name()->as_C_string());
dynamic_host_class = the_class->nest_host(THREAD);
}
- if (the_class->is_unsafe_anonymous()) {
- log_debug(redefine, class, load)("loading usafe anonymous %s", the_class->name()->as_C_string());
- unsafe_anonymous_host = the_class->unsafe_anonymous_host();
- }
-
ClassLoadInfo cl_info(protection_domain,
- unsafe_anonymous_host,
- NULL, // cp_patches
dynamic_host_class, // dynamic_nest_host
Handle(), // classData
the_class->is_hidden(), // is_hidden
@@ -1143,7 +1133,7 @@ int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_
Array<Method*>* k_new_methods(new_class->methods());
int n_old_methods = k_old_methods->length();
int n_new_methods = k_new_methods->length();
- Thread* thread = Thread::current();
+ JavaThread* thread = JavaThread::current();
int ni = 0;
int oi = 0;
@@ -1491,8 +1481,8 @@ void VM_EnhancedRedefineClasses::rollback() {
// Rewrite faster byte-codes back to their slower equivalent. Undoes rewriting happening in templateTable_xxx.cpp
// The reason is that once we zero cpool caches, we need to re-resolve all entries again. Faster bytecodes do not
// do that, they assume that cache entry is resolved already.
-void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method, TRAPS) {
- RawBytecodeStream bcs(methodHandle(THREAD, method));
+void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
+ RawBytecodeStream bcs(methodHandle(Thread::current(), method));
Bytecodes::Code code;
Bytecodes::Code java_code;
while (!bcs.is_last_bytecode()) {
@@ -1535,10 +1525,10 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method, TRAPS) {
assert(code2 == Bytecodes::_fast_igetfield ||
code2 == Bytecodes::_fast_agetfield ||
code2 == Bytecodes::_fast_fgetfield, "");
- *(bcp + 1) = Bytecodes::java_code(code2);
- }
+ *(bcp + 1) = Bytecodes::java_code(code2);
}
}
+}
// Unevolving classes may point to old methods directly
// from their constant pool caches, itables, and/or vtables. We
@@ -1559,9 +1549,11 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
constantPoolHandle other_cp = constantPoolHandle(_thread, ik->constants());
// Update host klass of anonymous classes (for example, produced by lambdas) to newest version.
+ /*
if (ik->is_unsafe_anonymous() && ik->unsafe_anonymous_host()->new_version() != NULL) {
ik->set_unsafe_anonymous_host(InstanceKlass::cast(ik->unsafe_anonymous_host()->newest_version()));
}
+ */
// FIXME: check new nest_host for hidden
@@ -1596,7 +1588,7 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
// If bytecode rewriting is enabled, we also need to unpatch bytecode to force resolution of zeroed entries
if (RewriteBytecodes) {
- ik->methods_do(unpatch_bytecode, _thread);
+ ik->methods_do(unpatch_bytecode);
}
}
@@ -1628,7 +1620,7 @@ void VM_EnhancedRedefineClasses::MethodDataCleaner::do_klass(Klass* k) {
}
-void VM_EnhancedRedefineClasses::update_jmethod_ids(TRAPS) {
+void VM_EnhancedRedefineClasses::update_jmethod_ids(Thread* current) {
for (int j = 0; j < _matching_methods_length; ++j) {
Method* old_method = _matching_old_methods[j];
jmethodID jmid = old_method->find_jmethod_id_or_null();
@@ -1639,10 +1631,10 @@ void VM_EnhancedRedefineClasses::update_jmethod_ids(TRAPS) {
if (jmid != NULL) {
// There is a jmethodID, change it to point to the new method
- methodHandle new_method_h(THREAD, _matching_new_methods[j]);
+ methodHandle new_method_h(current, _matching_new_methods[j]);
if (old_method->new_version() == NULL) {
- methodHandle old_method_h(THREAD, _matching_old_methods[j]);
+ methodHandle old_method_h(current, _matching_old_methods[j]);
jmethodID new_jmethod_id = Method::make_jmethod_id(old_method_h->method_holder()->class_loader_data(), old_method_h());
bool result = InstanceKlass::cast(old_method_h->method_holder())->update_jmethod_id(old_method_h(), new_jmethod_id);
} else {
@@ -1864,7 +1856,7 @@ void VM_EnhancedRedefineClasses::mark_dependent_code(InstanceKlass* ik) {
// subsequent calls to RedefineClasses need only throw away code
// that depends on the class.
//
-void VM_EnhancedRedefineClasses::flush_dependent_code(TRAPS) {
+void VM_EnhancedRedefineClasses::flush_dependent_code() {
assert_locked_or_safepoint(Compile_lock);
// All dependencies have been recorded from startup or this is a second or
@@ -1959,9 +1951,9 @@ void VM_EnhancedRedefineClasses::compute_added_deleted_matching_methods() {
// a helper method to be specified. The interesting parameters
// that we would like to pass to the helper method are saved in
// static global fields in the VM operation.
-void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_oop, TRAPS) {
+void VM_EnhancedRedefineClasses::redefine_single_class(Thread* current, InstanceKlass* new_class_oop) {
- HandleMark hm(THREAD); // make sure handles from this call are freed
+ HandleMark hm(current); // make sure handles from this call are freed
InstanceKlass* new_class = new_class_oop;
InstanceKlass* the_class = InstanceKlass::cast(new_class_oop->old_version());
@@ -1980,7 +1972,7 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
// track number of methods that are EMCP for add_previous_version() call below
check_methods_and_mark_as_obsolete();
- update_jmethod_ids(THREAD);
+ update_jmethod_ids(current);
_any_class_has_resolved_methods = the_class->has_resolved_methods() || _any_class_has_resolved_methods;
@@ -2002,14 +1994,14 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
*/
{
- ResourceMark rm(THREAD);
+ ResourceMark rm(current);
// increment the classRedefinedCount field in the_class and in any
// direct and indirect subclasses of the_class
- increment_class_counter(new_class, THREAD);
+ increment_class_counter(current, new_class);
log_info(redefine, class, load)
("redefined name=%s, count=%d (avail_mem=" UINT64_FORMAT "K)",
new_class->external_name(), java_lang_Class::classRedefinedCount(new_class->java_mirror()), os::available_memory() >> 10);
- Events::log_redefinition(THREAD, "redefined class name=%s, count=%d",
+ Events::log_redefinition(current, "redefined class name=%s, count=%d",
new_class->external_name(),
java_lang_Class::classRedefinedCount(new_class->java_mirror()));
}
@@ -2018,21 +2010,21 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
// Increment the classRedefinedCount field in the specific InstanceKlass
// and in all direct and indirect subclasses.
-void VM_EnhancedRedefineClasses::increment_class_counter(InstanceKlass *ik, TRAPS) {
+void VM_EnhancedRedefineClasses::increment_class_counter(Thread* current, InstanceKlass *ik) {
oop class_mirror = ik->old_version()->java_mirror();
Klass* class_oop = java_lang_Class::as_Klass(class_mirror);
int new_count = java_lang_Class::classRedefinedCount(class_mirror) + 1;
java_lang_Class::set_classRedefinedCount(ik->java_mirror(), new_count);
}
-void VM_EnhancedRedefineClasses::check_class(InstanceKlass* ik, TRAPS) {
+void VM_EnhancedRedefineClasses::check_class(InstanceKlass* ik) {
if (ik->is_instance_klass() && ik->old_version() != NULL) {
- HandleMark hm(THREAD);
+ HandleMark hm(Thread::current());
assert(ik->new_version() == NULL, "must be latest version in system dictionary");
if (ik->vtable_length() > 0) {
- ResourceMark rm(THREAD);
+ ResourceMark rm(Thread::current());
assert(ik->vtable().check_no_old_or_obsolete_entries(), "old method found");
ik->vtable().verify(tty, true);
}
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 673688dff84..378e6f78582 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -122,7 +122,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
static void mark_as_scavengable(nmethod* nm);
static void unregister_nmethod_g1(nmethod* nm);
static void register_nmethod_g1(nmethod* nm);
- static void unpatch_bytecode(Method* method, TRAPS);
+ static void unpatch_bytecode(Method* method);
void root_oops_do(OopClosure *oopClosure);
@@ -131,28 +131,28 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void compute_added_deleted_matching_methods();
// Change jmethodIDs to point to the new methods
- void update_jmethod_ids(TRAPS);
+ void update_jmethod_ids(Thread* current);
// marking methods as old and/or obsolete
void check_methods_and_mark_as_obsolete();
void transfer_old_native_function_registrations(InstanceKlass* the_class);
// Install the redefinition of a class
- void redefine_single_class(InstanceKlass* new_class_oop, TRAPS);
+ void redefine_single_class(Thread* current, InstanceKlass* new_class_oop);
// Increment the classRedefinedCount field in the specific InstanceKlass
// and in all direct and indirect subclasses.
- void increment_class_counter(InstanceKlass *ik, TRAPS);
+ void increment_class_counter(Thread* current, InstanceKlass *ik);
void mark_dependent_code(InstanceKlass* ik);
- void flush_dependent_code(TRAPS);
+ void flush_dependent_code();
u8 next_id();
void reinitializeJDKClasses();
- static void check_class(InstanceKlass* k_oop, TRAPS);
+ static void check_class(InstanceKlass* k_oop);
static void dump_methods();
--
2.23.0

View File

@@ -1,142 +0,0 @@
From db2d7cd0cd956f297c58baa7500c1440092648bf Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 20 Jun 2021 19:42:51 +0200
Subject: [PATCH 34/39] Fix init_method_MemberName after Thread to JavaThread
refactorization
---
src/hotspot/share/interpreter/linkResolver.cpp | 14 ++++++++++----
src/hotspot/share/interpreter/linkResolver.hpp | 3 ++-
src/hotspot/share/oops/instanceKlass.cpp | 15 ---------------
src/hotspot/share/oops/instanceKlass.hpp | 1 -
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 11 +++++++++--
5 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index 74a6af13ea4..78c9624a18b 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -131,14 +131,14 @@ void CallInfo::set_common(Klass* resolved_klass,
}
// utility query for unreflecting a method
-CallInfo::CallInfo(Method* resolved_method, Klass* resolved_klass, TRAPS) {
+CallInfo::CallInfo(Method* resolved_method, Klass* resolved_klass, Thread* thread) {
Klass* resolved_method_holder = resolved_method->method_holder();
if (resolved_klass == NULL) { // 2nd argument defaults to holder of 1st
resolved_klass = resolved_method_holder;
}
_resolved_klass = resolved_klass;
- _resolved_method = methodHandle(THREAD, resolved_method);
- _selected_method = methodHandle(THREAD, resolved_method);
+ _resolved_method = methodHandle(thread, resolved_method);
+ _selected_method = methodHandle(thread, resolved_method);
// classify:
CallKind kind = CallInfo::unknown_kind;
int index = resolved_method->vtable_index();
@@ -179,7 +179,9 @@ CallInfo::CallInfo(Method* resolved_method, Klass* resolved_klass, TRAPS) {
_call_index = index;
_resolved_appendix = Handle();
// Find or create a ResolvedMethod instance for this Method*
- set_resolved_method_name(CHECK);
+ if (thread->is_Java_thread()) { // exclude DCEVM VM thread
+ set_resolved_method_name(thread->as_Java_thread());
+ }
DEBUG_ONLY(verify());
}
@@ -190,6 +192,10 @@ void CallInfo::set_resolved_method_name(TRAPS) {
_resolved_method_name = Handle(THREAD, rmethod_name);
}
+void CallInfo::set_resolved_method_name_dcevm(oop rmethod_name, Thread* thread) {
+ _resolved_method_name = Handle(thread, rmethod_name);
+}
+
#ifdef ASSERT
void CallInfo::verify() {
switch (call_kind()) { // the meaning and allowed value of index depends on kind
diff --git a/src/hotspot/share/interpreter/linkResolver.hpp b/src/hotspot/share/interpreter/linkResolver.hpp
index 9eeb10cc6fd..871eaab7464 100644
--- a/src/hotspot/share/interpreter/linkResolver.hpp
+++ b/src/hotspot/share/interpreter/linkResolver.hpp
@@ -91,7 +91,7 @@ class CallInfo : public StackObj {
// utility to extract an effective CallInfo from a method and an optional receiver limit
// does not queue the method for compilation. This also creates a ResolvedMethodName
// object for the resolved_method.
- CallInfo(Method* resolved_method, Klass* resolved_klass, TRAPS);
+ CallInfo(Method* resolved_method, Klass* resolved_klass, Thread* thread);
Klass* resolved_klass() const { return _resolved_klass; }
Method* resolved_method() const { return _resolved_method(); }
@@ -100,6 +100,7 @@ class CallInfo : public StackObj {
Handle resolved_method_name() const { return _resolved_method_name; }
// Materialize a java.lang.invoke.ResolvedMethodName for this resolved_method
void set_resolved_method_name(TRAPS);
+ void set_resolved_method_name_dcevm(oop rmethod_name, Thread* thread);
BasicType result_type() const { return selected_method()->result_type(); }
CallKind call_kind() const { return _call_kind; }
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c54b6b1bf46..8d259451032 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -1643,21 +1643,6 @@ void InstanceKlass::methods_do(void f(Method* method)) {
}
}
-void InstanceKlass::methods_do(void f(Method* method, TRAPS), TRAPS) {
- // Methods aren't stable until they are loaded. This can be read outside
- // a lock through the ClassLoaderData for profiling
- if (!is_loaded()) {
- return;
- }
-
- int len = methods()->length();
- for (int index = 0; index < len; index++) {
- Method* m = methods()->at(index);
- assert(m->is_method(), "must be method");
- f(m, CHECK);
- }
-}
-
// (DCEVM) Update information contains mapping of fields from old class to the new class.
// Info is stored on HEAP, you need to call clear_update_information to free the space.
void InstanceKlass::store_update_information(GrowableArray<int> &values) {
diff --git a/src/hotspot/share/oops/instanceKlass.hpp b/src/hotspot/share/oops/instanceKlass.hpp
index 317a006a4ec..36587031fec 100644
--- a/src/hotspot/share/oops/instanceKlass.hpp
+++ b/src/hotspot/share/oops/instanceKlass.hpp
@@ -1017,7 +1017,6 @@ public:
void clear_update_information();
void methods_do(void f(Method* method));
- void methods_do(void f(Method* method, TRAPS), TRAPS);
void array_klasses_do(void f(Klass* k));
void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index b662976afcb..ff012383872 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -292,8 +292,15 @@ class ChangePointersOopClosure : public BasicOopIterateClosure {
// Note: we might set NULL at this point, which should force AbstractMethodError at runtime
Thread *thread = Thread::current();
CallInfo info(new_method, newest, thread);
- Handle objHandle(thread, obj);
- MethodHandles::init_method_MemberName(objHandle, info);
+ oop resolved_method = ResolvedMethodTable::find_method(info.resolved_method());
+ if (resolved_method != NULL) {
+ info.set_resolved_method_name_dcevm(resolved_method, thread);
+ Handle objHandle(thread, obj);
+ MethodHandles::init_method_MemberName(objHandle, info);
+ } else {
+ assert(0, "Must be resolved");
+ java_lang_invoke_MemberName::set_method(obj, NULL);
+ }
} else {
java_lang_invoke_MemberName::set_method(obj, NULL);
}
--
2.23.0

View File

@@ -1,25 +0,0 @@
From bfbbae66340a223328542722b299f67c21166c52 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 21 Jun 2021 20:44:17 +0200
Subject: [PATCH 35/39] Fix "implicit conversion of NULL constant to 'bool'"
---
src/hotspot/share/prims/jvmtiRedefineClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
index 87b3b5f47ce..6915a09cf85 100644
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
@@ -1390,7 +1390,7 @@ jvmtiError VM_RedefineClasses::load_new_class_versions() {
the_class->name(),
the_class->class_loader_data(),
cl_info,
- NULL,
+ false,
THREAD);
// Clear class_being_redefined just to be sure.
--
2.23.0

View File

@@ -1,35 +0,0 @@
From 5bb6ef0fc266a748232c7c51191deab47d4f3857 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 30 Jun 2021 18:30:00 +0200
Subject: [PATCH 36/39] Fix, pass SystemDictionary::resolve_from_stream cl_info
param
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index ff012383872..cbcb484a290 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -920,10 +920,16 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
}
} else {
+ ClassLoadInfo cl_info(protection_domain,
+ NULL, // dynamic_nest_host
+ Handle(), // classData
+ false, // is_hidden
+ !the_class->is_non_strong_hidden(), // is_strong_hidden
+ true); // FIXME: check if correct. can_access_vm_annotations
k = SystemDictionary::resolve_from_stream(&st,
the_class_sym,
the_class_loader,
- protection_domain,
+ cl_info,
the_class,
THREAD);
}
--
2.23.0

View File

@@ -1,113 +0,0 @@
From 563e06d1c56cfc3f4e93e3975cd6c2dab8183c98 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 30 Jun 2021 18:50:38 +0200
Subject: [PATCH 37/39] Search for affected classes in all initialized classes
in cld
Fix also case when lambda interface is redefined. Lambda class is
missing in cld dictionary since it is hidden since j17
---
src/hotspot/share/classfile/classLoaderData.cpp | 10 ++++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 1 +
.../share/classfile/classLoaderDataGraph.cpp | 11 ++++-------
.../share/classfile/classLoaderDataGraph.hpp | 2 +-
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 13 ++++---------
5 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 65ce4c4af8c..1c51e83e86e 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -337,6 +337,16 @@ void ClassLoaderData::classes_do(KlassClosure* klass_closure) {
}
}
+void ClassLoaderData::initialized_classes_do(KlassClosure* klass_closure) {
+ // Lock-free access requires load_acquire
+ for (Klass* k = Atomic::load_acquire(&_klasses); k != NULL; k = k->next_link()) {
+ if (k->is_instance_klass() && InstanceKlass::cast(k)->is_initialized()) {
+ klass_closure->do_klass(k);
+ }
+ assert(k != k->next_link(), "no loops!");
+ }
+}
+
void ClassLoaderData::classes_do(void f(Klass * const)) {
// Lock-free access requires load_acquire
for (Klass* k = Atomic::load_acquire(&_klasses); k != NULL; k = k->next_link()) {
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index bda39f3e353..28fc9060e03 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -272,6 +272,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
void oops_do(OopClosure* f, int claim_value, bool clear_modified_oops = false);
void classes_do(KlassClosure* klass_closure);
+ void initialized_classes_do(KlassClosure* klass_closure);
Klass* klasses() { return _klasses; }
JNIMethodBlock* jmethod_ids() const { return _jmethod_ids; }
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.cpp b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
index aa2a6bcec6b..f2394f72dbd 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp
@@ -361,13 +361,10 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
-void ClassLoaderDataGraph::anonymous_or_hidden_classes_do(KlassClosure* klass_closure) {
- Thread* thread = Thread::current();
- for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
- if (cld->has_class_mirror_holder()) {
- Handle holder(thread, cld->holder_phantom());
- cld->classes_do(klass_closure);
- }
+void ClassLoaderDataGraph::initialized_classes_do(KlassClosure* klass_closure) {
+ ClassLoaderDataGraphIterator iter;
+ while (ClassLoaderData* cld = iter.get_next()) {
+ cld->initialized_classes_do(klass_closure);
}
}
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.hpp b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
index da712eaf55f..ff391ec74fc 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
@@ -80,7 +80,7 @@ class ClassLoaderDataGraph : public AllStatic {
static void classes_do(KlassClosure* klass_closure);
// Enhanced class redefinition
- static void anonymous_or_hidden_classes_do(KlassClosure* klass_closure);
+ static void initialized_classes_do(KlassClosure* klass_closure);
static void classes_do(void f(Klass* const));
static void methods_do(void f(Method*));
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index cbcb484a290..43899ea3d48 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2170,17 +2170,12 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
{
MutexLocker mcld(ClassLoaderDataGraph_lock);
- // 0. we can't use ClassLoaderDataGraph::classes_do since classes can be uninitialized in cld,
- // fully initialized class is in system dictionary
+ // We can't use ClassLoaderDataGraph::classes_do since classes can be uninitialized in cld,
+ // fully initialized class is in system dictionary, but hidden classes are excluded. Therefore
+ // we use special method iterating over initialized classes only
// ClassLoaderDataGraph::classes_do(&closure);
- // 1. Scan over dictionaries
- ClassLoaderDataGraph::dictionary_classes_do(&closure);
-
- // 2. Anonymous or hidden 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_or_hidden_classes_do(&closure);
+ ClassLoaderDataGraph::initialized_classes_do(&closure);
}
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -1,27 +0,0 @@
From acad06204bc4f7e7a89e9a44ded6b9d27082327b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 30 Jun 2021 18:58:47 +0200
Subject: [PATCH 38/39] Fix compilation issue
---
src/hotspot/share/interpreter/linkResolver.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index 78c9624a18b..28dccd0face 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -562,8 +562,8 @@ void LinkResolver::check_method_accessability(Klass* ref_klass,
// We'll check for the method name first, as that's most likely
// to be false (so we'll short-circuit out of these tests).
if (sel_method->name() == vmSymbols::clone_name() &&
- ( !AllowEnhancedClassRedefinition && sel_klass == vmClasses::Object_klass() ||
- AllowEnhancedClassRedefinition && sel_klass->newest_version() == vmClasses::Object_klass()->newest_version()) &&
+ ( (!AllowEnhancedClassRedefinition && sel_klass == vmClasses::Object_klass()) ||
+ (AllowEnhancedClassRedefinition && sel_klass->newest_version() == vmClasses::Object_klass()->newest_version()) ) &&
resolved_klass->is_array_klass()) {
// We need to change "protected" to "public".
assert(flags.is_protected(), "clone not protected?");
--
2.23.0

View File

@@ -1,171 +0,0 @@
From 563465b112da14e8b81ef32eefc06c79015a809b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 27 Jul 2021 21:32:51 +0200
Subject: [PATCH 39/39] Remove duplicated lambdaFormInvokers.cpp
---
.../share/classfile/lambdaFormInvokers.cpp | 152 ------------------
1 file changed, 152 deletions(-)
delete mode 100644 src/hotspot/share/classfile/lambdaFormInvokers.cpp
diff --git a/src/hotspot/share/classfile/lambdaFormInvokers.cpp b/src/hotspot/share/classfile/lambdaFormInvokers.cpp
deleted file mode 100644
index 281de58b482..00000000000
--- a/src/hotspot/share/classfile/lambdaFormInvokers.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#include "precompiled.hpp"
-#include "classfile/classLoadInfo.hpp"
-#include "classfile/classFileStream.hpp"
-#include "classfile/javaClasses.inline.hpp"
-#include "classfile/klassFactory.hpp"
-#include "classfile/lambdaFormInvokers.hpp"
-#include "classfile/symbolTable.hpp"
-#include "classfile/systemDictionary.hpp"
-#include "classfile/systemDictionaryShared.hpp"
-#include "classfile/vmClasses.hpp"
-#include "classfile/vmSymbols.hpp"
-#include "logging/log.hpp"
-#include "memory/oopFactory.hpp"
-#include "memory/metaspaceShared.hpp"
-#include "memory/resourceArea.hpp"
-#include "oops/instanceKlass.hpp"
-#include "oops/klass.hpp"
-#include "oops/objArrayKlass.hpp"
-#include "oops/objArrayOop.hpp"
-#include "oops/oop.inline.hpp"
-#include "oops/typeArrayOop.inline.hpp"
-#include "runtime/handles.inline.hpp"
-#include "runtime/javaCalls.hpp"
-
-GrowableArray<char*>* LambdaFormInvokers::_lambdaform_lines = NULL;
-
-void LambdaFormInvokers::append(char* line) {
- if (_lambdaform_lines == NULL) {
- _lambdaform_lines = new GrowableArray<char*>(100);
- }
- _lambdaform_lines->append(line);
-}
-
-void LambdaFormInvokers::regenerate_holder_classes(TRAPS) {
- assert(_lambdaform_lines != NULL, "Bad List");
- ResourceMark rm(THREAD);
-
- Symbol* cds_name = vmSymbols::jdk_internal_misc_CDS();
- Klass* cds_klass = SystemDictionary::resolve_or_null(cds_name, THREAD);
- guarantee(cds_klass != NULL, "jdk/internal/misc/CDS must exist!");
-
- int len = _lambdaform_lines->length();
- objArrayHandle list_lines = oopFactory::new_objArray_handle(vmClasses::String_klass(), len, CHECK);
- for (int i = 0; i < len; i++) {
- Handle h_line = java_lang_String::create_from_str(_lambdaform_lines->at(i), CHECK);
- list_lines->obj_at_put(i, h_line());
- }
-
- //
- // Object[] CDS.generateLambdaFormHolderClasses(String[] lines)
- // the returned Object[] layout:
- // name, byte[], name, byte[] ....
- Symbol* method = vmSymbols::generateLambdaFormHolderClasses();
- Symbol* signrs = vmSymbols::generateLambdaFormHolderClasses_signature();
-
- JavaValue result(T_OBJECT);
- JavaCalls::call_static(&result, cds_klass, method, signrs, list_lines, THREAD);
-
- if (HAS_PENDING_EXCEPTION) {
- log_info(cds)("%s: %s", THREAD->pending_exception()->klass()->external_name(),
- java_lang_String::as_utf8_string(java_lang_Throwable::message(THREAD->pending_exception())));
- CLEAR_PENDING_EXCEPTION;
- return;
- }
-
- objArrayHandle h_array(THREAD, (objArrayOop)result.get_oop());
- int sz = h_array->length();
- assert(sz % 2 == 0 && sz >= 2, "Must be even size of length");
- for (int i = 0; i < sz; i+= 2) {
- Handle h_name(THREAD, h_array->obj_at(i));
- typeArrayHandle h_bytes(THREAD, (typeArrayOop)h_array->obj_at(i+1));
- assert(h_name != NULL, "Class name is NULL");
- assert(h_bytes != NULL, "Class bytes is NULL");
-
- char *class_name = java_lang_String::as_utf8_string(h_name());
- int len = h_bytes->length();
- // make a copy of class bytes so GC will not affect us.
- char *buf = resource_allocate_bytes(THREAD, len);
- memcpy(buf, (char*)h_bytes->byte_at_addr(0), len);
- ClassFileStream st((u1*)buf, len, NULL, ClassFileStream::verify);
-
- reload_class(class_name, st, THREAD);
- // free buf
- resource_free_bytes(buf, len);
-
- if (HAS_PENDING_EXCEPTION) {
- log_info(cds)("Exception happened: %s", PENDING_EXCEPTION->klass()->name()->as_C_string());
- log_info(cds)("Could not create InstanceKlass for class %s", class_name);
- CLEAR_PENDING_EXCEPTION;
- return;
- }
- }
-}
-
-// class_handle - the class name, bytes_handle - the class bytes
-void LambdaFormInvokers::reload_class(char* name, ClassFileStream& st, TRAPS) {
- Symbol* class_name = SymbolTable::new_symbol((const char*)name);
- // the class must exist
- Klass* klass = SystemDictionary::resolve_or_null(class_name, THREAD);
- if (klass == NULL) {
- log_info(cds)("Class %s not present, skip", name);
- return;
- }
- assert(klass->is_instance_klass(), "Should be");
-
- ClassLoaderData* cld = ClassLoaderData::the_null_class_loader_data();
- Handle protection_domain;
- ClassLoadInfo cl_info(protection_domain);
-
- InstanceKlass* result = KlassFactory::create_from_stream(&st,
- class_name,
- cld,
- cl_info,
- false,
- CHECK);
-
- {
- MutexLocker mu_r(THREAD, Compile_lock); // add_to_hierarchy asserts this.
- SystemDictionary::add_to_hierarchy(result);
- }
- // new class not linked yet.
- MetaspaceShared::try_link_class(THREAD, result);
- assert(!HAS_PENDING_EXCEPTION, "Invariant");
-
- // exclude the existing class from dump
- SystemDictionaryShared::set_excluded(InstanceKlass::cast(klass));
- log_info(cds, lambda)("Replaced class %s, old: %p new: %p", name, klass, result);
-}
--
2.23.0

View File

@@ -0,0 +1,162 @@
#!/bin/bash
set -euo pipefail
TC_PRINT=0
# Always print TeamCity service messages if running under TeamCity
[[ -n "${TEAMCITY_VERSION:-}" ]] && TC_PRINT=1
while getopts ":t" o; do
case "${o}" in
t) TC_PRINT=1 ;;
*);;
esac
done
shift $((OPTIND-1))
NEWFILEPATH="$1"
CONFIGID="$2"
BUILDID="$3"
TOKEN="$4"
if [ ! -f "$NEWFILEPATH" ]; then
echo "File not found: $NEWFILEPATH"
exit 1
fi
#
# 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 "$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, linux-musl-x64, 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]}
else
echo "File name $FILENAME does not match regex $re"
exit 1
fi
function test_started_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testStarted name='$1']"
fi
}
function test_failed_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFailed name='$1' message='$2']"
fi
}
function test_finished_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFinished name='$1']"
fi
}
test_name="${BUNDLE_TYPE}_${OS_ARCH_PATTERN//\-/_}${FILE_EXTENSION//\./_}"
test_started_msg "$test_name"
echo "BUNDLE_TYPE: $BUNDLE_TYPE"
echo "OS_ARCH_PATTERN: $OS_ARCH_PATTERN"
echo "FILE_EXTENSION: $FILE_EXTENSION"
echo "Size of $FILENAME is $NEWFILESIZE bytes"
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl -sSL --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 "Previous build ID: $ID"
echo "Previous build number: ${BASH_REMATCH[2]}"
else
msg="ERROR: cannot find previous build"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Artifacts of the previous build:"
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
prevFileName=${BASH_REMATCH[1]}
echo "Previous artifact name: $prevFileName"
prevFileSize=${BASH_REMATCH[2]}
echo "Previous artifact size: $prevFileSize"
((allowedSize=prevFileSize+prevFileSize/20)) # use 5% threshold
echo "Allowed size: $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significantly greater than previous size (need to investigate)"
echo "$msg"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
else
echo "PASSED"
test_finished_msg "$test_name"
fi
else
msg="ERROR: cannot find string with size in xml response:"
echo "Regex: $re"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi

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