Compare commits

..

1120 Commits

Author SHA1 Message Date
Vitaly Provodin
aa83597270 update exclude list on results of 17.0.12_b1000.54 test runs 2024-09-02 01:33:40 +04:00
Vitaly Provodin
d3255c3138 update exclude list on results of 17.0.12_b1336 (17.0.12) test runs 2024-08-31 10:43:58 +04:00
Andrew Lu
ac4bbbb2ad 8305942: Open source several AWT Focus related tests
Backport-of: 8346ae2bc1
2024-08-31 10:40:20 +04:00
Andrew Lu
1fa89929ab 8305943: Open source few AWT Focus related tests
Backport-of: 64ed816ad9
2024-08-31 10:39:57 +04:00
Goetz Lindenmaier
dec1dc8af4 8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow
Backport-of: 84e47996e8
2024-08-31 10:39:57 +04:00
Goetz Lindenmaier
00c64d97bc 8163229: several regression tests have a main method that is never executed
Backport-of: 382fe51b6d
2024-08-31 10:39:56 +04:00
Goetz Lindenmaier
1623583f9a 8296610: java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java failed with "BindException: Address already in use: connect"
Backport-of: 0dce5b811d
2024-08-31 10:39:56 +04:00
Goetz Lindenmaier
7a373a2006 8297645: Drop the test/jdk/java/net/httpclient/reactivestreams-tck-tests/TckDriver.java test
Backport-of: 6d0fbb2c49
2024-08-31 10:39:56 +04:00
Goetz Lindenmaier
b569788aee 8296137: diags-examples.xml is broken
Backport-of: f8b2574ebc
2024-08-31 10:39:55 +04:00
Goetz Lindenmaier
a2808d5401 8163921: HttpURLConnection default Accept header is malformed according to HTTP/1.1 RFC
Backport-of: 28796cbd1d
2024-08-31 10:39:55 +04:00
Matthias Baesken
9e9aff434a 8328165: improve assert(idx < _maxlrg) failed: oob
Backport-of: d57bdd85ab
2024-08-31 10:39:55 +04:00
Suchismith Roy
9c852f5b63 8320005: Allow loading of shared objects with .a extension on AIX
Backport-of: e85355ada4
2024-08-31 10:39:55 +04:00
Andrew Lu
c1a1559c84 8328812: Update and move siphash license
Backport-of: ce7ebaa606
2024-08-31 10:39:54 +04:00
Goetz Lindenmaier
82a54f7574 8276227: ciReplay: SIGSEGV if classfile for replay compilation is not present after JDK-8275868
Reviewed-by: mdoerr
Backport-of: a1f4c428ba
2024-08-31 10:39:54 +04:00
Andrew John Hughes
4e583573c5 8286045: Use ForceGC for cleaner test cases
Reviewed-by: mbaesken, yan
Backport-of: 7eb15593e1
2024-08-31 10:39:53 +04:00
Goetz Lindenmaier
ec4249e6a6 8275868: ciReplay: Inlining fails with "unloaded signature classes" due to wrong protection domains
Reviewed-by: mdoerr
Backport-of: 5bb1992b84
2024-08-31 10:39:53 +04:00
Elif Aslan
a04030da4a 8327998: Enable java/lang/ProcessBuilder/JspawnhelperProtocol.java on Mac
Backport-of: cc1800fa4d
2024-08-31 10:39:53 +04:00
Goetz Lindenmaier
e013888f79 8213714: AttachingConnector/attach/attach001 failed due to "bind failed: Address already in use"
Backport-of: b62e742045
2024-08-31 10:39:52 +04:00
Goetz Lindenmaier
da7512f14e 8295944: Move the Http2TestServer and related classes into a package of its own
Reviewed-by: lucy
Backport-of: 8a47429dc0
2024-08-31 10:39:52 +04:00
Andrew Lu
30079db5b4 8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS
Backport-of: 1f43fa0f8b
2024-08-31 10:39:52 +04:00
Andrew Lu
245112185c 8323994: gtest runner repeats test name for every single gtest assertion
Backport-of: 1aae980c54
2024-08-31 10:39:51 +04:00
Goetz Lindenmaier
a289e7fab2 8280056: gtest/LargePageGtests.java#use-large-pages failed "os.release_one_mapping_multi_commits_vm"
Backport-of: 66520be7a7
2024-08-31 10:39:51 +04:00
Aleksey Shipilev
8a0450fcf1 8328825: Google CAInterop test failures
Backport-of: 70a15c7363
2024-08-31 10:39:51 +04:00
Aleksey Shipilev
e442be5147 8328948: GHA: Restoring sysroot from cache skips the build after JDK-8326960
Backport-of: 447436e18c
2024-08-31 10:39:50 +04:00
Aleksey Shipilev
a01f22fcf7 8328705: GHA: Cross-compilation jobs do not require build JDK
Backport-of: 29ba4b7d1e
2024-08-31 10:39:50 +04:00
Goetz Lindenmaier
71801aa6db 8280546: Remove hard-coded 127.0.0.1 loopback address
Backport-of: b5de2cc9d3
2024-08-31 10:39:50 +04:00
Goetz Lindenmaier
3ed1ace4cc 8260540: serviceability/jdwp/AllModulesCommandTest.java failed with "Debuggee error: 'ERROR: transport error 202: bind failed: Address already in use'"
Reviewed-by: lucy
Backport-of: 7a23c9cbb7
2024-08-31 10:39:50 +04:00
Aleksey Shipilev
006dbad8c0 8326960: GHA: RISC-V sysroot cannot be debootstrapped due to ongoing Debian t64 transition
Backport-of: f207aa94f9
2024-08-31 10:39:49 +04:00
Matthias Baesken
b2f6e8bea7 8327059: os::Linux::print_proc_sys_info add swappiness information
Backport-of: f3b15abcb7
2024-08-31 10:39:49 +04:00
Andrew Lu
19839851ba 8312383: Log X509ExtendedKeyManager implementation class name in TLS/SSL connection
Backport-of: bdd1aebea3
2024-08-31 10:39:49 +04:00
Andrew Lu
4eb8ef5904 8315663: Open source misc awt tests
Backport-of: a36f5a54ab
2024-08-31 10:39:48 +04:00
Goetz Lindenmaier
a8b73d79c3 8314832: Few runtime/os tests ignore vm flags
Backport-of: fc3e826692
2024-08-31 10:39:48 +04:00
Goetz Lindenmaier
b2c24ad7da 8324632: Update Zlib Data Compression Library to Version 1.3.1
8315117: Update Zlib Data Compression Library to Version 1.3
8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1

Reviewed-by: mbaesken
Backport-of: 6d8d049e4a
2024-08-31 10:39:48 +04:00
Goetz Lindenmaier
50cd41deec 8305169: java/security/cert/CertPathValidator/OCSP/GetAndPostTests.java -- test server didn't start in timely manner
Backport-of: 3f6a3545a2
2024-08-31 10:39:47 +04:00
Goetz Lindenmaier
651a60467e 8297449: Update JInternalFrame Metal Border code
Backport-of: 09629570f5
2024-08-31 10:39:47 +04:00
William Kemper
b55b6e69a0 8322503: Shenandoah: Clarify gc state usage
Reviewed-by: shade
Backport-of: 51238c4bdb
2024-08-31 10:39:47 +04:00
Christoph Langer
87d77e78a4 8313307: java/util/Formatter/Padding.java fails on some Locales
Backport-of: bd634d2ec7
2024-08-31 10:39:46 +04:00
Goetz Lindenmaier
fe52a7db13 8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap
Backport-of: eebcc2181f
2024-08-31 10:39:46 +04:00
Goetz Lindenmaier
923a81a311 8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap
Reviewed-by: lucy, shade
Backport-of: dde519dc21
2024-08-31 10:39:45 +04:00
Dan Lutker
96c2b4b771 8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi
Backport-of: 5d414da504
2024-08-31 10:39:45 +04:00
Goetz Lindenmaier
c38aaee0ff 8322920: Some ProcessTools.execute* functions are declared to throw Throwable
Backport-of: 868f8745fa
2024-08-31 10:39:45 +04:00
Goetz Lindenmaier
c30ffc930d 8312320: Remove javax/rmi/ssl/SSLSocketParametersTest.sh from ProblemList
Backport-of: 8d29329138
2024-08-31 10:39:44 +04:00
Goetz Lindenmaier
1105c10970 8015739: Background of JInternalFrame is located out of JInternalFrame
Backport-of: f857f795a9
2024-08-31 10:39:44 +04:00
Martin Doerr
5914413e43 8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space
Backport-of: e3ae81eeeee8e2b0063a576a90624dd927b512f0
2024-08-31 10:39:44 +04:00
Martin Doerr
855db9ea9a 8325326: [PPC64] Don't relocate in case of allocation failure
Backport-of: 4388095cde
2024-08-31 10:39:43 +04:00
Goetz Lindenmaier
bbc856a9ef 8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane
Backport-of: 3b1062d45d
2024-08-31 10:39:43 +04:00
Goetz Lindenmaier
f26743de01 8290901: Reduce use of -source in langtools tests
Backport-of: cc2861a993
2024-08-31 10:39:42 +04:00
Goetz Lindenmaier
960e615911 8321489: Update LCMS to 2.16
Backport-of: dc7d3b182d
2024-08-31 10:39:42 +04:00
Goetz Lindenmaier
9956a1924a 8289401: Add dump output to TestRawRSACipher.java
Backport-of: 7b3bf97760
2024-08-31 10:39:42 +04:00
Goetz Lindenmaier
1f72f7862e 8285452: Add a new test library API to replace a file content using FileUtils.java
Backport-of: 0462d5a252
2024-08-31 10:39:42 +04:00
Richard Startin
045b3ce69f 8286740: JFR: Active Setting event emitted incorrectly
Reviewed-by: jbachorik
Backport-of: 24cab0af32
2024-08-31 10:39:41 +04:00
Sergey Nazarkin
e7b8823abc 8268974: GetJREPath() JLI function fails to locate libjava.so if not standard Java launcher is used
Backport-of: 984003d5c9
2024-08-31 10:39:41 +04:00
Andrew Lu
f65f946610 8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails with the shape has not been applied msg
Backport-of: 62c9530c05
2024-08-31 10:39:41 +04:00
Amos Shi
820448bf49 8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch
Reviewed-by: mdoerr
Backport-of: 87516e29dc
2024-08-31 10:39:41 +04:00
Matthias Baesken
f0faac7d1d 8324598: use mem_unit when working with sysinfo memory and swap related information
Backport-of: 7a798d3ceb
2024-08-31 10:39:40 +04:00
Andrew Lu
4cd1449c21 8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64
8319136: Skip pkcs11 tests on linux-aarch64

Backport-of: 1f9b03e597
2024-08-31 10:39:40 +04:00
Andrew Lu
87c75cd4fd 8320129: "top" command during jtreg failure handler does not display CPU usage on OSX
Backport-of: 8be3e39220
2024-08-31 10:39:40 +04:00
Sonia Zaldana Calles
53b3c0cca0 8315898: Open source swing JMenu tests
Backport-of: fecd2fd8f2
2024-08-31 10:39:39 +04:00
Matthias Baesken
895fe9e4ef 8299858: [Metrics] Swap memory limit reported incorrectly when too large
Backport-of: 64ddf9536f
2024-08-31 10:39:39 +04:00
Andrew Lu
5c51267f09 8314283: Support for NSS tests on aarch64 platforms
Backport-of: 2a80160960
2024-08-31 10:39:39 +04:00
Andrew Lu
ecf86c4f5b 8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries
Backport-of: 721bfee53a
2024-08-31 10:39:38 +04:00
Andrew Lu
20680d5ce8 8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14
Backport-of: f1b73350c2
2024-08-31 10:39:38 +04:00
Andrew Lu
6f68655de6 8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java
Backport-of: 1f2922ad85
2024-08-31 10:39:37 +04:00
Goetz Lindenmaier
81533d0d7f 8319372: C2 compilation fails with "Bad immediate dominator info"
Reviewed-by: phh
Backport-of: 7766785098
2024-08-31 10:39:37 +04:00
Goetz Lindenmaier
9a93d17ad9 8301381: Verify DTLS 1.0 cannot be negotiated
Backport-of: 18e2446420
2024-08-31 10:39:37 +04:00
Goetz Lindenmaier
8cfc22b9bf 8256660: Disable DTLS 1.0
Backport-of: 16744b3449
2024-08-31 10:39:37 +04:00
Amos Shi
dfa26e7bda 8266242: java/awt/GraphicsDevice/CheckDisplayModes.java failing on macOS 11 ARM
Reviewed-by: mdoerr
Backport-of: f7d6d7a04f
2024-08-31 10:39:36 +04:00
Amos Shi
b990ccc4e4 8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination
Backport-of: cbfddf4e1d
2024-08-31 10:39:36 +04:00
Amos Shi
88fcaa118b 8315677: Open source few swing JFileChooser and other tests
Backport-of: fe5ef5f20d
2024-08-31 10:39:36 +04:00
Amos Shi
a15a3aa2a9 8325137: com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java can fail in Xcomp with out of expected range
Backport-of: 91d8dac9cf
2024-08-31 10:39:35 +04:00
Goetz Lindenmaier
9e798d417c 8291753: Add JFR event for GC CPU Time
Reviewed-by: phh
Backport-of: 14eb5ad0dc
2024-08-31 10:39:35 +04:00
Richard Reingruber
04c1bba7c3 8310031: Parallel: Implement better work distribution for large object arrays in old gen
Reviewed-by: phh
Backport-of: 4bfe226870
2024-08-31 10:39:34 +04:00
Goetz Lindenmaier
fdc512af69 8320712: Rewrite BadFactoryTest in pure Java
Backport-of: 66971600f7
2024-08-31 10:39:34 +04:00
SendaoYan
f45821f290 8316563: test tools/jpackage/linux/LinuxResourceTest.java fails on CentOS Linux release 8.5.2111 and Fedora 27
Backport-of: 52814994ef
2024-08-31 10:39:34 +04:00
Goetz Lindenmaier
4658aea4f0 8309763: Move tests in test/jdk/sun/misc/URLClassPath directory to test/jdk/jdk/internal/loader
Backport-of: 57fc9a3e96
2024-08-31 10:39:34 +04:00
Richard Reingruber
680221ebd9 8282094: [REDO] Parallel: Refactor PSCardTable::scavenge_contents_parallel
Reviewed-by: phh, zgu
Backport-of: 22b93a31c9
2024-08-31 10:39:33 +04:00
Andrew Lu
b1c4f3a3a5 8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop
Backport-of: 9f0e7da64e
2024-08-31 10:39:33 +04:00
Andrew Lu
03f5b8fb3c 8325972: Add -x to bash for building with LOG=debug
Backport-of: 8668198c26
2024-08-31 10:39:33 +04:00
Andrew Lu
87672a1652 8320303: Allow PassFailJFrame to accept single window creator
Backport-of: 83ffc1ac94
2024-08-31 10:39:32 +04:00
Andrew Lu
405e59e9ac 8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053
Backport-of: e4803e0cbf
2024-08-31 10:39:32 +04:00
Richard Reingruber
eb712c22fa 8278893: Parallel: Remove GCWorkerDelayMillis
Backport-of: ff5d41762d
2024-08-31 10:39:32 +04:00
Richard Reingruber
5d09d93f50 8280030: [REDO] Parallel: More precise boundary in ObjectStartArray::object_starts_in_range
Reviewed-by: phh, zgu
Backport-of: 496baada10
2024-08-31 10:39:32 +04:00
Goetz Lindenmaier
cc04073ca8 8272651: G1 heap region info print order changed by JDK-8269914
Reviewed-by: rrich
Backport-of: f11e099a14
2024-08-31 10:39:31 +04:00
Patrick Zhang
b85d16aa85 8324824: AArch64: Detect Ampere-1B core and update default options for Ampere CPUs
Reviewed-by: shade
Backport-of: 9936aeea32
2024-08-31 10:39:31 +04:00
Aleksey Shipilev
522426e60c 8323519: Add applications/ctw/modules to Hotspot tiered testing
Backport-of: ba3c3bbd87
2024-08-31 10:39:31 +04:00
Amit Kumar
1b8f5ab828 8272903: Missing license header in ArenaAllocator.java
Backport-of: 96614da025
2024-08-31 10:39:30 +04:00
Sergey Bylokhov
6c18e1e484 8323210: Update the usage of cmsFLAGS_COPY_ALPHA
Reviewed-by: phh
Backport-of: aba19334ea
2024-08-31 10:39:30 +04:00
Goetz Lindenmaier
95e128d7e7 8269914: Factor out heap printing for G1 young and full gc
8270018: Add scoped object for g1 young gc JFR notification

Reviewed-by: phh
Backport-of: c93204ce3d
2024-08-31 10:39:30 +04:00
Pasam Soujanya
d2219a40ae 8311893: Interactive component with ARIA role 'tabpanel' does not have a programmatically associated name
Reviewed-by: hannesw
Backport-of: 783ae56634
2024-08-31 10:39:30 +04:00
Matthias Baesken
1d32c03b08 8325496: Make TrimNativeHeapInterval a product switch
Reviewed-by: lucy
Backport-of: 4296ddfc63
2024-08-31 10:39:29 +04:00
Martin Doerr
2e1e5fd4ce 8325213: Flags introduced by configure script are not passed to ADLC build
Backport-of: 9ee9f28849
2024-08-31 10:39:29 +04:00
Aleksey Shipilev
2538e967d3 8323717: Introduce test keyword for tests that need external dependencies
Reviewed-by: phh
Backport-of: 12b89cd2ee
2024-08-31 10:39:29 +04:00
Goetz Lindenmaier
8f6e13dbea 8326942: [17u] Backout "8325254: CKA_TOKEN private and secret keys are not necessarily sensitive"
Reviewed-by: lucy
2024-08-31 10:39:28 +04:00
Aleksey Shipilev
75ca7a279f 8324050: Issue store-store barrier after re-materializing objects during deoptimization
Reviewed-by: kvn
Backport-of: 52523d33dd
2024-08-31 10:39:28 +04:00
Aleksey Shipilev
1e25834e16 8324723: GHA: Upgrade some actions to avoid deprecated Node 16
Backport-of: 951b5f8ecb
2024-08-31 10:39:28 +04:00
Andrew Lu
5f968a0833 8294156: Allow PassFailJFrame.Builder to create test UI
Backport-of: 42b9ac8a07
2024-08-31 10:39:27 +04:00
Andrew Lu
5eb2a17244 8316053: Open some swing tests 3
Backport-of: a2391a92cd
2024-08-31 10:39:27 +04:00
Andrew Lu
5aecdec623 8315726: Open source several AWT applet tests
Backport-of: 1741d13b12
2024-08-31 10:39:27 +04:00
Martin Balao
26fe7c6bcb 8325254: CKA_TOKEN private and secret keys are not necessarily sensitive
Backport-of: 0f5f3c9b97
2024-08-31 10:39:27 +04:00
Goetz Lindenmaier
8ed7997af9 8326794: Bump update version for OpenJDK: jdk-17.0.12
Reviewed-by: shade, lucy
2024-08-31 10:39:26 +04:00
Vitaly Provodin
d40d55fda9 update exclude list on results of 17.0.11_b1000.51 test runs 2024-08-31 00:47:03 +04:00
Nikita Gubarkov
ae78edebd5 JBR-6651 Exclude keycap emoji from EmojiVariation test. 2024-08-31 00:45:27 +04:00
Christoph Langer
2c1d00bbd4 8329836: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.11
Reviewed-by: goetz
2024-08-30 15:47:22 +04:00
Martin Balao
7011de0bf1 8319851: Improve exception logging
Reviewed-by: mbaesken
Backport-of: 87dfeeb14fdd0fa1648a8bec91b5b713cc2c1b83
2024-08-30 15:47:12 +04:00
Martin Balao
df2fe96f30 8322122: Enhance generation of addresses
Backport-of: 1a4a46e102a2bc282fcbec571169867d715f4ade
2024-08-30 15:47:12 +04:00
Alexey Bakhtin
73c25fc6f4 8318340: Improve RSA key implementations
Reviewed-by: mbalao
Backport-of: 62d9cec1d6b804a70381bfb8ac902b6bb649f8ae
2024-08-30 15:47:11 +04:00
Yuri Nesterenko
d88460ca54 8315708: Enhance HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 4bd9637dfe12d330afd7409c27c5778b28a24cf4
2024-08-30 15:47:11 +04:00
Goetz Lindenmaier
427bea060b 8327391: Add SipHash attribution file
Backport-of: fcf48ab3d3
2024-08-30 15:47:11 +04:00
Goetz Lindenmaier
be90999314 8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0
Backport-of: f38add6f8d
2024-08-30 15:47:10 +04:00
Sergey Bylokhov
d650e8aaea 8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray
Backport-of: 5a988a5087
2024-08-30 15:47:10 +04:00
Goetz Lindenmaier
d238172cfc 8305900: Use loopback IP addresses in security policy files of httpclient tests
Reviewed-by: mbaesken
Backport-of: 646b666a26
2024-08-30 15:47:10 +04:00
Christoph Langer
21d4ffa5da 8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE
Backport-of: c2d9fa26ce
2024-08-30 15:47:09 +04:00
Goetz Lindenmaier
37fecd3104 8310380: Handle problems in core-related tests on macOS when codesign tool does not work
Backport-of: 39c104df44
2024-08-30 15:47:09 +04:00
Goetz Lindenmaier
873b0f004d 8278312: Update SimpleSSLContext keystore to use SANs for localhost IP addresses
Backport-of: bc31ccc95b
2024-08-30 15:47:09 +04:00
Sergey Bylokhov
5c737eb284 8321151: JDK-8294427 breaks Windows L&F on all older Windows versions
Backport-of: f695ca5884
2024-08-30 15:47:09 +04:00
Aleksey Shipilev
48c679dd48 8305962: update jcstress to 0.16
Backport-of: 292ee630ae
2024-08-30 15:47:08 +04:00
Aleksey Shipilev
97ff001ea9 8323515: Create test alias "all" for all test roots
8324647: Invalid test group of lib-test after JDK-8323515

Reviewed-by: phh
Backport-of: 8b9bf75880
2024-08-30 15:47:08 +04:00
Andrew Lu
83f5707d3f 8294158: HTML formatting for PassFailJFrame instructions
Backport-of: 14090ef603
2024-08-30 15:47:08 +04:00
Andrew Lu
4cf773908d 8294535: Add screen capture functionality to PassFailJFrame
Backport-of: dbb788f34d
2024-08-30 15:47:08 +04:00
Goetz Lindenmaier
34fa454a1d 8288846: misc tests fail "assert(ms < 1000) failed: Un-interruptable sleep, short time use only"
Backport-of: 6037ccdd50
2024-08-30 15:47:07 +04:00
Goetz Lindenmaier
944625060d 8290041: ModuleDescriptor.hashCode is inconsistent
Backport-of: 4cc6cb9d9d
2024-08-30 15:47:07 +04:00
Aleksey Shipilev
24509b4800 8321408: Add Certainly roots R1 and E1
Reviewed-by: goetz
Backport-of: f3073db42a
2024-08-30 15:47:07 +04:00
SendaoYan
459c21c63a 8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed
Backport-of: 791b427f44
2024-08-30 15:47:06 +04:00
Andrew Lu
3e94bc48e6 8314830: runtime/ErrorHandling/ tests ignore external VM flags
Reviewed-by: mbaesken
Backport-of: b685ee00b2
2024-08-30 15:47:06 +04:00
Johannes Bechberger
85a18f27b5 8325585: Remove no longer necessary calls to set/unset-in-asgct flag in JDK 17
Reviewed-by: rschmelter
2024-08-30 15:47:06 +04:00
Darragh Clarke
0afc68407b 8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout
Backport-of: fbaaac63d4
2024-08-30 15:47:06 +04:00
Zdenek Zambersky
a93d13ab53 8306408: Fix the format of several tables in building.md
Reviewed-by: andrew
Backport-of: 26755a9686
2024-08-30 15:47:05 +04:00
Darragh Clarke
031559c436 8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use
Backport-of: a48bcf3671
2024-08-30 15:47:05 +04:00
Andrew Lu
e8f6beb3c6 8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1
Backport-of: 61d0db3838
2024-08-30 15:47:05 +04:00
Amos Shi
73bb3c4298 8315602: Open source swing security manager test
Backport-of: fd6442c079
2024-08-30 15:47:04 +04:00
Amos Shi
5ff9c73616 8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11
Reviewed-by: mbaesken
Backport-of: 4a142c3b08
2024-08-30 15:47:04 +04:00
Sergey Bylokhov
fa64c956c9 8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1
Backport-of: 781f368d42
2024-08-30 15:47:04 +04:00
Jaikiran Pai
daad7d0910 8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address
Reviewed-by: phh
Backport-of: 3ccb3c0e09
2024-08-30 15:47:03 +04:00
Goetz Lindenmaier
2756bd59d0 8290203: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java on linux-all
Backport-of: ce36f6ea85
2024-08-30 15:47:03 +04:00
Sergey Bylokhov
e447fa4ce4 8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java
Backport-of: 6c7029ffd4
2024-08-30 15:47:03 +04:00
Aleksey Shipilev
c17bf031e2 8324514: ClassLoaderData::print_on should print address of class loader
Backport-of: fb822e49f2
2024-08-30 15:47:03 +04:00
Matthias Baesken
b877cbc546 8322098: os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size
8323331: fix typo hpage_pdm_size

Backport-of: 419e01685b
2024-08-30 15:47:02 +04:00
Matthias Baesken
ae1d54ae13 8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output
Reviewed-by: lucy
Backport-of: a8e4229852
2024-08-30 15:47:02 +04:00
Dan Lutker
5318fa2ae2 8325150: (tz) Update Timezone Data to 2024a
Reviewed-by: phh
Backport-of: 917838e0a5
2024-08-30 15:47:02 +04:00
Aleksey Shipilev
cc3486cc4b 8325096: Test java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java is failing
Backport-of: ac1cd31949
2024-08-30 15:47:02 +04:00
Andrew Lu
72f7c4cbb5 8321480: ISO 4217 Amendment 176 Update
Reviewed-by: mbaesken
Backport-of: 8b24851b9d
2024-08-30 15:47:01 +04:00
Matthias Baesken
f96c77a9a7 8320168: handle setsocktopt return values
Backport-of: db1d82347b
2024-08-30 15:47:01 +04:00
Aleksey Shipilev
34e82e2e14 8323637: Capture hotspot replay files in GHA
Backport-of: c84c0ab52d
2024-08-30 15:47:01 +04:00
Aleksey Shipilev
ab1709ff99 8324937: GHA: Avoid multiple test suites per job
Backport-of: 1aba78f272
2024-08-30 15:47:00 +04:00
Andrew Lu
121f15ed7f 8310923: Refactor Currency tests to use JUnit
Reviewed-by: mbaesken
Backport-of: e848d9471f
2024-08-30 15:47:00 +04:00
Matthias Baesken
1ee041964a 8280241: (aio) AsynchronousSocketChannel init fails in IPv6 only Windows env
Backport-of: 36fbec78be
2024-08-30 15:47:00 +04:00
Amos Shi
126fe3d51a 8315611: Open source swing text/html and tree test
Backport-of: ae08143d3d
2024-08-30 15:46:59 +04:00
Elif Aslan
524a067878 8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests
Backport-of: 43f31d7385
2024-08-30 15:46:59 +04:00
William Kemper
a7f81c2d52 8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint
Reviewed-by: phh
Backport-of: 808a03927c
2024-08-30 15:46:59 +04:00
Goetz Lindenmaier
710bf023e8 8317144: Exclude sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java on Linux ppc64le
Backport-of: bc5a39bb54
2024-08-30 15:46:59 +04:00
Liang Mao
67181c28dc 8276125: RunThese24H.java SIGSEGV in JfrThreadGroup::thread_group_id
Backport-of: a885aab696
2024-08-30 15:46:58 +04:00
Amos Shi
d312197321 8209595: MonitorVmStartTerminate.java timed out
Backport-of: a045258ae2
2024-08-30 15:46:58 +04:00
Amos Shi
1dc41c0aa1 8311081: KeytoolReaderP12Test.java fail on localized Windows platform
Backport-of: b4b2fecb42
2024-08-30 15:46:58 +04:00
Amos Shi
993c73d9ee 8310807: java/nio/channels/DatagramChannel/Connect.java timed out
Backport-of: 570dffb104
2024-08-30 15:46:57 +04:00
Amos Shi
a6bcd44aa0 8315600: Open source few more headless Swing misc tests
Backport-of: b05198a4f3
2024-08-30 15:46:57 +04:00
Amos Shi
af4c0bf2ef 8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location
Backport-of: e7486e8cfc
2024-08-30 15:46:57 +04:00
Amos Shi
b064c626f9 8316106: Open source few swing JInternalFrame and JMenuBar tests
Backport-of: 0775bf2f03
2024-08-30 15:46:56 +04:00
Severin Gehwolf
25b375fd6b 8319922: libCreationTimeHelper.so fails to link in JDK 21
Backport-of: ccc2fd0cd3
2024-08-30 15:46:56 +04:00
María Arias de Reyna
b71ec18280 8261404: Class.getReflectionFactory() is not thread-safe
Backport-of: 905b763942
2024-08-30 15:46:56 +04:00
Gui Cao
6a11187906 8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode
Backport-of: e7fdac9d5c
2024-08-30 15:46:56 +04:00
Severin Gehwolf
31731c63af 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux
Reviewed-by: stuefe
Backport-of: 0275efac88
2024-08-30 15:46:55 +04:00
Aleksey Shipilev
e1c77419d3 8324659: GHA: Generic jtreg errors are not reported
Backport-of: c313d451a5
2024-08-30 15:46:55 +04:00
Andrew Lu
3f915e8d26 8309870: Using -proc:full should be considered requesting explicit annotation processing
Backport-of: 3ce1240ca1
2024-08-30 15:46:55 +04:00
Andrew Lu
52568d04be 8315761: Open source few swing JList and JMenuBar tests
Backport-of: bb6b3f2486
2024-08-30 15:46:54 +04:00
Elif Aslan
3bac4533b4 8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests
Reviewed-by: shade
Backport-of: cee44a6255
2024-08-30 15:46:54 +04:00
Goetz Lindenmaier
270d0898ec 8296631: NSS tests failing on OL9 linux-aarch64 hosts
Backport-of: 6e1aacdfba
2024-08-30 15:46:54 +04:00
Andrew Lu
c669a235d4 8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly
Backport-of: 00ef9f9c32
2024-08-30 15:46:53 +04:00
Goetz Lindenmaier
f4b1e63ad2 8210410: Refactor java.util.Currency:i18n shell tests to plain java tests
Reviewed-by: lucy
Backport-of: 2584bf87ae
2024-08-30 15:46:53 +04:00
Goetz Lindenmaier
40615a79d4 8313575: Refactor PKCS11Test tests
Backport-of: 7a08e6bdd6
2024-08-30 15:46:53 +04:00
Goetz Lindenmaier
e5f857520d 8306014: Update javax.net.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate
Backport-of: 705ad7d829
2024-08-30 15:46:52 +04:00
Goetz Lindenmaier
626f624222 8281585: Remove unused imports under test/lib and jtreg/gc
Reviewed-by: lucy
Backport-of: 2604a88fbb
2024-08-30 15:46:52 +04:00
Andrew Lu
ac1ecd4926 8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
Backport-of: 2cf5c2f4b6
2024-08-30 15:46:52 +04:00
Andrew Lu
7e8e20cbc3 8308245: Add -proc:full to describe current default annotation processing policy
Backport-of: 42ecc8a37f
2024-08-30 15:46:51 +04:00
William Kemper
1ee2042968 8323086: Shenandoah: Heap could be corrupted by oom during evacuation
Backport-of: c4a83bd6f6
2024-08-30 15:46:51 +04:00
Andrew John Hughes
3d7cb1d3ec 8324184: Windows VS2010 build failed with "error C2275: 'int64_t'"
Reviewed-by: sgehwolf
2024-08-30 15:46:51 +04:00
Matthias Baesken
1a42408d54 8272811: Document the effects of building with _GNU_SOURCE in os_posix.hpp
Backport-of: c4c76e2f34
2024-08-30 15:46:51 +04:00
Matthias Baesken
0647c88d95 8281543: Remove unused code/headerfile dtraceAttacher.hpp
Backport-of: bc43320fd3
2024-08-30 15:46:50 +04:00
Aleksey Shipilev
a82fa994b2 8323243: JNI invocation of an abstract instance method corrupts the stack
Backport-of: 71d9a83dec
2024-08-30 15:46:50 +04:00
Ben Taylor
c6091308bc 8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
Backport-of: 8eb6f617b3
2024-08-30 15:46:50 +04:00
Jonathan Dowland
99ccfeb3b3 8322321: Add man page doc for -XX:+VerifySharedSpaces
Reviewed-by: shade
Backport-of: f7dc257a20
2024-08-30 15:46:49 +04:00
Goetz Lindenmaier
3a6c44b8a2 8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal
Backport-of: 6f263111a1
2024-08-30 15:46:49 +04:00
Goetz Lindenmaier
21ee778fe2 8319213: Compatibility.java reads both stdout and stderr of JdkUtils
Backport-of: 84f4f7477c
2024-08-30 15:46:49 +04:00
Goetz Lindenmaier
03e47bc829 8312428: PKCS11 tests fail with NSS 3.91
Backport-of: 1c598c2245
2024-08-30 15:46:49 +04:00
Goetz Lindenmaier
f7be133bc6 8317039: Enable specifying the JDK used to run jtreg
8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039

Backport-of: 2545f55e50
2024-08-30 15:46:48 +04:00
Goetz Lindenmaier
e18d1bf9a7 8313206: PKCS11 tests silently skip execution
Reviewed-by: mdoerr
Backport-of: 515add88ed
2024-08-30 15:46:48 +04:00
Goetz Lindenmaier
42029d86c0 8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout
Backport-of: 8042a50b99
2024-08-30 15:46:48 +04:00
Goetz Lindenmaier
0fc73682a0 8311581: Remove obsolete code and comments in TestLVT.java
Backport-of: 27de536b40
2024-08-30 15:46:47 +04:00
Ludovic Henry
09c1645968 8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs'
Reviewed-by: rehn
Backport-of: 2f1c65486b
2024-08-30 15:46:47 +04:00
Andrew Lu
0b87e7b19b 8169475: WheelModifier.java fails by timeout
Backport-of: 613d32c282
2024-08-30 15:46:47 +04:00
Goetz Lindenmaier
041b70029c 8319124: Update XML Security for Java to 3.0.3
Reviewed-by: mbaesken
Backport-of: 45df078510
2024-08-30 15:46:46 +04:00
Goetz Lindenmaier
7aaf0656e8 8323008: filter out harmful -std* flags added by autoconf from CXX
Backport-of: 68c4286026
2024-08-30 15:46:46 +04:00
Matthias Baesken
5979753955 8320300: Adjust hs_err output in malloc/mmap error cases
Reviewed-by: lucy
Backport-of: 60c8d9c045
2024-08-30 15:46:46 +04:00
Goetz Lindenmaier
e62681ccdd 8318971: Better Error Handling for Jar Tool When Processing Non-existent Files
Backport-of: 8ae309ebac
2024-08-30 15:46:45 +04:00
Goetz Lindenmaier
524a588e03 8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is spuriously passing
Reviewed-by: mdoerr
Backport-of: e3201d1d13
2024-08-30 15:46:45 +04:00
Goetz Lindenmaier
6c8c662a1b 8311986: Disable runtime/os/TestTracePageSizes.java for ShenandoahGC
Backport-of: 167d1c1835
2024-08-30 15:46:45 +04:00
Goetz Lindenmaier
93c78bca5d 8323806: [17u] VS2017 build fails with warning after 8293117.
Reviewed-by: mbaesken, shade
2024-08-30 15:46:44 +04:00
Goetz Lindenmaier
3e36b69dca 8305972: Update XML Security for Java to 3.0.2
Reviewed-by: mbaesken
Backport-of: f0aebc8141
2024-08-30 15:46:44 +04:00
William Kemper
2bec0a92d3 8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled
Backport-of: a7db4feceb
2024-08-30 15:46:44 +04:00
Andrew Lu
29bdecbbcf 8315594: Open source few headless Swing misc tests
Backport-of: 806ef0897b
2024-08-30 15:46:43 +04:00
Andrew Lu
d0aa053d99 8318154: Improve stability of WheelModifier.java test
Backport-of: 668d4b077f
2024-08-30 15:46:43 +04:00
Sergey Bylokhov
f977ecc134 8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop
Backport-of: cf9e6353cc
2024-08-30 15:46:43 +04:00
Goetz Lindenmaier
544b6b9f99 8307185: pkcs11 native libraries make JNI calls into java code while holding GC lock
Backport-of: 354c6605e3
2024-08-30 15:46:43 +04:00
Goetz Lindenmaier
bc73af9678 8309302: java/net/Socket/Timeouts.java fails with AssertionError on test temporal post condition
Backport-of: 87c79c0801
2024-08-30 15:46:42 +04:00
Goetz Lindenmaier
e0a3d74a57 8272853: improve JavadocTester.runTests
Reviewed-by: phh
Backport-of: b0028a459c
2024-08-30 15:46:42 +04:00
Dmitry Chuyko
9f8830c5e2 8310844: [AArch64] C1 compilation fails because monitor offset in OSR buffer is too large for immediate
Reviewed-by: aph
Backport-of: ade21a965f
2024-08-30 15:46:42 +04:00
Goetz Lindenmaier
c9afd853c2 8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: shade
Backport-of: 18e97aa217
2024-08-30 15:46:41 +04:00
Gui Cao
4bae4597bb 8322583: RISC-V: Enable fast class initialization checks
Backport-of: 5235cc987d
2024-08-30 15:46:41 +04:00
Ichiroh Takiguchi
4ca17d2558 6928542: Chinese characters in RTF are not decoded
Reviewed-by: phh
Backport-of: a26f7c03c7
2024-08-30 15:46:41 +04:00
Dan Lutker
53a7c20600 8322725: (tz) Update Timezone Data to 2023d
Reviewed-by: shade
Backport-of: 2a9c3589d9
2024-08-30 15:46:40 +04:00
William Kemper
2129aa4855 8323021: Shenandoah: Encountered reference count always attributed to first worker thread
Backport-of: f0e2e4311b
2024-08-30 15:46:40 +04:00
Christoph Langer
0d98634b19 8322772: Clean up code after JDK-8322417
Reviewed-by: mbaesken
Backport-of: 24b3b2b66f
2024-08-30 15:46:40 +04:00
Oli Gillespie
d4edae50ea 8321599: Data loss in AVX3 Base64 decoding
Reviewed-by: shade, phh
Backport-of: 13c11487f7
2024-08-30 15:46:40 +04:00
Goetz Lindenmaier
77ec8a24d8 8316693: Simplify at-requires checkDockerSupport()
Backport-of: 16fd43c5eb
2024-08-30 15:46:39 +04:00
Goetz Lindenmaier
50caca855f 8303605: Memory leaks in Metaspace gtests
Reviewed-by: mdoerr
Backport-of: ddcb369cea
2024-08-30 15:46:39 +04:00
Aleksey Shipilev
dc771a16f9 8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used
Reviewed-by: kvn
Backport-of: ed9f3243f0
2024-08-30 15:46:38 +04:00
Goetz Lindenmaier
a3b38d6e03 8278028: [test-library] Warnings cleanup of the test library
Reviewed-by: mdoerr
Backport-of: 03f647f4bb
2024-08-30 15:46:38 +04:00
Jonathan Dowland
90dc1697c2 8315731: Open source several Swing Text related tests
Backport-of: d475f61fd5
2024-08-30 15:46:38 +04:00
Aleksey Shipilev
c137e20272 8320921: GHA: Parallelize hotspot_compiler test jobs
Backport-of: 694136909c
2024-08-30 15:46:38 +04:00
Aleksey Shipilev
3d34236f58 8293547: Add relaxed add_and_fetch for macos aarch64 atomics
Reviewed-by: aph
Backport-of: 7a1cb64bc1
2024-08-30 15:46:37 +04:00
Andrew Lu
884f52e367 8320208: Update Public Suffix List to b5bf572
Reviewed-by: mdoerr
Backport-of: 2b4e99140a
2024-08-30 15:46:37 +04:00
Sergey Bylokhov
26258dbe02 8315042: NPE in PKCS7.parseOldSignedData
Backport-of: 8c0d026d0f
2024-08-30 15:46:37 +04:00
Matthias Baesken
cc38675904 8318957: Enhance agentlib:jdwp help output by info about allow option
Backport-of: 53bb7cd415
2024-08-30 15:46:36 +04:00
Aleksey Shipilev
309b5bc929 8322968: [17u] Amend Atomics gtest with 1-byte tests
Reviewed-by: fyang
2024-08-30 15:46:36 +04:00
Aleksey Shipilev
c23768282c 8286312: Stop mixing signed and unsigned types in bit operations
Backport-of: 39f4434f44
2024-08-30 15:46:36 +04:00
Aleksey Shipilev
0f4e0b0f57 8283626: AArch64: Set relocInfo::offset_unit to 4
Backport-of: ab17f88f6c
2024-08-30 15:46:36 +04:00
Aleksey Shipilev
780a88ee3f 8205076: [17u] Inet6AddressImpl.c: lookupIfLocalHost accesses int InetAddress.preferIPv6Address as a boolean
Reviewed-by: phh
2024-08-30 15:46:35 +04:00
Aleksey Shipilev
7b4bf25773 8318183: C2: VM may crash after hitting node limit
Reviewed-by: phh
Backport-of: 31ef400f31
2024-08-30 15:46:35 +04:00
Aleksey Shipilev
8d0c7a498b 8318961: increase javacserver connection timeout values and max retry attempts
Reviewed-by: mbaesken
Backport-of: b9983c7229
2024-08-30 15:46:35 +04:00
Sergey Bylokhov
414d05d9c0 8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Backport-of: eb44bafe77
2024-08-30 15:46:34 +04:00
Aleksey Shipilev
3b9f8b073c 8307926: Support byte-sized atomic bitset operations
Backport-of: 646747fd7c
2024-08-30 15:46:34 +04:00
Goetz Lindenmaier
e178bbf51d 8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86
Backport-of: 0a3a925ad8
2024-08-30 15:46:34 +04:00
Goetz Lindenmaier
c58076cb84 8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm
Backport-of: 86dde5e02b
2024-08-30 15:46:34 +04:00
Goetz Lindenmaier
0839189b47 8304696: Duplicate class names in dynamicArchive tests can lead to test failure
Backport-of: b2240bf870
2024-08-30 15:46:33 +04:00
Goetz Lindenmaier
a00b1c662e 8322417: Console read line with zero out should zero out when throwing exception
Reviewed-by: mbaesken
Backport-of: 2f917bff5c
2024-08-30 15:46:33 +04:00
Amos Shi
eecf190eb3 8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist.
Backport-of: 1dfc94dd56
2024-08-30 15:46:33 +04:00
Andrew Lu
16c12f2cf4 8316028: Update FreeType to 2.13.2
Backport-of: 3b65b8797a
2024-08-30 15:46:32 +04:00
Goetz Lindenmaier
67bf1dd75d 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder
Backport-of: 7ad700596f
2024-08-30 15:46:32 +04:00
Goetz Lindenmaier
a948a142cd 8261837: SIGSEGV in ciVirtualCallTypeData::translate_from
Reviewed-by: roland
Backport-of: 1bb250c9e6
2024-08-30 15:46:32 +04:00
Goetz Lindenmaier
9fceabedb9 8318983: Fix comment typo in PKCS12Passwd.java
Backport-of: 949846986f
2024-08-30 15:46:31 +04:00
Goetz Lindenmaier
6dcea49520 8319668: Fixup of jar filename typo in BadFactoryTest.sh
Backport-of: 63ad868e18
2024-08-30 15:46:31 +04:00
Goetz Lindenmaier
8d14d25b69 8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal
Backport-of: 16554ae23c
2024-08-30 15:46:31 +04:00
Goetz Lindenmaier
8956bd1986 8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
Reviewed-by: roland
Backport-of: 48f1a925e5
2024-08-30 15:46:30 +04:00
Goetz Lindenmaier
0e69b08c9a 8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java as vm.flagless
Backport-of: ca5eee2fe3
2024-08-30 15:46:30 +04:00
Goetz Lindenmaier
9e60f4fe11 8315920: C2: "control input must dominate current control" assert failure
Reviewed-by: roland
Backport-of: 4e1e579e8b
2024-08-30 15:46:30 +04:00
Gui Cao
c995232cc1 8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform
Backport-of: e8768ae08d
2024-08-30 15:46:30 +04:00
Jaroslav Bachorik
890b490075 8313816: Accessing jmethodID might lead to spurious crashes
Reviewed-by: phh
Backport-of: cdd1a6e851
2024-08-30 15:46:29 +04:00
Goetz Lindenmaier
14f2290c36 8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes
Backport-of: 7c7f8ea30d
2024-08-30 15:46:29 +04:00
Goetz Lindenmaier
5807f3445a 8318689: jtreg is confused when folder name is the same as the test name
Backport-of: a9b31b587c
2024-08-30 15:46:29 +04:00
Goetz Lindenmaier
f465158a82 8305356: Fix ignored bad CompileCommands in tests
Backport-of: 0e0c022b1f
2024-08-30 15:46:29 +04:00
Goetz Lindenmaier
2c05101afd 8278363: Create extented container test groups
Backport-of: 3d61372ba5
2024-08-30 15:46:28 +04:00
Goetz Lindenmaier
4e520f3801 8274621: NullPointerException because listenAddress[0] is null
Backport-of: 5bbc8d3cb2
2024-08-30 15:46:28 +04:00
Kimura Yukihiro
21a61d1739 8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Reviewed-by: phh
Backport-of: d051f22284
2024-08-30 15:46:28 +04:00
Matthias Baesken
ef85a42864 8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information
Backport-of: b9b82631bf
2024-08-30 15:46:28 +04:00
Matthias Baesken
8c810705ff 8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
Backport-of: 81db1721d4
2024-08-30 15:46:28 +04:00
Goetz Lindenmaier
ea7d6bf83f 8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
Backport-of: c1f4595e64
2024-08-30 15:46:27 +04:00
Andrew Lu
c9571874f0 8313082: Enable CreateCoredumpOnCrash for testing in makefiles
Backport-of: ba645da97b
2024-08-30 15:46:27 +04:00
Sonia Zaldana Calles
eb12ad5f53 8313621: test/jdk/jdk/internal/math/FloatingDecimal/TestFloatingDecimal should use RandomFactory
Backport-of: 864a876ebf
2024-08-30 15:46:27 +04:00
Sonia Zaldana Calles
919ebfe1b3 8263256: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test
Backport-of: 0048f1da4c
2024-08-30 15:46:27 +04:00
Aleksey Shipilev
62c09b3e92 8314220: Configurable InlineCacheBuffer size
Reviewed-by: phh
Backport-of: a40d8d97e8
2024-08-30 15:46:26 +04:00
Sandhya Viswanathan
fd30820849 8318562: Computational test more than 2x slower when AVX instructions are used
Reviewed-by: shade
Backport-of: 0881f2b0c4
2024-08-30 15:46:26 +04:00
Aleksey Shipilev
17ed26768e 8317507: C2 compilation fails with "Exceeded _node_regs array"
Backport-of: a5818972c1
2024-08-30 15:46:26 +04:00
Sandhya Viswanathan
e0d283b036 8321215: Incorrect x86 instruction encoding for VSIB addressing mode
Backport-of: 027b5dbb6a
2024-08-30 15:46:26 +04:00
Sonia Zaldana Calles
b23c3ad8c8 8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch
Backport-of: a290256bbf
2024-08-30 15:46:25 +04:00
Aleksey Shipilev
7cf4141c9f 8293117: Add atomic bitset functions
Backport-of: 8a70664e52
2024-08-30 15:46:25 +04:00
Aleksey Shipilev
156b34797d 8295068: SSLEngine throws NPE parsing CertificateRequests
Backport-of: 5667afc362
2024-08-30 15:46:25 +04:00
Aleksey Shipilev
f926bb13db 8274632: Possible pointer overflow in PretouchTask chunk claiming
Backport-of: a914ee7216
2024-08-30 15:46:25 +04:00
Liam Miller-Cushon
704f30eaac 8320001: javac crashes while adding type annotations to the return type of a constructor
Reviewed-by: vromero
Backport-of: 5e24aaf4f7
2024-08-30 15:46:24 +04:00
Goetz Lindenmaier
3744983900 8309733: [macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton
Backport-of: d1d2b55ce0
2024-08-30 15:46:24 +04:00
Goetz Lindenmaier
ba570f790f 8320798: Console read line with zero out should zero out underlying buffer
Reviewed-by: mbaesken
Backport-of: d568562966
2024-08-30 15:46:24 +04:00
Goetz Lindenmaier
c65186f759 8283400: [macos] a11y : Screen magnifier does not reflect JRadioButton value change
Backport-of: eefbaa2956
2024-08-30 15:46:24 +04:00
Goetz Lindenmaier
fe87e6a096 8297968: Crash in PrintOptoAssembly
Backport-of: c69aa42d02
2024-08-30 15:46:23 +04:00
Goetz Lindenmaier
43e1289d20 8273454: C2: Transform (-a)*(-b) into a*b
8274060: C2: Incorrect computation after JDK-8273454

Reviewed-by: shade
Backport-of: 7c9868c0b3
2024-08-30 15:46:23 +04:00
Sonia Zaldana Calles
08b7f9dca8 8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking
Reviewed-by: phh
Backport-of: 4b02956d42
2024-08-30 15:46:22 +04:00
Goetz Lindenmaier
774d83f824 7167356: (javac) investigate failing tests in JavacParserTest
Backport-of: 07fb4f9a0b
2024-08-30 15:46:22 +04:00
Goetz Lindenmaier
c0e9878fe1 8294254: [macOS] javax/swing/plaf/aqua/CustomComboBoxFocusTest.java failure
Backport-of: 358ac07255
2024-08-30 15:46:22 +04:00
Goetz Lindenmaier
e4d5e5357a 8274634: Use String.equals instead of String.compareTo in java.desktop
Reviewed-by: aturbanov
Backport-of: 6726c592ed
2024-08-30 15:46:22 +04:00
Aleksey Shipilev
c474d6ac99 8295124: Atomic::add to pointer type may return wrong value
Backport-of: 1164258ec7
2024-08-30 15:46:21 +04:00
Aleksey Shipilev
851454dc1c 8271616: oddPart in MutableBigInteger::mutableModInverse contains info on final result
Backport-of: a8408708b0
2024-08-30 15:46:21 +04:00
Aleksey Shipilev
09faf9c729 8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests
Backport-of: 59847926b6
2024-08-30 15:46:21 +04:00
Liam Miller-Cushon
15fc5ba5a1 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: vromero
Backport-of: de6667cf11
2024-08-30 15:46:21 +04:00
Aleksey Shipilev
fef412f349 8271118: C2: StressGCM should have higher priority than frequency-based policy
Backport-of: ed1cb24027
2024-08-30 15:46:20 +04:00
Aleksey Shipilev
3614ca3a10 8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries
Backport-of: e25121d1d9
2024-08-30 15:46:20 +04:00
Aleksey Shipilev
da2daad854 8292458: Atomic operations on scoped enums don't build with clang
Backport-of: f85411f24a
2024-08-30 15:46:19 +04:00
Goetz Lindenmaier
13f779e64b 8310838: Correct range notations in MethodTypeDesc specification
Backport-of: a197ee797b
2024-08-30 15:46:19 +04:00
Sergey Bylokhov
d55f8d8f4d 8301310: The SendRawSysexMessage test may cause a JVM crash
Backport-of: d725b73df0
2024-08-30 15:46:19 +04:00
Sonia Zaldana Calles
190d647cff 8283994: Make Xerces DatatypeException stackless
Reviewed-by: phh
Backport-of: 85f8d14edf
2024-08-30 15:46:19 +04:00
Goetz Lindenmaier
4dea122c8e 8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found
Backport-of: bbde2158d1
2024-08-30 15:46:18 +04:00
Goetz Lindenmaier
e94415546b 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF
Backport-of: ef6200c727
2024-08-30 15:46:18 +04:00
Goetz Lindenmaier
47b27b8848 8286846: test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on mac aarch64
Backport-of: d7341ae42e
2024-08-30 15:46:18 +04:00
Paul Hohensee
5c9bebe0f3 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074
Reviewed-by: simonis
Backport-of: a9d21c61fb
2024-08-30 15:46:18 +04:00
Paul Hohensee
4710ebbef3 8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM
Reviewed-by: simonis
Backport-of: 3eced01f9e
2024-08-30 15:46:17 +04:00
Volker Simonis
99f40f874a 8311645: Memory leak in jspawnhelper spawnChild after JDK-8307990
Backport-of: 401c3dea5d
2024-08-30 15:46:17 +04:00
Goetz Lindenmaier
51e2dc12a9 8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers
Backport-of: db133dbc02
2024-08-30 15:46:16 +04:00
Goetz Lindenmaier
3f14c1ff88 7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear.
Backport-of: c42ef70a45
2024-08-30 15:46:16 +04:00
Goetz Lindenmaier
d47187b3f4 8054572: [macosx] JComboBox paints the border incorrectly
Backport-of: 8082c24a0d
2024-08-30 15:46:15 +04:00
Goetz Lindenmaier
43a518b959 8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed
Backport-of: 93f96d8c9e
2024-08-30 15:46:15 +04:00
Goetz Lindenmaier
b176489963 7132796: [macosx] closed/javax/swing/JComboBox/4517214/bug4517214.java fails on MacOS
Backport-of: 81d7475d20
2024-08-30 15:46:15 +04:00
Volker Simonis
ede74d113e 8307990: jspawnhelper must close its writing side of a pipe before reading from it
Reviewed-by: shade
Backport-of: 39f6d807db
2024-08-30 15:46:14 +04:00
Goetz Lindenmaier
42cc67f266 8313643: Update HarfBuzz to 8.2.2
Reviewed-by: lucy
Backport-of: 2182c93689
2024-08-30 15:46:14 +04:00
Roman Marchenko
dafe2b368a 8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks
Backport-of: 97ea5bf0ff
2024-08-30 15:46:13 +04:00
Goetz Lindenmaier
ae4d57c795 8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom"
Reviewed-by: phh
Backport-of: 9f4a9fe488
2024-08-30 15:46:13 +04:00
Goetz Lindenmaier
a815bdd889 8301306: java/net/httpclient/* fail with -Xcomp
8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306

Reviewed-by: lucy
Backport-of: 6f9106e0d0
2024-08-30 15:46:13 +04:00
Goetz Lindenmaier
13850896c7 8269258: java/net/httpclient/ManyRequestsLegacy.java failed with connection timeout
Backport-of: 37921e3080
2024-08-30 15:46:12 +04:00
Goetz Lindenmaier
bb8d0e1615 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
Backport-of: 613a3cc689
2024-08-30 15:46:12 +04:00
Goetz Lindenmaier
02c5fabe54 8318951: Additional negative value check in JPEG decoding
Backport-of: 75ce02fe74
2024-08-30 15:46:12 +04:00
Goetz Lindenmaier
55dcc7dbe1 8316030: Update Libpng to 1.6.40
Backport-of: 158293d251
2024-08-30 15:46:11 +04:00
Goetz Lindenmaier
bc764db21e 8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC
Backport-of: 7352bb9105
2024-08-30 15:46:11 +04:00
Goetz Lindenmaier
b8ecd7ab8e 8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating
Backport-of: 285c833ffa
2024-08-30 15:46:10 +04:00
Goetz Lindenmaier
79a4fbd3ed 8298087: XML Schema Validation reports an required attribute twice via ErrorHandler
Backport-of: 2179a8f2d6
2024-08-30 15:46:10 +04:00
Goetz Lindenmaier
c1fce0696c 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java
Backport-of: 2613b94f28
2024-08-30 15:46:09 +04:00
Goetz Lindenmaier
9270734e04 8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row"
Backport-of: 9833c025fd
2024-08-30 15:46:09 +04:00
Goetz Lindenmaier
078d733635 8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Backport-of: 7b81a9c75d
2024-08-30 15:46:08 +04:00
Dmitry Chuyko
7dcd4f2d1c 8287832: jdk/jfr/event/runtime/TestActiveSettingEvent.java failed with "Expected two batches of Active Setting events"
Reviewed-by: phh
Backport-of: 4df4a1f8e2
2024-08-30 15:46:08 +04:00
Matthias Baesken
6d94ba8bbb 8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win)
Backport-of: a9b41da9df
2024-08-30 15:46:08 +04:00
Johannes Bechberger
a6db47ccf1 8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
Reviewed-by: mbaesken
Backport-of: 1a21c1a783
2024-08-30 15:46:08 +04:00
David Alvarez
1cc7dc3360 8317960: [17u] Excessive CPU usage on AbstractQueuedSynchronized.isEnqueued
Reviewed-by: phh
2024-08-30 15:46:08 +04:00
Dmitry Chuyko
69e3751fea 8295274: HelidonAppTest.java fails "assert(event->should_commit()) failed: invariant" from compiled frame"
Backport-of: 21e4f06ada
2024-08-30 15:46:07 +04:00
Dmitry Chuyko
6a705d63db 8288663: JFR: Disabling the JfrThreadSampler commits only a partially disabled state
Reviewed-by: phh
Backport-of: a7df5a4063
2024-08-30 15:46:07 +04:00
Martin Doerr
51a4bdd2b2 8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
Backport-of: 6aa197667a
2024-08-30 15:46:06 +04:00
Goetz Lindenmaier
5da7b7a342 8320885: Bump update version for OpenJDK: jdk-17.0.11
Reviewed-by: shade
2024-08-30 15:46:06 +04:00
Vitaly Provodin
ae6e0dc286 fixup! update exclude list on results of 17.0.10_b1000.50 test runs 2024-03-21 08:38:01 +07:00
Vitaly Provodin
2d17537fd9 fixup! update exclude list on results of 17.0.10_b1000.50 test runs 2024-03-20 05:31:24 +07:00
Vitaly Provodin
074d5e7ba1 update exclude list on results of 17.0.10_b1000.50 test runs 2024-03-19 19:44:11 +07:00
Fredrik Bredberg
008e9ffd30 8320317: ObjectMonitor NotRunnable is not really an optimization
Reviewed-by: eosterlund, dholmes, shade, dcubed

JBR-6819 Backport 8320317
2024-03-18 20:49:28 +07:00
Vitaly Provodin
671ea9296a update exclude list on results of 17.0.10_b1000.48 test runs 2024-01-25 10:55:38 +07:00
Alexey Bakhtin
a3b626c363 8320597: RSA signature verification fails on signed data that does not encode params correctly
Reviewed-by: mbalao
Backport-of: 11e4a925be
2024-01-24 15:33:39 +07:00
Alexey Bakhtin
56aa6cd73b 8317547: Enhance TLS connection support 2024-01-24 15:33:38 +07:00
Weijun Wang
eeb7624ba8 8316976: Improve signature handling
Reviewed-by:
2024-01-24 15:33:38 +07:00
Yuri Nesterenko
89736f24e3 8314468: Improve Compiler loops
Backport-of: 2621f68c06
2024-01-24 15:33:38 +07:00
Roland Westrelin
6dd7609e67 8314307: Improve loop handling
Reviewed-by: mbalao, fferrari
2024-01-24 15:33:38 +07:00
Coleen Phillimore
9a0dbbb581 8314295: Enhance verification of verifier
Reviewed-by: dholmes, poonam, dlong
2024-01-24 15:33:37 +07:00
Alexey Bakhtin
5e26be21d6 8308204: Enhanced certificate processing
Backport-of: ef0ea85bf1398b73bd308ba2b395c917b449aa3b
2024-01-24 15:33:37 +07:00
Saint Wesonga
692026611e 8302017: Allocate BadPaddingException only if it will be thrown
Reviewed-by: bstafford, mbalao
Backport-of: 334b977259
2024-01-24 15:33:37 +07:00
Lance Andersen
ed6344ecbb 8276123: ZipFile::getEntry will not return a file entry when there is a directory entry of the same name within a Zip File
Reviewed-by: redestad, alanb
2024-01-24 15:33:37 +07:00
Christoph Langer
9184fe1595 8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all
Backport-of: ab7380e2d9
2024-01-24 15:33:36 +07:00
Martin Balao
a9d8518f64 8271566: DSA signature length value is not accurate in P11Signature
Reviewed-by: adinn
Backport-of: ea8d3c92c6
2024-01-24 15:33:36 +07:00
Andrew Lu
fa9ec6135f 8319187: Add three eMudhra emSign roots
Reviewed-by: mbaesken
Backport-of: 0bda467f6e
2024-01-24 15:33:36 +07:00
Soumadipta Roy
6927b2c964 8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test
Backport-of: a564d436c7
2024-01-24 15:33:35 +07:00
Francisco Ferrari Bihurriet
0e4b1c2711 8277307: Pre shared key sent under both session_ticket and pre_shared_key extensions
Backport-of: 4662e06bff
2024-01-24 15:33:35 +07:00
Sandhya Viswanathan
88492c9ef4 8320209: VectorMaskGen clobbers rflags on x86_64
Backport-of: b05e69f789
2024-01-24 15:33:35 +07:00
Goetz Lindenmaier
3ec47837bf 8293343: sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java failed with "Agent communication error: java.io.EOFException"
8293335: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1failed with "Agent communication error: java.io.EOFException"

Backport-of: 91c9091d7e
2024-01-24 15:33:35 +07:00
Christoph Langer
260d4800a3 8313781: Add regression tests for large page logging and user-facing error messages
Backport-of: 99d260c0cc
2024-01-24 15:33:35 +07:00
Christoph Langer
3504abb91b 8313782: Add user-facing warning if THPs are enabled but cannot be used
Backport-of: 44b5b81f76
2024-01-24 15:33:34 +07:00
Martin Doerr
d2d06c554d 8316746: Top of lock-stack does not match the unlocked object
Reviewed-by: rrich
Backport-of: 7d8adfa855
2024-01-24 15:33:34 +07:00
Ludovic Henry
245278e0e9 8310656: RISC-V: __builtin___clear_cache can fail silently.
Reviewed-by: vkempik, rehn
Backport-of: 5f1d762750
2024-01-24 15:33:34 +07:00
Roman Kennke
f16cd6b193 8279856: Parallel: Use PreservedMarks to record promotion-failed objects
Backport-of: 16ec47d5e5
2024-01-24 15:33:33 +07:00
Goetz Lindenmaier
ec50e6d229 8262186: Call X509KeyManager.chooseClientAlias once for all key types
Reviewed-by: phh
Backport-of: 3d657eb0a6
2024-01-24 15:33:33 +07:00
Goetz Lindenmaier
545e09c838 8302109: Trivial fixes to btree tests
Backport-of: 97d0c8720d
2024-01-24 15:33:33 +07:00
Goetz Lindenmaier
1287c68dd4 8292067: Convert test/sun/management/jmxremote/bootstrap shell tests to java version
Backport-of: 3993a1f9ea
2024-01-24 15:33:33 +07:00
Aleksey Shipilev
47a509ecf6 8320053: GHA: Cross-compile gtest code
Backport-of: 77a6966114
2024-01-24 15:33:32 +07:00
Aleksey Shipilev
9305b45af6 8317834: java/lang/Thread/IsAlive.java timed out
Backport-of: 5522656af7
2024-01-24 15:33:32 +07:00
Gui Cao
19dff274a2 8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
Reviewed-by: luhenry, fyang
Backport-of: fb055e7e53
2024-01-24 15:33:32 +07:00
Stewart X Addison
2762d03d63 8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit
Backport-of: 6a75c2406b
2024-01-24 15:33:32 +07:00
Goetz Lindenmaier
f3a27f3a9d 8318759: Add four DigiCert root certificates
Reviewed-by: mbaesken
Backport-of: 0ea58048f9
2024-01-24 15:33:32 +07:00
Goetz Lindenmaier
1e7c7d76b5 8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests
Backport-of: b3cb82b859
2024-01-24 15:33:31 +07:00
Goetz Lindenmaier
fc04a009ae 8294402: Add diagnostic logging to VMProps.checkDockerSupport
Backport-of: 03d613bbab
2024-01-24 15:33:31 +07:00
Robbin Ehn
17f026721d 8315195: RISC-V: Update hwprobe query for new extensions
Backport-of: 0d4cadb824
2024-01-24 15:33:31 +07:00
Gui Cao
96b61566d5 8319184: RISC-V: improve MD5 intrinsic
Backport-of: fa331d7128
2024-01-24 15:33:31 +07:00
Goetz Lindenmaier
cb45d1787f 8285785: CheckCleanerBound test fails with PasswordCallback object is not released
Reviewed-by: mbaesken
Backport-of: b9d1e85151
2024-01-24 15:33:30 +07:00
Goetz Lindenmaier
eb6943f57a 8268433: serviceability/dcmd/framework/VMVersionTest.java fails with Unable to send object throw not established PipeIO Listener Thread connection
Backport-of: 280f2d57d1
2024-01-24 15:33:30 +07:00
Andrew John Hughes
064282032b 8312126: NullPointerException in CertStore.getCRLs after 8297955
Backport-of: 3c743cfea0
2024-01-24 15:33:30 +07:00
Robbin Ehn
c7f1ec68f0 8309258: RISC-V: Add riscv_hwprobe syscall
8315206: RISC-V: hwprobe query is_set return wrong value
8316859: RISC-V: Disable detection of V through HWCAP

Reviewed-by: fyang
Backport-of: 31b6fd775f
2024-01-24 15:33:30 +07:00
Feilong Jiang
de5f66e867 8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
Reviewed-by: fyang
Backport-of: b2504a0f9c
2024-01-24 15:33:29 +07:00
Goetz Lindenmaier
1f5b918d91 8317374: Add Let's Encrypt ISRG Root X2
Reviewed-by: mdoerr
Backport-of: e6f46a4326
2024-01-24 15:33:29 +07:00
Goetz Lindenmaier
c8774d4a37 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
Backport-of: e30e356442
2024-01-24 15:33:29 +07:00
Sergey Bylokhov
c3f0e5dfd7 8276819: javax/print/PrintServiceLookup/FlushCustomClassLoader.java fails to free
Backport-of: 7c2c58587d
2024-01-24 15:33:29 +07:00
Sergey Bylokhov
0ce7231910 8273831: PrintServiceLookup spawns 2 threads in the current classloader, getting orphaned
Backport-of: 687567822a
2024-01-24 15:33:28 +07:00
Goetz Lindenmaier
6c760c19db 8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases
Backport-of: 7b1e2bfe0f
2024-01-24 15:33:28 +07:00
Goetz Lindenmaier
0e1f6007b1 8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException
Backport-of: 939d7c5d84
2024-01-24 15:33:28 +07:00
Goetz Lindenmaier
e2ed6d9bdb 8314242: Update applications/scimark/Scimark.java to accept VM flags
Backport-of: 6bf4a33593
2024-01-24 15:33:28 +07:00
Goetz Lindenmaier
6594935e63 8307123: Fix deprecation warnings in DPrinter
Backport-of: b76f320e76
2024-01-24 15:33:27 +07:00
Goetz Lindenmaier
010eca4e00 8299241: jdk/jfr/api/consumer/streaming/TestJVMCrash.java generates unnecessary core file
Backport-of: 188911c925
2024-01-24 15:33:27 +07:00
Johannes Bechberger
83d2139135 8317920: JDWP-agent sends broken exception event with onthrow option
Reviewed-by: phh
2024-01-24 15:33:27 +07:00
Aleksey Shipilev
956d30f559 8318889: C2: add bailout after assert Bad graph detected in build_loop_late
Backport-of: 83eb20651f
2024-01-24 15:33:27 +07:00
Goetz Lindenmaier
ab6e1b0415 8317327: Remove JT_JAVA dead code in jib-profiles.js
Backport-of: 69489427e9
2024-01-24 15:33:27 +07:00
Goetz Lindenmaier
4967d3154f 8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed
Backport-of: 298dda4c98
2024-01-24 15:33:26 +07:00
Goetz Lindenmaier
06627393c0 8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory
Backport-of: cfae6ef2f6
2024-01-24 15:33:26 +07:00
Goetz Lindenmaier
158591dd52 8298905: Test "java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java" fails because the frames of instruction does not display
Backport-of: d1026720d3
2024-01-24 15:33:26 +07:00
Goetz Lindenmaier
46dbca8976 8269425: 2 jdk/jfr/api/consumer/streaming tests failed to attach
Backport-of: fffa73c1ef
2024-01-24 15:33:26 +07:00
Goetz Lindenmaier
1c692b4ae4 8271826: mark hotspot runtime/condy tests which ignore external VM flags
Backport-of: d3b40cb683
2024-01-24 15:33:26 +07:00
Ludovic Henry
812140f6f0 8310265: (process) jspawnhelper should not use argv[0]
Reviewed-by: stuefe
Backport-of: 47d00a4cbe
2024-01-24 15:33:25 +07:00
Goetz Lindenmaier
d622a9a4bf 8318855: Extra file added by mistake during the backport of JDK-8283326
Reviewed-by: mdoerr
2024-01-24 15:33:25 +07:00
Frederic Thevenet
cf537200be 8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2
Backport-of: 202c0137b8
2024-01-24 15:33:25 +07:00
Gui Cao
3a9331d321 8318953: RISC-V: Small refactoring for MacroAssembler::test_bit
Reviewed-by: fyang
Backport-of: 988e1dfe6e
2024-01-24 15:33:25 +07:00
Matthias Baesken
f08a2031d5 8312467: relax the builddir check in make/autoconf/basic.m4
Backport-of: 6e3cc131da
2024-01-24 15:33:24 +07:00
Matthias Baesken
14c58d987f 8312612: handle WideCharToMultiByte return values
Backport-of: d9559f9b24
2024-01-24 15:33:24 +07:00
Terry Chow
f6b5dae59f 8308593: Add KEEPALIVE Extended Socket Options Support for Windows
Reviewed-by: djelinski, phh
Backport-of: f3ade388da
2024-01-24 15:33:24 +07:00
Goetz Lindenmaier
880e1c8370 8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java
Backport-of: 37c40a11a7
2024-01-24 15:33:24 +07:00
Goetz Lindenmaier
d7f98624c5 8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp
Backport-of: 1925508425
2024-01-24 15:33:23 +07:00
Goetz Lindenmaier
cefae8816b 6445283: ProgressMonitorInputStream not large file aware (>2GB)
Backport-of: a17fce7507
2024-01-24 15:33:23 +07:00
Matthias Baesken
9c74f71ad7 8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen
Backport-of: ed2b4673de
2024-01-24 15:33:23 +07:00
Matthias Baesken
387d3c01f3 8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources
Backport-of: b7545a69a2
2024-01-24 15:33:23 +07:00
Matthias Baesken
a01f2bc081 8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case
Backport-of: 97b94cb1cd
2024-01-24 15:33:22 +07:00
Goetz Lindenmaier
3bfe195cf2 8317373: Add Telia Root CA v2
Reviewed-by: phh
Backport-of: d3ebb4a155
2024-01-24 15:33:22 +07:00
Goetz Lindenmaier
152ef8332e 8308910: Allow executeAndLog to accept running process
Reviewed-by: lucy
Backport-of: 024d9b131d
2024-01-24 15:33:22 +07:00
Goetz Lindenmaier
46cb30f161 8291911: java/io/File/GetXSpace.java fails with "53687091200 != 161051996160"
8298619: java/io/File/GetXSpace.java is failing
8305646: compile error on Alpine with gcc12 after 8298619 in libGetXSpace.c
8309216: Cast from jchar* to char* in test java/io/GetXSpace.java

Reviewed-by: lucy
Backport-of: 749335d34a
2024-01-24 15:33:22 +07:00
Goetz Lindenmaier
5e0bc56e4b 8228990: JFR: TestNetworkUtilizationEvent.java expects 2+ Network interfaces on Linux but finding 1
Backport-of: e21b527b18
2024-01-24 15:33:21 +07:00
Goetz Lindenmaier
f59d32069a 8273456: Do not hold ttyLock around stack walking
8273629: compiler/uncommontrap/TestDeoptOOM.java fails with release VMs

Reviewed-by: lucy, phh
Backport-of: 461a467f91
2024-01-24 15:33:21 +07:00
Matthias Baesken
c5e0dab181 8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns
Backport-of: 3671d83c87
2024-01-24 15:33:21 +07:00
Matthias Baesken
7d8b9bbc03 8315644: increase timeout of sun/security/tools/jarsigner/Warning.java
Backport-of: 8bbebbba8f
2024-01-24 15:33:21 +07:00
Aleksey Shipilev
72aa17d339 8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize
Backport-of: f7deaf4bef
2024-01-24 15:33:20 +07:00
Aleksey Shipilev
813c456345 8312592: New parentheses warnings after HarfBuzz 7.2.0 update
Reviewed-by: phh
Backport-of: ea067fc3d2
2024-01-24 15:33:20 +07:00
Goetz Lindenmaier
6ab3bd2232 8299207: [Testbug] Add back test/jdk/java/awt/Graphics2D/DrawPrimitivesTest.java
Backport-of: 5e001d6ff3
2024-01-24 15:33:20 +07:00
Goetz Lindenmaier
06ee13c6e3 8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails
Backport-of: f80faced6e
2024-01-24 15:33:20 +07:00
Goetz Lindenmaier
bed325da91 8239801: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
Backport-of: b6dddf4ce6
2024-01-24 15:33:20 +07:00
Goetz Lindenmaier
78b2249d89 8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException
Reviewed-by: lucy
Backport-of: 76f1865124
2024-01-24 15:33:19 +07:00
Goetz Lindenmaier
8f50307c6f 8176567: nsk/jdi/ReferenceType/instances/instances002: TestFailure: Unexpected size of referenceType.instances(nsk.share.jdi.TestInterfaceImplementer1): 11, expected: 10
Backport-of: 46fd683820
2024-01-24 15:33:19 +07:00
Goetz Lindenmaier
81e5e90082 8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases?
Backport-of: 6b833db3f9
2024-01-24 15:33:19 +07:00
Matthias Baesken
e5bfeddd6e 8311511: Improve description of NativeLibrary JFR event
Backport-of: 848abd2831
2024-01-24 15:33:19 +07:00
Goetz Lindenmaier
d16755d52d 8268916: Tests for AffirmTrust roots
Backport-of: 8c1bb2b280
2024-01-24 15:33:19 +07:00
Goetz Lindenmaier
eb01d143b8 8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases
Backport-of: 9728e21db1
2024-01-24 15:33:18 +07:00
Goetz Lindenmaier
017e007719 8291154: Create a non static nested class without enclosing class throws VerifyError
Backport-of: f96aee7401
2024-01-24 15:33:18 +07:00
Goetz Lindenmaier
ae510d269f 8275333: Print count in "Too many recored phases?" assert
Backport-of: 45ebf85ca9
2024-01-24 15:33:18 +07:00
Matthias Baesken
fa5949effe 8312395: Improve assertions in growableArray
Reviewed-by: clanger
Backport-of: b772e67e29
2024-01-24 15:33:18 +07:00
Deepa Kumari
d8313fde83 8312078: [PPC] JcmdScale.java Failing on AIX
Backport-of: c1a3f143bf
2024-01-24 15:33:17 +07:00
amosshi
67fb558cc2 8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!"
Reviewed-by: goetz
Backport-of: 0ed6d0b456
2024-01-24 15:33:17 +07:00
Ralf Schmelter
575d174b20 8297142: jdk/jfr/event/runtime/TestShutdown.java fails on Linux ppc64le and Linux aarch64
Backport-of: bde0e35ded
2024-01-24 15:33:17 +07:00
Goetz Lindenmaier
5af7130c03 8306280: Open source several choice AWT tests
Backport-of: d03128d0e5
2024-01-24 15:33:17 +07:00
Goetz Lindenmaier
82fe5da4db 8262901: [macos_aarch64] NativeCallTest expected:<-3.8194101E18> but was:<3.02668882E10>
8296821: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java fails after JDK-8262901

Reviewed-by: lucy
Backport-of: 6b456f7a9b
2024-01-24 15:33:17 +07:00
Matthias Baesken
ba2f0d771a 8315214: Do not run sun/tools/jhsdb tests concurrently
Reviewed-by: mdoerr
Backport-of: 1e7e2bcf35
2024-01-24 15:33:16 +07:00
Olga Mikhaltsova
0ea2e9e668 8310268: RISC-V: misaligned memory access in String.Compare intrinsic
Reviewed-by: vkempik
Backport-of: d6245b6832
2024-01-24 15:33:16 +07:00
Aleksey Shipilev
807f7a7c33 8315062: [GHA] get-bootjdk action should return the abolute path
Reviewed-by: xliu
Backport-of: 99ea8bf2b9
2024-01-24 15:33:16 +07:00
Sonia Zaldana Calles
be36846c82 8302525: Write a test to check various components send Events while mouse and key are used simultaneously
Backport-of: c7517b3dec
2024-01-24 15:33:15 +07:00
amosshi
f04d77f6aa 8300259: Add test coverage for processing of pending block files in signed JARs
Backport-of: c129ce4660
2024-01-24 15:33:15 +07:00
amosshi
17561ff706 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread
Backport-of: d269ebbad2
2024-01-24 15:33:15 +07:00
amosshi
b380c19459 8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg
Backport-of: cf46004f27
2024-01-24 15:33:15 +07:00
amosshi
9cc02d0548 8296275: Write a test to verify setAccelerator method of JMenuItem
Backport-of: b005013a00
2024-01-24 15:33:14 +07:00
Matthias Baesken
dcee041e3c 8313691: use close after failing os::fdopen in vmError and ciEnv
Backport-of: 96304f37f8
2024-01-24 15:33:14 +07:00
Matthias Baesken
4c80e70100 8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose
Backport-of: 9eed049098
2024-01-24 15:33:14 +07:00
Thomas Stuefe
d136106e25 8317772: NMT: Make peak values available in release builds
Backport-of: 32ccf018eb
2024-01-24 15:33:14 +07:00
Goetz Lindenmaier
c763b1959c 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work
Backport-of: 2c52cf0746
2024-01-24 15:33:14 +07:00
Goetz Lindenmaier
243f9402e9 8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names
Backport-of: 2f83b5c487
2024-01-24 15:33:13 +07:00
Goetz Lindenmaier
27e9b29c5d 8270199: Most SA tests are skipped on macosx-aarch64 because all executables are signed
Reviewed-by: lucy
Backport-of: 16e0ad0ad0
2024-01-24 15:33:13 +07:00
Christoph Langer
713a41e1c1 8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691
Backport-of: 7d0a937446
2024-01-24 15:33:13 +07:00
Christoph Langer
4375968e8d 8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux
Backport-of: 064a21d6d7
2024-01-24 15:33:13 +07:00
Ilya Gavrilin
fb80bd2f83 8313779: RISC-V: use andn / orn in the MD5 instrinsic
Backport-of: 4726960fcd
2024-01-24 15:33:12 +07:00
Goetz Lindenmaier
669e1f47d2 8316906: Clarify TLABWasteTargetPercent flag
Backport-of: 77fac0f4c6
2024-01-24 15:33:12 +07:00
Goetz Lindenmaier
bd982ec2d4 8301247: JPackage app-image exe launches multiple exe's in JDK 17+
Reviewed-by: lucy
Backport-of: dcea9bf087
2024-01-24 15:33:12 +07:00
Goetz Lindenmaier
8ca6237320 8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI
Backport-of: 8b4af46be4
2024-01-24 15:33:12 +07:00
Goetz Lindenmaier
020d5f2a83 8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()"
Backport-of: 84184f9473
2024-01-24 15:33:12 +07:00
Goetz Lindenmaier
0f2ee45341 8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files
Reviewed-by: lucy
Backport-of: e9320f31dc
2024-01-24 15:33:11 +07:00
Goetz Lindenmaier
94b093e086 8284047: Harmonize/Standardize the SSLSocket/SSLEngine/SSLSocketSSLEngine test templates
Reviewed-by: lucy
Backport-of: 824a5e4c60
2024-01-24 15:33:11 +07:00
Goetz Lindenmaier
c8475c3b2f 8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected"
Backport-of: f835aaafc7
2024-01-24 15:33:11 +07:00
Goetz Lindenmaier
31ee304c1e 8294881: test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose003/TestDescription.java fails
Backport-of: 216c6f6340
2024-01-24 15:33:11 +07:00
Goetz Lindenmaier
781c60860e 8287596: Reorg jdk.test.lib.util.ForceGC
Reviewed-by: lucy
Backport-of: 82a8bd7e92
2024-01-24 15:33:10 +07:00
Goetz Lindenmaier
8de0d9f7fc 8273921: Refactor NSK/JDI tests to create thread using factory
Backport-of: a72c8aa6ad
2024-01-24 15:33:10 +07:00
Olga Mikhaltsova
7a069e2720 8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads
Reviewed-by: vkempik
Backport-of: 6b94289386
2024-01-24 15:33:10 +07:00
Goetz Lindenmaier
1e468ffb86 8287671: Adjust ForceGC to invoke System::gc fewer times for negative case
8287867: Bad merge of jdk/test/lib/util/ForceGC.java causing test compilation error

Backport-of: 2e332c2760
2024-01-24 15:33:09 +07:00
Goetz Lindenmaier
58229cd87f 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state->get_thread()) failed: Must be"
Backport-of: 32839ba012
2024-01-24 15:33:09 +07:00
Jenny Shivayogi
7db0f11f87 8272998: ImageIO.read() throws incorrect exception type
Backport-of: 6ad6b1c454
2024-01-24 15:33:09 +07:00
Mat Carter
332ad5d110 8303607: SunMSCAPI provider leaks memory and keys
Backport-of: c51d40cfeb
2024-01-24 15:33:09 +07:00
Soumadipta Roy
397a489b00 8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java
Reviewed-by: phh
Backport-of: 4415261688
2024-01-24 15:33:08 +07:00
Goetz Lindenmaier
ad51311c5e 8311585: Add JRadioButtonMenuItem to bug8031573.java
Backport-of: 4f90abaf17
2024-01-24 15:33:08 +07:00
Goetz Lindenmaier
715dbaa423 8308223: failure handler missed jcmd.vm.info command
Backport-of: 563152f32d
2024-01-24 15:33:08 +07:00
Goetz Lindenmaier
16fbf8cc82 8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN"
Backport-of: 3601e30df7
2024-01-24 15:33:08 +07:00
Goetz Lindenmaier
d0e9ce0e03 8298868: Update EngineCloseOnAlert.java for changes to TLS implementation
Backport-of: 7fd440d97c
2024-01-24 15:33:08 +07:00
Olga Mikhaltsova
d1835470da 8291550: RISC-V: jdk uses misaligned memory access when AvoidUnalignedAccess enabled
Reviewed-by: vkempik
Backport-of: 3709344166
2024-01-24 15:33:07 +07:00
Goetz Lindenmaier
4136b3cb98 8308047: java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors
Backport-of: 8c9d091f19
2024-01-24 15:33:07 +07:00
Goetz Lindenmaier
84043a4941 8315606: Open source few swing text/html tests
Backport-of: 4127fbb9ed
2024-01-24 15:33:07 +07:00
Goetz Lindenmaier
5619e3e7ba 8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test asserts wrong values with Graal
Backport-of: 11fb5b2209
2024-01-24 15:33:07 +07:00
Goetz Lindenmaier
dbfee524fb 8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB
Backport-of: a5343fa605
2024-01-24 15:33:06 +07:00
Goetz Lindenmaier
4cfbc60d51 8258951: java/net/httpclient/HandshakeFailureTest.java failed with "RuntimeException: Not found expected SSLHandshakeException in java.io.IOException"
Backport-of: db9834ff82
2024-01-24 15:33:06 +07:00
Goetz Lindenmaier
d64dcab52c 8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes?
Backport-of: ba1a46392f
2024-01-24 15:33:06 +07:00
Goetz Lindenmaier
11e7b933f1 8312440: assert(cast != nullptr) failed: must have added a cast to pin the node
Backport-of: 01e135c910
2024-01-24 15:33:06 +07:00
Goetz Lindenmaier
fbe01d68b4 8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17
Backport-of: c6ab9c2905
2024-01-24 15:33:05 +07:00
Goetz Lindenmaier
04486557ee 8301489: C1: ShortLoopOptimizer might lift instructions before their inputs
Backport-of: 73d7aa1d2c
2024-01-24 15:33:05 +07:00
Goetz Lindenmaier
35cdafbd1d 8299075: TestStringDeduplicationInterned.java fails because extra deduplication
Backport-of: 682359cb48
2024-01-24 15:33:05 +07:00
Goetz Lindenmaier
c272886fba 8307403: java/util/zip/DeInflate.java timed out
Backport-of: d22bcc813e
2024-01-24 15:33:05 +07:00
Goetz Lindenmaier
4c4e9fc773 8301455: comments in TestTypeAnnotations still refer to resolved JDK-8068737
Backport-of: 35e75c131d
2024-01-24 15:33:05 +07:00
Goetz Lindenmaier
3b7ee9ae3d 8305505: NPE in javazic compiler
Backport-of: 544bd260b6
2024-01-24 15:33:04 +07:00
Goetz Lindenmaier
66edf2e2fb 8298298: NMT: count deltas are printed with 32-bit signed size
Reviewed-by: lucy, stuefe
Backport-of: f729f5b6d0
2024-01-24 15:33:04 +07:00
Goetz Lindenmaier
16e2965cc7 8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again
8302607: increase timeout for ContinuousCallSiteTargetChange.java
8305502: adjust timeouts in three more M&M tests

Backport-of: 4b23bef51d
2024-01-24 15:33:04 +07:00
Goetz Lindenmaier
6a18145b76 8298872: Update CheckStatus.java for changes to TLS implementation
Backport-of: e7247b10cc
2024-01-24 15:33:04 +07:00
Goetz Lindenmaier
b194188254 8298874: Update TestAllSuites.java for TLS v1.2 and 1.3
Backport-of: 3361a26df4
2024-01-24 15:33:03 +07:00
Christoph Langer
51c91090af 8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java
Backport-of: f4550497ea
2024-01-24 15:33:03 +07:00
Soumadipta Roy
08c0273337 8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests
Backport-of: eb1f67b160
2024-01-24 15:33:03 +07:00
Goetz Lindenmaier
0f3761b6dd 8297958: NMT: Display peak values
Backport-of: 336d230a39
2024-01-24 15:33:03 +07:00
Goetz Lindenmaier
785643a9b5 8292072: NMT: repurpose Tracking overhead counter as global malloc counter
Reviewed-by: lucy
Backport-of: 1c1c4410b2
2024-01-24 15:33:02 +07:00
Goetz Lindenmaier
9c91232527 8281015: Further simplify NMT backend
Reviewed-by: lucy
Backport-of: b96b743727
2024-01-24 15:33:02 +07:00
Soumadipta Roy
5492541abf 8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test
Backport-of: edd454b502
2024-01-24 15:33:02 +07:00
Aleksey Shipilev
8478e70a5e 8316514: Better diagnostic header for VtableStub
Backport-of: 6c61bc1950
2024-01-24 15:33:02 +07:00
Fei Yang
04ecb1c805 8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning
Backport-of: 750da00129
2024-01-24 15:33:02 +07:00
Goetz Lindenmaier
dbe878296d 8295424: adjust timeout for another JLI GetObjectSizeIntrinsicsTest.java subtest
8297367: disable TestRedirectLinks.java in slowdebug mode

Backport-of: 6e5470525d
2024-01-24 15:33:01 +07:00
Goetz Lindenmaier
c23d3e910a 8299748: java/util/zip/Deinflate.java failing on s390x
Backport-of: fee02f0668
2024-01-24 15:33:01 +07:00
Goetz Lindenmaier
27694a9de2 8298869: Update ConnectionTest.java for changes to TLS implementation
Backport-of: d6007a356f
2024-01-24 15:33:01 +07:00
Goetz Lindenmaier
984f1f6f48 8298873: Update IllegalRecordVersion.java for changes to TLS implementation
8301189: validate-source fails after JDK-8298873

Backport-of: fc26d3e577
2024-01-24 15:33:01 +07:00
Goetz Lindenmaier
d1dee0bc26 8198668: MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java still failing
Backport-of: d1249aa5cb
2024-01-24 15:33:00 +07:00
Goetz Lindenmaier
cdadbf0ad3 8271887: mark hotspot runtime/CDSCompressedKPtrs tests which ignore external VM flags
Backport-of: a3b0143970
2024-01-24 15:33:00 +07:00
Goetz Lindenmaier
e871cb4af4 8271828: mark hotspot runtime/classFileParserBug tests which ignore external VM flags
Backport-of: e49b7d958c
2024-01-24 15:33:00 +07:00
Goetz Lindenmaier
c6dc94444f 8271829: mark hotspot runtime/Throwable tests which ignore external VM flags
Backport-of: 659498a07f
2024-01-24 15:33:00 +07:00
Goetz Lindenmaier
a933ffd43f 8296437: NMT incurs costs if disabled
Backport-of: 9f8b6d2aa6
2024-01-24 15:32:59 +07:00
Andrew John Hughes
fb3753adc5 8308592: Framework for CA interoperability testing
Backport-of: da57d2a1eb
2024-01-24 15:32:59 +07:00
Goetz Lindenmaier
009cb4d52b 8298867: Basics.java fails with SSL handshake exception
Backport-of: 06f9374e0c
2024-01-24 15:32:59 +07:00
Goetz Lindenmaier
f4a03d8727 8293156: Dcmd VM.classloaders fails to print the full hierarchy
Backport-of: c6be2cd347
2024-01-24 15:32:59 +07:00
Goetz Lindenmaier
adab912aa0 8283670: gtest os.release_multi_mappings_vm is still racy
Backport-of: 2e9fd56524
2024-01-24 15:32:59 +07:00
Matthias Baesken
d57e4a4ee9 8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8
Backport-of: 8107eab3c0
2024-01-24 15:32:58 +07:00
Johannes Bechberger
c0c0270f9f 8307732: build-test-lib is broken
8274345: make build-test-lib is broken
8303922: build-test-lib target is broken

Reviewed-by: shade
Backport-of: 0da48f19cb
2024-01-24 15:32:58 +07:00
Ralf Schmelter
517267f482 8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes
Backport-of: 7f0e9bd632
2024-01-24 15:32:58 +07:00
Aleksey Shipilev
9e4dcb2107 8276054: JMH benchmarks for Fences
Backport-of: 5a768f75c9
2024-01-24 15:32:58 +07:00
Aleksey Shipilev
c5273dff95 8300997: Add curl support to createJMHBundle.sh
Backport-of: 61775c85b0
2024-01-24 15:32:58 +07:00
Ilya Gavrilin
04bcc2d9ba 8313322: RISC-V: implement MD5 intrinsic
Reviewed-by: fyang
Backport-of: b093880acd
2024-01-24 15:32:57 +07:00
Andrew Lu
c63fff2167 8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md
Backport-of: 87a6acbeee
2024-01-24 15:32:57 +07:00
Goetz Lindenmaier
2bee3dfe41 8316206: Test StretchedFontTest.java fails for Baekmuk font
Ignore broken fonts, i.e. the fonts for which
GlyphVector(TEXT).getVisualBounds().isEmpty() returns true

Backport-of: 00f585bd22
2024-01-24 15:32:57 +07:00
Goetz Lindenmaier
1859d4e713 8304174: Remove delays from httpserver tests
Backport-of: 450567031e
2024-01-24 15:32:57 +07:00
Goetz Lindenmaier
a24fcf626f 8298735: Some tools/jpackage/windows/* tests fails with jtreg test timeout
Backport-of: 3c99e786ab
2024-01-24 15:32:56 +07:00
Goetz Lindenmaier
bc3745b1eb 8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id
Backport-of: bf9a8ce0bb
2024-01-24 15:32:56 +07:00
Goetz Lindenmaier
cb6189ae26 8297798: Timeout with DTLSOverDatagram test template
Backport-of: 4b313b51b1
2024-01-24 15:32:56 +07:00
Goetz Lindenmaier
7821803a22 8292261: adjust timeouts in JLI GetObjectSizeIntrinsicsTest.java
Backport-of: 8a0c3e53d5
2024-01-24 15:32:56 +07:00
Goetz Lindenmaier
f41e165c94 8288961: jpackage: test MSI installation fix
Backport-of: c67149be4b
2024-01-24 15:32:56 +07:00
Goetz Lindenmaier
59aa4492db 8286475: Drop --enable-preview from instanceof pattern matching related tests
Backport-of: 8c977050aa
2024-01-24 15:32:55 +07:00
Goetz Lindenmaier
4f84b373ae 8286473: Drop --enable-preview from Record related tests
Backport-of: 73c5e993e1
2024-01-24 15:32:55 +07:00
Goetz Lindenmaier
b9409baf23 8282011: test/jdk/tools/jpackage/windows/WinL10nTest.java test fails if light.exe is not in %PATH%
Backport-of: 0b00ce17cd
2024-01-24 15:32:55 +07:00
Goetz Lindenmaier
ea9699b5b7 8281874: Can't unpack msi installers from test/jdk/tools/jpackage/windows/test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java test
Backport-of: 81645521c8
2024-01-24 15:32:55 +07:00
Goetz Lindenmaier
47725073fc 8275440: Remove VirtualSpaceList::is_full()
Backport-of: c9e65f8ef9
2024-01-24 15:32:54 +07:00
Goetz Lindenmaier
eaabe15b3f 8274211: Test man page that options are documented
Backport-of: 734d1fbd33
2024-01-24 15:32:54 +07:00
Goetz Lindenmaier
75f8084a80 8272291: mark hotspot runtime/logging tests which ignore external VM flags
Backport-of: 05d64da7f3
2024-01-24 15:32:54 +07:00
Goetz Lindenmaier
605fc58efe 8272552: mark hotspot runtime/cds tests which ignore external VM flags
Backport-of: 989f39f810
2024-01-24 15:32:54 +07:00
Matthias Baesken
994c1725c7 8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files
Backport-of: acf28f4cd9
2024-01-24 15:32:53 +07:00
Soumadipta Roy
0af0dbc4ba 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
Backport-of: 877731d2a2
2024-01-24 15:32:53 +07:00
Goetz Lindenmaier
dc3a440e01 8271892: mark hotspot runtime/PrintStringTableStats/PrintStringTableStatsTest.java test as ignoring external VM flags
Backport-of: 9654fd73cd
2024-01-24 15:32:53 +07:00
Goetz Lindenmaier
5d357db4c7 8292381: java/net/httpclient/SpecialHeadersTest.java fails with "ERROR: Shutting down connection: HTTP/2 client stopped"
Backport-of: 256b52387b
2024-01-24 15:32:53 +07:00
Goetz Lindenmaier
668cc700f7 8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB
Backport-of: e291a67e96
2024-01-24 15:32:53 +07:00
Goetz Lindenmaier
419cb6e56e 8286969: Add a new test library API to execute kinit in SecurityTools.java
Backport-of: dbda0e2bda
2024-01-24 15:32:52 +07:00
Goetz Lindenmaier
087996b066 8285867: Convert applet manual tests SelectionVisible.java to Frame and automate
Backport-of: 44a60ce172
2024-01-24 15:32:52 +07:00
Goetz Lindenmaier
9193d2c496 8286474: Drop --enable-preview from Sealed Classes related tests
Backport-of: d547a707bf
2024-01-24 15:32:52 +07:00
Goetz Lindenmaier
b65e96f858 8202790: DnD test DisposeFrameOnDragTest.java does not clean up
Backport-of: 102a305f73
2024-01-24 15:32:52 +07:00
Goetz Lindenmaier
aa866cebd3 8271073: Improve testing with VM option VerifyArchivedFields
Reviewed-by: lucy
Backport-of: b98290444a
2024-01-24 15:32:51 +07:00
Goetz Lindenmaier
1eb74744e8 8272551: mark hotspot runtime/modules tests which ignore external VM flags
Backport-of: fe72197102
2024-01-24 15:32:51 +07:00
Goetz Lindenmaier
51b3ac8b5a 8272099: mark hotspot runtime/Monitor tests which ignore external VM flags
Backport-of: c495ede2c2
2024-01-24 15:32:51 +07:00
Goetz Lindenmaier
e3c870fcc0 8271904: mark hotspot runtime/ClassFile tests which ignore external VM flags
Backport-of: e882087f7a
2024-01-24 15:32:51 +07:00
Goetz Lindenmaier
e9adfe60da 8271905: mark hotspot runtime/Metaspace tests which ignore external VM flags
Backport-of: 3ab95d1917
2024-01-24 15:32:51 +07:00
Goetz Lindenmaier
d90b0397bb 8271893: mark hotspot runtime/PerfMemDestroy/PerfMemDestroy.java test as ignoring external VM flags
Backport-of: 359c7084a1
2024-01-24 15:32:50 +07:00
Masanori Yano
9bb2098a45 8293579: tools/jpackage/share/jdk/jpackage/tests/UnicodeArgsTest.java fails on Japanese Windows platform
Backport-of: 121d4a5119
2024-01-24 15:32:50 +07:00
Elif Aslan
9b96792990 8276036: The value of full_count in the message of insufficient codecache is wrong
Backport-of: 61cb4bc6b0
2024-01-24 15:32:50 +07:00
Aleksey Shipilev
e57b271871 8316178: Better diagnostic header for CodeBlobs
Backport-of: d575968b4b
2024-01-24 15:32:50 +07:00
Aleksey Shipilev
2cb2929734 8314045: ArithmeticException in GaloisCounterMode
Backport-of: f41c267f85
2024-01-24 15:32:49 +07:00
Goetz Lindenmaier
244bdc611e 8314263: Signed jars triggering Logger finder recursion and StackOverflowError
8315696: SignedLoggerFinderTest.java test failed
8316087: Test SignedLoggerFinderTest.java is still failing

Reviewed-by: lucy
Backport-of: 7daae1fb42
2024-01-24 15:32:49 +07:00
Goetz Lindenmaier
1ff8b37701 8292636: (dc) Problem listing of java/nio/channels/DatagramChannel/Unref.java has incorrect issue ID
Backport-of: 5ca268ca65
2024-01-24 15:32:49 +07:00
Goetz Lindenmaier
a1cb6eb22d 8193543: Regression automated test '/open/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java' fails
Backport-of: 08024d9583
2024-01-24 15:32:49 +07:00
Goetz Lindenmaier
1038d4f5ca 8271891: mark hotspot runtime/Safepoint tests which ignore external VM flags
Backport-of: 6c17e6deb2
2024-01-24 15:32:48 +07:00
Goetz Lindenmaier
04ae6e01f9 8271890: mark hotspot runtime/Dictionary tests which ignore external VM flags
Backport-of: cdf3d55c82
2024-01-24 15:32:48 +07:00
Goetz Lindenmaier
c2630a2503 8271824: mark hotspot runtime/CompressedOops tests which ignore external VM flags
Backport-of: 9e769090a0
2024-01-24 15:32:48 +07:00
Goetz Lindenmaier
cb6a43b358 8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
Backport-of: f2383b3cbd
2024-01-24 15:32:48 +07:00
Goetz Lindenmaier
09028b3df5 8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different
Backport-of: eca9749da0
2024-01-24 15:32:47 +07:00
Goetz Lindenmaier
c6b4c8a429 8273522: Rename test property vm.cds.archived.java.heap to vm.cds.write.archived.java.heap
Reviewed-by: lucy
Backport-of: 922e86f4ff
2024-01-24 15:32:47 +07:00
Elif Aslan
881b35d1a4 8311514: Incorrect regex in TestMetaSpaceLog.java
Backport-of: 9084b6c9d5
2024-01-24 15:32:47 +07:00
Chad Rakoczy
8f65cb6e61 8311813: C1: Uninitialized PhiResolver::_loop field
Backport-of: 489a32fe40
2024-01-24 15:32:47 +07:00
Aleksey Shipilev
c6ea255461 8315863: [GHA] Update checkout action to use v4
Backport-of: b74805d383
2024-01-24 15:32:47 +07:00
Sergey Chernyshev
79a3ec1929 8168469: Memory leak in JceSecurity
Backport-of: a284920b34
2024-01-24 15:32:46 +07:00
Goetz Lindenmaier
889d03e7e8 8314679: SA fails to properly attach to JVM after having just detached from a different JVM
Reviewed-by: phh
Backport-of: 38a9edfb7e
2024-01-24 15:32:46 +07:00
Goetz Lindenmaier
eef0b63b38 8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
Backport-of: e56d3bc2da
2024-01-24 15:32:46 +07:00
Goetz Lindenmaier
15af568acd 8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env
Reviewed-by: phh
Backport-of: a63afa4aa6
2024-01-24 15:32:45 +07:00
Goetz Lindenmaier
bc678d0dee 8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set.
8288993: Make AwtFramePackTest generic by removing @requires tag

Backport-of: bbaeacb597
2024-01-24 15:32:45 +07:00
Goetz Lindenmaier
163391efb1 8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs
8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server"

Backport-of: 0f3d3ac32c
2024-01-24 15:32:45 +07:00
Goetz Lindenmaier
6a7f4abd60 8270447: [IR Framework] Add missing compilation level restriction when using FlipC1C2 stress option
Backport-of: 36aefa351a
2024-01-24 15:32:45 +07:00
Goetz Lindenmaier
60ae9a8e94 8247351: [aarch64] NullPointerException during stack walking (clhsdb "where -a")
Backport-of: 357fe09f2e
2024-01-24 15:32:44 +07:00
Long Yang
0de00dca0a 8312065: Socket.connect does not timeout when profiling
Reviewed-by: phh, vtewari, apangin
2024-01-24 15:32:44 +07:00
Goetz Lindenmaier
f4effe2d5f 8312909: C1 should not inline through interface calls with non-subtype receiver
Reviewed-by: phh
Backport-of: ab1c212ac1
2024-01-24 15:32:44 +07:00
Goetz Lindenmaier
7878e492ec 8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere
Reviewed-by: phh
Backport-of: 6f76b65ace
2024-01-24 15:32:43 +07:00
Goetz Lindenmaier
f89bb31838 8304954: SegmentedCodeCache fails when using large pages
Reviewed-by: phh
Backport-of: cad6114e1c
2024-01-24 15:32:43 +07:00
Goetz Lindenmaier
67cc816ceb 8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers
Backport-of: e554fdee25
2024-01-24 15:32:43 +07:00
Goetz Lindenmaier
6ddc430152 8301065: Handle control characters in java_lang_String::print
Backport-of: 41d6be4d80
2024-01-24 15:32:43 +07:00
Goetz Lindenmaier
decc378fc0 8299255: Unexpected round errors in FreetypeFontScaler
Backport-of: 26868c1ac4
2024-01-24 15:32:42 +07:00
Goetz Lindenmaier
7c796ae2cd 8232933: Javac inferred type does not conform to equality constraint
Reviewed-by: vromero
Backport-of: 7a85441a85
2024-01-24 15:32:42 +07:00
Ao Qi
b4f0fcc43a 8315020: The macro definition for LoongArch64 zero build is not accurate.
Reviewed-by: fyang
Backport-of: 725ec0ce1b
2024-01-24 15:32:42 +07:00
Christoph Langer
4d24d649ae 8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges
Backport-of: 69c9ec92d0
2024-01-24 15:32:42 +07:00
Matthias Baesken
446b73d4ff 8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le
Backport-of: 9887cd8adc
2024-01-24 15:32:41 +07:00
Goetz Lindenmaier
0217510edf 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened
Reviewed-by: phh
Backport-of: 5feb13b55d
2024-01-24 15:32:41 +07:00
Chad Rakoczy
720cb9ba3a 8285516: clearPassword should be called in a finally try block
Backport-of: 36e4df9d66
2024-01-24 15:32:41 +07:00
Evgeny Astigeevich
b2b678c73f 8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint
Backport-of: 7822cbce10
2024-01-24 15:32:41 +07:00
Christoph Langer
7973cb9329 8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased
Backport-of: 117f42dbe9
2024-01-24 15:32:41 +07:00
airsquared
60db20187a 8309032: jpackage does not work for module projects unless --module-path is specified
Backport-of: dfe764e3f8
2024-01-24 15:32:40 +07:00
Aleksey Shipilev
38bc8cf9a8 8315549: CITime misreports code/total nmethod sizes
Reviewed-by: phh
Backport-of: ab12c5d32f
2024-01-24 15:32:40 +07:00
Aleksey Shipilev
5630e9c68d 8244289: fatal error: Possible safepoint reached by thread that does not allow it
Backport-of: 61932f49a5
2024-01-24 15:32:40 +07:00
Aleksey Shipilev
ab68196b7f 8271886: mark hotspot runtime/InvocationTests tests which ignore external VM flags
Backport-of: ff7431eafe
2024-01-24 15:32:40 +07:00
Roman Marchenko
6d11387918 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
Backport-of: ed1ea5fe7c
2024-01-24 15:32:39 +07:00
Paul Hohensee
731605243b 8299677: Formatter.format might take a long time to format an integer or floating-point
Reviewed-by: mdoerr
Backport-of: 33412c102c
2024-01-24 15:32:39 +07:00
Aleksey Shipilev
02e90ed865 8314495: Update to use jtreg 7.3.1
Reviewed-by: mdoerr, clanger
Backport-of: c50315de8f
2024-01-24 15:32:39 +07:00
Christoph Langer
8b6649253c 8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout
Backport-of: 02dce24b59
2024-01-24 15:32:39 +07:00
Andrew John Hughes
570c885584 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
Backport-of: e47a84f23d
2024-01-24 15:32:38 +07:00
Thomas Stuefe
5c85fd3e0e 8314139: TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores
Backport-of: 7332502883
2024-01-24 15:32:38 +07:00
Aleksey Shipilev
1c84e3cdbc 8313626: C2 crash due to unexpected exception control flow
Backport-of: f8203cb272
2024-01-24 15:32:38 +07:00
Aleksey Shipilev
f363236fe3 8286430: make test TEST="gtest:<sometag>" exits with error when it shouldn't
Backport-of: 63a1ec6e7c
2024-01-24 15:32:38 +07:00
Thomas Stuefe
585d17a1bd 8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation
Backport-of: 226cdc696d
2024-01-24 15:32:37 +07:00
Thomas Stuefe
f7ddfdc783 8312620: WSL Linux build crashes after JDK-8310233
Backport-of: 25058cd23a
2024-01-24 15:32:37 +07:00
Sergey Bylokhov
86bbf3f266 8312535: MidiSystem.getSoundbank() throws unexpected SecurityException
Backport-of: 87298d2ade
2024-01-24 15:32:37 +07:00
Thomas Stuefe
71434769a5 8312182: THPs cause huge RSS due to thread start timing issue
8310687: JDK-8303215 is incomplete

Backport-of: 84b325b844
2024-01-24 15:32:37 +07:00
Thomas Stuefe
eda0ccd6e1 8312394: [linux] SIGSEGV if kernel was built without hugepage support
Backport-of: 94eb44b192
2024-01-24 15:32:36 +07:00
Aleksey Shipilev
97c76bdd0c 8295229: Try to verify gtest version
Backport-of: cd1357b0af
2024-01-24 15:32:36 +07:00
Thomas Stuefe
4732500fb3 8310233: Fix THP detection on Linux
Reviewed-by: phh
Backport-of: 37ca9024ef
2024-01-24 15:32:36 +07:00
Aleksey Shipilev
d78abdc1f9 8292717: Clean up checking of testing requirements in configure
Reviewed-by: clanger
Backport-of: 16593cf51c
2024-01-24 15:32:36 +07:00
Goetz Lindenmaier
8c6dc33efd 8312974: Bump update version for OpenJDK: jdk-17.0.10
Reviewed-by: shade
2024-01-24 15:32:35 +07:00
Dmitrii Morskii
18fcd74209 JBR-6135 removed dependence on process reading TTF in fixed size chunks 2023-11-10 19:20:37 +01:00
Vitaly Provodin
4de516b156 update exclude list on results of 17.0.9_b1000.46 test runs 2023-11-01 16:22:44 +07:00
Vitaly Provodin
51a9f3c833 update exclude list on results of 17.0.9_b1000.45 test runs 2023-10-27 18:25:23 +07:00
Nikita Gubarkov
314f7b3464 JBR-6016 doPrivileged for JBR API internal services.
(cherry picked from commit 19917e72086f091ef845959a29e7814ff6d88aa7)
2023-10-27 17:55:02 +07:00
Christoph Langer
f5f56092a6 8317643: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.9
Reviewed-by: goetz
2023-10-27 12:04:07 +07:00
Goetz Lindenmaier
868d7574e7 8317121: vector_masked_load instruction is moved too early after JDK-8286941
Backport-of: cfabcbf858
2023-10-27 12:03:51 +07:00
Yuri Nesterenko
05b712bda0 8317040: Exclude cleaner test failing on older releases
Reviewed-by: mbalao, andrew, clanger
2023-10-27 12:03:51 +07:00
Yuri Nesterenko
a5fbb0921e 8286503: Enhance security classes
Backport-of: 7f5e120a631ffda3e6d5efc03bae572b21877b69
2023-10-27 12:03:51 +07:00
Yuri Nesterenko
23366a3504 8284910: Buffer clean in PasswordCallback
Reviewed-by: mbalao
Backport-of: 89fd6d34f8
2023-10-27 12:03:51 +07:00
Martin Balao
896f27fbd2 8314649: Enhanced archival support redux
Reviewed-by: andrew
Backport-of: 1e16543a60
2023-10-27 12:03:50 +07:00
Martin Balao
9ceca87e21 8312248: Enhanced archival support redux
Reviewed-by: andrew
Backport-of: c2100a627d578901dffbbe631e5a6c9b88ca2209
2023-10-27 12:03:50 +07:00
Alexey Bakhtin
ea996afaa3 8309966: Enhanced TLS connections
Reviewed-by: mbalao
Backport-of: d25ee81f56d67f2c51ba8b8c59f470c6f88ae47f
2023-10-27 12:03:50 +07:00
Aleksei Voitylov
767f6e4508 8297856: Improve handling of Bidi characters
Reviewed-by: mbalao
Backport-of: 244b89fc786894cb8cca742f91875ebb98b603ff
2023-10-27 12:03:50 +07:00
Aleksei Voitylov
aaa49a0498 8296581: Better system proxy support
Reviewed-by: mbalao
Backport-of: 111811e64245ae720a0617b7de0c52c60bb2bac1
2023-10-27 12:03:50 +07:00
Goetz Lindenmaier
3b42a59fc8 8317700: [17u] Undo backport 8317674 of 8316566 which was pushed to wrong repo.
Reviewed-by: rehn, fyang
2023-10-27 12:03:49 +07:00
Robbin Ehn
5df1d241df 8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg
Backport-of: 2d154fcd0d
2023-10-27 12:03:49 +07:00
Goetz Lindenmaier
614123c7f2 8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
Ignore bitmaps embedded into fonts for non-uniform scales

Backport-of: 62610203f1
2023-10-27 12:03:49 +07:00
Martin Doerr
d3d4e3bea3 8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
Backport-of: cf2d33ca2e
2023-10-27 12:03:49 +07:00
Martin Doerr
543217abd3 8314960: Add Certigna Root CA - 2
Reviewed-by: mbaesken
Backport-of: e9ba8d5a0e
2023-10-27 12:03:48 +07:00
Aleksey Shipilev
6354aa8d6e 8313262: C2: Sinking node may cause required cast to be dropped
Backport-of: 1cee3b9fd9
2023-10-27 12:03:48 +07:00
Aleksey Shipilev
14d003f852 8314020: Print instruction blocks in byte units
Reviewed-by: phh
Backport-of: a602624ef4
2023-10-27 12:03:37 +07:00
Goetz Lindenmaier
98abd6b3e7 8294160: misc crash dump improvements
Reviewed-by: rrich
Backport-of: 6f8f28e756
2023-10-27 12:03:28 +07:00
Oli Gillespie
e0541dcdba 8313678: SymbolTable can leak Symbols during cleanup
Reviewed-by: phh, shade
Backport-of: 4b2703ad39
2023-10-27 12:01:16 +07:00
Oli Gillespie
1302bbe110 8313874: JNI NewWeakGlobalRef throws exception for null arg
Reviewed-by: phh
Backport-of: 028b3ae1b1
2023-10-27 12:01:16 +07:00
Matthias Baesken
5e2c8d7b06 8314517: some tests fail in case ipv6 is disabled on the machine
Reviewed-by: mdoerr
Backport-of: 703817d21f
2023-10-27 12:01:16 +07:00
Andrew John Hughes
ff827c81e8 8284772: GHA: Use GCC Major Version Dependencies Only
Reviewed-by: shade
Backport-of: 62defc3dfc4b9ba5adfe3189f34fe8b3f59b94a0
2023-10-27 12:01:15 +07:00
Alexander Scherbatiy
de2fb41326 8311033: [macos] PrinterJob does not take into account Sides attribute
Backport-of: a3d67231a7
2023-10-27 12:01:15 +07:00
Alexander Scherbatiy
287eebbdd6 8295737: macOS: Print content cut off when width > height with portrait orientation
Backport-of: d00a767047
2023-10-27 12:01:15 +07:00
Kimura Yukihiro
e4599b9a61 8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows
Reviewed-by: kevinw, cjplummer, phh
2023-10-27 12:01:15 +07:00
Aleksey Shipilev
3e69540c1c 8314426: runtime/os/TestTrimNative.java is failing on slow machines
Reviewed-by: stuefe
Backport-of: 20e94784c9
2023-10-27 12:01:14 +07:00
Aleksey Shipilev
06d0b67444 8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
Reviewed-by: mdoerr
Backport-of: ad34be1f32
2023-10-27 12:01:14 +07:00
Aleksey Shipilev
2d263531ef 8293114: JVM should trim the native heap
Reviewed-by: stuefe
Backport-of: 9e4fc568a6
2023-10-27 12:01:14 +07:00
Matthias Baesken
75274628da 8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
Backport-of: d24b7b7026
2023-10-27 12:01:14 +07:00
Aleksey Shipilev
8317280119 8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
Reviewed-by: stuefe
Backport-of: 69d900d2ce
2023-10-27 12:01:14 +07:00
Aleksey Shipilev
a2bf2e531b 8313701: GHA: RISC-V should use the official repository for bootstrap
Reviewed-by: phh
Backport-of: 538f9557b8
2023-10-27 12:01:13 +07:00
Aleksey Shipilev
3f4a54fb76 8283724: Incorrect description for jtreg-failure-handler option
Backport-of: 0901548833
2023-10-27 12:01:13 +07:00
Andrey Turbanov
5527480f39 8299827: Add resolved IP address in connection exception for sockets
Backport-of: 92d8326e40
2023-10-27 12:01:13 +07:00
Dan Lutker
118d10b7fa 8314552: Fix javadoc tests to work with jtreg 7
Reviewed-by: phh, shade, andrew
2023-10-27 12:01:13 +07:00
Aleksey Shipilev
b3671f5e80 8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails
Backport-of: 812f475bc4
2023-10-27 12:01:12 +07:00
Aleksey Shipilev
d014cc079d 8293851: hs_err should print more stack in hex dump
Backport-of: cbd0688b32
2023-10-27 12:01:12 +07:00
Aleksey Shipilev
f78fa00206 8314658: [17u] GHA: Sync up debian-version for cross-builds
Reviewed-by: phh
2023-10-27 12:01:12 +07:00
Fei Yang
8314d57c85 8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
Backport-of: 87e6fab2c4
2023-10-27 12:01:12 +07:00
Feilong Jiang
d6bfe93d23 8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java
Backport-of: 5c91622885
2023-10-27 12:01:12 +07:00
Aleksey Shipilev
f321dcba70 8309591: Socket.setOption(TCP_QUICKACK) uses wrong level
Reviewed-by: phh
Backport-of: 56a73a6f0f
2023-10-27 12:01:11 +07:00
Aleksey Shipilev
bf48ff8d92 8284273: Early crashes in os::print_context on AArch64
Reviewed-by: stuefe
Backport-of: 83cec4b6cc
2023-10-27 12:01:11 +07:00
Aleksey Shipilev
fc9ac36f4d 8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly
Backport-of: 4b192a8dc3
2023-10-27 12:01:11 +07:00
Aleksey Shipilev
ccd864209a 8314262: GHA: Cut down cross-compilation sysroots deeper
Backport-of: 38687f1a3e
2023-10-27 12:01:11 +07:00
Aleksey Shipilev
0b152c1610 8314118: Update JMH devkit to 1.37
Backport-of: 06aa3c5628
2023-10-27 12:01:11 +07:00
Dingli Zhang
adbbf8dbec 8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V
Reviewed-by: fyang
Backport-of: 61bb014a86
2023-10-27 12:01:10 +07:00
Ralf Schmelter
4fc8f248f1 8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
Reviewed-by: mdoerr
Backport-of: 5551cb66ba
2023-10-27 12:01:10 +07:00
Ben Taylor
b2a6535595 8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
Reviewed-by: stuefe
Backport-of: 0e2c72d7a5
2023-10-27 12:01:10 +07:00
Aleksey Shipilev
d002b8579b 8313402: C1: Incorrect LoadIndexed value numbering
Backport-of: 46fbedb2be
2023-10-27 12:01:10 +07:00
Aleksey Shipilev
f67bcff7e0 8294941: GHA: Cut down cross-compilation sysroots
Backport-of: a1747ef81a
2023-10-27 12:01:09 +07:00
Aleksey Shipilev
852500732b 8294956: GHA: qemu-debootstrap is deprecated, use the regular one
Backport-of: c5f462e83b
2023-10-27 12:01:09 +07:00
Aleksey Shipilev
0de9e7cf4a 8299330: Minor improvements in MSYS2 Workflow handling
Backport-of: cf00d09c8c
2023-10-27 12:01:09 +07:00
Aleksey Shipilev
8b57a90b57 8294149: JMH 1.34 and later requires jopt-simple 5.0.4
8277427: Update jib-profiles.js to use JMH 1.33 devkit
8280032: Update jib-profiles.js to use JMH 1.34 devkit

Backport-of: 2283c3244f
2023-10-27 12:01:09 +07:00
Aleksey Shipilev
9fe1f9620c 8304353: Add lib-test tier1 testing in GHA
Backport-of: 57276101df
2023-10-27 12:01:09 +07:00
Martin Doerr
fa4bcc323a 8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
Backport-of: 4c2e54fb05
2023-10-27 12:01:08 +07:00
Aleksey Shipilev
f9d14f8649 8297350: Update JMH devkit to 1.36
Backport-of: f26bd4e0e8
2023-10-27 12:01:08 +07:00
Aleksey Shipilev
d1d5426cc9 8293107: GHA: Bump to Ubuntu 22.04
8293098: GHA: Harmonize GCC version handling for host and cross builds
8293361: GHA: dump config.log in case of configure failure
8295213: Run GHA manually with user-specified make and configure arguments
8313428: GHA: Bump GCC versions for July 2023 updates
8313707: GHA: Bootstrap sysroots with --variant=minbase

Reviewed-by: clanger
Backport-of: d7536588b3
2023-10-27 12:01:08 +07:00
Martin Doerr
d9c8a2a160 8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
Backport-of: c84866ac0d
2023-10-27 12:01:08 +07:00
Martin Doerr
c6c155ae6a 8308090: Add container tests for on-the-fly resource quota updates
Backport-of: dc8bc6c98c
2023-10-27 12:01:08 +07:00
Martin Doerr
984e4a1856 8156889: ListKeychainStore.sh fails in some virtualized environments
Backport-of: 82c8b28f40
2023-10-27 12:01:07 +07:00
Martin Doerr
7955045c1c 8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
Backport-of: c6f20db945
2023-10-27 12:01:07 +07:00
Martin Doerr
f6b5a0f3f3 8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext
Backport-of: 76cda9f44a
2023-10-27 12:01:07 +07:00
Martin Doerr
864e393ab8 6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
Backport-of: f79b3d42f0
2023-10-27 12:01:07 +07:00
Martin Doerr
0bffa539e0 8307079: Update test java/awt/Choice/DragOffNoSelect.java
Backport-of: 89711f3767
2023-10-27 12:01:07 +07:00
Martin Doerr
05aae9c56e 8301167: Update VerifySignedJar to actually exercise and test verification
Backport-of: 05ea083b05
2023-10-27 12:01:06 +07:00
Sergey Bylokhov
a43dc5c2ce 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
Backport-of: d4a795d75a
2023-10-27 12:01:06 +07:00
Christoph Langer
68afe70a5f 8302182: Update Public Suffix List to 88467c9
Backport-of: 01b8512911
2023-10-27 12:01:06 +07:00
Martin Doerr
934d46ed9c 8309095: Remove UTF-8 character from TaskbarPositionTest.java
Backport-of: 07f2070411
2023-10-27 12:01:06 +07:00
Martin Doerr
2e04b045eb 8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
Backport-of: 2adef6a1f8
2023-10-27 12:01:05 +07:00
Martin Doerr
e01a4f5b8b 8195589: T6587786.java failed after JDK-8189997
Backport-of: 21b62fef33
2023-10-27 12:01:05 +07:00
Martin Doerr
e42f1b3dd7 8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment
Backport-of: a11477ce25
2023-10-27 12:01:05 +07:00
Sergey Bylokhov
59014c1569 8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
Backport-of: 8248e351d0
2023-10-27 12:01:05 +07:00
Sonia Zaldana Calles
9cea28f5bb 8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java
Backport-of: 2d13fb21af
2023-10-27 12:01:05 +07:00
Aleksey Shipilev
a838f70710 8307766: Linux: Provide the option to override the timer slack
Backport-of: 7173c3009e
2023-10-27 12:01:04 +07:00
Gui Cao
5a07fb3146 8311923: TestIRMatching.java fails on RISC-V
Reviewed-by: phh, fyang
Backport-of: e7adbdb1f1
2023-10-27 12:01:04 +07:00
Tyler Steele
df290d9d9a 8307603: [AIX] Broken build after JDK-8307301
Backport-of: bb3e44d8b6
2023-10-27 12:01:04 +07:00
Aleksey Shipilev
f1af3ac43f 8309746: Reconfigure check should include make/conf/version-numbers.conf
Reviewed-by: mbaesken
Backport-of: 955fc2faba
2023-10-27 12:01:04 +07:00
Ralf Schmelter
cecfce6e22 8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
Backport-of: 728157fa03
2023-10-27 12:01:03 +07:00
Goetz Lindenmaier
a059c127cd 8307526: [JFR] Better handling of tampered JFR repository
Reviewed-by: lucy
Backport-of: 66d2736521
2023-10-27 12:01:03 +07:00
Goetz Lindenmaier
361857b5bb 8301367: Add exception handler method to the BaseLdapServer
Backport-of: 03b23a1e1b
2023-10-27 12:01:03 +07:00
Goetz Lindenmaier
b1227ef183 8299617: CurrencySymbols.properties is missing the copyright notice
Backport-of: d5b80abcbf
2023-10-27 12:01:03 +07:00
Goetz Lindenmaier
2d0a81f4f1 8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
Backport-of: 82561de722
2023-10-27 12:01:03 +07:00
Goetz Lindenmaier
6478c6ad1b 8293177: Verify version numbers in legal files
Backport-of: 69ede5baed
2023-10-27 12:01:02 +07:00
Goetz Lindenmaier
dee915d53a 8289510: Improve test coverage for XPath Axes: namespace
Backport-of: 3d254d3c8e
2023-10-27 12:01:02 +07:00
i556354
daa2dae2b3 8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java
Backport-of: 2ef9767aae
2023-10-27 12:01:02 +07:00
i556354
bbdf0dfa94 8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out
Backport-of: 14df5c130e
2023-10-27 12:01:02 +07:00
Aleksey Shipilev
6ccbc876e8 8296796: Provide clean, platform-agnostic interface to C-heap trimming
Reviewed-by: stuefe
Backport-of: 0845b39caf
2023-10-27 12:01:01 +07:00
Matthias Baesken
1c733a7903 8311285: report some fontconfig related environment variables in hs_err file
Backport-of: 0ef03f1228
2023-10-27 12:01:01 +07:00
Goetz Lindenmaier
bfb33f5abd 8301269: Update Commons BCEL to Version 6.7.0
Reviewed-by: mdoerr
Backport-of: 6a44120a16
2023-10-27 12:01:01 +07:00
Feilong Jiang
d9804ce3e2 8312511: GHA: Bump cross-compile runner to Ubuntu 22.04
Reviewed-by: shade
2023-10-27 12:01:01 +07:00
Nagata, Haruhito
58cfe90d72 8302161: Upgrade jQuery UI to version 1.13.2
8293180: JQuery UI license file not updated

Reviewed-by: mdoerr
Backport-of: 404d5bddb9
2023-10-27 12:01:00 +07:00
Goetz Lindenmaier
976fb27db2 8305670: Performance regression in LockSupport.unpark with lots of idle threads
Reviewed-by: mdoerr
Backport-of: f030937a51
2023-10-27 12:01:00 +07:00
Goetz Lindenmaier
ffce869afb 8292683: Remove BadKeyUsageTest.java from Problem List
Backport-of: df5209e70f
2023-10-27 12:01:00 +07:00
Goetz Lindenmaier
649e732c17 8275662: remove test/lib/sun/hotspot
Reviewed-by: mdoerr
Backport-of: 0c37008917
2023-10-27 12:01:00 +07:00
Goetz Lindenmaier
cd2be3e401 8281717: Cover logout method for several LoginModule
8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile

Reviewed-by: mdoerr
Backport-of: fbb8ca55a8
2023-10-27 12:00:59 +07:00
Ben Taylor
030304d030 8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
Reviewed-by: simonis
Backport-of: caadad4fdc
2023-10-27 12:00:59 +07:00
Roman Kennke
0a4fbb7d0f 8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
Reviewed-by: phh
Backport-of: 65ca0a5776
2023-10-27 12:00:59 +07:00
Roman Kennke
7899aedb80 8275415: Prepare Leak Profiler for Lilliput
Backport-of: c41ce6d159
2023-10-27 12:00:59 +07:00
Martin Doerr
2664fa95f9 8306881: Update FreeType to 2.13.0
Backport-of: 723582c524
2023-10-27 12:00:58 +07:00
George Adams
adc0ffa4df 8286623: Bundle zlib by default with JDK on macos aarch64
Backport-of: c3bade2e08
2023-10-27 12:00:58 +07:00
Goetz Lindenmaier
2b333e0ba2 8295894: Remove SECOM certificate that is expiring in September 2023
Reviewed-by: lucy
Backport-of: fd7fddb6ed
2023-10-27 12:00:58 +07:00
Goetz Lindenmaier
336a0056d6 8312029: Add CriticalNative tests to ProblemList for 8312028
Reviewed-by: lucy
2023-10-27 12:00:58 +07:00
Goetz Lindenmaier
6849e674a3 8308803: Improve java/util/UUID/UUIDTest.java
Backport-of: 4460429d7a
2023-10-27 12:00:57 +07:00
Goetz Lindenmaier
e60ea32272 8302736: Major performance regression in Math.log on aarch64
Reviewed-by: lucy
Backport-of: 466ec300fc
2023-10-27 12:00:57 +07:00
Goetz Lindenmaier
1bbbedeada 8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout
Backport-of: 4f355c3525
2023-10-27 12:00:57 +07:00
Goetz Lindenmaier
29c2cadad6 8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out
Backport-of: f22d157e55
2023-10-27 12:00:57 +07:00
Goetz Lindenmaier
760c3b08de 8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java
Backport-of: f45b01f883
2023-10-27 12:00:57 +07:00
Goetz Lindenmaier
fce05c10de 8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList
Reviewed-by: phh
Backport-of: ceca198ef2
2023-10-27 12:00:56 +07:00
Goetz Lindenmaier
5f32318ece 8307067: remove broken EnableThreadSMRExtraValidityChecks option
Backport-of: 5e26e64cbf
2023-10-27 12:00:56 +07:00
Ben Taylor
f5cd7dac1c 8308283: Build failure with GCC12 & GCC13
Reviewed-by: phh
Backport-of: bfc3ccd90d
2023-10-27 12:00:56 +07:00
Goetz Lindenmaier
a1b60326ae 8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
Backport-of: bc0379ea1a
2023-10-27 12:00:56 +07:00
Goetz Lindenmaier
51e639de8b 8297923: java.awt.ScrollPane broken after multiple scroll up/down
8310054: ScrollPane insets are incorrect
8311689: Wrong visible amount in Adjustable of ScrollPane

Backport-of: ea41907396
2023-10-27 12:00:56 +07:00
Vladimir Kempik
4a0c672972 8311862: RISC-V: small improvements to shift immediate instructions
Backport-of: f3b96f6937
2023-10-27 12:00:55 +07:00
Ben Taylor
11e939c33d 8307147: [x86] Dangling pointer warning for Assembler::_attributes
Reviewed-by: phh
Backport-of: 3599448ad8
2023-10-27 12:00:55 +07:00
Ben Taylor
e202d5bdc4 8289512: Fix GCC 12 warnings for adlc output_c.cpp
Backport-of: a8fe2d97a2
2023-10-27 12:00:55 +07:00
Jenny Shivayogi
f6fd10fb13 8306060: Open source few AWT Insets related tests
Backport-of: 9a68d1d952
2023-10-27 12:00:55 +07:00
Goetz Lindenmaier
7c205b8265 8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
Reviewed-by: roland
Backport-of: 4a9cc8a000
2023-10-27 12:00:54 +07:00
Goetz Lindenmaier
df54fc2b4f 8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication
Reviewed-by: mdoerr
2023-10-27 12:00:54 +07:00
Goetz Lindenmaier
e735ef34dd 8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
Reviewed-by: roland
Backport-of: dfd3da3f52
2023-10-27 12:00:54 +07:00
Chad Rakoczy
f242f345e6 8307555: Reduce memory reads in x86 MD5 intrinsic
Backport-of: 43c8c650af
2023-10-27 12:00:54 +07:00
Goetz Lindenmaier
8665148031 8310259: Pin msys2/setup-msys2 github action to a specific commit
Reviewed-by: mbaesken
Backport-of: 959a61fdd4
2023-10-27 12:00:54 +07:00
Goetz Lindenmaier
ae2f8953cc 8308192: Error in parsing replay file when staticfield is an array of single dimension
Backport-of: d3feedf511
2023-10-27 12:00:53 +07:00
Goetz Lindenmaier
29c06a3d12 8301097: Update GHA XCode to 12.5.1
Backport-of: b8e5abc1e8
2023-10-27 12:00:53 +07:00
Dhamoder Nalla
66890ca8fc 8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
Backport-of: 749d480193
2023-10-27 12:00:53 +07:00
Xin Liu
00e798796d 8267517: async logging for stdout and stderr
Reviewed-by: shade
Backport-of: 7aff03aee1
2023-10-27 12:00:53 +07:00
Goetz Lindenmaier
016bf1512e 8292716: Configure should check that jtreg is of the required version
8292763: JDK-8292716 breaks configure without jtreg

Reviewed-by: shade
Backport-of: 486f90c134
2023-10-27 12:00:53 +07:00
Goetz Lindenmaier
4229803e78 8303154: Investigate and improve instruction cache flushing during compilation
Backport-of: b7945bc9e5
2023-10-27 12:00:45 +07:00
Sergey Nazarkin
b9b9712c4f 8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes
8284997: arm32 build crashes since JDK-8283326
8285675: Temporary fix for arm32 SafeFetch

Reviewed-by: stuefe
Backport-of: 26c03c1860
2023-10-27 12:00:22 +07:00
Sergey Nazarkin
99eaf631c5 8283326: Implement SafeFetch statically
Reviewed-by: stuefe
Backport-of: bdf8a2a205
2023-10-27 12:00:17 +07:00
Fei Yang
3c72938d54 8276799: Implementation of JEP 422: Linux/RISC-V Port
8282306: os::is_first_C_frame(frame*) crashes on invalid link access
8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
8283865: riscv: Break down -XX:+UseRVB into seperate options for each bitmanip extension
8284068: riscv: should call Atomic::release_store in JavaThread::set_thread_state
8284937: riscv: should not allocate special register for temp
8285303: riscv: Incorrect register mask in call_native_base
8287418: riscv: Fix correctness issue of MacroAssembler::movptr
8297644: RISC-V: Compilation error when shenandoah is disabled
8291952: riscv: Remove PRAGMA_NONNULL_IGNORED
8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
8285699: riscv: Provide information when hitting a HaltNode
8285711: riscv: RVC: Support disassembler show-bytes option
8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
8287552: riscv: Fix comment typo in li64
8287970: riscv: jdk/incubator/vector/*VectorTests failing
8290137: riscv: small refactoring for add_memory_int32/64
8290164: compiler/runtime/TestConstantsInError.java fails on riscv
8290496: riscv: Fix build warnings-as-errors with GCC 11
8291893: riscv: remove fence.i used in user space
8291947: riscv: fail to build after JDK-8290840
8292867: RISC-V: Simplify weak CAS return value handling
8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
8293474: RISC-V: Unify the way of moving function pointer
8293524: RISC-V: Use macro-assembler functions as appropriate
8293566: RISC-V: Clean up push and pop registers
8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
8294086: RISC-V: Cleanup InstructionMark usages in the backend
8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
8294366: RISC-V: Partially mark out incompressible regions
8294430: RISC-V: Small refactoring for movptr_with_offset
8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
8294679: RISC-V: Misc crash dump improvements
8295110: RISC-V: Mark out relocations as incompressible
8295270: RISC-V: Clean up and refactoring for assembler functions
8295396: RISC-V: Cleanup useless CompressibleRegions
8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
8296435: RISC-V: Small refactoring for increment/decrement
8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
8296602: RISC-V: improve performance of copy_memory stub
8296771: RISC-V: C2: assert(false) failed: bad AD file
8296916: RISC-V: Move some small macro-assembler functions to header file
8297359: RISC-V: improve performance of floating Max Min intrinsics
8297697: RISC-V: Add support for SATP mode detection
8301067: RISC-V: better error message when reporting unsupported satp modes
8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension
8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
8300109: RISC-V: Improve code generation for MinI/MaxI nodes
8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler
8301153: RISC-V: pipeline class for several instructions is not set correctly
8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule
8301628: RISC-V: c2 fix pipeline class for several instructions
8301818: RISC-V: Factor out function mvw from MacroAssembler
8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818
8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed
8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible
8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1
8305006: Use correct register in riscv_enc_fast_unlock()
8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp
8305112: RISC-V: Typo fix for RVC description
8305512: RISC-V: Enable RVC extension by default on supported hardware
8305728: RISC-V: Use bexti instruction to do single-bit testing
8306667: RISC-V: Fix storeImmN0 matching rule by using zr register
8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC
8307446: RISC-V: Improve performance of floating point to integer conversion
8307651: RISC-V: stringL_indexof_char instruction has wrong format string
8308089: [riscv-port-jdk17u] Intrinsify Unsafe.storeStoreFence
8308277: RISC-V: Improve vectorization of Match.sqrt() on floats
8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit
8309427: [riscv-port-jdk17u] Remove unused RoundDoubleModeV C2 node
8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051
8285630: Fix a configure error in RISC-V cross build
8277417: C1 LIR instruction for load-klass

Reviewed-by: vkempik, goetz, shade, yadongwang, fjiang, luhenry
Backport-of: 5905b02c0e
2023-10-27 12:00:14 +07:00
Goetz Lindenmaier
8de36023e8 8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
Backport-of: 7f313b0cef
2023-10-27 11:54:46 +07:00
Goetz Lindenmaier
a51a4ad6f6 8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
Backport-of: 1f521a1204
2023-10-27 11:54:46 +07:00
Fei Yang
b304826543 8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
Backport-of: 5e196b4b8e
2023-10-27 11:54:45 +07:00
Feilong Jiang
9873d8926a 8283929: GHA: Add RISC-V build config
Reviewed-by: vkempik
Backport-of: 85d4b49151
2023-10-27 11:54:45 +07:00
i556354
e494a1e3e9 8305421: Work around JDK-8305420 in CDSJDITest.java
Backport-of: 9ce5fdc962
2023-10-27 11:54:45 +07:00
Jenny Shivayogi
20ecf88607 8306566: Open source several clipboard AWT tests
Backport-of: 136dad7197
2023-10-27 11:54:45 +07:00
Jenny Shivayogi
2de1188278 8306076: Open source AWT misc tests
Backport-of: f7d45b85a5
2023-10-27 11:54:45 +07:00
i556354
24f15fea22 8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3
Backport-of: 4900517479
2023-10-27 11:54:44 +07:00
Yi-Fan Tsai
ef4eac5872 8299158: Improve MD5 intrinsic on AArch64
Reviewed-by: phh
Backport-of: c6588d5bb3
2023-10-27 11:54:44 +07:00
Goetz Lindenmaier
240666d3d7 8306718: Optimize and opensource some old AWT tests
Backport-of: 9beae21864
2023-10-27 11:54:44 +07:00
Goetz Lindenmaier
f73d6eb5bf 8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled
Reviewed-by: phh
Backport-of: 1f9f8738f3
2023-10-27 11:54:44 +07:00
Goetz Lindenmaier
0047e64e53 8306137: Open source several AWT ScrollPane related tests
Backport-of: 4becb7bcb6
2023-10-27 11:54:43 +07:00
Matthias Baesken
1c67e2e7fe 8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
Backport-of: 7da3f1999f
2023-10-27 11:54:43 +07:00
Alexey Bakhtin
9e74ce31cb 8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
Reviewed-by: phh
Backport-of: 26b111d714
2023-10-27 11:54:43 +07:00
Goetz Lindenmaier
155ed2c2db 8306765: Some client related jtreg problem list entries are malformed
Backport-of: 36d61c3106
2023-10-27 11:54:43 +07:00
Aleksey Shipilev
2cd1255590 8278141: LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op
Backport-of: 0e7b6bcd82
2023-10-27 11:54:43 +07:00
Aleksey Shipilev
7b9a78919b 8277860: PPC: Remove duplicate info != NULL check
Backport-of: ce0234b47d
2023-10-27 11:54:42 +07:00
Sergey Nazarkin
a3959ecde2 8304725: AsyncGetCallTrace can cause SIGBUS on M1
Backport-of: d8af7a6014
2023-10-27 11:54:42 +07:00
Goetz Lindenmaier
7a75b57e6e 6176679: Application freezes when copying an animated gif image to the system clipboard
Backport-of: 6c71859ac2
2023-10-27 11:54:42 +07:00
Goetz Lindenmaier
27e1c286d9 8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
Backport-of: b54c4a33c6
2023-10-27 11:54:42 +07:00
Goetz Lindenmaier
62b6cf5eff 8304314: StackWalkTest.java fails after CODETOOLS-7903373
Backport-of: d5a150706e
2023-10-27 11:54:41 +07:00
Aleksey Shipilev
5fa6e6a033 8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection
Reviewed-by: ogillespie, phh
Backport-of: 540c706bbc
2023-10-27 11:54:41 +07:00
Aleksey Shipilev
549f3fb27e 8311249: Remove unused MemAllocator::obj_memory_range
Reviewed-by: phh
Backport-of: 711cddd899
2023-10-27 11:54:41 +07:00
Aleksey Shipilev
8044629e34 8268852: AsyncLogWriter should not overide is_Named_thread()
Backport-of: 02c9bf087e
2023-10-27 11:54:41 +07:00
Chad Rakoczy
7b62ff3fd5 8307299: Move more DnD tests to open
Backport-of: 950c5df859
2023-10-27 11:54:41 +07:00
Chad Rakoczy
0b054a0290 8307083: Open source some drag and drop tests 3
Backport-of: 1b154e4fd3
2023-10-27 11:54:40 +07:00
Chad Rakoczy
99cdd2f2ef 8306812: Open source several AWT Miscellaneous tests
Backport-of: c494770ca0
2023-10-27 11:54:40 +07:00
Goetz Lindenmaier
00de4bb9f4 8289547: Update javax/swing/Popup/TaskbarPositionTest.java
Backport-of: d73fc70ea2
2023-10-27 11:54:40 +07:00
Goetz Lindenmaier
97f13af74a 8307078: Opensource and clean up five more AWT Focus related tests
Backport-of: 6d6f726b74
2023-10-27 11:54:40 +07:00
Goetz Lindenmaier
16db23db92 8306638: Open source some AWT tests related to datatransfer and Toolkit
Backport-of: 2210e06788
2023-10-27 11:54:39 +07:00
Aleksey Shipilev
10a2a9c078 8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper
Reviewed-by: ogillespie, phh
Backport-of: f4dc03ea6d
2023-10-27 11:54:39 +07:00
Aleksey Shipilev
df835e2c53 8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path"
Backport-of: ab638341de
2023-10-27 11:54:39 +07:00
Aleksey Shipilev
3858180a78 8308766: TLAB initialization may cause div by zero
Backport-of: 96ed1392d1
2023-10-27 11:54:39 +07:00
Aleksey Shipilev
91f22e07d0 8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests
Backport-of: 86fed79670
2023-10-27 11:54:39 +07:00
Aleksey Shipilev
1ecf1d0260 8171221: Remove -XX:+CheckMemoryInitialization
Backport-of: 65c8dbe693
2023-10-27 11:54:38 +07:00
Martin Doerr
b66a296e6a 8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
Backport-of: db8fa1be05
2023-10-27 11:54:38 +07:00
Aleksey Shipilev
4dc5c0bde2 8284760: Correct type/array element offset in LibraryCallKit::get_state_from_digest_object()
Backport-of: 2ba5cc4163
2023-10-27 11:54:38 +07:00
Aleksey Shipilev
a589f85116 8270894: Use acquire semantics in ObjectSynchronizer::read_stable_mark()
Reviewed-by: phh, rkennke
Backport-of: f22619032d
2023-10-27 11:54:38 +07:00
Aleksey Shipilev
9df1aa7f95 8270794: Avoid loading Klass* twice in TypeArrayKlass::oop_size()
Backport-of: ea49691f1d
2023-10-27 11:54:37 +07:00
Martin Doerr
0f16f5e1ed 8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
Backport-of: ecf8842cd2
2023-10-27 11:54:37 +07:00
Martin Doerr
95132a6ad8 8293811: Provide a reason for PassFailJFrame.forceFail
Reviewed-by: mbaesken, shade
Backport-of: 64b96e5cf5
2023-10-27 11:54:37 +07:00
Martin Doerr
ef0e8d0cb3 8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
Backport-of: a53be204cb
2023-10-27 11:54:37 +07:00
Christoph Langer
744a629a52 8291444: GHA builds/tests won't run manually if disabled from automatic running
Backport-of: 5c0ff26f32
2023-10-27 11:54:37 +07:00
Matthias Baesken
9404f54f7f 8308872: enhance logging and some exception in krb5/Config.java
Backport-of: 70670b4af6
2023-10-27 11:54:36 +07:00
Goetz Lindenmaier
fe12659fa9 8306135: Clean up and open source some AWT tests
Backport-of: 4ad3ac6317
2023-10-27 11:54:36 +07:00
Goetz Lindenmaier
f4e5850e4f 8306575: Clean up and open source four Dialog related tests
Backport-of: 8d696aea9e
2023-10-27 11:54:36 +07:00
Matthias Baesken
fb5c0737c2 8303047: avoid NULL after 8301661
Backport-of: 221f34634d
2023-10-27 11:54:36 +07:00
Martin Doerr
d21040d07f 8290469: Add new positioning options to PassFailJFrame test framework
Reviewed-by: mbaesken
Backport-of: 568be58e85
2023-10-27 11:54:35 +07:00
Goetz Lindenmaier
c05acd40d3 8306682: Open source a few more AWT Choice tests
Backport-of: f39641ccbd
2023-10-27 11:54:35 +07:00
Goetz Lindenmaier
2cf5654ee7 8306484: Open source several AWT Choice jtreg tests
Backport-of: b5362dadc5
2023-10-27 11:54:35 +07:00
Goetz Lindenmaier
d5a7ee2a1c 8306430: Open source some AWT tests related to TextComponent and Toolkit
Backport-of: 36ec05d52a
2023-10-27 11:54:35 +07:00
Goetz Lindenmaier
63d5737b64 8306372: Open source AWT CardLayout and Checkbox tests
Backport-of: 781d6d793a
2023-10-27 11:54:35 +07:00
Goetz Lindenmaier
aec1dfac6a 8306134: Open source some AWT tests relating to Button and a few other classes
Backport-of: fdb4bafa31
2023-10-27 11:54:34 +07:00
Goetz Lindenmaier
f04b48112b 8289077: Add manual tests to open
Backport-of: 787e16bb44
2023-10-27 11:54:34 +07:00
Goetz Lindenmaier
43511477cd 8301074: Replace NULL with nullptr in share/opto/
Reviewed-by: mdoerr
Backport-of: 5726d31e56
2023-10-27 11:54:34 +07:00
Martin Doerr
9212ba4ae0 8269466: Factor out the common code for initializing and starting internal VM JavaThreads
Reviewed-by: mbaesken
Backport-of: 4107dcf6ec
2023-10-27 11:54:34 +07:00
Martin Doerr
1f796007aa 8297887: Update Siphash
Backport-of: bacf652311
2023-10-27 11:54:33 +07:00
Sergey Bylokhov
75dff458d6 8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
Backport-of: 8ffed34e1d
2023-10-27 11:54:33 +07:00
Aleksey Shipilev
1d7e4b4c2f 8307156: native_thread not protected by TLH
Reviewed-by: phh, mgronlun
Backport-of: 0c6529d2d3
2023-10-27 11:54:33 +07:00
Aleksey Shipilev
158ca1ee70 8290464: Optimize ResourceArea zapping on ResourceMark release
Backport-of: 7841e5cc38
2023-10-27 11:54:33 +07:00
Sergey Bylokhov
71f4d178d8 8295812: Skip the "half float" support in LittleCMS during the build
Backport-of: f0a6e71e4d
2023-10-27 11:54:32 +07:00
Sergey Bylokhov
78d5849301 8308152: PropertyDescriptor should work with overridden generic getter method
Backport-of: 73dd03cc5a
2023-10-27 11:54:32 +07:00
Aleksey Shipilev
bf7a045d90 8310126: C1: Missing receiver null check in Reference::get intrinsic
Backport-of: 02aaab12e3
2023-10-27 11:54:32 +07:00
Aleksey Shipilev
dc43453ace 8305425: Thread.isAlive0 doesn't need to call into the VM
Reviewed-by: phh, mdoerr
Backport-of: 35cb303a2c
2023-10-27 11:54:32 +07:00
Martin Doerr
69751a2601 8289238: Refactoring changes to PassFailJFrame Test Framework
Reviewed-by: mbaesken, phh
Backport-of: 15efb2bdeb
2023-10-27 11:54:32 +07:00
Martin Doerr
6ad6bf56f5 8305950: Have -XshowSettings option display tzdata version
Backport-of: 07f55c5ea2
2023-10-27 11:54:31 +07:00
Martin Doerr
d5e9f01157 8298974: Add ftcolor.c to imported freetype sources
Backport-of: 05f9e7676e
2023-10-27 11:54:10 +07:00
William Kemper
dbfe16fe8b 8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled.
Backport-of: 210a06a287
2023-10-27 11:53:54 +07:00
William Kemper
dcf18fcb33 8277654: Shenandoah: Don't produce new memory state in C2 LRB runtime call
Backport-of: 3d39f09c6c
2023-10-27 11:53:54 +07:00
Martin Doerr
9f8797d59a 8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
Reviewed-by: mbaesken
Backport-of: 9ebcda2165
2023-10-27 11:53:53 +07:00
Martin Doerr
7ef5533527 8303215: Make thread stacks not use huge pages
Backport-of: 59d9d9fcb9
2023-10-27 11:53:53 +07:00
Martin Doerr
327db7a80c 8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone)
Reviewed-by: mbaesken
Backport-of: ca54f4e007
2023-10-27 11:53:53 +07:00
Martin Doerr
bb71072681 8308643: Incorrect value of 'used' jvmstat counter
Backport-of: 92167505b2
2023-10-27 11:53:53 +07:00
Martin Doerr
2fc5a36983 8306281: function isWsl() returns false on WSL2
Backport-of: 9b0baa10b9
2023-10-27 11:53:53 +07:00
Martin Doerr
ca48660c1f 8309613: [Windows] hs_err files sometimes miss information about the code containing the error
Reviewed-by: phh
Backport-of: bd79db3930
2023-10-27 11:53:52 +07:00
Martin Doerr
a8e02b1e74 8153837: AArch64: Handle special cases for MaxINode & MinINode
Backport-of: b3684f4bac
2023-10-27 11:53:52 +07:00
Aleksey Shipilev
16c0f7cb6c 8309862: Unsafe list operations in JfrStringPool
Reviewed-by: mgronlun
Backport-of: 05f896a153
2023-10-27 11:53:52 +07:00
Goetz Lindenmaier
83d46f1f7f 8307301: Update HarfBuzz to 7.2.0
Backport-of: d8b230c384
2023-10-27 11:53:52 +07:00
Goetz Lindenmaier
84ad66e927 8307604: gcc12 based Alpine build broken build after JDK-8307301
Reviewed-by: mdoerr
Backport-of: d2e0e534d7
2023-10-27 11:53:51 +07:00
Goetz Lindenmaier
ed5e0e40f3 8307569: Build with gcc8 is broken after JDK-8307301
Reviewed-by: shade
Backport-of: 64c0962866
2023-10-27 11:53:51 +07:00
Goetz Lindenmaier
3798caac7d 8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
Backport-of: aa5b718933
2023-10-27 11:53:51 +07:00
Martin Doerr
e030cdeb31 8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one
Backport-of: ce493dda90
2023-10-27 11:53:51 +07:00
Martin Doerr
04fbfe3492 8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording
Backport-of: 33d6614150
2023-10-27 11:53:51 +07:00
Martin Doerr
22a3d81001 8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded()
Backport-of: 0025764ec0
2023-10-27 11:53:50 +07:00
Martin Doerr
0b04af7c55 8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
Backport-of: 3c61d5aa48
2023-10-27 11:53:50 +07:00
Martin Doerr
9ef40f244b 8283056: show abstract machine code in hs-err for all VM crashes
Backport-of: 69e4e338b1
2023-10-27 11:53:50 +07:00
William Kemper
109d76c3dc 8267188: gc/stringdedup/TestStringDeduplicationInterned.java fails with Shenandoah
Reviewed-by: phh, shade
Backport-of: 7212561dd1
2023-10-27 11:53:50 +07:00
Martin Doerr
bec69cafd1 8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out
Backport-of: 94ec729faa
2023-10-27 11:53:50 +07:00
Martin Doerr
6ac24be3d2 8274986: max code printed in hs-err logs should be configurable
Reviewed-by: mbaesken
Backport-of: 33050f8013
2023-10-27 11:53:49 +07:00
Martin Doerr
57a841eb14 8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
Backport-of: 6d6046b379
2023-10-27 11:53:49 +07:00
Martin Doerr
151b70ebae 8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
Backport-of: fb6fd03233
2023-10-27 11:53:49 +07:00
Aleksey Shipilev
81ff20a6f0 8293012: ConstantPool::print_on can crash if _cache is NULL
Backport-of: 9424d6d487
2023-10-27 11:53:49 +07:00
Aleksey Shipilev
e5d573dcb3 8309956: Shenandoah: Strengthen the mark word check in string dedup
Backport-of: 57b8251241
2023-10-27 11:53:49 +07:00
Aleksey Shipilev
6ce50fd4b1 8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp
Backport-of: 96a7db7b3c
2023-10-27 11:53:48 +07:00
Martin Doerr
3a1658b072 8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
Backport-of: d07f7c76c5
2023-10-27 11:53:48 +07:00
Martin Doerr
8d6965e831 8272586: emit abstract machine code in hs-err logs
8275031: runtime/ErrorHandling/MachCodeFramesInErrorFile.java fails when hsdis is present
8277102: Dubious PrintCompilation output

Reviewed-by: mbaesken
Backport-of: b60837a7d5
2023-10-27 11:53:48 +07:00
Martin Doerr
881d5bccf0 8289688: jfr command hangs when it processes invalid file
Backport-of: dd9bd31b86
2023-10-27 11:53:48 +07:00
Martin Doerr
40519cebe3 8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
Backport-of: 5264881a15
2023-10-27 11:53:47 +07:00
Aleksey Shipilev
a7be92c795 8306738: Select num workers for safepoint ParallelCleanupTask
Reviewed-by: phh
Backport-of: 672bade522
2023-10-27 11:53:47 +07:00
William Kemper
6577c4d367 8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics
Backport-of: 3675f4c2af
2023-10-27 11:53:47 +07:00
Frederic Thevenet
432619b0c9 8309959: JFR: Display N/A for missing data amount
Reviewed-by: stuefe, sgehwolf
Backport-of: 9872a14192
2023-10-27 11:53:47 +07:00
Aleksey Shipilev
9cce656486 8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32
Backport-of: 7cbf6721dc
2023-10-27 11:53:47 +07:00
Aleksey Shipilev
3be7123745 8295657: SA: Allow larger object alignments
Backport-of: dfd2d83144
2023-10-27 11:53:46 +07:00
Aleksey Shipilev
7539e823a3 8272654: Mark word accesses should not use Access API
Reviewed-by: phh
Backport-of: a81e5e9353
2023-10-27 11:53:46 +07:00
Frederic Thevenet
aca27b241d 8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE
Reviewed-by: stuefe, sgehwolf
Backport-of: a1ab377d99
2023-10-27 11:53:46 +07:00
Aleksey Shipilev
9a6772998e 8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517
Backport-of: 35734ad080
2023-10-27 11:53:46 +07:00
Goetz Lindenmaier
ac878ee469 8305815: Update Libpng to 1.6.39
Backport-of: 14874779ee
2023-10-27 11:53:46 +07:00
Goetz Lindenmaier
7f74d231ec 8292315: Tests should not rely on specific JAR file names (hotspot)
Reviewed-by: phh
Backport-of: 62a7fc60d3
2023-10-27 11:53:45 +07:00
Goetz Lindenmaier
520ff4ec5e 8292316: Tests should not rely on specific JAR file names (jpackage)
Backport-of: 45c3e898ed
2023-10-27 11:53:45 +07:00
Goetz Lindenmaier
ca6c4e9da6 8285756: clean up use of bad arguments for @clean in langtools tests
Backport-of: 3312d8c620
2023-10-27 11:53:45 +07:00
Goetz Lindenmaier
b994b92db5 8286620: Create regression test for verifying setMargin() of JRadioButton
Backport-of: 67f1bd7ff1
2023-10-27 11:53:45 +07:00
Goetz Lindenmaier
b88da2001a 8280396: G1: Full gc mark stack draining should prefer to make work available to other threads
Backport-of: 674a97b27e
2023-10-27 11:53:44 +07:00
Goetz Lindenmaier
39125fb632 8281507: Two javac tests have bad jtreg @clean tags
Backport-of: 86723d4892
2023-10-27 11:53:44 +07:00
Goetz Lindenmaier
c68b540cfb 8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
Backport-of: d64820dfef
2023-10-27 11:53:44 +07:00
Goetz Lindenmaier
ab37b33a35 8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure
8271898: disable os.release_multi_mappings_vm on macOS-X64

Reviewed-by: lucy
Backport-of: d1efb0cc56
2023-10-27 11:53:44 +07:00
Goetz Lindenmaier
bf1b53e3ea 8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing.
Backport-of: 81c56c700a
2023-10-27 11:53:44 +07:00
Scott Gibbons
3c28ee4fcf 8300584: Accelerate AVX-512 CRC32C for small buffers
Reviewed-by: sgibbons, phh
Backport-of: 7c2f77a422
2023-10-27 11:53:43 +07:00
Goetz Lindenmaier
d7ef869226 8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work

Reviewed-by: roland
Backport-of: 97c611d029
2023-10-27 11:53:43 +07:00
Goetz Lindenmaier
3a1e22fca4 8271707: migrate tests to use jdk.test.whitebox.WhiteBox
Reviewed-by: mdoerr
Backport-of: e7795851d2
2023-10-27 11:53:43 +07:00
Matthias Baesken
4838fb5ed2 8309340: Provide sctpHandleSocketErrorWithMessage
Reviewed-by: mdoerr
Backport-of: 3b85f84f02
2023-10-27 11:53:42 +07:00
Goetz Lindenmaier
73991fcd4a 8302150: Speed up compiler/codegen/Test7100757.java
Backport-of: 16a4f02f2d
2023-10-27 11:53:42 +07:00
Goetz Lindenmaier
1b6492bdf3 8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97
Backport-of: 1f438a8a70
2023-10-27 11:53:42 +07:00
Goetz Lindenmaier
cc54dcb3b8 8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java
Backport-of: 7c1ebcc4ce
2023-10-27 11:53:42 +07:00
Goetz Lindenmaier
5702438ba5 8298921: Create a regression test for JDK-8139581
Backport-of: 834e50e9ef
2023-10-27 11:53:41 +07:00
Matthias Baesken
1d8deb3169 8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries
Backport-of: 2bbbff209d
2023-10-27 11:53:41 +07:00
Zdenek Zambersky
5ff3dd2899 8309138: Fix container tests for jdks with symlinked conf dir
Backport-of: ec55539534
2023-10-27 11:53:41 +07:00
Kirill A. Korinsky
8a66233693 8305995: Footprint regression from JDK-8224957
Backport-of: 7551529854
2023-10-27 11:53:41 +07:00
Matthias Baesken
7c48186f37 8308300: enhance exceptions in MappedMemoryUtils.c
Backport-of: 69f508a2ac
2023-10-27 11:53:41 +07:00
Matthias Baesken
3e274dfc51 8309297: Adjust ShenandoahHeap print_heap_regions_on
Backport-of: 9233dcc838
2023-10-27 11:53:40 +07:00
Aleksey Shipilev
5d4ad96faf 8307395: Add missing STS to Shenandoah
Reviewed-by: rkennke
Backport-of: 3968ab5db5
2023-10-27 11:53:40 +07:00
Matthias Baesken
5cf06835c9 8308156: VerifyCACerts.java misses blank in error output
Backport-of: 5a92aae1d9
2023-10-27 11:53:40 +07:00
Ningsheng Jian
688b6da1db 8307572: AArch64: Vector registers are clobbered by some macroassemblers
Reviewed-by: aph
Backport-of: 33d9a85730
2023-10-27 11:53:40 +07:00
Oli Gillespie
e68e2776c8 8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree()
Reviewed-by: shade, stsypanov, phh
Backport-of: 438c969b7b
2023-10-27 11:53:39 +07:00
Matthias Baesken
52bba1c0c0 8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
Backport-of: 1a7b70a8be
2023-10-27 11:53:39 +07:00
Matthias Baesken
329427c598 8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
Backport-of: 0c472c8a4f
2023-10-27 11:53:39 +07:00
Aleksey Shipilev
2054302a8f 8301187: Memory leaks in OopMapCache
Backport-of: e2a3b20ca8
2023-10-27 11:53:39 +07:00
Aleksey Shipilev
bc6017302c 8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc
Backport-of: cac72a6018
2023-10-27 11:53:39 +07:00
Aleksey Shipilev
08358870f5 8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)"
Backport-of: c16eb89ce0
2023-10-27 11:53:38 +07:00
Aleksey Shipilev
7ffb3fe315 8292698: Improve performance of DataInputStream
Backport-of: 74a51ccc86
2023-10-27 11:53:38 +07:00
Goetz Lindenmaier
f2ecc8403f 8309107: Bump update version for OpenJDK: jdk-17.0.9
Reviewed-by: mdoerr
2023-10-27 11:53:38 +07:00
Nikita Gubarkov
e8a05c37cd JBR-6208 Extended glyph cache for Metal 2023-10-27 11:53:24 +07:00
Alexey Ushakov
6bfca27c72 JBR-4983 MacOS Ventura - External monitor lagging
Added extra redraw request
Enabled the fix by default only for M2 and spans displays property enabled (Displays have separate spaces OFF)
2023-10-27 11:52:48 +07:00
Maxim Kartashev
c3498a70a1 JBR-6142 Impossible to move/resize IDE window after restart if several projects were initially opened on secondary monitor
Announce to Mutter that we are "client-decorated" when a Frame is
undecorated by setting _GTK_FRAME_EXTENTS to all zeroes.
This prevents Mutter from applying certain harmful heuristics.
2023-10-27 11:52:10 +07:00
Alexey Ushakov
45ebc497e4 JBR-6132 Crash in [MTLLayer blitTexture] when MTL_DEBUG_LAYER enabled
Blit operation should not be performed on textures with MTLTextureUsageRenderTarget only, so changing framebufferOnly to NO
2023-10-27 11:51:18 +07:00
Aleksey Shipilev
7b615c90bc 8277417: C1 LIR instruction for load-klass
Backport-of: 99e4bda303
2023-10-27 11:50:18 +07:00
Dmitrii Morskii
5ecc4579a3 JBR-5502: optimize stringWidth & charsWidth methods of FontDesignMetrics 2023-10-27 11:46:00 +07:00
Dmitrii Morskii
501cdee185 fixup! JBR-1775: improved logic for choosing newer font between system and bundled ones 2023-10-27 11:37:28 +07:00
Dmitrii Morskii
5ab913a476 JBR-1775: improved logic for choosing newer font between system and bundled ones 2023-10-27 11:37:20 +07:00
Vitaly Provodin
ec456786bd JBR-6130 add VK_TAB release action 2023-09-29 01:32:45 +04:00
Vitaly Provodin
cead48a33b update exclude list on results of 17.0.8.1_b1000.32 test runs 2023-09-29 00:49:31 +04:00
Ben Taylor
06bb4772b5 8313765: Invalid CEN header (invalid zip64 extra data field size)
Reviewed-by: simonis
Backport-of: 13f6450e2e
2023-09-16 06:23:40 +07:00
Ben Taylor
37a9fb3ba4 8314677: Bump update version for OpenJDK: jdk-17.0.8.1
Reviewed-by: simonis, goetz
2023-09-16 06:23:40 +07:00
Vitaly Provodin
16648a6daf update exclude list on results of 17.0.8_b1000.22 test runs 2023-09-05 06:03:27 +07:00
Sergei Tachenov
e7641e14ca JBR-5824 Ensure popup menus are on the correct screen
This is a very old bug, JDK-6415065.

What happens here is that when the position
of a popup menu is calculated, it can expand
above or below, depending on the position
of the parent menu, the item being expanded
and the size of the submenu and screen resolution.

If the menu decides to expand above,
the position calculation in JMenu.getPopupMenuOrigin
may yield a coordinate above the current screen.
Later, JPopupMenu.adjustPopupLocationToFitScreen
tries to fit the entire menu into the screen.
However, it has no idea which screen is correct,
as all it has is an (x, y) location. If that
location is invalid, it may correct it by
fitting it into the screen. However, if it is
valid, but located on an incorrect screen,
then the whole logic goes awry and the menu
is fitted into the wrong screen.

Fix by pre-adjusting the Y location to fit
into the correct screen in JMenu.getPopupMenuOrigin,
where the correct screen is still known.
The resulting location may still not be final,
as the menu's height needs to be taken into
account as well, but that's exactly what
JPopupMenu.adjustPopupLocationToFitScreen does.
Since the coordinate is on the correct screen now,
it fits the menu into the same screen, which
guarantees it'll be the correct one.
2023-09-02 18:09:28 +07:00
Vitaly Provodin
a64a0e009e JBR-6008 Update JetBrains Mono fonts to v2.304 2023-09-02 05:57:25 +07:00
Vitaly Provodin
01a600a696 update exclude list on results of 17.0.8_b1000.8 test runs 2023-08-12 06:36:28 +07:00
Dmitrii Morskii
1554194d10 JBR-5724: fixed serialization and backward compatibility of Font 2023-08-04 10:30:59 +07:00
bourgesl
536e95f387 fixup! JBR-5625: use sun.java2d.metal.colorMatching=true by default (current metal behaviour) 2023-08-04 10:30:59 +07:00
Vitaly Provodin
ebc19eb26f update exclude list on results of 17.0.7_b1000.7 test runs 2023-08-03 05:36:08 +07:00
Christoph Langer
0523885037 8311467: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.8
Reviewed-by: goetz
2023-08-01 11:31:50 +07:00
Andrew Haley
98ba6a7c1d 8308682: Enhance AES performance
Reviewed-by: adinn
Backport-of: ff9eac237d434b51e22ae55cf95595731a2e676c
2023-08-01 11:29:31 +07:00
Martin Balao
2c941978cc 8305312: Enhanced path handling
Reviewed-by: yan
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-08-01 11:29:31 +07:00
Martin Balao
00d9eebaf3 8304468: Better array usages
Reviewed-by: mbaesken
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-08-01 11:29:31 +07:00
Martin Balao
b8e61d81bc 8304460: Improve array usages
Reviewed-by: yan
Backport-of: 45a4e33d424fa953ce40edd9cff023f8bb0d04e1
2023-08-01 11:29:31 +07:00
Aleksei Voitylov
0066d331c1 8303376: Better launching of JDI
Reviewed-by: yan, mbalao
Backport-of: 96cae3b3bc39898a60071369f8264e8503df32a0
2023-08-01 11:29:30 +07:00
Yuri Nesterenko
bd93b999e7 8302483: Enhance ZIP performance
Reviewed-by: mbalao
Backport-of: 05661fdcb4ced0c7c2e9eab3464c2447f38c94c3
2023-08-01 11:29:30 +07:00
Ekaterina Vergizova
ab80631c56 8302475: Enhance HTTP client file downloading
Reviewed-by: mbalao
Backport-of: 1d26da2ef83de0c76f3c4b85c98c6c30d2e3aaf3
2023-08-01 11:29:30 +07:00
Alexei Voitylov
0381848928 8300596: Enhance Jar Signature validation
Reviewed-by: yan, mbalao
Backport-of: a099d8bf015950db7f0b0ca792e4a9dc951a15cf
2023-08-01 11:29:30 +07:00
Aleksei Voitylov
a1ea08d082 8300285: Enhance TLS data handling
Reviewed-by: yan, mbalao
Backport-of: 3d6dc4022049fb83b92ba94150ba2c073de88892
2023-08-01 11:29:30 +07:00
Sergey Bylokhov
ba700bf5e2 8298676: Enhanced Look and Feel
Reviewed-by: mbalao
Backport-of: 932ee4043e4a4a262a4c0b747f1367858f55198e
2023-08-01 11:29:29 +07:00
Roman Marchenko
8328b7882f 8296565: Enhanced archival support
Reviewed-by: mbalao
Backport-of: 4706e8d4a2e7df021085933f3b3e96a26385a449
2023-08-01 11:29:29 +07:00
Olga Mikhaltsova
512940c91c 8294323: Improve Shared Class Data
Reviewed-by: mbalao
Backport-of: a231b27b7bbd03b5c439583b278f045c8b84f55f
2023-08-01 11:29:29 +07:00
Christoph Langer
27e18630fa 8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
Backport-of: ac41c03003
2023-08-01 11:29:29 +07:00
Severin Gehwolf
b2530af52a 8308884: [17u/11u] Backout JDK-8297951
This reverts commit 08e30d0b37

Reviewed-by: shade
2023-08-01 11:29:28 +07:00
Goetz Lindenmaier
f7b92672a9 8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable
Backport-of: bf439f8c93
2023-08-01 11:29:28 +07:00
Goetz Lindenmaier
bbe3bc4f03 8308880: [17u] micro bench ZoneStrings missed in backport of 8278434
Reviewed-by: shade
2023-08-01 11:29:28 +07:00
Aleksey Shipilev
7b8984970b 8293492: ShenandoahControlThread missing from hs-err log and thread dump
Reviewed-by: phh
Backport-of: 85ec1f8d02
2023-08-01 11:29:28 +07:00
Aleksey Shipilev
68fc85d8b0 8301637: ThreadLocalRandom.current().doubles().parallel() contention
Backport-of: cf6b9eb8c8
2023-08-01 11:29:28 +07:00
Aleksey Shipilev
933b7866ec 8293295: Add type check asserts to java_lang_ref_Reference accessors
Reviewed-by: phh
Backport-of: 32f4dc8403
2023-08-01 11:29:27 +07:00
Aleksey Shipilev
8c3d09346b 8294183: AArch64: Wrong macro check in SharedRuntime::generate_deopt_blob
Backport-of: f3ba332fdc
2023-08-01 11:29:27 +07:00
Ningsheng Jian
26b7f1baac 8274243: Implement fast-path for ASCII-compatible CharsetEncoders on aarch64
Backport-of: ddddec7d74
2023-08-01 11:29:27 +07:00
Alexey Bakhtin
989578aede 8303809: Dispose context in SPNEGO NegotiatorImpl
Backport-of: 10f1674625
2023-08-01 11:29:27 +07:00
Andrew John Hughes
167debbf9b 8301119: Support for GB18030-2022
Reviewed-by: sgehwolf
Backport-of: a253b46021
2023-08-01 11:29:26 +07:00
Aleksey Shipilev
7288d1acbb 8286331: jni_GetStringUTFChars() uses wrong heap allocator
Backport-of: b0d2b0a355
2023-08-01 11:29:26 +07:00
Aleksey Shipilev
3c05073f2e 8286346: 3-parameter version of AllocateHeap should not ignore AllocFailType
Backport-of: 64b05ccbed
2023-08-01 11:29:26 +07:00
Matthias Baesken
b21e76c508 8301661: Enhance os::pd_print_cpu_info on macOS and Windows
Backport-of: 9145670354
2023-08-01 11:29:26 +07:00
Aleksey Shipilev
314b3c1ff9 8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
Backport-of: c0623972cf
2023-08-01 11:29:26 +07:00
Aleksey Shipilev
1ffa92570e 8283520: JFR: Memory leak in dcmd_arena
Backport-of: 6a8be358d2
2023-08-01 11:29:25 +07:00
Victor Rudometov
2e5ade47fc 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-08-01 11:29:25 +07:00
Aleksey Shipilev
2209cea51d 8294717: (bf) DirectByteBuffer constructor will leak if allocating Deallocator or Cleaner fails with OOME
Backport-of: 4cbac40de9
2023-08-01 11:29:25 +07:00
Alexey Pavlyutkin
9a3e32722b 8300939: sun/security/provider/certpath/OCSP/OCSPNoContentLength.java fails due to network errors
Reviewed-by: goetz
Backport-of: da044dd569
2023-08-01 11:29:25 +07:00
Aleksey Shipilev
fce2f03a87 8275287: Relax memory ordering constraints on updating instance class and array class counters
Backport-of: 002c538bc0
2023-08-01 11:29:25 +07:00
Arno Zeller
08b1570b0f 8307347: serviceability/sa/ClhsdbDumpclass.java could leave files owned by root on macOS
Backport-of: 5c7ede94ae
2023-08-01 11:29:24 +07:00
Aleksey Shipilev
408a0edb58 8274615: Support relaxed atomic add for linux-aarch64
Reviewed-by: aph
Backport-of: 8de26361f7
2023-08-01 11:29:24 +07:00
Matthias Baesken
b07dc5d52e 8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed
Backport-of: d43a5a289f
2023-08-01 11:29:24 +07:00
Aleksey Shipilev
92c0a0827e 8227060: Optimize safepoint cleanup subtask order
Reviewed-by: phh
Backport-of: 96a542feb2
2023-08-01 11:29:24 +07:00
Victor Rudometov
5602a2aad5 8306640: Open source several AWT TextArea related tests
Backport-of: 169a7c27a7
2023-08-01 11:29:23 +07:00
Goetz Lindenmaier
f20f5ea0ee 8308554: [17u] Fix commit of 8286191. vm.musl was not removed from ExternalEditorTest
Reviewed-by: shade
2023-08-01 11:29:23 +07:00
Victor Rudometov
20dfd1ab44 8306752: Open source several container and component AWT tests
Backport-of: 88d9ebf8e8
2023-08-01 11:29:23 +07:00
Victor Rudometov
f98fe08312 8306755: Open source few Swing JComponent and AbstractButton tests
Backport-of: f3e8bd1d11
2023-08-01 11:29:23 +07:00
Victor Rudometov
26d80aae86 8306683: Open source several clipboard and color AWT tests
Backport-of: 1c2dadc31e
2023-08-01 11:29:23 +07:00
Victor Rudometov
dc7361ce67 8306652: Open source AWT MenuItem related tests
Backport-of: ed1ebd242a
2023-08-01 11:29:22 +07:00
Victor Rudometov
7f12ca4491 8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests
Backport-of: 732179ca84
2023-08-01 11:29:22 +07:00
Victor Rudometov
6a8d8d48b9 8306850: Open source AWT Modal related tests
Backport-of: 41ba05e450
2023-08-01 11:29:22 +07:00
Victor Rudometov
118042d44a 8306072: Open source several AWT MouseInfo related tests
Backport-of: 44d9f55d0b
2023-08-01 11:29:22 +07:00
Victor Rudometov
f33f126726 8307080: Open source some more JComboBox jtreg tests
Backport-of: b8de39431d
2023-08-01 11:29:21 +07:00
Victor Rudometov
564213d772 8306133: Open source few AWT Drag & Drop related tests
Backport-of: ec5c7926f3
2023-08-01 11:29:21 +07:00
Victor Rudometov
4d54dac539 8306681: Open source more AWT DnD related tests
Backport-of: 05af487a2d
2023-08-01 11:29:21 +07:00
Victor Rudometov
7bed18be62 8306955: Open source several JComboBox jtreg tests
Backport-of: 1f689241cf
2023-08-01 11:29:21 +07:00
Victor Rudometov
c81d831366 8306432: Open source several AWT Text Component related tests
Backport-of: 485a0691f4
2023-08-01 11:29:21 +07:00
Victor Rudometov
dcdf194a30 8306954: Open source five Focus related tests
Backport-of: 6d6d00b69c
2023-08-01 11:29:20 +07:00
Jiangli Zhou
5968444e2d 8307134: Add GTS root CAs
Reviewed-by: phh
Backport-of: 03030d47eb
2023-08-01 11:29:20 +07:00
Alexey Pavlyutkin
e6d4d6fd64 8268582: javadoc throws NPE with --ignore-source-errors option
Backport-of: 0dfb3a705d
2023-08-01 11:29:20 +07:00
Aleksey Shipilev
a9e28584bd 8287854: Dangling reference in ClassVerifier::verify_class
Backport-of: 3fa99844a6
2023-08-01 11:29:20 +07:00
Alexey Pavlyutkin
97326c6367 8275233: Incorrect line number reported in exception stack trace thrown from a lambda expression
Backport-of: d7c283a081
2023-08-01 11:29:19 +07:00
Alexey Pavlyutkin
97d5512962 8296343: CPVE thrown on missing content-length in OCSP response
Backport-of: 1a3cb8c501
2023-08-01 11:29:19 +07:00
Aleksey Shipilev
df010cfa49 8261495: Shenandoah: reconsider update references memory ordering
Backport-of: a96012a7af
2023-08-01 11:29:19 +07:00
Aleksey Shipilev
33114e3d15 8297154: Improve safepoint cleanup logging
Backport-of: 086763a629
2023-08-01 11:29:19 +07:00
Victor Rudometov
c580bdce1c 8306753: Open source several container AWT tests
Backport-of: b372f28ad4
2023-08-01 11:29:19 +07:00
William Kemper
8d2c5a0686 8307378: Allow collectors to provide specific values for GC notifications' actions
Reviewed-by: phh
Backport-of: 8f816bbd28f2b771f2b070f49718a492c1a0771a
2023-08-01 11:29:18 +07:00
Christoph Langer
1f8f2cbc79 8284331: Add sanity check for signal handler modification warning.
Reviewed-by: kevinw
Backport-of: 116763cb5d
2023-08-01 11:29:18 +07:00
Christoph Langer
9fd4c6e838 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-08-01 11:29:18 +07:00
Jonathan Dowland
4278a3de24 8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0
Reviewed-by: andrew
Backport-of: 6b9b7d1d92
2023-08-01 11:29:18 +07:00
Victor Rudometov
12316e307b 8306489: Open source AWT List related tests
Backport-of: 82a8e91ef7
2023-08-01 11:29:17 +07:00
Victor Rudometov
8a80f95a84 8307133: Open source some JTable jtreg tests
Backport-of: 5ca0b08a75
2023-08-01 11:29:17 +07:00
Victor Rudometov
3a6fbba45f 8306943: Open source several dnd AWT tests
Backport-of: 2adb3b409e
2023-08-01 11:29:17 +07:00
Victor Rudometov
85338a2f19 8307381: Open Source JFrame, JIF related Swing Tests
Backport-of: 4386d42d31
2023-08-01 11:29:17 +07:00
Victor Rudometov
a41fe9f2c3 8306871: Open source more AWT Drag & Drop tests
Backport-of: b5a48277ab
2023-08-01 11:29:16 +07:00
Victor Rudometov
e003abc3f8 8306941: Open source several datatransfer and dnd AWT tests
Backport-of: 3d3eaed913
2023-08-01 11:29:16 +07:00
Victor Rudometov
4a9f899756 8307130: Open source few Swing JMenu tests
Backport-of: d9052b9466
2023-08-01 11:29:16 +07:00
Oli Gillespie
cfb2c29880 8307346: Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code
Backport-of: 3f1927a7f3
2023-08-01 11:29:16 +07:00
Soumadipta Roy
092aeb0a2e 8307425: Socket input stream read burns CPU cycles with back-to-back poll(0) calls
Reviewed-by: ogillespie, shade
Backport-of: 73ac710533
2023-08-01 11:29:15 +07:00
Victor Rudometov
07ec6f7170 8306996: Open source Swing MenuItem related tests
Backport-of: 73491fa452
2023-08-01 11:29:15 +07:00
ktakakuri
16ff9349d8 8248001: javadoc generates invalid HTML pages whose ftp:// links are broken
Backport-of: bb95dda0ac
2023-08-01 11:29:15 +07:00
Matthias Baesken
c6fcbde52b 8304760: Add 2 Microsoft TLS roots
Reviewed-by: mdoerr
Backport-of: c7e1df8328
2023-08-01 11:29:15 +07:00
Andrei Pangin
6eb7f70d26 8299544: Improve performance of CRC32C intrinsics (non-AVX-512) for small inputs
Reviewed-by: phh
Backport-of: 8c70bf3fff
2023-08-01 11:29:15 +07:00
Martin Doerr
11854bb25b 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-08-01 11:29:14 +07:00
Matthias Baesken
76138e55e8 8305975: Add TWCA Global Root CA
Reviewed-by: mdoerr
Backport-of: 82ccfe3a21
2023-08-01 11:29:14 +07:00
Matthias Baesken
52327833bd 8282201: Consider removal of expiry check in VerifyCACerts.java test
Backport-of: 5b43804b79
2023-08-01 11:29:14 +07:00
Martin Doerr
ebf196ba7f 8305088: SIGSEGV in Method::is_method_handle_intrinsic
Reviewed-by: mbaesken
2023-08-01 11:29:14 +07:00
Matthias Baesken
f2eef89971 8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
Backport-of: 3c7ab80501
2023-08-01 11:29:13 +07:00
Matthias Baesken
c32230d087 8304867: Explicitly disable dtrace for ppc builds
Reviewed-by: clanger
Backport-of: ff368d504e
2023-08-01 11:29:13 +07:00
Goetz Lindenmaier
f7d3c1e0c3 8297587: Upgrade JLine to 3.22.0
Reviewed-by: mbaesken
Backport-of: 4619e8bae8
2023-08-01 11:29:13 +07:00
Richard Reingruber
6198122023 8301216: ForkJoinPool invokeAll() ignores timeout
Reviewed-by: clanger
2023-08-01 11:29:13 +07:00
Goetz Lindenmaier
5b3110e327 8296934: Write a test to verify whether Undecorated Frame can be iconified or not
Backport-of: 7845b0d7b4
2023-08-01 11:29:12 +07:00
Goetz Lindenmaier
d8bf541b6f 8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
Backport-of: 6ccee83958
2023-08-01 11:29:12 +07:00
Andrew Dinn
ec0e08f548 8307331: Correctly update line maps when class redefine rewrites bytecodes
Backport-of: f94f957734
2023-08-01 11:29:12 +07:00
Matthias Baesken
46373fa704 8305993: Add handleSocketErrorWithMessage to extend nio Net.c exception message
Backport-of: ebba42ac52
2023-08-01 11:29:12 +07:00
Guoxiong Li
495c04cffd 8305690: [X86] Do not emit two REX prefixes in Assembler::prefix
Backport-of: 49726ee3a9
2023-08-01 11:29:11 +07:00
Goetz Lindenmaier
fe7b5c795e 8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted
Reviewed-by: shade
Backport-of: ad326fc62b
2023-08-01 11:29:11 +07:00
Goetz Lindenmaier
7e4c4dbc05 8302508: Add timestamp to the output TraceCompilerThreads
Reviewed-by: shade
Backport-of: f813dc7183
2023-08-01 11:29:11 +07:00
Goetz Lindenmaier
1b2c248179 8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter
Backport-of: ea83cb960d
2023-08-01 11:29:11 +07:00
Goetz Lindenmaier
1212cd3b3d 8289509: Improve test coverage for XPath Axes: descendant, descendant-or-self, following, following-sibling
Backport-of: 1961e81e02
2023-08-01 11:29:11 +07:00
Goetz Lindenmaier
c8bf1011de 8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM
Backport-of: 319faa5afc
2023-08-01 11:29:10 +07:00
Goetz Lindenmaier
ec42ef0741 8292990: Improve test coverage for XPath Axes: parent
Backport-of: e393973761
2023-08-01 11:29:10 +07:00
Goetz Lindenmaier
1a52192358 8244976: vmTestbase/nsk/jdi/Event/request/request001.java doesn' initialize eName
Backport-of: 1451642317
2023-08-01 11:29:10 +07:00
Goetz Lindenmaier
69f3266ae8 8286398: Address possibly lossy conversions in jdk.internal.le
Backport-of: e534c133af
2023-08-01 11:29:10 +07:00
Goetz Lindenmaier
ce3a6a77da 8286191: misc tests fail due to JDK-8285987
Reviewed-by: mbaesken
Backport-of: de8f4d01b2
2023-08-01 11:29:09 +07:00
Goetz Lindenmaier
7ada25aacd 8285987: executing shell scripts without #! fails on Alpine linux
Backport-of: 9d2f591e6a
2023-08-01 11:29:09 +07:00
Goetz Lindenmaier
eb0370a6c0 8283057: Update GCC to version 11.2.0 for Oracle builds on Linux
Reviewed-by: mbaesken
Backport-of: 8384ac4ed3
2023-08-01 11:29:09 +07:00
Goetz Lindenmaier
d114a5c195 8275735: [linux] Remove deprecated Metrics api (kernel memory limit)
Backport-of: 9971a2cab3
2023-08-01 11:29:09 +07:00
Tyler Steele
25630fde6c 8304291: [AIX] Broken build after JDK-8301998
Backport-of: 310aa93478
2023-08-01 11:29:08 +07:00
Aleksey Shipilev
f428fc3b92 8306825: Monitor deflation might be accidentally disabled by zero intervals
Backport-of: a6b4f25bd5
2023-08-01 11:29:08 +07:00
Aleksey Shipilev
eb35599647 8306774: Make runtime/Monitor/GuaranteedAsyncDeflationIntervalTest.java more reliable
Reviewed-by: serb, simonis
Backport-of: 9ad6dc881d
2023-08-01 11:29:08 +07:00
Aleksey Shipilev
45c277b5f4 8305994: Guarantee eventual async monitor deflation
Reviewed-by: eastigeevich, simonis
Backport-of: 6b81342c22
2023-08-01 11:29:07 +07:00
Christoph Langer
b2b9053520 8257856: Make ClassFileVersionsTest.java robust to JDK version updates
Reviewed-by: mbaesken
Backport-of: 8b042d14b7
2023-08-01 11:29:07 +07:00
Goetz Lindenmaier
6c716bfd8d 8303508: Vector.lane() gets wrong value on x86
Backport-of: d61de141eb
2023-08-01 11:29:07 +07:00
Goetz Lindenmaier
ee02a91d13 8303069: Memory leak in CompilerOracle::parse_from_line
Backport-of: 384a8b85a7
2023-08-01 11:29:07 +07:00
Goetz Lindenmaier
cdb3e99c64 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
Backport-of: 5e232cf0a9
2023-08-01 11:29:07 +07:00
Goetz Lindenmaier
7b4bd2b1ba 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling
Reviewed-by: shade
Backport-of: 3f2d929dc3
2023-08-01 11:29:06 +07:00
Alexey Pavlyutkin
f76059fa25 8303861: Error handling step timeouts should never be blocked by OnError and others
Reviewed-by: phh, stuefe
Backport-of: a00f5d24d3
2023-08-01 11:29:06 +07:00
Sergey Nazarkin
773268f7c8 8305481: gtest is_first_C_frame failing on ARM
Backport-of: 0243da2e4a
2023-08-01 11:29:06 +07:00
Goetz Lindenmaier
3233699b73 8297955: LDAP CertStore should use LdapName and not String for DNs
8224768: Test ActalisCA.java fails

Backport-of: df9aad018a
2023-08-01 11:29:06 +07:00
Goetz Lindenmaier
a5d07f8f99 8303476: Add the runtime version in the release file of a JDK image
Backport-of: 32247c336a
2023-08-01 11:29:05 +07:00
Goetz Lindenmaier
db827f0134 8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
Backport-of: bc28baeba9
2023-08-01 11:29:05 +07:00
Matthias Baesken
8c00ae12c8 8303822: gtestMain should give more helpful output
Backport-of: 0f26d09da8
2023-08-01 11:29:05 +07:00
Aleksey Shipilev
2ab882191a 8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr
Backport-of: c3ff151457
2023-08-01 11:29:05 +07:00
Christoph Langer
13a35ee4e3 8289735: UTIL_LOOKUP_PROGS fails on pathes with space
8306976: UTIL_REQUIRE_SPECIAL warning on grep

Reviewed-by: mbaesken
Backport-of: bad6aa68e4
2023-08-01 11:29:04 +07:00
Thomas Stuefe
c598bf5c07 8306883: Thread stacksize is reported with wrong units in os::create_thread logging
Backport-of: 27c5c1070a
2023-08-01 11:29:04 +07:00
William Kemper
0b7adf8e4f 8305403: Shenandoah evacuation workers may deadlock
Reviewed-by: shade
Backport-of: 793da60ee8
2023-08-01 11:29:04 +07:00
Goetz Lindenmaier
986efd9310 8303130: Document required Accessibility permissions on macOS
Reviewed-by: dmarkov
Backport-of: a10d5ac61b
2023-08-01 11:29:04 +07:00
Goetz Lindenmaier
9ff1a8fe34 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Backport-of: cd77fcfb5f
2023-08-01 11:29:04 +07:00
Goetz Lindenmaier
cecc2354fa 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Backport-of: 47ca5773a5
2023-08-01 11:29:03 +07:00
Goetz Lindenmaier
bd5cd87914 8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
Reviewed-by: mdoerr
Backport-of: 45e4e00981
2023-08-01 11:29:03 +07:00
Christoph Langer
15935eee6d 8306664: GHA: Update MSVC version to latest stepping
Reviewed-by: shade
2023-08-01 11:29:03 +07:00
Goetz Lindenmaier
e0e9623def 8302595: use-after-free related to GraphKit::clone_map
Reviewed-by: rrich
Backport-of: 3cc459b6c2
2023-08-01 11:29:03 +07:00
Goetz Lindenmaier
a61b9914b3 8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
Backport-of: 2157145766
2023-08-01 11:29:03 +07:00
Goetz Lindenmaier
0f1957cc26 8254711: Add java.security.Provider.getService JFR Event
8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java

Reviewed-by: mbaesken
Backport-of: bc2af47e1e
2023-08-01 11:29:02 +07:00
Anton Kozlov
666880cae5 8306768: CodeCache Analytics reports wrong threshold
Reviewed-by: phh
2023-08-01 11:29:02 +07:00
Aleksey Shipilev
78a9853256 8296545: C2 Blackholes should allow load optimizations
Reviewed-by: mdoerr
Backport-of: eab0ada3a1
2023-08-01 11:29:02 +07:00
Christoph Langer
6ac3d8dae8 8306658: GHA: MSVC installation could be optional since it might already be pre-installed
Backport-of: d980cb4879
2023-08-01 11:29:02 +07:00
Aleksey Shipilev
29ad40603b 8283566: G1: Improve G1BarrierSet::enqueue performance
Reviewed-by: tschatzl
Backport-of: 6ebf845ff7
2023-08-01 11:29:02 +07:00
Aleksey Shipilev
52644a1fa5 8252990: Intrinsify Unsafe.storeStoreFence
Backport-of: b7a06be98d
2023-08-01 11:29:01 +07:00
Goetz Lindenmaier
4f7a036660 8302594: use-after-free in Node::destruct
Backport-of: 2e3cea01da
2023-08-01 11:29:01 +07:00
Goetz Lindenmaier
d0291490e7 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline
Backport-of: 1ef9f6507b
2023-08-01 11:29:01 +07:00
Goetz Lindenmaier
66160a9746 8301338: Identical branch conditions in CompileBroker::print_heapinfo
Reviewed-by: mbaesken
Backport-of: d583767bf1
2023-08-01 11:29:01 +07:00
Goetz Lindenmaier
0eb0e12fb8 8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
Backport-of: da38d43fcc
2023-08-01 11:29:00 +07:00
Aleksey Shipilev
1e44abd901 8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause
Reviewed-by: tschatzl
Backport-of: 3a1fca3adf
2023-08-01 11:29:00 +07:00
Masanori Yano
18b2fd967d 8238274: (sctp) JDK-7118373 is not fixed for SctpChannel
Backport-of: d91e227abb
2023-08-01 11:29:00 +07:00
Goetz Lindenmaier
11be7e3d70 8301998: Update HarfBuzz to 7.0.1
8304295: harfbuzz build fails with GCC 7 after JDK-8301998

Reviewed-by: phh
Backport-of: f5c8b68c1c
2023-08-01 11:28:59 +07:00
Christoph Langer
7cd1c2ca0c 8306543: GHA: MSVC installation is failing
Backport-of: 5a00617b1b
2023-08-01 11:28:59 +07:00
Andrei Pangin
390e3dbf50 8201516: DebugNonSafepoints generates incorrect information
Reviewed-by: thartmann, shade
Backport-of: 94eda53d98
2023-08-01 11:28:59 +07:00
Goetz Lindenmaier
16b54a9a7c 8305400: ISO 4217 Amendment 175 Update
Backport-of: 7cf24d1c06
2023-08-01 11:28:59 +07:00
Goetz Lindenmaier
0aecb6e1a3 8304683: Memory leak in WB_IsMethodCompatible
Backport-of: 760c0128a4
2023-08-01 11:28:59 +07:00
Goetz Lindenmaier
d7ed7de85d 8304134: jib bootstrapper fails to quote filename when checking download filetype
Backport-of: 75168eaca3
2023-08-01 11:28:58 +07:00
Goetz Lindenmaier
527723cb6a 8303482: Update LCMS to 2.15
Backport-of: c073ef2ed5
2023-08-01 11:28:58 +07:00
Goetz Lindenmaier
b13d80f5eb 8303588: [JVMCI] make JVMCI source directories conform with standard layout
Reviewed-by: mdoerr
Backport-of: 9fdbf3cfc4
2023-08-01 11:28:58 +07:00
Goetz Lindenmaier
f6dcfbb573 8302151: BMPImageReader throws an exception reading BMP images
Backport-of: aa10f0d3ee
2023-08-01 11:28:57 +07:00
Goetz Lindenmaier
f650ff4cc2 8178806: Better exception logging in crypto code
Backport-of: b814cfc39d
2023-08-01 11:28:57 +07:00
Goetz Lindenmaier
4ba48b3c48 8301123: Enable Symbol refcounting underflow checks in PRODUCT
Backport-of: fccf818972
2023-08-01 11:28:57 +07:00
Goetz Lindenmaier
a4f8a3a517 8297730: C2: Arraycopy intrinsic throws incorrect exception
Backport-of: 5a478ef775
2023-08-01 11:28:57 +07:00
Goetz Lindenmaier
6e625e5055 8300823: UB: Compile::_phase_optimize_finished is initialized too late
Backport-of: e4252bb914
2023-08-01 11:28:57 +07:00
Goetz Lindenmaier
3dc95e1dfb 8299179: ArrayFill with store on backedge needs to reduce length by 1
Backport-of: d716ec5d30
2023-08-01 11:28:56 +07:00
Goetz Lindenmaier
c439c648e5 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Backport-of: 8b0133f276
2023-08-01 11:28:56 +07:00
Goetz Lindenmaier
757c50eedf 8296318: use-def assert: special case undetected loops nested in infinite loops
Backport-of: 736fcd49f7
2023-08-01 11:28:56 +07:00
Goetz Lindenmaier
531e596f22 8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS
Reviewed-by: mdoerr
Backport-of: 8962c723a8
2023-08-01 11:28:56 +07:00
Goetz Lindenmaier
ef54b3e7b6 8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]"
Backport-of: 9f94cbec51
2023-08-01 11:28:55 +07:00
Goetz Lindenmaier
89f1c5df85 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-08-01 11:28:55 +07:00
Goetz Lindenmaier
e80f44ae7f 8289949: Improve test coverage for XPath: operators
Backport-of: f6b6360155
2023-08-01 11:28:55 +07:00
Goetz Lindenmaier
b6c3e0bfe9 8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
Backport-of: 22347e46f7
2023-08-01 11:28:55 +07:00
Goetz Lindenmaier
2f63205a13 8282704: runtime/Thread/StopAtExit.java may leak memory
Backport-of: 3f923b82c3
2023-08-01 11:28:55 +07:00
Goetz Lindenmaier
d0e5eb5476 8273909: vmTestbase/nsk/jdi/Event/request/request001 can still fail with "ERROR: new event is not ThreadStartEvent"
Backport-of: 5fde4b64e2
2023-08-01 11:28:54 +07:00
Goetz Lindenmaier
196c2044a4 8270434: JDI+UT: Unexpected event in JDI tests
Backport-of: 8c022e2c17
2023-08-01 11:28:54 +07:00
Goetz Lindenmaier
1338c5f7a8 8270869: G1ServiceThread may not terminate
Backport-of: 7f35e5bac9
2023-08-01 11:28:54 +07:00
Goetz Lindenmaier
eb2e6ca435 8268298: jdk/jfr/api/consumer/log/TestVerbosity.java fails: unexpected log message
Backport-of: 06d26208c5
2023-08-01 11:28:54 +07:00
Sergey Bylokhov
ca17123747 8298887: On the latest macOS+XCode the Robot API may report wrong colors
Reviewed-by: phh
Backport-of: 50120396b6
2023-08-01 11:28:54 +07:00
Aleksey Shipilev
a5047d09bd 8269821: Remove is-queue-active check in inner loop of write_ref_array_pre_work
Reviewed-by: tschatzl
Backport-of: 675a9520b2
2023-08-01 11:28:53 +07:00
Goetz Lindenmaier
16183fec21 8299959: C2: CmpU::Value must filter overflow computation against local sub computation
Backport-of: 5f66024e95
2023-08-01 11:28:53 +07:00
Goetz Lindenmaier
32c79fbbb9 8297000: [jib] Add more friendly warning for proxy issues
Backport-of: 0d93ab9dff
2023-08-01 11:28:53 +07:00
Goetz Lindenmaier
b411a1dac6 8295564: Norwegian Nynorsk Locale is missing formatting
Reviewed-by: andrew
Backport-of: b37421e757
2023-08-01 11:28:53 +07:00
Goetz Lindenmaier
ee3709731f 8294906: Memory leak in PKCS11 NSS TLS server
Backport-of: 94caecbe57
2023-08-01 11:28:52 +07:00
Goetz Lindenmaier
f2feb350f2 8292755: Non-default method in interface leads to a stack overflow in JShell
Backport-of: 2a3879180e
2023-08-01 11:28:52 +07:00
Goetz Lindenmaier
4c81226637 8287007: [cgroups] Consistently use stringStream throughout parsing code
Backport-of: e0baf012b1
2023-08-01 11:28:52 +07:00
Goetz Lindenmaier
381a93c6cb 8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider
Backport-of: f235955eef
2023-08-01 11:28:52 +07:00
Jaroslav Bachorik
cb0ec0a541 8245877: assert(_value != __null) failed: resolving NULL _value in JvmtiExport::post_compiled_method_load
Backport-of: b969136b9f
2023-08-01 11:28:52 +07:00
Andrew John Hughes
af0404696f 8305113: (tz) Update Timezone Data to 2023c
Reviewed-by: phh
Backport-of: ed9592c6e8
2023-08-01 11:28:51 +07:00
Goetz Lindenmaier
d5b2d1cab3 8288589: Files.readString ignores encoding errors for UTF-16
Backport-of: 2728770e3d
2023-08-01 11:28:51 +07:00
Thomas Stuefe
203415b972 8305711: Arm: C2 always enters slowpath for monitorexit
Backport-of: c67bbcea92
2023-08-01 11:28:51 +07:00
Joshua Cao
a3f3081c1a 8305721: add make compile-commands artifacts to .gitignore
Reviewed-by: phh
Backport-of: 9e20382311
2023-08-01 11:28:50 +07:00
Andrew John Hughes
9bf2d9cf46 8274864: Remove Amman/Cairo hacks in ZoneInfoFile
Backport-of: ec199072c5
2023-08-01 11:28:50 +07:00
Ilarion Nakonechnyy
6b39ba8997 8302491: NoClassDefFoundError omits the original cause of an error
Reviewed-by: phh
Backport-of: 5685107579
2023-08-01 11:28:50 +07:00
Dan Lutker
7ba44eb96a 8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c
Backport-of: 02ea338177
2023-08-01 11:28:50 +07:00
Dan Lutker
600ed3962e 8294281: Allow warnings to be disabled on a per-file basis
Backport-of: e45f3d5176
2023-08-01 11:28:49 +07:00
Glavo
9176d9fc33 8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling
Reviewed-by: phh
Backport-of: be0538d7c8
2023-08-01 11:28:49 +07:00
Martin Doerr
4f98476c25 8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC
Reviewed-by: rrich
Backport-of: 695683b5b1
2023-08-01 11:28:49 +07:00
Goetz Lindenmaier
d534f0cf9d 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Backport-of: 8dc4437d00
2023-08-01 11:28:49 +07:00
Goetz Lindenmaier
fe2741abb7 8291638: Keep-Alive timeout of 0 should close connection immediately
Backport-of: 26ac836636
2023-08-01 11:28:49 +07:00
Goetz Lindenmaier
2a86f3c2fe 8282227: Locale information for nb is not working properly
Backport-of: 3d07b3c7f0
2023-08-01 11:28:48 +07:00
Goetz Lindenmaier
68e7cc516e 8275721: Name of UTC timezone in a locale changes depending on previous code
Backport-of: 543d1a8cf4
2023-08-01 11:28:48 +07:00
Matthias Baesken
ca70d18530 8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers
Reviewed-by: phh
Backport-of: 63d4afbeb1
2023-08-01 11:28:48 +07:00
Goetz Lindenmaier
ecccd476a0 8291226: Create Test Cases to cover scenarios for JDK-8278067
Backport-of: 86ec158dfb
2023-08-01 11:28:48 +07:00
Goetz Lindenmaier
e279a47cd5 8291637: HttpClient default keep alive timeout not followed if server sends invalid value
Backport-of: b17a745d7f
2023-08-01 11:28:47 +07:00
Goetz Lindenmaier
ccdde2aa98 8287541: Files.writeString fails to throw IOException for charset "windows-1252"
Backport-of: 6fb84e2c91
2023-08-01 11:28:47 +07:00
Goetz Lindenmaier
9488e4fa27 8286287: Reading file as UTF-16 causes Error which "shouldn't happen"
Backport-of: cc7560e995
2023-08-01 11:28:47 +07:00
Goetz Lindenmaier
05953ddfef 8283062: Uninitialized warnings in libgtest with GCC 11.2
Backport-of: a244051a8c
2023-08-01 11:28:47 +07:00
Goetz Lindenmaier
7cfb6d9bbf 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
Backport-of: d7f31d0d53
2023-08-01 11:28:47 +07:00
Goetz Lindenmaier
bc485b26b2 8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()"
Reviewed-by: mbaesken
Backport-of: 0a09092631
2023-08-01 11:28:46 +07:00
Sergey Bylokhov
071ab15a5c 8302849: SurfaceManager might expose partially constructed object
Backport-of: 63ef214328
2023-08-01 11:28:46 +07:00
Sergey Bylokhov
91f5bac716 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Backport-of: a43931b79c
2023-08-01 11:28:46 +07:00
Sergey Bylokhov
1c352a749a 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Reviewed-by: phh
Backport-of: 78b1686c15
2023-08-01 11:28:46 +07:00
Matthias Baesken
588850b5ba 8303575: adjust Xen handling on Linux aarch64
Reviewed-by: clanger
Backport-of: 8eaf84f094
2023-08-01 11:28:45 +07:00
Matthias Baesken
26a091dbbf 8300042: Improve CPU related JFR events descriptions
Backport-of: e326b86d37
2023-08-01 11:28:45 +07:00
Matthias Baesken
561dcd3b18 8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: a7e308ab6e
2023-08-01 11:28:45 +07:00
Goetz Lindenmaier
b734bb8c18 8292301: [REDO v2] C2 crash when allocating array of size too large
Reviewed-by: roland, mdoerr
Backport-of: 1ea0d6b424
2023-08-01 11:28:45 +07:00
Matthias Baesken
62e3bce1a2 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH
Backport-of: ebac7eec8e
2023-08-01 11:28:45 +07:00
Matthias Baesken
b48cddc422 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-08-01 11:28:44 +07:00
Matthias Baesken
8055e84a3c 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: b51ea4204e
2023-08-01 11:28:44 +07:00
Matthias Baesken
48f57cfd4c 8301050: Detect Xen Virtualization on Linux aarch64
Reviewed-by: clanger
Backport-of: 11804b246e
2023-08-01 11:28:44 +07:00
Ravali Yatham
edd59f9beb 8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message
Reviewed-by: mchung, phh
Backport-of: 9f9d678591
2023-08-01 11:28:44 +07:00
Johannes Bechberger
7f1d6507a7 8302320: AsyncGetCallTrace obtains too few frames in sanity test
Backport-of: db483a38a8
2023-08-01 11:28:44 +07:00
Man Cao
6613330f10 8303937: Corrupted heap dumps due to missing retries for os::write()
Reviewed-by: clanger
Backport-of: bf16b5b988
2023-08-01 11:28:43 +07:00
Sergey Bylokhov
5b031eee46 8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
Backport-of: cfb0a25a4e
2023-08-01 11:28:43 +07:00
Sergey Bylokhov
fae31b49b4 8270859: Post JEP 411 refactoring: client libs with maximum covering > 10K
Backport-of: 90cd2fa164
2023-08-01 11:28:43 +07:00
Vladimir Kempik
e0a8f6292b 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures
Backport-of: 6e6202c14d
2023-08-01 11:28:43 +07:00
Goetz Lindenmaier
2f28f0c8f8 8303433: Bump update version for OpenJDK: jdk-17.0.8
Reviewed-by: rrich
2023-08-01 11:28:42 +07:00
Vitaly Provodin
29ac81bd54 update exclude list on results of 17.0.7_b1000.6 test runs 2023-07-10 04:48:23 +07:00
bourgesl
e102369e4d fixup! JBR-5625: use CGColorSpaceCopyName() available since macOS 10.6 in MTLLayer
(cherry picked from commit 4ec4f728f4461a0c173bb80cd3f3c9652f267f4f)
2023-07-08 04:46:06 +07:00
bourgesl
ea759102fc 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-07-08 04:46:01 +07:00
Maxim Kartashev
2f123b232c JBR-5777 isWindowMoveSupported() doesn't work with non-default GraphicsEnvironment
Co-authored-by: Nikita Gubarkov <nikita.gubarkov@jetbrains.com>
2023-07-08 04:45:50 +07:00
Vitaly Provodin
26c2fe6d66 update exclude list on results of 17.0.7_b1000.5 test runs (follow up) 2023-07-07 19:31:19 +07:00
Vitaly Provodin
b1354f6c37 update exclude list on results of 17.0.7_b1000.5 test runs 2023-07-07 07:23:26 +07:00
Vitaly Provodin
1f3dd923f4 fixup! update exclude list on results of 17.0.7_b1000.4 test runs 2023-07-05 05:52:28 +07:00
Vitaly Provodin
8007085d3d update exclude list on results of 17.0.7_b1000.4 test runs 2023-07-03 07:30:38 +07:00
Vitaly Provodin
7b92c7a353 Revert "JBR-1775: improved logic for choosing newer font between system and bundled ones"
This reverts commit fb519006a2.
2023-07-03 05:39:44 +07:00
Vitaly Provodin
cdaa31b140 update exclude list on results of 17.0.7_b1000.2 test runs 2023-07-01 05:44:59 +07:00
Alexey Ushakov
676fe2a2c2 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-07-01 05:44:59 +07:00
Alexey Ushakov
ce5add04c5 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-07-01 05:44:59 +07:00
Maxim Kartashev
148d703217 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-07-01 05:44:59 +07:00
Dmitry Batrak
56335b9951 JBR-5684 Focus state is broken after closing of modal dialog in an inactive application 2023-07-01 05:44:59 +07:00
Nikita Provotorov
210cecfa75 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-07-01 05:44:59 +07:00
Maxim Kartashev
a673bf959d JBR-5761 Make error printing more robust during early stages of VM initialization 2023-07-01 05:44:59 +07:00
Dmitrii Morskii
fb519006a2 JBR-1775: improved logic for choosing newer font between system and bundled ones 2023-07-01 05:44:59 +07:00
Sergey Shelomentsev
7f32dec9bb JBR-5746 wait for menu visibility of fail the test 2023-07-01 05:44:59 +07:00
Vitaly Provodin
8697fd2c78 update exclude list on results of 17.0.7_b985.2 test runs 2023-06-17 04:52:38 +07:00
Vitaly Provodin
13c7da99d8 Revert "8294160: misc crash dump improvements"
This reverts commit 8dd1056831.
2023-06-17 04:52:17 +07:00
1040 changed files with 21718 additions and 31419 deletions

View File

@@ -66,7 +66,7 @@ runs:
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
@@ -74,7 +74,7 @@ runs:
# 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
uses: actions/github-script@v7
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

View File

@@ -65,7 +65,7 @@ runs:
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}

View File

@@ -48,14 +48,14 @@ runs:
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -41,7 +41,7 @@ runs:
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}

View File

@@ -30,8 +30,7 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
# use a specific release of msys2/setup-msys2 to prevent jtreg build failures on newer release
uses: msys2/setup-msys2@7efe20baefed56359985e327d329042cde2434ff
uses: msys2/setup-msys2@v2.22.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal

View File

@@ -69,7 +69,7 @@ runs:
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -61,27 +61,32 @@ jobs:
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://httpredir.debian.org/debian/
debian-version: sid
tolerate-sysroot-errors: true
steps:
- name: 'Checkout the JDK source'
@@ -93,13 +98,6 @@ jobs:
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
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
@@ -120,7 +118,7 @@ jobs:
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
@@ -130,6 +128,7 @@ jobs:
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
id: create-sysroot
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
@@ -140,6 +139,7 @@ jobs:
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
continue-on-error: ${{ matrix.tolerate-sysroot-errors }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
@@ -151,7 +151,12 @@ jobs:
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
rm -rf sysroot/usr/libexec/gcc
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Remove broken sysroot'
run: |
sudo rm -rf sysroot/
if: steps.create-sysroot.outcome != 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
@@ -165,13 +170,13 @@ jobs:
--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-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'
- name: 'Build'
id: build
@@ -179,3 +184,4 @@ jobs:
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'

View File

@@ -130,8 +130,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# 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'
if: needs.select.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
@@ -211,7 +210,6 @@ jobs:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
@@ -338,7 +336,7 @@ jobs:
# 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
uses: actions/github-script@v7
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'

View File

@@ -211,7 +211,7 @@ jobs:
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
@@ -219,7 +219,7 @@ jobs:
# 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
uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

1
.gitignore vendored
View File

@@ -22,4 +22,3 @@ NashornProfile.txt
/.cache
*.class
.idea/workspace.xml
/jbr-api/

View File

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

View File

@@ -9,13 +9,11 @@ It includes a number of enhancements in font rendering, ligatures, HiDPI support
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.3 | [17.0.9b1087.7](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1087.7) | 20-Nov-2023 |
| 2023.2 | [17.0.9b1000.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1000.46) | 01-Nov-2023 |
| 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 |
| 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

View File

@@ -1,274 +0,0 @@
#!/usr/bin/env python3
import argparse
import os.path
import sys
import subprocess
errors_count = 0
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def error(msg):
global errors_count
errors_count += 1
sys.stderr.write(f"[error] {msg}\n")
def verbose(options, *msg):
if options.verbose:
sys.stderr.write(f"[verbose] ")
sys.stderr.write(*msg)
sys.stderr.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show commit differences between branches of JBR git repos",
epilog="Example: %(prog)s --from origin/jbr17 --to jbr17.b469 --path "
"src/hotspot --limit 200")
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git root', required=True)
ap.add_argument('--from', dest='frombranch', help='branch to take commits from', required=True)
ap.add_argument('--to', dest='tobranch', help='branch to apply new commits to', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int,
default=-1)
ap.add_argument('--html', dest="ishtml", help="print out HTML rather than plain text", action='store_true')
ap.add_argument('-o', dest="output", help="print the list of missing commits to this file"
" to be used as exclude list later")
ap.add_argument('--exclude', dest='exclude', help='exclude commits listed in the given file '
'(can use edited -o output file as input here)')
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.frombranch = args.frombranch
self.tobranch = args.tobranch
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.exclude = args.exclude
self.output = args.output
self.ishtml = args.ishtml
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, branch, path=None, limit=None):
cmds = ["log", "--no-decorate", branch]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.fullmessage = ""
self.bugid = ""
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.fullmessage += l.strip() + "\n"
if not read_message and l == "":
read_message = True
if len(self.fullmessage) > 0:
self.message = first_line(self.fullmessage).strip()
t = self.message.split(' ')
if len(t) > 1:
bugid = t[0]
if bugid.startswith("fixup"):
bugid = t[1]
bugid = bugid.strip(":")
if bugid.startswith("JBR-") or bugid.isnumeric():
self.bugid = bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
self.unique_fullmessages = set()
self.duplicates = set()
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
def add_commit(self, commit):
self.commits.append(commit)
if commit.fullmessage in self.unique_fullmessages:
self.duplicates.add(commit.fullmessage)
else:
self.unique_fullmessages.add(commit.fullmessage)
def appears_more_than_once(self, commit):
return commit.fullmessage in self.duplicates
def contains(self, commit):
return commit.fullmessage in self.unique_fullmessages
def size(self):
return len(self.commits)
def print_explanation(options, jbr):
verbose(options, f"Reading history from '{jbr.rootpath}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
if options.limit > 0:
verbose(options, f"\t(up to '{options.limit}' commits)")
verbose(options, f"Searching for missing fixes in '{options.tobranch}' compared with '{options.frombranch}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jbr = GitRepo(options.jbrpath)
print_explanation(options, jbr)
commits_to_save = []
try:
log_from = jbr.log(options.frombranch, options.path, options.limit)
log_to = jbr.log(options.tobranch, options.path, options.limit)
history_from = History(log_from)
history_to = History(log_to)
verbose(options,
f"Read {history_from.size()} commits from '{options.frombranch}', {history_to.size()} from {options.tobranch}")
exclude_list = []
if options.exclude:
with open(options.exclude, "r") as exclude_file:
l = exclude_file.read().split('\n')
exclude_list = list(filter(lambda line: not line.startswith("#"), l))
warned = set()
for c in history_from.commits:
if c.message:
verbose(options, f"Looking for commit '{c.message}'")
if c.message in exclude_list:
verbose(options, "...nope, in exclude list")
continue
if not history_to.contains(c):
commits_to_save.append(c)
else:
if history_from.appears_more_than_once(c) and c.fullmessage not in warned:
# Not sure which of those seemingly identical commits are present in the target branch
error(f"Commit '{c.message}' appears more than once in branch '{options.frombranch}'. ")
warned.add(c.fullmessage)
except KeyboardInterrupt:
fatal("Interrupted")
print_out_commits(options, commits_to_save)
save_commits_to_file(commits_to_save, options)
if errors_count > 0:
error(f"{errors_count} error(s) generated to stderr. MANUAL CHECK OF COMMITS IS REQUIRED.")
def save_commits_to_file(commits_to_save, options):
if len(commits_to_save) > 0 and options.output:
print()
with open(options.output, "w") as out:
for i, c in enumerate(reversed(commits_to_save)):
print(f"# {c.sha}", file=out)
print(c.message, file=out)
def print_out_commits(options, commits_to_save):
if options.ishtml:
print("<html><body>")
print(f"<p><b>Commits on <code>{options.frombranch}</code>"
f" missing from <code>{options.tobranch}</code></b></p></h1>")
if len(commits_to_save) > 0:
for c in sorted(commits_to_save, key=lambda commit: commit.bugid):
if options.ishtml:
msg = c.message
bugurl = ""
if c.bugid:
if c.bugid.isnumeric():
bugurl = f"https://bugs.openjdk.org/browse/JDK-{c.bugid}"
elif c.bugid.startswith("JBR-"):
bugurl = f"https://youtrack.jetbrains.com/issue/{c.bugid}"
if len(bugurl) > 0:
msg = msg.replace(c.bugid, f"<a href='{bugurl}'>{c.bugid}</a>")
sha = f"<a href='https://jetbrains.team/p/jbre/repositories/jbr/commits?commits={c.sha}'>" \
f"{c.sha[0:8]}</a>"
print(f"<li>{msg} ({sha})</li>")
else:
print(f"{c.message} ({c.sha[0:8]})")
if options.ishtml:
print("</body></html>")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
if __name__ == '__main__':
main()

View File

@@ -1 +0,0 @@
1.0.0

View File

@@ -1,230 +0,0 @@
#!/usr/bin/env python3
import argparse
import math
import os.path
import sys
import subprocess
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def verbose(options, *msg):
if options.verbose:
sys.stdout.write(f"[verbose] ")
sys.stdout.write(*msg)
sys.stdout.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jdkpath):
fatal(f"{args.jdkpath} not a directory")
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.jdkpath = args.jdkpath
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.output_dir = args.output_dir
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, path=None, limit=None):
cmds = ["log", "--no-decorate"]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.bugid = None
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.message += l + "\n"
if not read_message and l == "":
read_message = True
if self.message and self.message != "" and ":" in self.message:
maybe_bugid = self.message.split(":")[0].strip()
if 10 >= len(maybe_bugid) >= 4:
self.bugid = maybe_bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
def contains(self, str):
return any(str in commit.message for commit in self.commits)
def size(self):
return len(self.commits)
def print_explanation(options, jdk, jbr):
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jdk = GitRepo(options.jdkpath)
jbr = GitRepo(options.jbrpath)
print_explanation(options, jdk, jbr)
commits_to_save = []
try:
jdk_log = jdk.log(options.path, options.limit)
jdk_history = History(jdk_log)
jbr_log = jbr.log(options.path)
jbr_history = History(jbr_log)
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
for c in jdk_history.commits:
if c.bugid:
verbose(options, f"Looking for bugfix for {c.bugid}")
if not jbr_history.contains(c.bugid):
commits_to_save.append(c)
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
print(f" commit {c.sha}")
print(f" {first_line(c.message).strip()}")
except KeyboardInterrupt:
fatal("Interrupted")
if len(commits_to_save) > 0 and options.output_dir:
print()
if not os.path.exists(options.output_dir):
verbose(options, f"Creating output directory {options.output_dir}")
os.makedirs(options.output_dir)
nzeroes = len(str(len(commits_to_save)))
for i, c in enumerate(reversed(commits_to_save)):
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
print(f"[note] {c.bugid} saved as {fname}")
fname = os.path.abspath(fname)
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
script_fname = os.path.join(options.output_dir, "apply.sh")
with open(script_fname, "w") as script_file:
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
file=script_file)
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
apply_script_code = """
#!/bin/bash
GITROOT={0}
PATCHROOT={1}
cd $PATCHROOT || exit 1
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
for P in $PATCHES; do
git -C $GITROOT am $P
if [ $? != 0 ]; then
mv "$P" "$P.failed"
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
echo "[NOTE] Execute this script to apply the remaining patches."
exit 1
else
mv "$P" "$P.done"
fi
done
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
"""
if __name__ == '__main__':
main()

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

@@ -4,6 +4,7 @@
<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>

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

@@ -5,7 +5,7 @@ set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ] && [ "${bundle_type: -2}" != "ft" ]; then
if [ "${bundle_type: -1}" == "t" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
@@ -17,11 +17,9 @@ function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
DISABLE_WARNINGS_AS_ERRORS=""
while getopts ":iw?" o; do
while getopts ":i?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
w) DISABLE_WARNINGS_AS_ERRORS="--disable-warnings-as-errors" ;;
esac
done
shift $((OPTIND-1))
@@ -92,15 +90,6 @@ case "$OS_NAME" in
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
if [ "$bundle_type" == "nomodft" ]; then
WITH_BUNDLED_FREETYPE="--with-freetype=bundled"
else
WITH_BUNDLED_FREETYPE=""
fi
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build

View File

@@ -35,11 +35,9 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
@@ -67,6 +65,7 @@ function create_image_bundle {
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 \
@@ -79,14 +78,11 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
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
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
echo Creating "$JBR".tar.gz ...
@@ -104,23 +100,16 @@ function create_image_bundle {
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"nomodft" | "")
jbr_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
@@ -144,7 +133,11 @@ 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
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
else
jbr_name_postfix=""
fi
# create runtime image bundle
@@ -162,7 +155,8 @@ 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 CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
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 $?

View File

@@ -35,11 +35,9 @@ function do_configure {
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
@@ -79,14 +77,11 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
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
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
echo Creating "$JBR".tar.gz ...
@@ -104,23 +99,16 @@ function create_image_bundle {
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"nomodft" | "")
jbr_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-server-fastdebug
;;
@@ -144,7 +132,11 @@ 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
@@ -162,7 +154,8 @@ 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" ...
[ $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 CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
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 $?

View File

@@ -25,7 +25,6 @@ function do_configure {
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
@@ -67,7 +66,6 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
@@ -136,7 +134,8 @@ 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 CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
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 $?

View File

@@ -29,28 +29,44 @@ BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
MACOSX_VERSION_MAX="11.00.00"
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
MACOSX_VERSION_MAX="10.12.00"
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
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}" \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function create_image_bundle {
@@ -82,8 +98,6 @@ function create_image_bundle {
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
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump -XX:-UseCompressedOops
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
@@ -168,7 +182,8 @@ if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-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 CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
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

View File

@@ -100,7 +100,7 @@ done
log "Signing whole frameworks..."
# shellcheck disable=SC2043
if [ "$JB_SIGN" = true ]; then for f in \
"Contents/Frameworks/cef_server.app/Contents/Frameworks" "Contents/Home/Frameworks" "Contents/Frameworks"; do
"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

View File

@@ -49,7 +49,6 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
@@ -104,13 +103,13 @@ esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -40,7 +40,6 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
@@ -62,8 +61,8 @@ function create_image_bundle {
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
@@ -71,8 +70,6 @@ function create_image_bundle {
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
"$__root_dir"/bin/java -Xshare:dump
"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
fi
}
@@ -97,13 +94,13 @@ esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -36,7 +36,6 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
@@ -67,7 +66,6 @@ function create_image_bundle {
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
"$__root_dir"/bin/java -Xshare:dump
fi
}
@@ -91,13 +89,13 @@ esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi

View File

@@ -51,6 +51,7 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -51,6 +51,7 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -47,6 +47,7 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -100,7 +100,6 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
CREATE_API_DIGEST := true, \
PROCESS_JBR_API := true, \
CLEAN := $(CLEAN), \
CLEAN_FILES := $(CLEAN_FILES), \
COPY := $(COPY), \

View File

@@ -75,25 +75,17 @@ $(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/depend, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
DISABLED_WARNINGS := options, \
))
$(eval $(call SetupJavaCompilation, COMPILE_JBR_API_PLUGIN, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/jbrapi, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
))
DEPEND_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services/com.sun.source.util.Plugin
PLUGINS_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services/com.sun.source.util.Plugin
$(PLUGINS_SERVICE_PROVIDER):
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services)
$(DEPEND_SERVICE_PROVIDER):
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services)
$(ECHO) build.tools.depend.Depend > $@
$(ECHO) build.tools.jbrapi.JBRApiPlugin >> $@
TARGETS += $(COMPILE_DEPEND) $(COMPILE_JBR_API_PLUGIN) $(PLUGINS_SERVICE_PROVIDER)
TARGETS += $(COMPILE_DEPEND) $(DEPEND_SERVICE_PROVIDER)
################################################################################

View File

@@ -25,50 +25,69 @@
include $(SPEC)
include MakeBase.gmk
include Utils.gmk
include JavaCompilation.gmk
JBR_API_ORIGIN := https://github.com/JetBrains/JetBrainsRuntimeApi.git
JBR_API_DIR := $(TOPDIR)/jbr-api
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
JBR_API_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
JBR_API_SRC_DIR := $(JBR_API_ROOT_DIR)/src
JBR_API_OUTPUT_DIR := $(OUTPUTDIR)/jbr-api
JBR_API_GENSRC_DIR := $(JBR_API_OUTPUT_DIR)/gensrc
JBR_API_BIN_DIR := $(JBR_API_OUTPUT_DIR)/bin
JBR_API_VERSION_PROPERTIES := $(JBR_API_ROOT_DIR)/version.properties
JBR_API_VERSION_GENSRC := $(JBR_API_OUTPUT_DIR)/jbr-api.version
JBR_API_GENSRC_BATCH := $(JBR_API_VERSION_GENSRC)
ARTIFACT_NAME := jbr-api-SNAPSHOT
ifeq ($(call isBuildOsEnv, windows.cygwin windows.msys2), true)
HOME := $$USERPROFILE
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
else ifeq ($(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
HOME := `cmd.exe /C "echo %USERPROFILE%" 2> /dev/null`
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(JBR_API_SRC_DIR)))
ifeq ($(JBR_API_JBR_VERSION),)
JBR_API_JBR_VERSION := DEVELOPMENT
JBR_API_FAIL_ON_HASH_MISMATCH := false
else
M2_REPO := $(HOME)/.m2/repository
.PHONY: $(JBR_API_VERSION_PROPERTIES)
JBR_API_FAIL_ON_HASH_MISMATCH := true
endif
M2_ARTIFACT := $(M2_REPO)/com/jetbrains/jbr-api/SNAPSHOT
M2_POM_CONTENT := \
<?xml version="1.0" encoding="UTF-8"?> \
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" \
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
<modelVersion>4.0.0</modelVersion> \
<groupId>com.jetbrains</groupId> \
<artifactId>jbr-api</artifactId> \
<version>SNAPSHOT</version> \
</project> \
jbr-api:
if [ -d "$(JBR_API_DIR)" ]; then \
$(GIT) -C "$(JBR_API_DIR)" fetch; \
$(GIT) -C "$(JBR_API_DIR)" merge-base --is-ancestor origin/main HEAD || \
$(ECHO) "!!! Current JBR API revision is outdated, update the branch in $(JBR_API_DIR) !!!"; \
else \
$(ECHO) "JBR API directory does not exist. Initializing..."; \
$(GIT) clone "$(JBR_API_ORIGIN)" "$(JBR_API_DIR)" --config core.autocrlf=false; \
fi
$(ECHO) "Building JBR API requires at least Java 18, so using \$$JAVA_HOME instead of boot JDK"
$(BASH) "$(JBR_API_DIR)/tools/build.sh" dev "$(JAVA_HOME)"
if [ -d "$(M2_REPO)" ]; then \
$(MKDIR) -p $(M2_ARTIFACT); \
$(ECHO) "$(M2_POM_CONTENT)" > $(M2_ARTIFACT)/$(ARTIFACT_NAME).pom; \
$(CP) "$(JBR_API_DIR)/out/$(ARTIFACT_NAME).jar" "$(M2_ARTIFACT)"; \
$(ECHO) "Installed into local Maven repository as com.jetbrains:jbr-api:SNAPSHOT"; \
else \
$(ECHO) "No Maven repository found at $(M2_REPO) - skipping local installation"; \
fi
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
SMALL_JAVA := true, \
COMPILER := bootjdk, \
SRC := $(JBR_API_GENSRC_DIR), \
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
BIN := $(JBR_API_BIN_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
))
.PHONY: jbr-api
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
DEPENDENCIES := $(JBR_API_GENSRC_FILES), \
SRCS := $(JBR_API_GENSRC_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
SUFFIXES := .java, \
BIN := $(JBR_API_BIN_DIR), \
))
# Grouped targets may not be supported, so hack dependencies: sources -> version file -> generated sources
$(JBR_API_VERSION_GENSRC): $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES) $(JBR_API_TOOLS_DIR)/Gensrc.java
$(ECHO) Generating sources for JBR API
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/Gensrc.java" \
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
$(JBR_API_GENSRC_FILES): $(JBR_API_VERSION_GENSRC)
$(TOUCH) $@
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/CheckVersion.java" \
"$(JBR_API_ROOT_DIR)" "$(JBR_API_GENSRC_DIR)" "$(JBR_API_FAIL_ON_HASH_MISMATCH)"
jbr-api: $(BUILD_JBR_API) $(BUILD_JBR_API_SOURCES_JAR) jbr-api-check-version
.PHONY: jbr-api jbr-api-check-version
ifneq ($(JBR_API_CONF_FILE),)
$(JBR_API_CONF_FILE): $(JBR_API_GENSRC_FILES)
$(ECHO) "VERSION=`$(CAT) $(JBR_API_VERSION_GENSRC)`" > $(JBR_API_CONF_FILE)
$(ECHO) "JAR=$(JBR_API_OUTPUT_DIR)/jbr-api.jar" >> $(JBR_API_CONF_FILE)
$(ECHO) "SOURCES_JAR=$(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar" >> $(JBR_API_CONF_FILE)
jbr-api: $(JBR_API_CONF_FILE)
.PHONY: $(JBR_API_CONF_FILE)
endif

View File

@@ -28,7 +28,7 @@
# Setup flags for C/C++ compiler
#
###############################################################################
################################################################################
#
# How to compile shared libraries.
#
@@ -37,7 +37,10 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -55,6 +58,9 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
if test "x$OPENJDK_TARGET_OS" = xlinux; then
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
fi
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'

View File

@@ -1,55 +0,0 @@
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2024, JetBrains s.r.o.. 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.
#
################################################################################
# Check if a potential dbus library match is correct and usable
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_DBUS],
[
AC_ARG_WITH(dbus-includes, [AS_HELP_STRING([--with-dbus-includes],
[specify include directories for the dbus files as list separated by space])])
if test "x$NEEDS_LIB_DBUS" = xfalse; then
DBUS_CFLAGS=
DBUS_FOUND=false
else
if test "x${with_dbus_includes}" != x; then
DBUS_FOUND=true
DBUS_CFLAGS=""
for include in $with_dbus_includes; do
DBUS_CFLAGS="${DBUS_CFLAGS}-I${include} "
done
else
PKG_CHECK_MODULES(DBUS, dbus-1, [DBUS_FOUND=true], [
DBUS_FOUND=false
AC_MSG_NOTICE([Can't find dbus-1 library. This library is needed to use some features. You can install dbus-1 library or specify include directories manually by giving --with-dbus-includes option.])
])
fi
fi
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_FOUND)
])

View File

@@ -34,7 +34,6 @@ m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-dbus.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -80,13 +79,11 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
NEEDS_LIB_FREETYPE=true
fi
# Check if alsa and dbus is needed
# Check if alsa is needed
if test "x$OPENJDK_TARGET_OS" = xlinux; then
NEEDS_LIB_ALSA=true
NEEDS_LIB_DBUS=true
else
NEEDS_LIB_ALSA=false
NEEDS_LIB_DBUS=false
fi
# Check if ffi is needed
@@ -120,7 +117,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_MISC_LIBS
LIB_SETUP_SPEECHD
LIB_SETUP_NVDACONTROLLERCLIENT
LIB_SETUP_DBUS
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""

View File

@@ -447,10 +447,6 @@ endif
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
# Necessary additional compiler flags to compile dbus
DBUS_CFLAGS := @DBUS_CFLAGS@
DBUS_FOUND := @DBUS_FOUND@
# Linux speechd a11y announcer
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@

View File

@@ -168,7 +168,6 @@ endef
# CREATE_API_DIGEST:=Set to true to use a javac plugin to generate a public API
# hash which can be used for down stream dependencies to only rebuild
# when the API changes.
# PROCESS_JBR_API:=Set to true to use an annotation processor to generate JBR API bindings.
# KEEP_ALL_TRANSLATIONS:=Set to true to skip translation filtering
SetupJavaCompilation = $(NamedParamsMacroTemplate)
define SetupJavaCompilationBody
@@ -436,20 +435,11 @@ define SetupJavaCompilationBody
ifeq ($$($1_CREATE_API_DIGEST), true)
$1_API_DIGEST_FLAGS := \
-classpath $$(BUILDTOOLS_OUTPUTDIR)/depend \
-Xplugin:"depend $$($1_API_TARGET)" \
#
$1_EXTRA_DEPS := $$($1_EXTRA_DEPS) $$(BUILDTOOLS_OUTPUTDIR)/plugins/_the.COMPILE_DEPEND_batch
endif
ifeq ($$($1_PROCESS_JBR_API), true)
# Automatic path conversion doesn't work for two arguments, so call fixpath manually
$1_JBR_API_FLAGS := -Xplugin:"jbr-api $$(call FixPath, $$($1_BIN)/java.base/META-INF/jbrapi.registry) $$(call FixPath, $(TOPDIR)/jb/jbr-api.version)"
$1_EXTRA_DEPS := $$($1_EXTRA_DEPS) $$(BUILDTOOLS_OUTPUTDIR)/plugins/_the.COMPILE_JBR_API_PLUGIN_batch
endif
ifeq ($$(call Or, $$($1_CREATE_API_DIGEST) $$($1_PROCESS_JBR_API)), true)
$1_PROCESSORPATH := -processorpath $$(BUILDTOOLS_OUTPUTDIR)/plugins
$1_EXTRA_DEPS := $$(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
endif
# Create a file with all sources, to pass to javac in an @file.
@@ -466,7 +456,7 @@ define SetupJavaCompilationBody
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
$$($1_JAVAC_CMD) $$($1_FLAGS) \
$$($1_PROCESSORPATH) $$($1_API_DIGEST_FLAGS) $$($1_JBR_API_FLAGS) \
$$($1_API_DIGEST_FLAGS) \
-d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_FILELIST)) && \
$(TOUCH) $$@

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, 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
@@ -153,6 +153,10 @@ define SetupLogging
endif
endif
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
SHELL := $$(SHELL) -x
endif
ifeq ($$(LOG_LEVEL), trace)
SHELL_NO_RECURSE := $$(SHELL)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=17
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=11
DEFAULT_VERSION_UPDATE=12
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2024-04-16
DEFAULT_VERSION_DATE=2024-07-16
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11

View File

@@ -48,7 +48,7 @@ ifeq ($(call check-jvm-feature, compiler2), true)
endif
# Set the C++ standard
ADLC_CFLAGS += $(ADLC_LANGSTD_CXXFLAG)
ADLC_CFLAGS += $(ADLC_LANGSTD_CXXFLAGS)
# NOTE: The old build didn't set -DASSERT for windows but it doesn't seem to
# hurt.

View File

@@ -1,451 +0,0 @@
package build.tools.jbrapi;
import com.sun.source.tree.CompilationUnitTree;
import com.sun.source.tree.Tree;
import com.sun.source.util.*;
import javax.lang.model.element.*;
import javax.lang.model.type.ArrayType;
import javax.lang.model.type.DeclaredType;
import javax.lang.model.type.ExecutableType;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.ElementScanner14;
import javax.lang.model.util.Elements;
import javax.lang.model.util.Types;
import javax.tools.Diagnostic;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.OverlappingFileLockException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
import java.util.concurrent.locks.LockSupport;
import java.util.stream.Collectors;
public class JBRApiPlugin implements Plugin {
enum Binding {
SERVICE,
PROVIDES,
PROVIDED,
TWO_WAY
}
record DiagnosticTree(CompilationUnitTree root, Tree tree) {}
record TypeBinding(DiagnosticTree diagnostic, TypeElement element, String currentType, String bindType, Binding binding) {}
record MethodBinding(DiagnosticTree diagnostic, ExecutableElement element, Registry.StaticDescriptor currentMethod, Registry.StaticMethod bindMethod) {}
final Map<String, TypeBinding> typeBindings = new HashMap<>();
final List<MethodBinding> methodBindings = new ArrayList<>();
Elements elements;
Trees trees;
Types types;
class Registry {
record Type(String type, Binding binding) {}
record StaticMethod(String type, String name) {}
record StaticDescriptor(StaticMethod method, String descriptor) {}
final Map<String, Type> types = new HashMap<>();
final Map<StaticDescriptor, StaticMethod> methods = new HashMap<>();
final Set<Object> internal = new HashSet<>();
void validateInternal(DiagnosticTree diagnostic, String currentType, Binding binding, TypeElement bindType) {
if (bindType.getKind() != ElementKind.CLASS && bindType.getKind() != ElementKind.INTERFACE) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
bindType.getQualifiedName().toString() + " (not a class or interface)",
diagnostic.tree, diagnostic.root);
} else if (bindType.getModifiers().contains(Modifier.FINAL) || bindType.getModifiers().contains(Modifier.SEALED)) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
bindType.getQualifiedName().toString() + " (not inheritable)",
diagnostic.tree, diagnostic.root);
}
if (binding != Binding.SERVICE) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
bindType.getQualifiedName().toString() + " (internal, non-service)",
diagnostic.tree, diagnostic.root);
}
}
void validateInternalMethod(DiagnosticTree diagnostic, StaticDescriptor currentMethod, TypeElement bindType, String bindMethod) {
boolean methodFound = false;
for (Element m : bindType.getEnclosedElements()) {
if (m.getKind() == ElementKind.METHOD &&
!m.getModifiers().contains(Modifier.STATIC) &&
!m.getModifiers().contains(Modifier.FINAL) &&
m.getSimpleName().contentEquals(bindMethod) &&
descriptor(m.asType()).equals(currentMethod.descriptor)) {
methodFound = true;
}
}
if (!methodFound) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid static binding: " +
currentMethod.method.type + "#" + currentMethod.method.name + " -> " +
bindType.getQualifiedName().toString() + "#" + bindMethod +
" (no matching method found, type conversions are not allowed for internal bindings)",
diagnostic.tree, diagnostic.root);
}
}
List<String> addBindings() {
List<String> unresolvedErrors = new ArrayList<>();
List<TypeBinding> addedTypes = new ArrayList<>();
List<MethodBinding> addedMethods = new ArrayList<>();
Set<Object> validated = new HashSet<>();
// Remove changed bindings.
for (TypeBinding type : typeBindings.values()) {
if (type.bindType != null) addedTypes.add(type);
types.remove(type.currentType);
}
for (MethodBinding method : methodBindings) {
if (method.bindMethod != null) addedMethods.add(method);
methods.remove(method.currentMethod);
}
methods.entrySet().removeIf(m -> typeBindings.containsKey(m.getKey().method.type));
// Build inverse binding map.
Map<String, String> inverseTypes = types.entrySet().stream().collect(Collectors.toMap(
e -> e.getValue().type, Map.Entry::getKey, (a, b) -> {
unresolvedErrors.add("Conflicting JBR API binding: " + a + " and "+ b + " binds to the same type");
return a + "," + b;
}));
Map<StaticDescriptor, StaticMethod> inverseMethods = methods.entrySet().stream().collect(Collectors.toMap(
e -> new StaticDescriptor(e.getValue(), e.getKey().descriptor), e -> e.getKey().method, (a, b) -> {
unresolvedErrors.add("Conflicting JBR API binding: " +
a.type + "#" + a.name + " and "+ b.type + "#" + b.name + " binds to the same method");
return new StaticMethod(a.type + "," + b.type, a.name + "," + b.name);
}));
// Add new bindings.
for (TypeBinding type : addedTypes) types.put(type.currentType, new Type(type.bindType, type.binding));
for (MethodBinding method : addedMethods) methods.put(method.currentMethod, method.bindMethod);
// Validate type bindings.
for (TypeBinding type : addedTypes) {
String inv = inverseTypes.get(type.bindType);
if (inv != null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"Conflicting JBR API binding: " + type.currentType + " -> " + type.bindType + " <- " + inv,
type.diagnostic.tree, type.diagnostic.root);
inverseTypes.put(type.bindType, inv + "," + type.currentType);
} else inverseTypes.put(type.bindType, type.currentType);
Type next = types.get(type.bindType);
if (next != null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"Conflicting JBR API binding: " + type.currentType + " -> " + type.bindType + " -> " + next,
type.diagnostic.tree, type.diagnostic.root);
}
String prev = inverseTypes.get(type.currentType);
if (prev != null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"Conflicting JBR API binding: " + prev + " -> " + type.currentType + " -> " + type.bindType,
type.diagnostic.tree, type.diagnostic.root);
}
if (validated.add(type.currentType)) {
TypeElement bindElement = elements.getTypeElement(type.bindType);
if (bindElement != null) {
internal.add(type.currentType);
validateInternal(type.diagnostic, type.currentType, type.binding, bindElement);
}
}
}
// Validate method bindings.
for (MethodBinding method : addedMethods) {
StaticDescriptor invDescriptor = new StaticDescriptor(method.bindMethod, method.currentMethod.descriptor);
StaticMethod inv = inverseMethods.get(invDescriptor);
if (inv != null) {
trees.printMessage(Diagnostic.Kind.ERROR, "Conflicting JBR API binding: " +
method.currentMethod.method.type + "#" + method.currentMethod.method.name + " -> " +
method.bindMethod.type + "#" + method.bindMethod.name + " <- " +
inv.type + "#" + inv.name,
method.diagnostic.tree, method.diagnostic.root);
inverseMethods.put(invDescriptor, new StaticMethod(
inv.type + "," + method.currentMethod.method.type, inv.name + "," + method.currentMethod.method.name));
} else inverseMethods.put(invDescriptor, method.currentMethod.method);
if (validated.add(method.currentMethod)) {
TypeElement bindElement = elements.getTypeElement(method.bindMethod.type);
if (bindElement != null) {
internal.add(method.currentMethod);
validateInternalMethod(method.diagnostic, method.currentMethod, bindElement, method.bindMethod.name);
}
}
}
// [Re]validate remaining.
types.forEach((k, v) -> {
if (validated.add(k)) {
TypeBinding type = typeBindings.get(v.type);
if (type != null) {
internal.add(k);
validateInternal(type.diagnostic, k, v.binding, type.element);
} else if (elements.getTypeElement(v.type) != null) {
internal.add(k); // Couldn't validate, but at least found the type.
if (v.binding != Binding.SERVICE) {
unresolvedErrors.add("Invalid JBR API binding:" + k + " -> " + v.type + " (internal, non-service)");
}
}
}
});
methods.forEach((k, v) -> {
if (validated.add(k)) {
TypeBinding type = typeBindings.get(v.type);
if (type != null) {
internal.add(k);
validateInternalMethod(type.diagnostic, k, type.element, v.name);
} else if (elements.getTypeElement(v.type) != null) {
internal.add(k); // Couldn't validate, but at least found the type.
}
}
});
return unresolvedErrors;
}
void read(RandomAccessFile file) throws IOException {
String s;
while ((s = file.readLine()) != null) {
String[] tokens = s.split(" ");
switch (tokens[0]) {
case "TYPE" -> {
types.put(tokens[1], new Type(tokens[2], Binding.valueOf(tokens[3])));
if (tokens.length > 4 && tokens[4].equals("INTERNAL")) internal.add(tokens[1]);
}
case "STATIC" -> {
StaticDescriptor descriptor = new StaticDescriptor(new StaticMethod(
tokens[1], tokens[2]), tokens[3]);
methods.put(descriptor, new StaticMethod(tokens[4], tokens[5]));
if (tokens.length > 6 && tokens[6].equals("INTERNAL")) internal.add(descriptor);
}
}
}
}
void write(RandomAccessFile file) throws IOException {
for (var t : types.entrySet()) {
file.writeBytes("TYPE " + t.getKey() + " " + t.getValue().type + " " + t.getValue().binding +
(internal.contains(t.getKey()) ? " INTERNAL\n" : "\n"));
}
for (var t : methods.entrySet()) {
file.writeBytes("STATIC " + t.getKey().method.type + " " + t.getKey().method.name + " " +
t.getKey().descriptor + " " + t.getValue().type + " " + t.getValue().name +
(internal.contains(t.getKey()) ? " INTERNAL\n" : "\n"));
}
}
}
String descriptor(TypeMirror t) {
return switch (t.getKind()) {
case VOID -> "V";
case BOOLEAN -> "Z";
case BYTE -> "B";
case CHAR -> "C";
case SHORT -> "S";
case INT -> "I";
case LONG -> "J";
case FLOAT -> "F";
case DOUBLE -> "D";
case ARRAY -> "[" + descriptor(((ArrayType) t).getComponentType());
case DECLARED -> "L" + elements.getBinaryName((TypeElement) ((DeclaredType) t).asElement())
.toString().replace('.', '/') + ";";
case EXECUTABLE -> "(" + ((ExecutableType) t).getParameterTypes().stream().map(this::descriptor)
.collect(Collectors.joining()) + ")" + descriptor(((ExecutableType) t).getReturnType());
case TYPEVAR, WILDCARD, UNION, INTERSECTION -> descriptor(types.erasure(t));
default -> throw new RuntimeException("Cannot generate descriptor for type: " + t);
};
}
Registry.StaticDescriptor staticDescriptor(String type, ExecutableElement e) {
return new Registry.StaticDescriptor(new Registry.StaticMethod(type, e.getSimpleName().toString()), descriptor(e.asType()));
}
AnnotationValue annotationValue(AnnotationMirror m) {
if (m == null) return null;
return m.getElementValues().entrySet().stream()
.filter(t -> t.getKey().getSimpleName().contentEquals("value"))
.map(Map.Entry::getValue).findFirst().orElseThrow();
}
static boolean isJavaIdentifier(String name, int from, int to) {
if (!Character.isJavaIdentifierStart(name.charAt(from))) return false;
for (int i = from + 1; i < to; i++) {
if (!Character.isJavaIdentifierPart(name.charAt(i))) return false;
}
return true;
}
static boolean isJavaIdentifier(String name) {
if (name == null || name.isEmpty()) return false;
return isJavaIdentifier(name, 0, name.length());
}
static boolean isJavaTypeIdentifier(String name) {
if (name == null || name.isEmpty()) return false;
for (int i = 0; i < name.length();) {
int next = name.indexOf('.', i);
if (next == -1) next = name.length();
if (!isJavaIdentifier(name, i, next)) return false;
i = next + 1;
}
return true;
}
void scan(CompilationUnitTree root, Element e) {
// Get current type name.
String currentType;
if (e.getKind() == ElementKind.CLASS || e.getKind() == ElementKind.INTERFACE) {
currentType = ((TypeElement) e).getQualifiedName().toString();
} else if (e.getKind() == ElementKind.METHOD && e.getModifiers().contains(Modifier.STATIC)) {
currentType = ((QualifiedNameable) e.getEnclosingElement()).getQualifiedName().toString();
} else currentType = null;
// Find the annotation.
AnnotationMirror providedMirror = null, providesMirror = null, serviceMirror = null;
for (AnnotationMirror m : elements.getAllAnnotationMirrors(e)) {
switch (m.getAnnotationType().toString()) {
case "com.jetbrains.exported.JBRApi.Provided" -> providedMirror = m;
case "com.jetbrains.exported.JBRApi.Provides" -> providesMirror = m;
case "com.jetbrains.exported.JBRApi.Service" -> serviceMirror = m;
}
}
AnnotationMirror mirror = null;
AnnotationValue value = null;
Binding binding = null;
if (serviceMirror != null) {
if (providesMirror == null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"@Service also requires @Provides", trees.getTree(e, serviceMirror), root);
return;
}
if (providedMirror != null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"@Service cannot be used with @Provided", trees.getTree(e, serviceMirror), root);
return;
}
value = annotationValue(mirror = providesMirror);
binding = Binding.SERVICE;
} else if (providesMirror != null) {
value = annotationValue(mirror = providesMirror);
if (providedMirror != null) {
AnnotationValue v = annotationValue(providedMirror);
if (!value.getValue().toString().equals(v.getValue().toString())) {
trees.printMessage(Diagnostic.Kind.ERROR,
"@Provided and @Provides doesn't match", trees.getTree(e, mirror, value), root);
return;
}
binding = Binding.TWO_WAY;
} else binding = Binding.PROVIDES;
} else if (providedMirror != null) {
value = annotationValue(mirror = providedMirror);
binding = Binding.PROVIDED;
}
if (value != null && value.getValue().toString().isEmpty()) {
trees.printMessage(Diagnostic.Kind.ERROR,
"Empty JBR API binding",
trees.getTree(e, mirror, value), root);
return;
}
if (currentType == null) {
if (value != null) {
trees.printMessage(Diagnostic.Kind.ERROR,
"JBR API annotations are only allowed on classes, interfaces and static methods",
trees.getTree(e, mirror), root);
}
return;
}
if (value != null && e.getKind() == ElementKind.METHOD && binding != Binding.PROVIDES) {
trees.printMessage(Diagnostic.Kind.ERROR,
"Only @Provides is allowed for static methods",
trees.getTree(e, mirror), root);
return;
}
// Determine class/method names.
String bindType = null, bindMethod = null;
if (value != null) {
bindType = value.getValue().toString();
if (e.getKind() == ElementKind.METHOD) {
int splitIndex = bindType.indexOf('#');
if (splitIndex != -1) {
bindMethod = bindType.substring(splitIndex + 1);
bindType = bindType.substring(0, splitIndex);
if (!isJavaIdentifier(bindMethod)) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid method identifier: " + bindMethod,
trees.getTree(e, mirror, value), root);
return;
}
} else bindMethod = e.getSimpleName().toString();
}
if (!isJavaTypeIdentifier(bindType)) {
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid type identifier: " + bindType,
trees.getTree(e, mirror, value), root);
return;
}
if (Character.isUpperCase(bindType.charAt(0))) bindType = "com.jetbrains." + bindType; // Short form
}
// Add entry.
DiagnosticTree diagnostic = new DiagnosticTree(root, trees.getTree(e, mirror, value));
if (e.getKind() == ElementKind.METHOD) {
ExecutableElement m = (ExecutableElement) e;
methodBindings.add(new MethodBinding(diagnostic, m, staticDescriptor(currentType, m),
bindType == null ? null : new Registry.StaticMethod(bindType, bindMethod)));
} else {
typeBindings.put(currentType, new TypeBinding(diagnostic, (TypeElement) e, currentType, bindType, binding));
}
}
@Override
public String getName() {
return "jbr-api";
}
@Override
public void init(JavacTask jt, String... args) {
Path output = Path.of(args[0]);
String implVersion;
try {
implVersion = Files.readString(Path.of(args[1])).strip();
} catch (IOException e) {
throw new RuntimeException(e);
}
elements = jt.getElements();
trees = Trees.instance(jt);
types = jt.getTypes();
jt.addTaskListener(new TaskListener() {
@Override
public void finished(TaskEvent te) {
if (te.getKind() == TaskEvent.Kind.ANALYZE && te.getTypeElement() != null) {
new ElementScanner14<Void, CompilationUnitTree>() {
@Override
public Void visitModule(ModuleElement e, CompilationUnitTree unused) { return null; }
@Override
public Void visitPackage(PackageElement e, CompilationUnitTree unused) { return null; }
@Override
public Void scan(Element e, CompilationUnitTree root) {
JBRApiPlugin.this.scan(root, e);
e.accept(this, root);
return null;
}
}.scan(te.getTypeElement(), te.getCompilationUnit());
} else if (te.getKind() == TaskEvent.Kind.COMPILATION) {
try (RandomAccessFile file = new RandomAccessFile(output.toFile(), "rw");
FileChannel channel = file.getChannel()) {
for (;;) {
try { if (channel.lock() != null) break; } catch (OverlappingFileLockException ignore) {}
LockSupport.parkNanos(10_000000);
}
Registry r = new Registry();
r.read(file);
var unresolvedErrors = r.addBindings();
file.setLength(0);
file.writeBytes("VERSION " + implVersion + "\n");
r.write(file);
if (!unresolvedErrors.isEmpty()) {
throw new RuntimeException(String.join("\n", unresolvedErrors));
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
});
}
}

View File

@@ -35,20 +35,20 @@ Usage:
By default, the reports will be generated in langtools/build/diags-examples/report/.
-->
<project name="diags-examples" default="diags-examples" basedir="..">
<project name="diags-examples" default="diags-examples" basedir="../..">
<import file="build.xml"/>
<!-- specify working directory for the tool -->
<property name="diags.examples.dir" location="${build.dir}/diag-examples"/>
<!-- compiled classes for the tool -->
<property name="diags.examples.classes" location="${diags.examples.dir}/classes}"/>
<property name="diags.examples.classes" location="${diags.examples.dir}/classes"/>
<!-- directory for generated reports -->
<property name="diags.examples.report" location="${diags.examples.dir}/report"/>
<!-- default target, generates reports for all available locales -->
<target name="diags-examples" depends="run-en_US,run-ja,run-zh_CN"/>
<target name="diags-examples" depends="run-en_US,run-ja,run-zh_CN,run-de"/>
<!-- generate report for US English locale -->
<target name="run-en_US" depends="-build-runner,-def-runner">
@@ -68,12 +68,18 @@ By default, the reports will be generated in langtools/build/diags-examples/repo
<runner lang="zh" country="CN" outfile="${diags.examples.report}/zh_CN.html"/>
</target>
<!-- generate report for German locale -->
<target name="run-de" depends="-build-runner,-def-runner">
<mkdir dir="${diags.examples.report}"/>
<runner lang="de" outfile="${diags.examples.report}/de.html"/>
</target>
<!-- compile the tool that runs the examples -->
<target name="-build-runner" depends="build">
<mkdir dir="${diags.examples.classes}"/>
<javac fork="true"
executable="${build.bin}/javac"
srcdir="test/tools/javac/diags"
srcdir="test/langtools/tools/javac/diags"
destdir="${diags.examples.classes}"
includes="ArgTypeCompilerFactory.java,Example.java,FileManager.java,HTMLWriter.java,RunExamples.java,DocCommentProcessor.java"
sourcepath=""
@@ -98,7 +104,7 @@ By default, the reports will be generated in langtools/build/diags-examples/repo
<sequential>
<java fork="true"
jvm="${langtools.jdk.home}/bin/java"
dir="test/tools/javac/diags"
dir="test/langtools/tools/javac/diags"
classpath="${diags.examples.classes};${dist.lib.dir}/javac.jar;${dist.lib.dir}/javap.jar"
classname="RunExamples">
<jvmarg value="-Duser.language=@{lang}"/>

View File

@@ -78,10 +78,6 @@ ifeq ($(call isTargetOs, windows), true)
#
endif
ifeq ($(DBUS_FOUND), false)
LIBAWT_EXFILES += dbus_interface.c dbus_interface.h
endif
ifeq ($(call isTargetOs, linux macosx aix), true)
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
endif
@@ -116,10 +112,6 @@ LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
ifeq ($(DBUS_FOUND), true)
LIBAWT_CFLAGS += -DDBUS_FOUND
endif
ifeq ($(call isTargetOs, windows), true)
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
ifeq ($(call isTargetCpuBits, 64), true)
@@ -180,7 +172,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS) $(DBUS_CFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
format-nonliteral parentheses unused-value unused-function, \
@@ -304,7 +296,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) $(DBUS_CFLAGS) \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
$(X_CFLAGS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
@@ -446,7 +438,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBAWT_HEADLESS_CFLAGS) $(DBUS_CFLAGS), \
$(LIBAWT_HEADLESS_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := unused-function, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -576,10 +568,12 @@ ifeq ($(call isTargetOs, windows), true)
else ifeq ($(call isTargetOs, macosx), true)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c \
fontpath.c \
lcdglyph.c \
lcdglyphDW.cpp
else
LIBFONTMANAGER_EXCLUDE_FILES += lcdglyph.c \
LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
lcdglyph.c \
lcdglyphDW.cpp
endif
@@ -906,8 +900,7 @@ ifeq ($(call isTargetOs, macosx), true)
-framework ExceptionHandling \
-framework JavaRuntimeSupport \
-framework OpenGL \
-framework QuartzCore \
-framework UniformTypeIdentifiers -ljava, \
-framework QuartzCore -ljava, \
))
TARGETS += $(BUILD_LIBAWT_LWAWT)

View File

@@ -0,0 +1,74 @@
#
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# - Neither the name of Oracle nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
SOURCEPATH=src
CLASSES=build
DIST=dist
RESOURCES=resources
RENDERPERF_CLASSES = $(CLASSES)/renderperf/RenderPerfTest.class
RENDERPERF_SOURCES = $(SOURCEPATH)/renderperf/RenderPerfTest.java
RENDERPERF_RESOURCES = $(CLASSES)/renderperf/images/duke.png
all: mkdirs $(DIST)/RenderPerfTest.jar
run: mkdirs $(DIST)/RenderPerfTest.jar
java -jar $(DIST)/RenderPerfTest.jar
$(DIST)/RenderPerfTest.jar: \
$(RENDERPERF_CLASSES) $(RENDERPERF_RESOURCES) \
$(CLASSES)/renderperf.manifest
jar cvmf $(CLASSES)/renderperf.manifest $(DIST)/RenderPerfTest.jar -C $(CLASSES) .
$(CLASSES)/renderperf/images/%: $(RESOURCES)/images/%
cp -r $< $@
$(CLASSES)/renderperf.manifest:
echo "Main-Class: renderperf.RenderPerfTest" > $@
$(DIST):
mkdir $(DIST)
$(CLASSES):
mkdir $(CLASSES)
mkdir -p $(CLASSES)/renderperf/images
mkdirs: $(DIST) $(CLASSES)
$(RENDERPERF_CLASSES): $(RENDERPERF_SOURCES)
javac -g:none -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
clean:
rm -rf $(CLASSES)
rm -rf $(DIST)

View File

@@ -0,0 +1,34 @@
-----------------------------------------------------------------------
Introduction
-----------------------------------------------------------------------
RenderPerfTest is a set of on-screen rendering microbenchmarks to
analyze the performance of Java2D graphical primitives rendering
-----------------------------------------------------------------------
How To Compile
-----------------------------------------------------------------------
#> cd RenderPerfTest
The benchmark can be compiled by using either ant:
#> ant
or gnumake (assuming there's 'javac' in the path):
#> gnumake
The jar files will be generated into RenderPerfTest/dist directory.
-----------------------------------------------------------------------
How To Run RenderPerfTest
-----------------------------------------------------------------------
Run all tests
#> ant run
or
#> java -jar dist/RenderPerfTest.jar
Run particular test cases
#> java -jar dist/RenderPerfTest.jar testWhiteTextBubblesGray ...

View File

@@ -0,0 +1,94 @@
<!--
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of Oracle nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<project name="RenderPerfTest" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="resources" location="resources"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac includeantruntime="false" debug="off" srcdir="${src}" destdir="${build}"/>
</target>
<target name="run" depends="dist"
description="run RenderPerfTest" >
<java jar="${dist}/RenderPerfTest.jar"
fork="true"
>
</java>
</target>
<target name="resources" depends="init"
description="copy resources into build dir" >
<!-- Copy the resource files from ${resources} into ${build}/ -->
<mkdir dir="${dist}"/>
<mkdir dir="${dist}/renderperf"/>
<mkdir dir="${build}/renderperf/images"/>
<copy todir="${build}/renderperf/images">
<fileset dir="resources/renderperf/images" />
</copy>
</target>
<target name="dist" depends="compile, resources"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}"/>
<!-- Put everything in ${build} into the J2DBench.jar file -->
<jar jarfile="${dist}/RenderPerfTest.jar" basedir="${build}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="renderperf.RenderPerfTest"/>
</manifest>
</jar>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,739 @@
/*
* Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* 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.
*/
package renderperf;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.AffineTransform;
import java.awt.geom.Point2D;
import java.awt.geom.QuadCurve2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean;
public class RenderPerfTest {
private static HashSet<String> ignoredTests = new HashSet<>();
private final static int N = 1000;
private final static float WIDTH = 800;
private final static float HEIGHT = 800;
private final static float R = 25;
private final static int BW = 50;
private final static int BH = 50;
private final static int COUNT = 300;
private final static int DELAY = 10;
private final static int RESOLUTION = 5;
private final static int COLOR_TOLERANCE = 10;
private final static int MAX_MEASURE_TIME = 5000;
interface Configurable {
void configure(Graphics2D g2d);
}
interface Renderable {
void setup(Graphics2D g2d);
void render(Graphics2D g2d);
void update();
}
static class Particles {
private float[] bx;
private float[] by;
private float[] vx;
private float[] vy;
private float r;
private int n;
private float x0;
private float y0;
private float width;
private float height;
Particles(int n, float r, float x0, float y0, float width, float height) {
bx = new float[n];
by = new float[n];
vx = new float[n];
vy = new float[n];
this.n = n;
this.r = r;
this.x0 = x0;
this.y0 = y0;
this.width = width;
this.height = height;
for (int i = 0; i < n; i++) {
bx[i] = (float) (x0 + r + 0.1 + Math.random() * (width - 2 * r - 0.2 - x0));
by[i] = (float) (y0 + r + 0.1 + Math.random() * (height - 2 * r - 0.2 - y0));
vx[i] = 0.1f * (float) (Math.random() * 2 * r - r);
vy[i] = 0.1f * (float) (Math.random() * 2 * r - r);
}
}
void render(Graphics2D g2d, ParticleRenderer renderer) {
for (int i = 0; i < n; i++) {
renderer.render(g2d, i, bx, by, vx, vy);
}
}
void update() {
for (int i = 0; i < n; i++) {
bx[i] += vx[i];
if (bx[i] + r > width || bx[i] - r < x0) vx[i] = -vx[i];
by[i] += vy[i];
if (by[i] + r > height || by[i] - r < y0) vy[i] = -vy[i];
}
}
}
ParticleRenderable createPR(ParticleRenderer renderer) {
return new ParticleRenderable(renderer);
}
static class ParticleRenderable implements Renderable {
ParticleRenderer renderer;
Configurable configure;
ParticleRenderable(ParticleRenderer renderer, Configurable configure) {
this.renderer = renderer;
this.configure = configure;
}
ParticleRenderable(ParticleRenderer renderer) {
this(renderer, null);
}
@Override
public void setup(Graphics2D g2d) {
if (configure != null) configure.configure(g2d);
}
@Override
public void render(Graphics2D g2d) {
balls.render(g2d, renderer);
}
@Override
public void update() {
balls.update();
}
public ParticleRenderable configure(Configurable configure) {
this.configure = configure;
return this;
}
}
interface ParticleRenderer {
void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy);
}
static class FlatParticleRenderer implements ParticleRenderer {
Color[] colors;
float r;
FlatParticleRenderer(int n, float r) {
colors = new Color[n];
this.r = r;
for (int i = 0; i < n; i++) {
colors[i] = new Color((float) Math.random(),
(float) Math.random(), (float) Math.random());
}
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.fillOval((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class WhiteTextParticleRenderer implements ParticleRenderer {
float r;
WhiteTextParticleRenderer(float r) {
this.r = r;
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(Color.WHITE);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] - r));
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)y[id]);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] + r));
}
}
static class TextParticleRenderer extends WhiteTextParticleRenderer {
Color[] colors;
float r;
TextParticleRenderer(int n, float r) {
super(r);
colors = new Color[n];
this.r = r;
for (int i = 0; i < n; i++) {
colors[i] = new Color((float) Math.random(),
(float) Math.random(), (float) Math.random());
}
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(colors[id % colors.length]);
}
}
static class LargeTextParticleRenderer extends TextParticleRenderer {
LargeTextParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
Font font = new Font("LucidaGrande", Font.PLAIN, 32);
g2d.setFont(font);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] - r));
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)y[id]);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] + r));
}
}
static class FlatOvalRotParticleRenderer extends FlatParticleRenderer {
FlatOvalRotParticleRenderer(int n, float r) {
super(n, r);
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(colors[id % colors.length]);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
if (Math.abs(vx[id] + vy[id]) > 0.001) {
AffineTransform t = (AffineTransform) g2d.getTransform().clone();
double l = vx[id] / Math.sqrt(vx[id] * vx[id] + vy[id] * vy[id]);
if (vy[id] < 0) {
l = -l;
}
g2d.translate(x[id], y[id]);
g2d.rotate(Math.acos(l));
g2d.fillOval(-(int)r, (int)(-0.5*r), (int) (2 * r), (int)r);
g2d.setTransform(t);
} else {
g2d.fillOval((int)(x[id] - r), (int)(y[id] - 0.5*r),
(int) (2 * r), (int) r);
}
}
}
static class LinGradOvalRotParticleRenderer extends FlatOvalRotParticleRenderer {
LinGradOvalRotParticleRenderer(int n, float r) {
super(n, r);
}
@Override
void setPaint(Graphics2D g2d, int id) {
Point2D start = new Point2D.Double(- r, - 0.5*r);
Point2D end = new Point2D.Double( 2 * r, r);
float[] dist = {0.0f, 1.0f};
Color[] cls = {colors[id %colors.length], colors[(colors.length - id) %colors.length]};
LinearGradientPaint p =
new LinearGradientPaint(start, end, dist, cls);
g2d.setPaint(p);
}
}
static class FlatBoxParticleRenderer extends FlatParticleRenderer {
FlatBoxParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.fillRect((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class ImgParticleRenderer extends FlatParticleRenderer {
BufferedImage dukeImg;
ImgParticleRenderer(int n, float r) {
super(n, r);
try {
dukeImg = ImageIO.read(
Objects.requireNonNull(
RenderPerfTest.class.getClassLoader().getResourceAsStream(
"renderperf/images/duke.png")));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawImage(dukeImg, (int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r), null);
}
}
static class FlatBoxRotParticleRenderer extends FlatParticleRenderer {
FlatBoxRotParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
if (Math.abs(vx[id] + vy[id]) > 0.001) {
AffineTransform t = (AffineTransform) g2d.getTransform().clone();
double l = vx[id] / Math.sqrt(vx[id] * vx[id] + vy[id] * vy[id]);
if (vy[id] < 0) {
l = -l;
}
g2d.translate(x[id], y[id]);
g2d.rotate(Math.acos(l));
g2d.fillRect(-(int)r, -(int)r, (int) (2 * r), (int) (2 * r));
g2d.setTransform(t);
} else {
g2d.fillRect((int)(x[id] - r), (int)(y[id] - r),
(int) (2 * r), (int) (2 * r));
}
}
}
static class WiredParticleRenderer extends FlatParticleRenderer {
WiredParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawOval((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class WiredBoxParticleRenderer extends FlatParticleRenderer {
WiredBoxParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawRect((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class SegParticleRenderer extends FlatParticleRenderer {
SegParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
double v = Math.sqrt(vx[id]*vx[id]+vy[id]*vy[id]);
float nvx = (float) (vx[id]/v);
float nvy = (float) (vy[id]/v);
g2d.setColor(colors[id % colors.length]);
g2d.drawLine((int)(x[id] - r*nvx), (int)(y[id] - r*nvy),
(int)(x[id] + 2*r*nvx), (int)(y[id] + 2*r*nvy));
}
}
static class WiredQuadParticleRenderer extends FlatParticleRenderer {
WiredQuadParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
if (id > 2 && (id % 3) == 0) {
g2d.setColor(colors[id % colors.length]);
g2d.draw(new QuadCurve2D.Float(x[id-3], y[id-3], x[id-2], y[id-2], x[id-1], y[id-1]));
}
}
}
static class FlatQuadParticleRenderer extends FlatParticleRenderer {
FlatQuadParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
if (id > 2 && (id % 3) == 0) {
g2d.setColor(colors[id % colors.length]);
g2d.fill(new QuadCurve2D.Float(x[id-3], y[id-3], x[id-2], y[id-2], x[id-1], y[id-1]));
}
}
}
static class PerfMeter {
private String name;
private int frame = 0;
private JPanel panel;
private long time;
private double execTime = 0;
private Color expColor = Color.RED;
AtomicBoolean waiting = new AtomicBoolean(false);
private double fps;
PerfMeter(String name) {
this.name = name;
}
PerfMeter exec(final Renderable renderable) throws Exception {
final CountDownLatch latch = new CountDownLatch(COUNT);
final CountDownLatch latchFrame = new CountDownLatch(1);
final long endTime = System.currentTimeMillis() + MAX_MEASURE_TIME;
final JFrame f = new JFrame();
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
latchFrame.countDown();
}
});
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
panel = new JPanel()
{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
time = System.nanoTime();
Graphics2D g2d = (Graphics2D) g.create();
renderable.setup(g2d);
renderable.render(g2d);
g2d.setColor(expColor);
g.fillRect(0, 0, BW, BH);
}
};
panel.setPreferredSize(new Dimension((int)(WIDTH + BW), (int)(HEIGHT + BH)));
panel.setBackground(Color.BLACK);
f.add(panel);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
});
Robot robot = new Robot();
Timer timer = new Timer(DELAY, e -> {
if (waiting.compareAndSet(false, true)) {
Color c = robot.getPixelColor(
panel.getTopLevelAncestor().getX() + panel.getTopLevelAncestor().getInsets().left + BW / 2,
panel.getTopLevelAncestor().getY() + panel.getTopLevelAncestor().getInsets().top + BW / 2);
if (isAlmostEqual(c, Color.BLUE)) {
expColor = Color.RED;
} else {
expColor = Color.BLUE;
}
renderable.update();
panel.getParent().repaint();
} else {
while (!isAlmostEqual(
robot.getPixelColor(
panel.getTopLevelAncestor().getX() + panel.getTopLevelAncestor().getInsets().left + BW/2,
panel.getTopLevelAncestor().getY() + panel.getTopLevelAncestor().getInsets().top + BH/2),
expColor))
{
try {
Thread.sleep(RESOLUTION);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
time = System.nanoTime() - time;
execTime += time;
frame++;
waiting.set(false);
}
if (System.currentTimeMillis() < endTime) {
latch.countDown();
} else {
while(latch.getCount() > 0) latch.countDown();
}
});
timer.start();
latch.await();
SwingUtilities.invokeAndWait(() -> {
timer.stop();
f.setVisible(false);
f.dispose();
});
latchFrame.await();
if (execTime != 0 && frame != 0) {
fps = 1e9 / (execTime / frame);
} else {
fps = 0;
}
return this;
}
private void report() {
System.err.println(name + " : " + String.format("%.2f FPS", fps));
}
private boolean isAlmostEqual(Color c1, Color c2) {
return Math.abs(c1.getRed() - c2.getRed()) < COLOR_TOLERANCE ||
Math.abs(c1.getGreen() - c2.getGreen()) < COLOR_TOLERANCE ||
Math.abs(c1.getBlue() - c2.getBlue()) < COLOR_TOLERANCE;
}
}
private static final Particles balls = new Particles(N, R, BW, BH, WIDTH, HEIGHT);
private static final ParticleRenderer flatRenderer = new FlatParticleRenderer(N, R);
private static final ParticleRenderer flatOvalRotRenderer = new FlatOvalRotParticleRenderer(N, R);
private static final ParticleRenderer flatBoxRenderer = new FlatBoxParticleRenderer(N, R);
private static final ParticleRenderer flatBoxRotRenderer = new FlatBoxRotParticleRenderer(N, R);
private static final ParticleRenderer linGradOvalRotRenderer = new LinGradOvalRotParticleRenderer(N, R);
private static final ParticleRenderer wiredRenderer = new WiredParticleRenderer(N, R);
private static final ParticleRenderer wiredBoxRenderer = new WiredBoxParticleRenderer(N, R);
private static final ParticleRenderer segRenderer = new SegParticleRenderer(N, R);
private static final ParticleRenderer flatQuadRenderer = new FlatQuadParticleRenderer(N, R);
private static final ParticleRenderer wiredQuadRenderer = new WiredQuadParticleRenderer(N, R);
private static final ParticleRenderer imgRenderer = new ImgParticleRenderer(N, R);
private static final ParticleRenderer textRenderer = new TextParticleRenderer(N, R);
private static final ParticleRenderer largeTextRenderer = new LargeTextParticleRenderer(N, R);
private static final ParticleRenderer whiteTextRenderer = new WhiteTextParticleRenderer(R);
private static final Configurable AA = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
private static final Configurable TextLCD = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
private static final Configurable TextAA = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
public void testFlatBubbles() throws Exception {
(new PerfMeter("FlatOval")).exec(createPR(flatRenderer)).report();
}
public void testFlatBubblesAA() throws Exception {
(new PerfMeter("FlatOvalAA")).exec(createPR(flatRenderer).configure(AA)).report();
}
public void testFlatBoxBubbles() throws Exception {
(new PerfMeter("FlatBox")).exec(createPR(flatBoxRenderer)).report();
}
public void testFlatBoxBubblesAA() throws Exception {
(new PerfMeter("FlatBoxAA")).exec(createPR(flatBoxRenderer).configure(AA)).report();
}
public void testImgBubbles() throws Exception {
(new PerfMeter("Image")).exec(createPR(imgRenderer)).report();
}
public void testImgBubblesAA() throws Exception {
(new PerfMeter("ImageAA")).exec(createPR(imgRenderer).configure(AA)).report();
}
public void testFlatBoxRotBubbles() throws Exception {
(new PerfMeter("RotatedBox")).exec(createPR(flatBoxRotRenderer)).report();
}
public void testFlatBoxRotBubblesAA() throws Exception {
(new PerfMeter("RotatedBoxAA")).exec(createPR(flatBoxRotRenderer).configure(AA)).report();
}
public void testFlatOvalRotBubbles() throws Exception {
(new PerfMeter("RotatedOval")).exec(createPR(flatOvalRotRenderer)).report();
}
public void testFlatOvalRotBubblesAA() throws Exception {
(new PerfMeter("RotatedOvalAA")).exec(createPR(flatOvalRotRenderer).configure(AA)).report();
}
public void testLinGradOvalRotBubbles() throws Exception {
(new PerfMeter("LinGradRotatedOval")).exec(createPR(linGradOvalRotRenderer)).report();
}
public void testLinGradOvalRotBubblesAA() throws Exception {
(new PerfMeter("LinGradRotatedOvalAA")).exec(createPR(linGradOvalRotRenderer).configure(AA)).report();
}
public void testWiredBubbles() throws Exception {
(new PerfMeter("WiredBubbles")).exec(createPR(wiredRenderer)).report();
}
public void testWiredBubblesAA() throws Exception {
(new PerfMeter("WiredBubblesAA")).exec(createPR(wiredRenderer).configure(AA)).report();
}
public void testWiredBoxBubbles() throws Exception {
(new PerfMeter("WiredBox")).exec(createPR(wiredBoxRenderer)).report();
}
public void testWiredBoxBubblesAA() throws Exception {
(new PerfMeter("WiredBoxAA")).exec(createPR(wiredBoxRenderer).configure(AA)).report();
}
public void testLines() throws Exception {
(new PerfMeter("Lines")).exec(createPR(segRenderer)).report();
}
public void testLinesAA() throws Exception {
(new PerfMeter("LinesAA")).exec(createPR(segRenderer).configure(AA)).report();
}
public void testFlatQuad() throws Exception {
(new PerfMeter("FlatQuad")).exec(createPR(flatQuadRenderer)).report();
}
public void testFlatQuadAA() throws Exception {
(new PerfMeter("FlatQuadAA")).exec(createPR(flatQuadRenderer).configure(AA)).report();
}
public void testWiredQuad() throws Exception {
(new PerfMeter("WiredQuad")).exec(createPR(wiredQuadRenderer)).report();
}
public void testWiredQuadAA() throws Exception {
(new PerfMeter("WiredQuadAA")).exec(createPR(wiredQuadRenderer).configure(AA)).report();
}
public void testTextBubblesNoAA() throws Exception {
(new PerfMeter("TextNoAA")).exec(createPR(textRenderer)).report();
}
public void testTextBubblesLCD() throws Exception {
(new PerfMeter("TextLCD")).exec(createPR(textRenderer).configure(TextLCD)).report();
}
public void testTextBubblesGray() throws Exception {
(new PerfMeter("TextGray")).exec(createPR(textRenderer).configure(TextAA)).report();
}
public void testLargeTextBubblesNoAA() throws Exception {
(new PerfMeter("LargeTextNoAA")).exec(createPR(largeTextRenderer)).report();
}
public void testLargeTextBubblesLCD() throws Exception {
(new PerfMeter("LargeTextLCD")).exec(createPR(largeTextRenderer).configure(TextLCD)).report();
}
public void testLargeTextBubblesGray() throws Exception {
(new PerfMeter("LargeTextGray")).exec(createPR(largeTextRenderer).configure(TextAA)).report();
}
public void testWhiteTextBubblesNoAA() throws Exception {
(new PerfMeter("WhiteTextNoAA")).exec(createPR(whiteTextRenderer)).report();
}
public void testWhiteTextBubblesLCD() throws Exception {
(new PerfMeter("WhiteTextLCD")).exec(createPR(whiteTextRenderer).configure(TextLCD)).report();
}
public void testWhiteTextBubblesGray() throws Exception {
(new PerfMeter("WhiteTextGray")).exec(createPR(whiteTextRenderer).configure(TextAA)).report();
}
public static void main(String[] args)
throws InvocationTargetException, IllegalAccessException, NoSuchMethodException
{
RenderPerfTest test = new RenderPerfTest();
if (args.length > 0) {
for (String testCase : args) {
Method m = RenderPerfTest.class.getDeclaredMethod(testCase);
m.invoke(test);
}
} else {
Method[] methods = RenderPerfTest.class.getDeclaredMethods();
for (Method m : methods) {
if (m.getName().startsWith("test") && !ignoredTests.contains(m.getName())) {
m.invoke(test);
}
}
}
}
}

View File

@@ -143,11 +143,19 @@ void VM_Version::initialize() {
}
}
// Ampere CPUs: Ampere-1 and Ampere-1A
if (_cpu == CPU_AMPERE && ((_model == CPU_MODEL_AMPERE_1) || (_model == CPU_MODEL_AMPERE_1A))) {
// Ampere CPUs
if (_cpu == CPU_AMPERE && ((_model == CPU_MODEL_AMPERE_1) ||
(_model == CPU_MODEL_AMPERE_1A) ||
(_model == CPU_MODEL_AMPERE_1B))) {
if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) {
FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true);
}
if (FLAG_IS_DEFAULT(OnSpinWaitInst)) {
FLAG_SET_DEFAULT(OnSpinWaitInst, "isb");
}
if (FLAG_IS_DEFAULT(OnSpinWaitInstCount)) {
FLAG_SET_DEFAULT(OnSpinWaitInstCount, 2);
}
}
// ThunderX

View File

@@ -107,8 +107,9 @@ public:
CPU_MODEL_ALTRA = 0xd0c, /* CPU implementer is CPU_ARM, Neoverse N1 */
CPU_MODEL_ALTRAMAX = 0xd0c, /* CPU implementer is CPU_ARM, Neoverse N1 */
CPU_MODEL_AMPERE_1 = 0xac3, /* CPU implementer is CPU_AMPERE */
CPU_MODEL_AMPERE_1A = 0xac4 /* CPU implementer is CPU_AMPERE */
};
CPU_MODEL_AMPERE_1A = 0xac4, /* CPU implementer is CPU_AMPERE */
CPU_MODEL_AMPERE_1B = 0xac5 /* AMPERE_1B core Implements ARMv8.7 with CSSC, MTE, SM3/SM4 extensions */
};
enum Feature_Flag {
#define CPU_FEATURE_FLAGS(decl) \

View File

@@ -475,6 +475,9 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
__ extsw(R7_ARG5, length()->as_register());
ce->emit_static_call_stub();
if (ce->compilation()->bailed_out()) {
return; // CodeCache is full
}
bool success = ce->emit_trampoline_stub_for_call(SharedRuntime::get_resolve_static_call_stub());
if (!success) { return; }

View File

@@ -2064,7 +2064,10 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
C2_MacroAssembler _masm(&cbuf);
address base = __ start_a_stub(size_exception_handler());
if (base == NULL) return 0; // CodeBuffer::expand failed
if (base == nullptr) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}
int offset = __ offset();
__ b64_patchable((address)OptoRuntime::exception_blob()->content_begin(),
@@ -2081,7 +2084,10 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
C2_MacroAssembler _masm(&cbuf);
address base = __ start_a_stub(size_deopt_handler());
if (base == NULL) return 0; // CodeBuffer::expand failed
if (base == nullptr) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}
int offset = __ offset();
__ bl64_patchable((address)SharedRuntime::deopt_blob()->unpack(),
@@ -2778,15 +2784,16 @@ encode %{
intptr_t val = $src$$constant;
relocInfo::relocType constant_reloc = $src->constant_reloc(); // src
address const_toc_addr;
RelocationHolder r; // Initializes type to none.
if (constant_reloc == relocInfo::oop_type) {
// Create an oop constant and a corresponding relocation.
AddressLiteral a = __ allocate_oop_address((jobject)val);
AddressLiteral a = __ constant_oop_address((jobject)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
r = a.rspec();
} else if (constant_reloc == relocInfo::metadata_type) {
// Notify OOP recorder (don't need the relocation)
AddressLiteral a = __ constant_metadata_address((Metadata *)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
} else {
// Create a non-oop constant, no relocation needed.
const_toc_addr = __ long_constant((jlong)$src$$constant);
@@ -2796,6 +2803,7 @@ encode %{
ciEnv::current()->record_out_of_memory_failure();
return;
}
__ relocate(r); // If set above.
// Get the constant's TOC offset.
toc_offset = __ offset_to_method_toc(const_toc_addr);
@@ -2809,15 +2817,16 @@ encode %{
intptr_t val = $src$$constant;
relocInfo::relocType constant_reloc = $src->constant_reloc(); // src
address const_toc_addr;
RelocationHolder r; // Initializes type to none.
if (constant_reloc == relocInfo::oop_type) {
// Create an oop constant and a corresponding relocation.
AddressLiteral a = __ allocate_oop_address((jobject)val);
AddressLiteral a = __ constant_oop_address((jobject)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
r = a.rspec();
} else if (constant_reloc == relocInfo::metadata_type) {
// Notify OOP recorder (don't need the relocation)
AddressLiteral a = __ constant_metadata_address((Metadata *)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
} else { // non-oop pointers, e.g. card mark base, heap top
// Create a non-oop constant, no relocation needed.
const_toc_addr = __ long_constant((jlong)$src$$constant);
@@ -2827,6 +2836,7 @@ encode %{
ciEnv::current()->record_out_of_memory_failure();
return;
}
__ relocate(r); // If set above.
// Get the constant's TOC offset.
const int toc_offset = __ offset_to_method_toc(const_toc_addr);
// Store the toc offset of the constant.

View File

@@ -1146,10 +1146,9 @@ bool os::dll_address_to_library_name(address addr, char* buf,
// Loads .dll/.so and in case of error it checks if .dll/.so was built
// for the same architecture as Hotspot is running on.
void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static void* dll_load_library(const char *filename, char *ebuf, int ebuflen) {
log_info(os)("attempting shared library load of %s", filename);
if (ebuf && ebuflen > 0) {
ebuf[0] = '\0';
ebuf[ebuflen - 1] = '\0';
@@ -1183,6 +1182,26 @@ void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
}
return NULL;
}
// Load library named <filename>
// If filename matches <name>.so, and loading fails, repeat with <name>.a.
void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
void* result = nullptr;
char* const file_path = strdup(filename);
char* const pointer_to_dot = strrchr(file_path, '.');
const char old_extension[] = ".so";
const char new_extension[] = ".a";
STATIC_ASSERT(sizeof(old_extension) >= sizeof(new_extension));
// First try to load the existing file.
result = dll_load_library(filename, ebuf, ebuflen);
// If the load fails,we try to reload by changing the extension to .a for .so files only.
// Shared object in .so format dont have braces, hence they get removed for archives with members.
if (result == nullptr && pointer_to_dot != nullptr && strcmp(pointer_to_dot, old_extension) == 0) {
snprintf(pointer_to_dot, sizeof(old_extension), "%s", new_extension);
result = dll_load_library(file_path, ebuf, ebuflen);
}
FREE_C_HEAP_ARRAY(char, file_path);
return result;
}
void * os::dll_load_utf8(const char *filename, char *ebuf, int ebuflen) {
return os::dll_load(filename, ebuf, ebuflen);

View File

@@ -355,7 +355,7 @@ pid_t os::Linux::gettid() {
julong os::Linux::host_swap() {
struct sysinfo si;
sysinfo(&si);
return (julong)si.totalswap;
return (julong)(si.totalswap * si.mem_unit);
}
// Most versions of linux have a bug where the number of processors are
@@ -2198,6 +2198,8 @@ void os::Linux::print_proc_sys_info(outputStream* st) {
"/proc/sys/kernel/threads-max", st);
_print_ascii_file_h("/proc/sys/vm/max_map_count (maximum number of memory map areas a process may have)",
"/proc/sys/vm/max_map_count", st);
_print_ascii_file_h("/proc/sys/vm/swappiness (control to define how aggressively the kernel swaps out anonymous memory)",
"/proc/sys/vm/swappiness", st);
_print_ascii_file_h("/proc/sys/kernel/pid_max (system-wide limit on number of process identifiers)",
"/proc/sys/kernel/pid_max", st);
}

View File

@@ -37,10 +37,7 @@
constraint) \
\
product(bool, UseOSErrorReporting, false, \
"Let VM fatal error propagate to the OS (ie. WER on Windows)") \
\
product(bool, UseCriticalSection, true, EXPERIMENTAL, \
"Use the critical section API instead of WaitForSingleObject")
"Let VM fatal error propagate to the OS (ie. WER on Windows)")
// end of RUNTIME_OS_FLAGS

View File

@@ -39,8 +39,6 @@ static INIT_ONCE initialized = INIT_ONCE_STATIC_INIT;
static int lock_count = 0;
static HANDLE lock_event;
static DWORD lock_owner = 0;
static CRITICAL_SECTION critical_section;
//
// Note that Microsoft's critical region code contains a race
@@ -54,13 +52,8 @@ static CRITICAL_SECTION critical_section;
//
static BOOL WINAPI initialize(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context) {
if (UseCriticalSection) {
bool success = InitializeCriticalSectionAndSpinCount(&critical_section, 0x00000400);
assert(success, "unexpected return value from InitializeCriticalSectionAndSpinCount");
} else {
lock_event = CreateEvent(NULL, false, true, NULL);
assert(lock_event != NULL, "unexpected return value from CreateEvent");
}
lock_event = CreateEvent(NULL, false, true, NULL);
assert(lock_event != NULL, "unexpected return value from CreateEvent");
return true;
}
@@ -69,13 +62,9 @@ ThreadCritical::ThreadCritical() {
DWORD current_thread = GetCurrentThreadId();
if (lock_owner != current_thread) {
if (UseCriticalSection) {
EnterCriticalSection(&critical_section);
} else {
// Grab the lock before doing anything.
DWORD ret = WaitForSingleObject(lock_event, INFINITE);
assert(ret == WAIT_OBJECT_0, "unexpected return value from WaitForSingleObject");
}
// Grab the lock before doing anything.
DWORD ret = WaitForSingleObject(lock_event, INFINITE);
assert(ret == WAIT_OBJECT_0, "unexpected return value from WaitForSingleObject");
lock_owner = current_thread;
}
// Atomicity isn't required. Bump the recursion count.
@@ -90,12 +79,8 @@ ThreadCritical::~ThreadCritical() {
if (lock_count == 0) {
// We're going to unlock
lock_owner = 0;
if (UseCriticalSection) {
LeaveCriticalSection(&critical_section);
} else {
// No lost wakeups, lock_event stays signaled until reset.
DWORD ret = SetEvent(lock_event);
assert(ret != 0, "unexpected return value from SetEvent");
}
// No lost wakeups, lock_event stays signaled until reset.
DWORD ret = SetEvent(lock_event);
assert(ret != 0, "unexpected return value from SetEvent");
}
}

View File

@@ -407,17 +407,16 @@ bool SharedClassPathEntry::validate(bool is_class_path) const {
FileMapInfo::fail_continue("directory is not empty: %s", name);
ok = false;
}
} else {
bool size_differs = _filesize != st.st_size;
bool time_differs = has_timestamp() && _timestamp != st.st_mtime;
if (time_differs || size_differs) {
ok = false;
if (PrintSharedArchiveAndExit) {
FileMapInfo::fail_continue(time_differs ? "Timestamp mismatch" : "File size mismatch");
} else {
FileMapInfo::fail_continue("This file is not the one used while building"
" the shared archive file: %s", name);
}
} else if ((has_timestamp() && _timestamp != st.st_mtime) ||
_filesize != st.st_size) {
ok = false;
if (PrintSharedArchiveAndExit) {
FileMapInfo::fail_continue(_timestamp != st.st_mtime ?
"Timestamp mismatch" :
"File size mismatch");
} else {
FileMapInfo::fail_continue("A jar file is not the one used while building"
" the shared archive file: %s", name);
}
}

View File

@@ -32,7 +32,7 @@
//
// Set the unique identity number of a ciBaseObject.
void ciBaseObject::set_ident(uint id) {
assert(AllowEnhancedClassRedefinition || _ident == 0, "must only initialize once");
assert(_ident == 0, "must only initialize once");
_ident = id;
}

View File

@@ -186,7 +186,7 @@ ciEnv::ciEnv(Arena* arena) : _ciEnv_arena(mtCompiler) {
_break_at_compile = false;
_compiler_data = NULL;
#ifndef PRODUCT
assert(AllowEnhancedClassRedefinition || firstEnv, "must be first");
assert(firstEnv, "must be first");
firstEnv = false;
#endif /* !PRODUCT */
@@ -1185,6 +1185,27 @@ ciInstance* ciEnv::unloaded_ciinstance() {
// Don't change thread state and acquire any locks.
// Safe to call from VM error reporter.
// Look up the location descriptor for the given class and return it as a string.
// Returns the class name as a fallback if no location is found.
const char *ciEnv::replay_name(ciKlass* k) const {
if (k->is_instance_klass()) {
return replay_name(k->as_instance_klass()->get_instanceKlass());
}
return k->name()->as_quoted_ascii();
}
// Look up the location descriptor for the given class and return it as a string.
// Returns the class name as a fallback if no location is found.
const char *ciEnv::replay_name(const InstanceKlass* ik) const {
// JDK-8271911 is not in JDK 17, so we fall back to using the class name below.
const char* name = nullptr; // dyno_name(ik);
if (name != nullptr) {
return name;
}
return ik->name()->as_quoted_ascii();
}
void ciEnv::dump_compile_data(outputStream* out) {
CompileTask* task = this->task();
if (task) {
@@ -1223,6 +1244,9 @@ void ciEnv::dump_replay_data_unsafe(outputStream* out) {
GrowableArray<ciMetadata*>* objects = _factory->get_ci_metadata();
out->print_cr("# %d ciObject found", objects->length());
// The very first entry is the InstanceKlass of the root method of the current compilation in order to get the right
// protection domain to load subsequent classes during replay compilation.
out->print_cr("instanceKlass %s", CURRENT_ENV->replay_name(task()->method()->method_holder()));
for (int i = 0; i < objects->length(); i++) {
objects->at(i)->dump_replay_data(out);
}

View File

@@ -466,6 +466,9 @@ public:
void dump_replay_data(outputStream* out);
void dump_replay_data_unsafe(outputStream* out);
void dump_compile_data(outputStream* out);
const char *replay_name(const InstanceKlass* ik) const;
const char *replay_name(ciKlass* i) const;
};
#endif // SHARE_CI_CIENV_HPP

View File

@@ -119,16 +119,37 @@ void ciObjectFactory::initialize() {
env->_factory->init_shared_objects();
_initialized = true;
}
// (DCEVM) vm classes could be modified
void ciObjectFactory::reinitialize_vm_classes_dcevm() {
// TODO: compiler crashes after 'delete _initial_arena;'
// delete ciObjectFactory::_initial_arena;
_initialized = false;
ciObjectFactory::initialize();
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;
_initialized = true;
}
// (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() {
@@ -730,13 +751,14 @@ void ciObjectFactory::print() {
_unloaded_klasses.length());
}
int ciObjectFactory::compare_cimetadata(ciMetadata** a, ciMetadata** b) {
Metadata* am = (*a)->constant_encoding();
Metadata* bm = (*b)->constant_encoding();
return ((am > bm) ? 1 : ((am == bm) ? 0 : -1));
}
// FIXME: review... is it necessary?
// FIXME: review... Resoring the ciObject arrays after class redefinition
void ciObjectFactory::resort_shared_ci_metadata() {
if (_shared_ci_metadata == NULL) return;
_shared_ci_metadata->sort(ciObjectFactory::compare_cimetadata);
@@ -752,3 +774,4 @@ void ciObjectFactory::resort_shared_ci_metadata() {
}
#endif // ASSERT
}

View File

@@ -92,15 +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; }
// (DCEVM)
static bool is_reinitialize_vm_klasses() { return _reinitialize_vm_klasses; }
static void set_reinitialize_vm_klasses() { _reinitialize_vm_klasses = true; }
static void reinitialize_vm_classes_dcevm();
static void initialize();
static void reinitialize_vm_classes();
void init_shared_objects();
void remove_symbols();

View File

@@ -103,6 +103,7 @@ class CompileReplay : public StackObj {
FILE* _stream;
Thread* _thread;
Handle _protection_domain;
bool _protection_domain_initialized;
Handle _loader;
GrowableArray<ciMethodRecord*> _ci_method_records;
@@ -130,6 +131,7 @@ class CompileReplay : public StackObj {
_thread = THREAD;
_loader = Handle(_thread, SystemDictionary::java_system_loader());
_protection_domain = Handle();
_protection_domain_initialized = false;
_stream = fopen(filename, "rt");
if (_stream == NULL) {
@@ -685,6 +687,18 @@ class CompileReplay : public StackObj {
void process_instanceKlass(TRAPS) {
// just load the referenced class
Klass* k = parse_klass(CHECK);
if (!_protection_domain_initialized && k != NULL) {
assert(_protection_domain() == NULL, "must be uninitialized");
// The first entry is the holder class of the method for which a replay compilation is requested.
// Use the same protection domain to load all subsequent classes in order to resolve all classes
// in signatures of inlinees. This ensures that inlining can be done as stated in the replay file.
_protection_domain = Handle(_thread, k->protection_domain());
}
// Only initialize the protection domain handle with the protection domain of the very first entry.
// This also ensures that older replay files work.
_protection_domain_initialized = true;
}
// ciInstanceKlass <name> <is_linked> <is_initialized> <length> tag*

View File

@@ -326,10 +326,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
return (unsigned)((uintptr_t)this >> 3);
}
int keep_alive_cnt() const { return _keep_alive; }
JFR_ONLY(DEFINE_TRACE_ID_METHODS;)
JFR_ONLY(DEFINE_TRACE_ID_METHODS;)
};
#endif // SHARE_CLASSFILE_CLASSLOADERDATA_HPP

View File

@@ -81,7 +81,6 @@
#if INCLUDE_JVMCI
#include "jvmci/jvmciJavaClasses.hpp"
#endif
#include "prims/jvmtiEnhancedRedefineClasses.hpp"
#define INJECTED_FIELD_COMPUTE_OFFSET(klass, name, signature, may_be_java) \
klass::_##name##_offset = JavaClasses::compute_injected_offset(JavaClasses::klass##_##name##_enum);
@@ -763,8 +762,7 @@ char* java_lang_String::as_utf8_string(oop java_string, typeArrayOop value, int
}
bool java_lang_String::equals(oop java_string, const jchar* chars, int len) {
assert(java_string->klass() == vmClasses::String_klass()
|| (Universe::is_inside_redefinition() && java_string->klass()->newest_version() == vmClasses::String_klass()),
assert(java_string->klass() == vmClasses::String_klass(),
"must be java_string");
typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
int length = java_lang_String::length(java_string, value);
@@ -1693,8 +1691,7 @@ BasicType java_lang_Class::as_BasicType(oop java_class, Klass** reference_klass)
oop java_lang_Class::primitive_mirror(BasicType t) {
oop mirror = Universe::java_mirror(t);
assert(mirror != NULL && (mirror->is_a(vmClasses::Class_klass())
|| (Universe::is_inside_redefinition() && vmClasses::Class_klass()->old_version() != NULL && mirror->is_a(vmClasses::Class_klass()->old_version()))), "must be a Class");
assert(mirror != NULL && mirror->is_a(vmClasses::Class_klass()), "must be a Class");
assert(java_lang_Class::is_primitive(mirror), "must be primitive");
return mirror;
}

View File

@@ -32,7 +32,6 @@
#include "oops/method.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oopsHierarchy.hpp"
#include "prims/jvmtiEnhancedRedefineClasses.hpp"
void java_lang_String::set_coder(oop string, jbyte coder) {
string->byte_field_put(_coder_offset, coder);
@@ -126,8 +125,7 @@ int java_lang_String::length(oop java_string) {
}
bool java_lang_String::is_instance_inlined(oop obj) {
return obj != NULL && (obj->klass() == vmClasses::String_klass()
|| (Universe::is_inside_redefinition() && obj->klass()->newest_version() == vmClasses::String_klass()));
return obj != NULL && obj->klass() == vmClasses::String_klass();
}
// Accessors
@@ -231,13 +229,11 @@ inline bool java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance(oo
}
inline bool java_lang_invoke_MemberName::is_instance(oop obj) {
return obj != NULL && (obj->klass() == vmClasses::MemberName_klass()
|| (Universe::is_inside_redefinition() && obj->klass()->newest_version() == vmClasses::MemberName_klass()));
return obj != NULL && obj->klass() == vmClasses::MemberName_klass();
}
inline bool java_lang_invoke_ResolvedMethodName::is_instance(oop obj) {
return obj != NULL && (obj->klass() == vmClasses::ResolvedMethodName_klass()
|| (Universe::is_inside_redefinition() && obj->klass()->newest_version() == vmClasses::ResolvedMethodName_klass()));
return obj != NULL && obj->klass() == vmClasses::ResolvedMethodName_klass();
}
inline bool java_lang_invoke_MethodType::is_instance(oop obj) {
@@ -249,8 +245,7 @@ inline bool java_lang_invoke_MethodHandle::is_instance(oop obj) {
}
inline bool java_lang_Class::is_instance(oop obj) {
return obj != NULL && (obj->klass() == vmClasses::Class_klass()
|| (Universe::is_inside_redefinition() && obj->klass()->newest_version() == vmClasses::Class_klass()));
return obj != NULL && obj->klass() == vmClasses::Class_klass();
}
inline Klass* java_lang_Class::as_Klass(oop java_class) {
@@ -285,13 +280,11 @@ inline int java_lang_Class::oop_size_raw(oop java_class) {
}
inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) {
return obj != NULL && (is_subclass(obj->klass())
|| (Universe::is_inside_redefinition() && is_subclass(obj->klass()->newest_version())));
return obj != NULL && is_subclass(obj->klass());
}
inline bool java_lang_invoke_DirectMethodHandle_StaticAccessor::is_instance(oop obj) {
return obj != NULL && (is_subclass(obj->klass())
|| (Universe::is_inside_redefinition() && is_subclass(obj->klass()->newest_version())));
return obj != NULL && is_subclass(obj->klass());
}
inline bool java_lang_invoke_DirectMethodHandle_Accessor::is_instance(oop obj) {

View File

@@ -2361,7 +2361,7 @@ Handle SystemDictionary::link_method_handle_constant(Klass* caller,
// call java.lang.invoke.MethodHandleNatives::linkMethodHandleConstant(Class caller, int refKind, Class callee, String name, Object type) -> MethodHandle
JavaCallArguments args;
args.push_oop(Handle(THREAD, caller->newest_version()->java_mirror())); // the referring class
args.push_oop(Handle(THREAD, caller->java_mirror())); // the referring class
args.push_int(ref_kind);
args.push_oop(Handle(THREAD, callee->java_mirror())); // the target class
args.push_oop(name_str);

View File

@@ -261,13 +261,6 @@ BasicType vmClasses::box_klass_type(Klass* k) {
}
bool vmClasses::update_vm_klass(InstanceKlass* old_klass, InstanceKlass* new_klass) {
for (int i = T_BOOLEAN; i < T_VOID+1; i++) {
if (_box_klasses[i] == old_klass) {
_box_klasses[i] = new_klass;
break;
}
}
for (int id = static_cast<int>(vmClassID::FIRST); id < static_cast<int>(vmClassID::LIMIT); id++) {
if (_klasses[id] == old_klass) {
_klasses[id] = new_klass;

View File

@@ -735,18 +735,6 @@ void CodeCache::blobs_do(CodeBlobClosure* f) {
}
}
void CodeCache::blobs_do_dcevm(CodeBlobClosure* f) {
assert_locked_or_safepoint(CodeCache_lock);
FOR_ALL_ALLOCABLE_HEAPS(heap) {
FOR_ALL_BLOBS(cb, *heap) {
if (cb->is_alive()) {
f->do_code_blob(cb);
// (DCEVM) no validation since oops in nmethod blob could be changed
}
}
}
}
void CodeCache::verify_clean_inline_caches() {
#ifdef ASSERT
NMethodIterator iter(NMethodIterator::only_alive_and_not_unloading);

View File

@@ -146,8 +146,6 @@ class CodeCache : AllStatic {
static bool contains(nmethod* nm); // returns whether nm is included
static void blobs_do(void f(CodeBlob* cb)); // iterates over all CodeBlobs
static void blobs_do(CodeBlobClosure* f); // iterates over all CodeBlobs
// (DCEVM)
static void blobs_do_dcevm(CodeBlobClosure* f); // iterates over all CodeBlobs without nmethod validation
static void nmethods_do(void f(nmethod* nm)); // iterates over all nmethods
static void metadata_do(MetadataClosure* f); // iterates over metadata in alive nmethods

View File

@@ -2000,30 +2000,18 @@ void CompileBroker::compiler_thread_loop() {
if (method()->number_of_breakpoints() == 0) {
// Compile the method.
if ((UseCompiler || AlwaysCompileLoopMethods) && CompileBroker::should_compile_new_jobs()) {
if (AllowEnhancedClassRedefinition) {
{
// go to native, since dcevm doit() is in a safepoint (_compilation_stopped == true)
ThreadToNativeFromVM ttn(thread);
MonitorLocker locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
// stop all compilations if requested from redefinition
while (_compilation_stopped) {
locker.wait(20);
}
Atomic::add(&_active_compilations, 1);
}
// 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()) {
MutexLocker only_one(DcevmCompilationInit_lock, Mutex::_no_safepoint_check_flag);
if (ciObjectFactory::is_reinitialize_vm_klasses()) {
ciObjectFactory::reinitialize_vm_classes_dcevm();
}
ciObjectFactory::reinitialize_vm_classes();
}
invoke_compiler_on_method(task);
Atomic::sub(&_active_compilations, 1);
} else {
invoke_compiler_on_method(task);
}
invoke_compiler_on_method(task);
thread->start_idle_timer();
} else {
// After compilation is disabled, remove remaining methods from queue
@@ -2353,12 +2341,15 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
}
}
if (AllowEnhancedClassRedefinition) {
// Skip redefined methods
if (task->method()->is_old() || task->method()->method_holder()->new_version() != NULL) {
ci_env.record_method_not_compilable("redefined method", true);
} else {
comp->compile_method(&ci_env, target, osr_bci, true, directive);
{
MonitorLocker locker(DcevmCompilation_lock, Mutex::_no_safepoint_check_flag);
while (_compilation_stopped) {
locker.wait();
}
Atomic::add(&_active_compilations, 1);
}
comp->compile_method(&ci_env, target, osr_bci, true, directive);
Atomic::sub(&_active_compilations, 1);
} else {
comp->compile_method(&ci_env, target, osr_bci, true, directive);
}

View File

@@ -91,7 +91,7 @@ bool G1Allocator::is_retained_old_region(HeapRegion* hr) {
return _retained_old_gc_alloc_region == hr;
}
void G1Allocator::reuse_retained_old_region(G1EvacuationInfo& evacuation_info,
void G1Allocator::reuse_retained_old_region(G1EvacuationInfo* evacuation_info,
OldGCAllocRegion* old,
HeapRegion** retained_old) {
HeapRegion* retained_region = *retained_old;
@@ -120,11 +120,11 @@ void G1Allocator::reuse_retained_old_region(G1EvacuationInfo& evacuation_info,
_g1h->old_set_remove(retained_region);
old->set(retained_region);
_g1h->hr_printer()->reuse(retained_region);
evacuation_info.set_alloc_regions_used_before(retained_region->used());
evacuation_info->set_alloc_regions_used_before(retained_region->used());
}
}
void G1Allocator::init_gc_alloc_regions(G1EvacuationInfo& evacuation_info) {
void G1Allocator::init_gc_alloc_regions(G1EvacuationInfo* evacuation_info) {
assert_at_safepoint_on_vm_thread();
_survivor_is_full = false;
@@ -140,14 +140,14 @@ void G1Allocator::init_gc_alloc_regions(G1EvacuationInfo& evacuation_info) {
&_retained_old_gc_alloc_region);
}
void G1Allocator::release_gc_alloc_regions(G1EvacuationInfo& evacuation_info) {
void G1Allocator::release_gc_alloc_regions(G1EvacuationInfo* evacuation_info) {
uint survivor_region_count = 0;
for (uint node_index = 0; node_index < _num_alloc_regions; node_index++) {
survivor_region_count += survivor_gc_alloc_region(node_index)->count();
survivor_gc_alloc_region(node_index)->release();
}
evacuation_info.set_allocation_regions(survivor_region_count +
old_gc_alloc_region()->count());
evacuation_info->set_allocation_regions(survivor_region_count +
old_gc_alloc_region()->count());
// If we have an old GC alloc region to release, we'll save it in
// _retained_old_gc_alloc_region. If we don't

View File

@@ -68,7 +68,7 @@ private:
void set_survivor_full();
void set_old_full();
void reuse_retained_old_region(G1EvacuationInfo& evacuation_info,
void reuse_retained_old_region(G1EvacuationInfo* evacuation_info,
OldGCAllocRegion* old,
HeapRegion** retained);
@@ -105,8 +105,8 @@ public:
void init_mutator_alloc_regions();
void release_mutator_alloc_regions();
void init_gc_alloc_regions(G1EvacuationInfo& evacuation_info);
void release_gc_alloc_regions(G1EvacuationInfo& evacuation_info);
void init_gc_alloc_regions(G1EvacuationInfo* evacuation_info);
void release_gc_alloc_regions(G1EvacuationInfo* evacuation_info);
void abandon_gc_alloc_regions();
bool is_retained_old_region(HeapRegion* hr);

View File

@@ -979,7 +979,11 @@ public:
: _hr_printer(hr_printer) { }
};
void G1CollectedHeap::print_hrm_post_compaction() {
void G1CollectedHeap::print_heap_after_full_collection() {
// Post collection region logging.
// We should do this after we potentially resize the heap so
// that all the COMMIT / UNCOMMIT events are generated before
// the compaction events.
if (_hr_printer.is_active()) {
PostCompactionPrinterClosure cl(hr_printer());
heap_region_iterate(&cl);
@@ -1091,17 +1095,6 @@ void G1CollectedHeap::verify_after_full_collection() {
_ref_processor_cm->verify_no_references_recorded();
}
void G1CollectedHeap::print_heap_after_full_collection(G1HeapTransition* heap_transition) {
// Post collection logging.
// We should do this after we potentially resize the heap so
// that all the COMMIT / UNCOMMIT events are generated before
// the compaction events.
print_hrm_post_compaction();
heap_transition->print();
print_heap_after_gc();
print_heap_regions();
}
bool G1CollectedHeap::do_full_collection(bool explicit_gc,
bool clear_all_soft_refs,
bool do_maximum_compaction) {
@@ -1115,8 +1108,9 @@ bool G1CollectedHeap::do_full_collection(bool explicit_gc,
const bool do_clear_all_soft_refs = clear_all_soft_refs ||
soft_ref_policy()->should_clear_all_soft_refs();
G1FullCollector collector(this, explicit_gc, do_clear_all_soft_refs, do_maximum_compaction);
G1FullGCMark gc_mark;
GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause(), true);
G1FullCollector collector(this, explicit_gc, do_clear_all_soft_refs, do_maximum_compaction, gc_mark.tracer());
collector.prepare_collection();
collector.collect();
@@ -2589,9 +2583,6 @@ void G1CollectedHeap::trace_heap(GCWhen::Type when, const GCTracer* gc_tracer) {
void G1CollectedHeap::gc_prologue(bool full) {
assert(InlineCacheBuffer::is_empty(), "should have cleaned up ICBuffer");
// This summary needs to be printed before incrementing total collections.
rem_set()->print_periodic_summary_info("Before GC RS summary", total_collections());
// Update common counters.
increment_total_collections(full /* full gc */);
if (full || collector_state()->in_concurrent_start_gc()) {
@@ -2624,9 +2615,6 @@ void G1CollectedHeap::gc_epilogue(bool full) {
increment_old_marking_cycles_completed(false /* concurrent */, true /* liveness_completed */);
}
// We are at the end of the GC. Total collections has already been increased.
rem_set()->print_periodic_summary_info("After GC RS summary", total_collections() - 1);
#if COMPILER2_OR_JVMCI
assert(DerivedPointerTable::is_empty(), "derived pointer present");
#endif
@@ -2640,9 +2628,6 @@ void G1CollectedHeap::gc_epilogue(bool full) {
// policy with the new heap occupancy
Universe::heap()->update_capacity_and_used_at_gc();
// Print NUMA statistics.
_numa->print_statistics();
_collection_pause_end = Ticks::now();
}
@@ -2828,10 +2813,10 @@ void G1CollectedHeap::start_new_collection_set() {
phase_times()->record_start_new_cset_time_ms((os::elapsedTime() - start) * 1000.0);
}
void G1CollectedHeap::calculate_collection_set(G1EvacuationInfo& evacuation_info, double target_pause_time_ms) {
void G1CollectedHeap::calculate_collection_set(G1EvacuationInfo* evacuation_info, double target_pause_time_ms) {
_collection_set.finalize_initial_collection_set(target_pause_time_ms, &_survivor);
evacuation_info.set_collectionset_regions(collection_set()->region_length() +
evacuation_info->set_collectionset_regions(collection_set()->region_length() +
collection_set()->optional_region_length());
_cm->verify_no_collection_set_oops();
@@ -2926,6 +2911,64 @@ void G1CollectedHeap::gc_tracer_report_gc_end(bool concurrent_operation_is_full_
_gc_timer_stw->time_partitions());
}
G1HeapPrinterMark::G1HeapPrinterMark(G1CollectedHeap* g1h) : _g1h(g1h), _heap_transition(g1h) {
// This summary needs to be printed before incrementing total collections.
_g1h->rem_set()->print_periodic_summary_info("Before GC RS summary", _g1h->total_collections());
_g1h->print_heap_before_gc();
_g1h->print_heap_regions();
}
G1HeapPrinterMark::~G1HeapPrinterMark() {
_g1h->policy()->print_age_table();
// not (yet) in 17u: _g1h->rem_set()->print_coarsen_stats();
// We are at the end of the GC. Total collections has already been increased.
_g1h->rem_set()->print_periodic_summary_info("After GC RS summary", _g1h->total_collections() - 1);
_heap_transition.print();
_g1h->print_heap_regions();
_g1h->print_heap_after_gc();
// Print NUMA statistics.
_g1h->numa()->print_statistics();
}
G1JFRTracerMark::G1JFRTracerMark(STWGCTimer* timer, GCTracer* tracer) :
_timer(timer), _tracer(tracer) {
_timer->register_gc_start();
_tracer->report_gc_start(G1CollectedHeap::heap()->gc_cause(), _timer->gc_start());
G1CollectedHeap::heap()->trace_heap_before_gc(_tracer);
}
G1JFRTracerMark::~G1JFRTracerMark() {
G1CollectedHeap::heap()->trace_heap_after_gc(_tracer);
_timer->register_gc_end();
_tracer->report_gc_end(_timer->gc_end(), _timer->time_partitions());
}
class G1YoungGCJFRTracerMark : public G1JFRTracerMark {
G1EvacuationInfo _evacuation_info;
G1NewTracer* tracer() const { return (G1NewTracer*)_tracer; }
public:
G1EvacuationInfo* evacuation_info() { return &_evacuation_info; }
G1YoungGCJFRTracerMark(STWGCTimer* gc_timer_stw, G1NewTracer* gc_tracer_stw, GCCause::Cause cause) :
G1JFRTracerMark(gc_timer_stw, gc_tracer_stw), _evacuation_info() { }
void report_pause_type(G1GCPauseType type) {
tracer()->report_young_gc_pause(type);
}
~G1YoungGCJFRTracerMark() {
G1CollectedHeap* g1h = G1CollectedHeap::heap();
tracer()->report_evacuation_info(&_evacuation_info);
tracer()->report_tenuring_threshold(g1h->policy()->tenuring_threshold());
}
};
void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_pause_time_ms) {
GCIdMark gc_id_mark;
@@ -2934,14 +2977,8 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
policy()->note_gc_start();
gc_tracer_report_gc_start();
wait_for_root_region_scanning();
print_heap_before_gc();
print_heap_regions();
trace_heap_before_gc(_gc_tracer_stw);
_verifier->verify_region_sets_optional();
_verifier->verify_dirty_young_regions();
@@ -2967,9 +3004,7 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
// Inner scope for scope based logging, timers, and stats collection
{
G1EvacuationInfo evacuation_info;
GCTraceCPUTime tcpu;
GCTraceCPUTime tcpu(_gc_tracer_stw);
char young_gc_name[MaxYoungGCNameLength];
set_young_gc_name(young_gc_name);
@@ -2982,11 +3017,20 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
active_workers = workers()->update_active_workers(active_workers);
log_info(gc,task)("Using %u workers of %u for evacuation", active_workers, workers()->total_workers());
// JFR
G1YoungGCJFRTracerMark jtm(_gc_timer_stw, _gc_tracer_stw, gc_cause());
G1MonitoringScope ms(g1mm(),
false /* full_gc */,
collector_state()->in_mixed_phase() /* all_memory_pools_affected */);
// Create the heap printer before internal pause timing to have
// heap information printed as last part of detailed GC log.
G1HeapPrinterMark hpm(this);
// Young GC internal pause timing
// Not (yet) in 17: G1YoungGCNotifyPauseMark npm;
G1HeapTransition heap_transition(this);
// Verification may use the gang workers, so they must be set up before.
// Individual parallel phases may override this.
// Not (yet) in 17: set_young_collection_default_active_worker_threads();
{
IsGCActiveMark x;
@@ -3018,7 +3062,7 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
// of the collection set!).
_allocator->release_mutator_alloc_regions();
calculate_collection_set(evacuation_info, target_pause_time_ms);
calculate_collection_set(jtm.evacuation_info(), target_pause_time_ms);
G1RedirtyCardsQueueSet rdcqs(G1BarrierSet::dirty_card_queue_set().allocator());
G1ParScanThreadStateSet per_thread_states(this,
@@ -3026,7 +3070,7 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
workers()->active_workers(),
collection_set()->young_region_length(),
collection_set()->optional_region_length());
pre_evacuate_collection_set(evacuation_info, &per_thread_states);
pre_evacuate_collection_set(jtm.evacuation_info(), &per_thread_states);
bool may_do_optional_evacuation = _collection_set.optional_region_length() != 0;
// Actually do the work...
@@ -3035,7 +3079,7 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
if (may_do_optional_evacuation) {
evacuate_optional_collection_set(&per_thread_states);
}
post_evacuate_collection_set(evacuation_info, &rdcqs, &per_thread_states);
post_evacuate_collection_set(jtm.evacuation_info(), &rdcqs, &per_thread_states);
start_new_collection_set();
@@ -3054,7 +3098,7 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
// Need to report the collection pause now since record_collection_pause_end()
// modifies it to the next state.
_gc_tracer_stw->report_young_gc_pause(collector_state()->young_gc_pause_type(concurrent_operation_is_full_mark));
jtm.report_pause_type(collector_state()->young_gc_pause_type(concurrent_operation_is_full_mark));
double sample_end_time_sec = os::elapsedTime();
double pause_time_ms = (sample_end_time_sec - sample_start_time_sec) * MILLIUNITS;
@@ -3072,7 +3116,6 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
}
policy()->print_phases();
heap_transition.print();
_hrm.verify_optional();
_verifier->verify_region_sets_optional();
@@ -3080,17 +3123,11 @@ void G1CollectedHeap::do_collection_pause_at_safepoint_helper(double target_paus
TASKQUEUE_STATS_ONLY(print_taskqueue_stats());
TASKQUEUE_STATS_ONLY(reset_taskqueue_stats());
print_heap_after_gc();
print_heap_regions();
trace_heap_after_gc(_gc_tracer_stw);
// We must call G1MonitoringSupport::update_sizes() in the same scoping level
// as an active TraceMemoryManagerStats object (i.e. before the destructor for the
// TraceMemoryManagerStats is called) so that the G1 memory pools are updated
// before any GC notifications are raised.
g1mm()->update_sizes();
gc_tracer_report_gc_end(concurrent_operation_is_full_mark, evacuation_info);
}
// It should now be safe to tell the concurrent mark thread to start
// without its logging output interfering with the logging output
@@ -3513,7 +3550,7 @@ public:
}
};
void G1CollectedHeap::pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
void G1CollectedHeap::pre_evacuate_collection_set(G1EvacuationInfo* evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
_bytes_used_during_gc = 0;
_expand_heap_after_alloc_failure = true;
@@ -3779,7 +3816,7 @@ void G1CollectedHeap::evacuate_optional_collection_set(G1ParScanThreadStateSet*
_collection_set.abandon_optional_collection_set(per_thread_states);
}
void G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo& evacuation_info,
void G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo* evacuation_info,
G1RedirtyCardsQueueSet* rdcqs,
G1ParScanThreadStateSet* per_thread_states) {
G1GCPhaseTimes* p = phase_times();
@@ -3800,7 +3837,7 @@ void G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo& evacuation_
post_evacuate_cleanup_1(per_thread_states, rdcqs);
post_evacuate_cleanup_2(&_preserved_marks_set, rdcqs, &evacuation_info, per_thread_states->surviving_young_words());
post_evacuate_cleanup_2(&_preserved_marks_set, rdcqs, evacuation_info, per_thread_states->surviving_young_words());
assert_used_and_recalculate_used_equal(this);
@@ -3808,10 +3845,8 @@ void G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo& evacuation_
record_obj_copy_mem_stats();
evacuation_info.set_collectionset_used_before(collection_set()->bytes_used_before());
evacuation_info.set_bytes_used(_bytes_used_during_gc);
policy()->print_age_table();
evacuation_info->set_collectionset_used_before(collection_set()->bytes_used_before());
evacuation_info->set_bytes_used(_bytes_used_during_gc);
}
void G1CollectedHeap::record_obj_copy_mem_stats() {

View File

@@ -150,6 +150,7 @@ class G1CollectedHeap : public CollectedHeap {
friend class G1FullGCPrepareTask;
// Other related classes.
friend class G1HeapPrinterMark;
friend class HeapRegionClaimer;
// Testing classes.
@@ -305,10 +306,6 @@ private:
// this method will be found dead by the marking cycle).
void allocate_dummy_regions() PRODUCT_RETURN;
// If the HR printer is active, dump the state of the regions in the
// heap after a compaction.
void print_hrm_post_compaction();
// Create a memory mapper for auxiliary data structures of the given size and
// translation factor.
static G1RegionToSpaceMapper* create_aux_memory_mapper(const char* description,
@@ -530,7 +527,7 @@ private:
void prepare_heap_for_mutators();
void abort_refinement();
void verify_after_full_collection();
void print_heap_after_full_collection(G1HeapTransition* heap_transition);
void print_heap_after_full_collection();
// Helper method for satisfy_failed_allocation()
HeapWord* satisfy_failed_allocation_helper(size_t word_size,
@@ -800,7 +797,7 @@ private:
void verify_before_young_collection(G1HeapVerifier::G1VerifyType type);
void verify_after_young_collection(G1HeapVerifier::G1VerifyType type);
void calculate_collection_set(G1EvacuationInfo& evacuation_info, double target_pause_time_ms);
void calculate_collection_set(G1EvacuationInfo* evacuation_info, double target_pause_time_ms);
// Actually do the work of evacuating the parts of the collection set.
// The has_optional_evacuation_work flag for the initial collection set
@@ -826,8 +823,8 @@ private:
void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states);
public:
void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss);
void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info,
void pre_evacuate_collection_set(G1EvacuationInfo* evacuation_info, G1ParScanThreadStateSet* pss);
void post_evacuate_collection_set(G1EvacuationInfo* evacuation_info,
G1RedirtyCardsQueueSet* rdcqs,
G1ParScanThreadStateSet* pss);
@@ -1468,6 +1465,7 @@ private:
void print_regions_on(outputStream* st) const;
public:
virtual void print_on(outputStream* st) const;
virtual void print_extended_on(outputStream* st) const;
virtual void print_on_error(outputStream* st) const;
@@ -1485,6 +1483,28 @@ public:
virtual bool print_location(outputStream* st, void* addr) const;
};
// Scoped object that performs common pre- and post-gc heap printing operations.
class G1HeapPrinterMark : public StackObj {
G1CollectedHeap* _g1h;
G1HeapTransition _heap_transition;
public:
G1HeapPrinterMark(G1CollectedHeap* g1h);
~G1HeapPrinterMark();
};
// Scoped object that performs common pre- and post-gc operations related to
// JFR events.
class G1JFRTracerMark : public StackObj {
protected:
STWGCTimer* _timer;
GCTracer* _tracer;
public:
G1JFRTracerMark(STWGCTimer* timer, GCTracer* tracer);
~G1JFRTracerMark();
};
class G1ParEvacuateFollowersClosure : public VoidClosure {
private:
double _start_term;

View File

@@ -595,6 +595,8 @@ public:
ConcurrentGCTimer* gc_timer_cm() const { return _gc_timer_cm; }
G1OldTracer* gc_tracer_cm() const { return _gc_tracer_cm; }
private:
// Rebuilds the remembered sets for chosen regions in parallel and concurrently to the application.
void rebuild_rem_set_concurrently();

View File

@@ -112,9 +112,10 @@ uint G1FullCollector::calc_active_workers() {
G1FullCollector::G1FullCollector(G1CollectedHeap* heap,
bool explicit_gc,
bool clear_soft_refs,
bool do_maximum_compaction) :
bool do_maximum_compaction,
G1FullGCTracer* tracer) :
_heap(heap),
_scope(heap->g1mm(), explicit_gc, clear_soft_refs, do_maximum_compaction),
_scope(heap->g1mm(), explicit_gc, clear_soft_refs, do_maximum_compaction, tracer),
_num_workers(calc_active_workers()),
_oop_queue_set(_num_workers),
_array_queue_set(_num_workers),
@@ -171,9 +172,6 @@ public:
void G1FullCollector::prepare_collection() {
_heap->policy()->record_full_collection_start();
_heap->print_heap_before_gc();
_heap->print_heap_regions();
_heap->abort_concurrent_cycle();
_heap->verify_before_full_collection(scope()->is_explicit_gc());
@@ -229,7 +227,7 @@ void G1FullCollector::complete_collection() {
_heap->verify_after_full_collection();
_heap->print_heap_after_full_collection(scope()->heap_transition());
_heap->print_heap_after_full_collection();
}
void G1FullCollector::before_marking_update_attribute_table(HeapRegion* hr) {

View File

@@ -31,6 +31,8 @@
#include "gc/g1/g1FullGCOopClosures.hpp"
#include "gc/g1/g1FullGCScope.hpp"
#include "gc/g1/g1RegionMarkStatsCache.hpp"
#include "gc/shared/gcId.hpp"
#include "gc/shared/gcTraceTime.hpp"
#include "gc/shared/preservedMarks.hpp"
#include "gc/shared/referenceProcessor.hpp"
#include "gc/shared/taskqueue.hpp"
@@ -55,6 +57,18 @@ public:
}
};
// Full GC Mark that holds GC id and CPU time trace. Needs to be separate
// from the G1FullCollector and G1FullGCScope to allow the Full GC logging
// to have the same structure as the Young GC logging.
class G1FullGCMark : StackObj {
GCIdMark _gc_id;
G1FullGCTracer _tracer;
GCTraceCPUTime _cpu_time;
public:
G1FullGCMark() : _gc_id(), _tracer(), _cpu_time(&_tracer) { }
G1FullGCTracer* tracer() { return &_tracer; }
};
// The G1FullCollector holds data associated with the current Full GC.
class G1FullCollector : StackObj {
G1CollectedHeap* _heap;
@@ -81,7 +95,8 @@ public:
G1FullCollector(G1CollectedHeap* heap,
bool explicit_gc,
bool clear_soft_refs,
bool do_maximum_compaction);
bool do_maximum_compaction,
G1FullGCTracer* tracer);
~G1FullCollector();
void prepare_collection();

View File

@@ -47,8 +47,7 @@ void G1FullGCMarkTask::work(uint worker_id) {
G1FullGCMarker* marker = collector()->marker(worker_id);
MarkingCodeBlobClosure code_closure(marker->mark_closure(), !CodeBlobToOopClosure::FixRelocations);
// (DCEVM) always process all roots (simulate ClassUnloading=false)
if (!AllowEnhancedClassRedefinition && ClassUnloading) {
if (ClassUnloading) {
_root_processor.process_strong_roots(marker->mark_closure(),
marker->cld_closure(),
&code_closure);

View File

@@ -25,30 +25,35 @@
#include "precompiled.hpp"
#include "gc/g1/g1FullGCScope.hpp"
G1FullGCJFRTracerMark::G1FullGCJFRTracerMark(STWGCTimer* timer, GCTracer* tracer)
: G1JFRTracerMark(timer, tracer) {
G1CollectedHeap::heap()->pre_full_gc_dump(_timer);
}
G1FullGCJFRTracerMark::~G1FullGCJFRTracerMark() {
G1CollectedHeap::heap()->post_full_gc_dump(_timer);
}
G1FullGCScope::G1FullGCScope(G1MonitoringSupport* monitoring_support,
bool explicit_gc,
bool clear_soft,
bool do_maximum_compaction) :
bool do_maximum_compaction,
G1FullGCTracer* tracer) :
_rm(),
_explicit_gc(explicit_gc),
_g1h(G1CollectedHeap::heap()),
_gc_id(),
_svc_marker(SvcGCMarker::FULL),
_timer(),
_tracer(),
_tracer(tracer),
_active(),
_cpu_time(),
_tracer_mark(&_timer, _tracer),
_soft_refs(clear_soft, _g1h->soft_ref_policy()),
_monitoring_scope(monitoring_support, true /* full_gc */, true /* all_memory_pools_affected */),
_heap_transition(_g1h),
_heap_printer(_g1h),
_region_compaction_threshold(do_maximum_compaction ?
HeapRegion::GrainWords :
(1 - MarkSweepDeadRatio / 100.0) * HeapRegion::GrainWords) {
_timer.register_gc_start();
_tracer.report_gc_start(_g1h->gc_cause(), _timer.gc_start());
_g1h->pre_full_gc_dump(&_timer);
_g1h->trace_heap_before_gc(&_tracer);
}
(1 - MarkSweepDeadRatio / 100.0) * HeapRegion::GrainWords) { }
G1FullGCScope::~G1FullGCScope() {
// We must call G1MonitoringSupport::update_sizes() in the same scoping level
@@ -56,10 +61,6 @@ G1FullGCScope::~G1FullGCScope() {
// TraceMemoryManagerStats is called) so that the G1 memory pools are updated
// before any GC notifications are raised.
_g1h->g1mm()->update_sizes();
_g1h->trace_heap_after_gc(&_tracer);
_g1h->post_full_gc_dump(&_timer);
_timer.register_gc_end();
_tracer.report_gc_end(_timer.gc_end(), _timer.time_partitions());
}
bool G1FullGCScope::is_explicit_gc() {
@@ -75,11 +76,7 @@ STWGCTimer* G1FullGCScope::timer() {
}
G1FullGCTracer* G1FullGCScope::tracer() {
return &_tracer;
}
G1HeapTransition* G1FullGCScope::heap_transition() {
return &_heap_transition;
return _tracer;
}
size_t G1FullGCScope::region_compaction_threshold() {

View File

@@ -28,8 +28,6 @@
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/g1/g1HeapTransition.hpp"
#include "gc/g1/g1Trace.hpp"
#include "gc/shared/gcId.hpp"
#include "gc/shared/gcTraceTime.hpp"
#include "gc/shared/gcTimer.hpp"
#include "gc/shared/gcVMOperations.hpp"
#include "gc/shared/isGCActiveMark.hpp"
@@ -39,27 +37,34 @@
class GCMemoryManager;
class G1FullGCJFRTracerMark : public G1JFRTracerMark {
public:
G1FullGCJFRTracerMark(STWGCTimer* timer, GCTracer* tracer);
~G1FullGCJFRTracerMark();
};
// Class used to group scoped objects used in the Full GC together.
class G1FullGCScope : public StackObj {
ResourceMark _rm;
bool _explicit_gc;
G1CollectedHeap* _g1h;
GCIdMark _gc_id;
SvcGCMarker _svc_marker;
STWGCTimer _timer;
G1FullGCTracer _tracer;
G1FullGCTracer* _tracer;
IsGCActiveMark _active;
GCTraceCPUTime _cpu_time;
G1FullGCJFRTracerMark _tracer_mark;
ClearedAllSoftRefs _soft_refs;
G1MonitoringScope _monitoring_scope;
G1HeapTransition _heap_transition;
G1HeapPrinterMark _heap_printer;
size_t _region_compaction_threshold;
public:
G1FullGCScope(G1MonitoringSupport* monitoring_support,
bool explicit_gc,
bool clear_soft,
bool do_maximal_compaction);
bool do_maximal_compaction,
G1FullGCTracer* tracer);
~G1FullGCScope();
bool is_explicit_gc();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 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
@@ -27,6 +27,7 @@
#include "gc/g1/g1ConcurrentMarkThread.inline.hpp"
#include "gc/g1/g1Policy.hpp"
#include "gc/g1/g1VMOperations.hpp"
#include "gc/g1/g1Trace.hpp"
#include "gc/shared/concurrentGCBreakpoints.hpp"
#include "gc/shared/gcCause.hpp"
#include "gc/shared/gcId.hpp"
@@ -161,8 +162,8 @@ void VM_G1CollectForAllocation::doit() {
void VM_G1PauseConcurrent::doit() {
GCIdMark gc_id_mark(_gc_id);
GCTraceCPUTime tcpu;
G1CollectedHeap* g1h = G1CollectedHeap::heap();
GCTraceCPUTime tcpu(g1h->concurrent_mark()->gc_tracer_cm());
// GCTraceTime(...) only supports sub-phases, so a more verbose version
// is needed when we report the top-level pause phase.

View File

@@ -130,8 +130,15 @@ bool ObjectStartArray::object_starts_in_range(HeapWord* start_addr,
"Range is wrong. start_addr (" PTR_FORMAT ") is after end_addr (" PTR_FORMAT ")",
p2i(start_addr), p2i(end_addr));
assert(is_aligned(start_addr, CardTable::card_size), "precondition");
if (start_addr == end_addr) {
// No objects in empty range.
return false;
}
jbyte* start_block = block_for_addr(start_addr);
jbyte* end_block = block_for_addr(end_addr);
jbyte* end_block = block_for_addr(end_addr - 1);
for (jbyte* block = start_block; block <= end_block; block++) {
if (*block != clean_block) {

View File

@@ -147,9 +147,11 @@ class ObjectStartArray : public CHeapObj<mtGC> {
return *block != clean_block;
}
// Return true if an object starts in the range of heap addresses.
// If an object starts at an address corresponding to
// "start", the method will return true.
// Return true iff an object starts in
// [start_addr, end_addr_aligned_up)
// where
// end_addr_aligned_up = align_up(end_addr, _card_size)
// Precondition: start_addr is card-size aligned
bool object_starts_in_range(HeapWord* start_addr, HeapWord* end_addr) const;
};

View File

@@ -55,9 +55,6 @@
"limiter (a number between 0-100)") \
range(0, 100) \
\
develop(uintx, GCWorkerDelayMillis, 0, \
"Delay in scheduling GC workers (in milliseconds)") \
\
product(bool, PSChunkLargeArrays, true, \
"Process large arrays in chunks")

View File

@@ -33,6 +33,7 @@
#include "oops/access.inline.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/prefetch.inline.hpp"
#include "utilities/spinYield.hpp"
#include "utilities/align.hpp"
// Checks an individual oop for missing precise marks. Mark
@@ -117,18 +118,202 @@ class CheckForPreciseMarks : public BasicOopIterateClosure {
virtual void do_oop(narrowOop* p) { CheckForPreciseMarks::do_oop_work(p); }
};
static void prefetch_write(void *p) {
if (PrefetchScanIntervalInBytes >= 0) {
Prefetch::write(p, PrefetchScanIntervalInBytes);
}
}
void PSCardTable::scan_obj_with_limit(PSPromotionManager* pm,
oop obj,
HeapWord* start,
HeapWord* end) {
if (!obj->is_typeArray()) {
prefetch_write(start);
pm->push_contents_bounded(obj, start, end);
}
}
void PSCardTable::pre_scavenge(HeapWord* old_gen_bottom, uint active_workers) {
_preprocessing_active_workers = active_workers;
}
// The "shadow" table is a copy of the card table entries of the current stripe.
// It is used to separate card reading, clearing and redirtying which reduces
// complexity significantly.
class PSStripeShadowCardTable {
typedef CardTable::CardValue CardValue;
const uint _card_shift;
const uint _card_size;
CardValue _table[PSCardTable::num_cards_in_stripe];
const CardValue* _table_base;
public:
PSStripeShadowCardTable(PSCardTable* pst, HeapWord* const start, HeapWord* const end) :
_card_shift(CardTable::card_shift),
_card_size(CardTable::card_size),
_table_base(_table - (uintptr_t(start) >> _card_shift)) {
size_t stripe_byte_size = pointer_delta(end, start) * HeapWordSize;
size_t copy_length = align_up(stripe_byte_size, _card_size) >> _card_shift;
// The end of the last stripe may not be card aligned as it is equal to old
// gen top at scavenge start. We should not clear the card containing old gen
// top if not card aligned because there can be promoted objects on that
// same card. If it was marked dirty because of the promoted objects and we
// cleared it, we would loose a card mark.
size_t clear_length = align_down(stripe_byte_size, _card_size) >> _card_shift;
CardValue* stripe_start_card = pst->byte_for(start);
memcpy(_table, stripe_start_card, copy_length);
memset(stripe_start_card, CardTable::clean_card_val(), clear_length);
}
HeapWord* addr_for(const CardValue* const card) {
assert(card >= _table && card <= &_table[PSCardTable::num_cards_in_stripe], "out of bounds");
return (HeapWord*) ((card - _table_base) << _card_shift);
}
const CardValue* card_for(HeapWord* addr) {
return &_table_base[uintptr_t(addr) >> _card_shift];
}
bool is_dirty(const CardValue* const card) {
return !is_clean(card);
}
bool is_clean(const CardValue* const card) {
assert(card >= _table && card < &_table[PSCardTable::num_cards_in_stripe], "out of bounds");
return *card == PSCardTable::clean_card_val();
}
const CardValue* find_first_dirty_card(const CardValue* const start,
const CardValue* const end) {
for (const CardValue* i = start; i < end; ++i) {
if (is_dirty(i)) {
return i;
}
}
return end;
}
const CardValue* find_first_clean_card(const CardValue* const start,
const CardValue* const end) {
for (const CardValue* i = start; i < end; ++i) {
if (is_clean(i)) {
return i;
}
}
return end;
}
};
template <typename Func>
void PSCardTable::process_range(Func&& object_start,
PSPromotionManager* pm,
HeapWord* const start,
HeapWord* const end) {
assert(start < end, "precondition");
assert(is_card_aligned(start), "precondition");
PSStripeShadowCardTable sct(this, start, end);
// end might not be card-aligned.
const CardValue* end_card = sct.card_for(end - 1) + 1;
for (HeapWord* i_addr = start; i_addr < end; /* empty */) {
const CardValue* dirty_l = sct.find_first_dirty_card(sct.card_for(i_addr), end_card);
const CardValue* dirty_r = sct.find_first_clean_card(dirty_l, end_card);
assert(dirty_l <= dirty_r, "inv");
if (dirty_l == dirty_r) {
assert(dirty_r == end_card, "inv");
break;
}
// Located a non-empty dirty chunk [dirty_l, dirty_r).
HeapWord* addr_l = sct.addr_for(dirty_l);
HeapWord* addr_r = MIN2(sct.addr_for(dirty_r), end);
// Scan objects overlapping [addr_l, addr_r) limited to [start, end).
HeapWord* obj_addr = object_start(addr_l);
while (true) {
assert(obj_addr < addr_r, "inv");
oop obj = cast_to_oop(obj_addr);
const bool is_obj_array = obj->is_objArray();
HeapWord* const obj_end_addr = obj_addr + obj->size();
if (is_obj_array) {
// Always scan obj arrays precisely (they are always marked precisely)
// to avoid unnecessary work.
scan_obj_with_limit(pm, obj, addr_l, addr_r);
} else {
if (obj_addr < i_addr && i_addr > start) {
// Already scanned this object. Has been one that spans multiple dirty chunks.
// The second condition makes sure objects reaching in the stripe are scanned once.
} else {
scan_obj_with_limit(pm, obj, addr_l, end);
}
}
if (obj_end_addr >= addr_r) {
i_addr = is_obj_array ? addr_r : obj_end_addr;
break;
}
// Move to next obj inside this dirty chunk.
obj_addr = obj_end_addr;
}
// Finished a dirty chunk.
pm->drain_stacks_cond_depth();
}
}
template <typename Func>
void PSCardTable::preprocess_card_table_parallel(Func&& object_start,
HeapWord* old_gen_bottom,
HeapWord* old_gen_top,
uint stripe_index,
uint n_stripes) {
const size_t num_cards_in_slice = num_cards_in_stripe * n_stripes;
CardValue* cur_card = byte_for(old_gen_bottom) + stripe_index * num_cards_in_stripe;
CardValue* const end_card = byte_for(old_gen_top - 1) + 1;
for (/* empty */; cur_card < end_card; cur_card += num_cards_in_slice) {
HeapWord* stripe_addr = addr_for(cur_card);
if (is_dirty(cur_card)) {
// The first card of this stripe is already dirty, no need to see if the
// reaching-in object is a potentially imprecisely marked non-array
// object.
continue;
}
HeapWord* first_obj_addr = object_start(stripe_addr);
if (first_obj_addr == stripe_addr) {
// No object reaching into this stripe.
continue;
}
oop first_obj = cast_to_oop(first_obj_addr);
if (!first_obj->is_array() && is_dirty(byte_for(first_obj_addr))) {
// Found a non-array object reaching into the stripe that has
// potentially been marked imprecisely. Mark first card of the stripe
// dirty so it will be processed later.
*cur_card = dirty_card_val();
}
}
}
// We get passed the space_top value to prevent us from traversing into
// the old_gen promotion labs, which cannot be safely parsed.
// Do not call this method if the space is empty.
// It is a waste to start tasks and get here only to
// do no work. If this method needs to be called
// when the space is empty, fix the calculation of
// end_card to allow sp_top == sp->bottom().
// do no work. This method is just a no-op if space_top == sp->bottom().
// The generation (old gen) is divided into slices, which are further
// subdivided into stripes, with one stripe per GC thread. The size of
// a stripe is a constant, ssize.
// a stripe is a constant, num_cards_in_stripe.
//
// +===============+ slice 0
// | stripe 0 |
@@ -152,200 +337,66 @@ class CheckForPreciseMarks : public BasicOopIterateClosure {
// In this case there are 4 threads, so 4 stripes. A GC thread first works on
// its stripe within slice 0 and then moves to its stripe in the next slice
// until it has exceeded the top of the generation. The distance to stripe in
// the next slice is calculated based on the number of stripes. The next
// stripe is at ssize * number_of_stripes (= slice_stride).. So after
// finishing stripe 0 in slice 0, the thread finds the stripe 0 in slice1 by
// adding slice_stride to the start of stripe 0 in slice 0 to get to the start
// of stride 0 in slice 1.
// the next slice is calculated based on the number of stripes. After finishing
// stripe 0 in slice 0, the thread finds the stripe 0 in slice 1 by adding
// slice_size_in_words to the start of stripe 0 in slice 0 to get to the start
// of stripe 0 in slice 1.
// Scavenging and accesses to the card table are strictly limited to the stripe.
// In particular scavenging of an object crossing stripe boundaries is shared
// among the threads assigned to the stripes it resides on. This reduces
// complexity and enables shared scanning of large objects.
// It requires preprocessing of the card table though where imprecise card marks of
// objects crossing stripe boundaries are propagated to the first card of
// each stripe covered by the individual object.
void PSCardTable::scavenge_contents_parallel(ObjectStartArray* start_array,
MutableSpace* sp,
HeapWord* space_top,
HeapWord* old_gen_bottom,
HeapWord* old_gen_top,
PSPromotionManager* pm,
uint stripe_number,
uint stripe_total) {
int ssize = 128; // Naked constant! Work unit = 64k.
int dirty_card_count = 0;
uint stripe_index,
uint n_stripes) {
// ObjectStartArray queries can be expensive for large objects. We cache known objects.
struct {
HeapWord* start_addr;
HeapWord* end_addr;
} cached_obj {nullptr, old_gen_bottom};
// It is a waste to get here if empty.
assert(sp->bottom() < sp->top(), "Should not be called if empty");
oop* sp_top = (oop*)space_top;
CardValue* start_card = byte_for(sp->bottom());
CardValue* end_card = byte_for(sp_top - 1) + 1;
oop* last_scanned = NULL; // Prevent scanning objects more than once
// The width of the stripe ssize*stripe_total must be
// consistent with the number of stripes so that the complete slice
// is covered.
size_t slice_width = ssize * stripe_total;
for (CardValue* slice = start_card; slice < end_card; slice += slice_width) {
CardValue* worker_start_card = slice + stripe_number * ssize;
if (worker_start_card >= end_card)
return; // We're done.
CardValue* worker_end_card = worker_start_card + ssize;
if (worker_end_card > end_card)
worker_end_card = end_card;
// We do not want to scan objects more than once. In order to accomplish
// this, we assert that any object with an object head inside our 'slice'
// belongs to us. We may need to extend the range of scanned cards if the
// last object continues into the next 'slice'.
//
// Note! ending cards are exclusive!
HeapWord* slice_start = addr_for(worker_start_card);
HeapWord* slice_end = MIN2((HeapWord*) sp_top, addr_for(worker_end_card));
#ifdef ASSERT
if (GCWorkerDelayMillis > 0) {
// Delay 1 worker so that it proceeds after all the work
// has been completed.
if (stripe_number < 2) {
os::naked_sleep(GCWorkerDelayMillis);
}
// Queries must be monotonic because we don't check addr >= cached_obj.start_addr.
auto object_start = [&] (HeapWord* addr) {
if (addr < cached_obj.end_addr) {
assert(cached_obj.start_addr != nullptr, "inv");
return cached_obj.start_addr;
}
#endif
HeapWord* result = start_array->object_start(addr);
// If there are not objects starting within the chunk, skip it.
if (!start_array->object_starts_in_range(slice_start, slice_end)) {
continue;
}
// Update our beginning addr
HeapWord* first_object = start_array->object_start(slice_start);
debug_only(oop* first_object_within_slice = (oop*) first_object;)
if (first_object < slice_start) {
last_scanned = (oop*)(first_object + cast_to_oop(first_object)->size());
debug_only(first_object_within_slice = last_scanned;)
worker_start_card = byte_for(last_scanned);
}
cached_obj.start_addr = result;
cached_obj.end_addr = result + cast_to_oop(result)->size();
// Update the ending addr
if (slice_end < (HeapWord*)sp_top) {
// The subtraction is important! An object may start precisely at slice_end.
HeapWord* last_object = start_array->object_start(slice_end - 1);
slice_end = last_object + cast_to_oop(last_object)->size();
// worker_end_card is exclusive, so bump it one past the end of last_object's
// covered span.
worker_end_card = byte_for(slice_end) + 1;
return result;
};
if (worker_end_card > end_card)
worker_end_card = end_card;
}
// Prepare scavenge.
preprocess_card_table_parallel(object_start, old_gen_bottom, old_gen_top, stripe_index, n_stripes);
assert(slice_end <= (HeapWord*)sp_top, "Last object in slice crosses space boundary");
assert(is_valid_card_address(worker_start_card), "Invalid worker start card");
assert(is_valid_card_address(worker_end_card), "Invalid worker end card");
// Note that worker_start_card >= worker_end_card is legal, and happens when
// an object spans an entire slice.
assert(worker_start_card <= end_card, "worker start card beyond end card");
assert(worker_end_card <= end_card, "worker end card beyond end card");
// Sync with other workers.
Atomic::dec(&_preprocessing_active_workers);
SpinYield spin_yield;
while (Atomic::load_acquire(&_preprocessing_active_workers) > 0) {
spin_yield.wait();
}
CardValue* current_card = worker_start_card;
while (current_card < worker_end_card) {
// Find an unclean card.
while (current_card < worker_end_card && card_is_clean(*current_card)) {
current_card++;
}
CardValue* first_unclean_card = current_card;
// Scavenge
cached_obj = {nullptr, old_gen_bottom};
const size_t stripe_size_in_words = num_cards_in_stripe * card_size_in_words;
const size_t slice_size_in_words = stripe_size_in_words * n_stripes;
HeapWord* cur_addr = old_gen_bottom + stripe_index * stripe_size_in_words;
for (/* empty */; cur_addr < old_gen_top; cur_addr += slice_size_in_words) {
HeapWord* const stripe_l = cur_addr;
HeapWord* const stripe_r = MIN2(cur_addr + stripe_size_in_words,
old_gen_top);
// Find the end of a run of contiguous unclean cards
while (current_card < worker_end_card && !card_is_clean(*current_card)) {
while (current_card < worker_end_card && !card_is_clean(*current_card)) {
current_card++;
}
if (current_card < worker_end_card) {
// Some objects may be large enough to span several cards. If such
// an object has more than one dirty card, separated by a clean card,
// we will attempt to scan it twice. The test against "last_scanned"
// prevents the redundant object scan, but it does not prevent newly
// marked cards from being cleaned.
HeapWord* last_object_in_dirty_region = start_array->object_start(addr_for(current_card)-1);
size_t size_of_last_object = cast_to_oop(last_object_in_dirty_region)->size();
HeapWord* end_of_last_object = last_object_in_dirty_region + size_of_last_object;
CardValue* ending_card_of_last_object = byte_for(end_of_last_object);
assert(ending_card_of_last_object <= worker_end_card, "ending_card_of_last_object is greater than worker_end_card");
if (ending_card_of_last_object > current_card) {
// This means the object spans the next complete card.
// We need to bump the current_card to ending_card_of_last_object
current_card = ending_card_of_last_object;
}
}
}
CardValue* following_clean_card = current_card;
if (first_unclean_card < worker_end_card) {
oop* p = (oop*) start_array->object_start(addr_for(first_unclean_card));
assert((HeapWord*)p <= addr_for(first_unclean_card), "checking");
// "p" should always be >= "last_scanned" because newly GC dirtied
// cards are no longer scanned again (see comment at end
// of loop on the increment of "current_card"). Test that
// hypothesis before removing this code.
// If this code is removed, deal with the first time through
// the loop when the last_scanned is the object starting in
// the previous slice.
assert((p >= last_scanned) ||
(last_scanned == first_object_within_slice),
"Should no longer be possible");
if (p < last_scanned) {
// Avoid scanning more than once; this can happen because
// newgen cards set by GC may a different set than the
// originally dirty set
p = last_scanned;
}
oop* to = (oop*)addr_for(following_clean_card);
// Test slice_end first!
if ((HeapWord*)to > slice_end) {
to = (oop*)slice_end;
} else if (to > sp_top) {
to = sp_top;
}
// we know which cards to scan, now clear them
if (first_unclean_card <= worker_start_card+1)
first_unclean_card = worker_start_card+1;
if (following_clean_card >= worker_end_card-1)
following_clean_card = worker_end_card-1;
while (first_unclean_card < following_clean_card) {
*first_unclean_card++ = clean_card;
}
const int interval = PrefetchScanIntervalInBytes;
// scan all objects in the range
if (interval != 0) {
while (p < to) {
Prefetch::write(p, interval);
oop m = cast_to_oop(p);
assert(oopDesc::is_oop_or_null(m), "Expected an oop or NULL for header field at " PTR_FORMAT, p2i(m));
pm->push_contents(m);
p += m->size();
}
pm->drain_stacks_cond_depth();
} else {
while (p < to) {
oop m = cast_to_oop(p);
assert(oopDesc::is_oop_or_null(m), "Expected an oop or NULL for header field at " PTR_FORMAT, p2i(m));
pm->push_contents(m);
p += m->size();
}
pm->drain_stacks_cond_depth();
}
last_scanned = p;
}
// "current_card" is still the "following_clean_card" or
// the current_card is >= the worker_end_card so the
// loop will not execute again.
assert((current_card == following_clean_card) ||
(current_card >= worker_end_card),
"current_card should only be incremented if it still equals "
"following_clean_card");
// Increment current_card so that it is not processed again.
// It may now be dirty because a old-to-young pointer was
// found on it an updated. If it is now dirty, it cannot be
// be safely cleaned in the next iteration.
current_card++;
}
process_range(object_start, pm, stripe_l, stripe_r);
}
}

View File

@@ -33,7 +33,36 @@ class ObjectStartArray;
class PSPromotionManager;
class PSCardTable: public CardTable {
private:
friend class PSStripeShadowCardTable;
static constexpr size_t num_cards_in_stripe = 128;
static_assert(num_cards_in_stripe >= 1, "progress");
volatile int _preprocessing_active_workers;
bool is_dirty(CardValue* card) {
return !is_clean(card);
}
bool is_clean(CardValue* card) {
return *card == clean_card_val();
}
// Iterate the stripes with the given index and copy imprecise card marks of
// objects reaching into a stripe to its first card.
template <typename Func>
void preprocess_card_table_parallel(Func&& object_start,
HeapWord* old_gen_bottom,
HeapWord* old_gen_top,
uint stripe_index,
uint n_stripes);
// Scavenge contents on dirty cards of the given stripe [start, end).
template <typename Func>
void process_range(Func&& object_start,
PSPromotionManager* pm,
HeapWord* const start,
HeapWord* const end);
// Support methods for resizing the card table.
// resize_commit_uncommit() returns true if the pages were committed or
// uncommitted
@@ -50,19 +79,27 @@ class PSCardTable: public CardTable {
verify_card = CT_MR_BS_last_reserved + 5
};
void scan_obj_with_limit(PSPromotionManager* pm,
oop obj,
HeapWord* start,
HeapWord* end);
public:
PSCardTable(MemRegion whole_heap) : CardTable(whole_heap) {}
PSCardTable(MemRegion whole_heap) : CardTable(whole_heap),
_preprocessing_active_workers(0) {}
static CardValue youngergen_card_val() { return youngergen_card; }
static CardValue verify_card_val() { return verify_card; }
// Scavenge support
void pre_scavenge(HeapWord* old_gen_bottom, uint active_workers);
// Scavenge contents of stripes with the given index.
void scavenge_contents_parallel(ObjectStartArray* start_array,
MutableSpace* sp,
HeapWord* space_top,
HeapWord* old_gen_bottom,
HeapWord* old_gen_top,
PSPromotionManager* pm,
uint stripe_number,
uint stripe_total);
uint stripe_index,
uint n_stripes);
bool addr_is_marked_imprecise(void *addr);
bool addr_is_marked_precise(void *addr);

View File

@@ -1767,7 +1767,7 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
Threads::number_of_non_daemon_threads());
ParallelScavengeHeap::heap()->workers().update_active_workers(active_workers);
GCTraceCPUTime tcpu;
GCTraceCPUTime tcpu(&_gc_tracer);
GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause, true);
heap->pre_full_gc_dump(&_gc_timer);

View File

@@ -174,6 +174,7 @@ class PSPromotionManager {
TASKQUEUE_STATS_ONLY(inline void record_steal(ScannerTask task);)
void push_contents(oop obj);
void push_contents_bounded(oop obj, HeapWord* left, HeapWord* right);
};
#endif // SHARE_GC_PARALLEL_PSPROMOTIONMANAGER_HPP

View File

@@ -128,6 +128,11 @@ inline void PSPromotionManager::push_contents(oop obj) {
}
}
inline void PSPromotionManager::push_contents_bounded(oop obj, HeapWord* left, HeapWord* right) {
PSPushContentsClosure pcc(this);
obj->oop_iterate(&pcc, MemRegion(left, right));
}
template<bool promote_immediately>
inline oop PSPromotionManager::copy_to_survivor_space(oop o) {
assert(should_scavenge(&o), "Sanity");
@@ -218,13 +223,6 @@ inline oop PSPromotionManager::copy_unmarked_to_survivor_space(oop o,
HeapWord* lab_base = old_gen()->allocate(OldPLABSize);
if(lab_base != NULL) {
#ifdef ASSERT
// Delay the initialization of the promotion lab (plab).
// This exposes uninitialized plabs to card table processing.
if (GCWorkerDelayMillis > 0) {
os::naked_sleep(GCWorkerDelayMillis);
}
#endif
_old_lab.initialize(MemRegion(lab_base, OldPLABSize));
// Try the old lab allocation again.
new_obj = cast_to_oop(_old_lab.allocate(new_obj_size));

View File

@@ -88,7 +88,6 @@ static void scavenge_roots_work(ParallelRootType::Value root_type, uint worker_i
assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(worker_id);
PSScavengeRootsClosure roots_closure(pm);
PSPromoteRootsClosure roots_to_old_closure(pm);
switch (root_type) {
@@ -301,6 +300,10 @@ public:
_active_workers(active_workers),
_is_empty(is_empty),
_terminator(active_workers, PSPromotionManager::vm_thread_promotion_manager()->stack_array_depth()) {
if (!_is_empty) {
PSCardTable* card_table = ParallelScavengeHeap::heap()->card_table();
card_table->pre_scavenge(_old_gen->object_space()->bottom(), active_workers);
}
}
virtual void work(uint worker_id) {
@@ -320,8 +323,9 @@ public:
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(worker_id);
PSCardTable* card_table = ParallelScavengeHeap::heap()->card_table();
// The top of the old gen changes during scavenge when objects are promoted.
card_table->scavenge_contents_parallel(_old_gen->start_array(),
_old_gen->object_space(),
_old_gen->object_space()->bottom(),
_gen_top,
pm,
worker_id,
@@ -417,7 +421,7 @@ bool PSScavenge::invoke_no_policy() {
{
ResourceMark rm;
GCTraceCPUTime tcpu;
GCTraceCPUTime tcpu(&_gc_tracer);
GCTraceTime(Info, gc) tm("Pause Young", NULL, gc_cause, true);
TraceCollectorStats tcs(counters());
TraceMemoryManagerStats tms(heap->young_gc_manager(), gc_cause, "end of minor GC");

View File

@@ -182,6 +182,8 @@ DefNewGeneration::DefNewGeneration(ReservedSpace rs,
_pretenure_size_threshold_words = PretenureSizeThreshold >> LogHeapWordSize;
_gc_timer = new (ResourceObj::C_HEAP, mtGC) STWGCTimer();
_gc_tracer = new (ResourceObj::C_HEAP, mtGC) DefNewTracer();
}
void DefNewGeneration::compute_space_boundaries(uintx minimum_eden_size,
@@ -531,8 +533,7 @@ void DefNewGeneration::collect(bool full,
SerialHeap* heap = SerialHeap::heap();
_gc_timer->register_gc_start();
DefNewTracer gc_tracer;
gc_tracer.report_gc_start(heap->gc_cause(), _gc_timer->gc_start());
_gc_tracer->report_gc_start(heap->gc_cause(), _gc_timer->gc_start());
_old_gen = heap->old_gen();
@@ -550,7 +551,7 @@ void DefNewGeneration::collect(bool full,
GCTraceTime(Trace, gc, phases) tm("DefNew", NULL, heap->gc_cause());
heap->trace_heap_before_gc(&gc_tracer);
heap->trace_heap_before_gc(_gc_tracer);
// These can be shared for all code paths
IsAliveClosure is_alive(this);
@@ -594,8 +595,8 @@ void DefNewGeneration::collect(bool full,
ReferenceProcessorPhaseTimes pt(_gc_timer, rp->max_num_queues());
SerialGCRefProcProxyTask task(is_alive, keep_alive, evacuate_followers);
const ReferenceProcessorStats& stats = rp->process_discovered_references(task, pt);
gc_tracer.report_gc_reference_stats(stats);
gc_tracer.report_tenuring_threshold(tenuring_threshold());
_gc_tracer->report_gc_reference_stats(stats);
_gc_tracer->report_tenuring_threshold(tenuring_threshold());
pt.print_all_references();
assert(heap->no_allocs_since_save_marks(), "save marks have not been newly set.");
@@ -647,7 +648,7 @@ void DefNewGeneration::collect(bool full,
// Inform the next generation that a promotion failure occurred.
_old_gen->promotion_failure_occurred();
gc_tracer.report_promotion_failed(_promotion_failed_info);
_gc_tracer->report_promotion_failed(_promotion_failed_info);
// Reset the PromotionFailureALot counters.
NOT_PRODUCT(heap->reset_promotion_should_fail();)
@@ -655,11 +656,11 @@ void DefNewGeneration::collect(bool full,
// We should have processed and cleared all the preserved marks.
_preserved_marks_set.reclaim();
heap->trace_heap_after_gc(&gc_tracer);
heap->trace_heap_after_gc(_gc_tracer);
_gc_timer->register_gc_end();
gc_tracer.report_gc_end(_gc_timer->gc_end(), _gc_timer->time_partitions());
_gc_tracer->report_gc_end(_gc_timer->gc_end(), _gc_timer->time_partitions());
}
void DefNewGeneration::init_assuming_no_promotion_failure() {

View File

@@ -39,6 +39,7 @@ class ContiguousSpace;
class CSpaceCounters;
class DefNewYoungerGenClosure;
class DefNewScanClosure;
class DefNewTracer;
class ScanWeakRefClosure;
class SerialHeap;
class STWGCTimer;
@@ -139,6 +140,8 @@ protected:
STWGCTimer* _gc_timer;
DefNewTracer* _gc_tracer;
enum SomeProtectedConstants {
// Generations are GenGrain-aligned and have size that are multiples of
// GenGrain.
@@ -330,6 +333,8 @@ protected:
return _promo_failure_scan_stack.is_empty();
}
DefNewTracer* gc_tracer() const { return _gc_tracer; }
protected:
// If clear_space is true, clear the survivor spaces. Eden is
// cleared if the minimum size of eden is 0. If mangle_space

View File

@@ -188,8 +188,7 @@ void GenMarkSweep::mark_sweep_phase1(bool clear_all_softrefs) {
gch->full_process_roots(false, // not the adjust phase
GenCollectedHeap::SO_None,
// (DCEVM) always process all roots (simulate ClassUnloading=false)
!AllowEnhancedClassRedefinition && ClassUnloading, // only strong roots if ClassUnloading
ClassUnloading, // only strong roots if ClassUnloading
// is enabled
&follow_root_closure,
&follow_cld_closure);

View File

@@ -33,7 +33,6 @@
#include "oops/instanceRefKlass.inline.hpp"
#include "oops/oop.inline.hpp"
#include "utilities/macros.hpp"
#include "utilities/copy.hpp"
void DcevmSharedGC::copy_rescued_objects_back(GrowableArray<HeapWord*>* rescued_oops, bool must_be_new) {
if (rescued_oops != NULL) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -37,6 +37,10 @@
#include "utilities/macros.hpp"
#include "utilities/ticks.hpp"
bool GCTracer::should_report_cpu_time_event() const {
return should_send_cpu_time_event();
}
void GCTracer::report_gc_start_impl(GCCause::Cause cause, const Ticks& timestamp) {
_shared_gc_info.set_cause(cause);
_shared_gc_info.set_start_timestamp(timestamp);
@@ -59,6 +63,10 @@ void GCTracer::report_gc_end(const Ticks& timestamp, TimePartitions* time_partit
report_gc_end_impl(timestamp, time_partitions);
}
void GCTracer::report_cpu_time_event(double user_time, double system_time, double real_time) const {
send_cpu_time_event(user_time, system_time, real_time);
}
void GCTracer::report_gc_reference_stats(const ReferenceProcessorStats& rps) const {
send_reference_stats_event(REF_SOFT, rps.soft_count());
send_reference_stats_event(REF_WEAK, rps.weak_count());

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -97,12 +97,14 @@ class GCTracer : public ResourceObj {
SharedGCInfo _shared_gc_info;
public:
bool should_report_cpu_time_event() const;
void report_gc_start(GCCause::Cause cause, const Ticks& timestamp);
void report_gc_end(const Ticks& timestamp, TimePartitions* time_partitions);
void report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
void report_metaspace_summary(GCWhen::Type when, const MetaspaceSummary& metaspace_summary) const;
void report_gc_reference_stats(const ReferenceProcessorStats& rp) const;
void report_object_count_after_gc(BoolObjectClosure* object_filter, WorkGang* workers) NOT_SERVICES_RETURN;
void report_cpu_time_event(double user_time, double system_time, double real_time) const;
protected:
GCTracer(GCName name) : _shared_gc_info(name) {}
@@ -110,12 +112,14 @@ class GCTracer : public ResourceObj {
virtual void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
private:
bool should_send_cpu_time_event() const;
void send_garbage_collection_event() const;
void send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
void send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const;
void send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspace::MetadataType mdtype, const MetaspaceChunkFreeListSummary& summary) const;
void send_reference_stats_event(ReferenceType type, size_t count) const;
void send_phase_events(TimePartitions* time_partitions) const;
void send_cpu_time_event(double user_time, double system_time, double real_time) const;
};
class YoungGCTracer : public GCTracer {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -36,6 +36,10 @@
typedef uintptr_t TraceAddress;
bool GCTracer::should_send_cpu_time_event() const {
return EventGCCPUTime::is_enabled();
}
void GCTracer::send_garbage_collection_event() const {
EventGarbageCollection event(UNTIMED);
if (event.should_commit()) {
@@ -50,6 +54,17 @@ void GCTracer::send_garbage_collection_event() const {
}
}
void GCTracer::send_cpu_time_event(double user_time, double system_time, double real_time) const {
EventGCCPUTime e;
if (e.should_commit()) {
e.set_gcId(GCId::current());
e.set_userTime((size_t)(user_time * NANOUNITS));
e.set_systemTime((size_t)(system_time * NANOUNITS));
e.set_realTime((size_t)(real_time * NANOUNITS));
e.commit();
}
}
void GCTracer::send_reference_stats_event(ReferenceType type, size_t count) const {
EventGCReferenceStatistics e;
if (e.should_commit()) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gcTraceTime.inline.hpp"
#include "gc/shared/gcTrace.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
#include "memory/universe.hpp"
@@ -70,16 +71,18 @@ void GCTraceTimeLoggerImpl::log_end(Ticks end) {
out.print_cr(" %.3fms", duration_in_ms);
}
GCTraceCPUTime::GCTraceCPUTime() :
_active(log_is_enabled(Info, gc, cpu)),
GCTraceCPUTime::GCTraceCPUTime(GCTracer* tracer) :
_active(log_is_enabled(Info, gc, cpu) ||
(tracer != nullptr && tracer->should_report_cpu_time_event())),
_starting_user_time(0.0),
_starting_system_time(0.0),
_starting_real_time(0.0)
_starting_real_time(0.0),
_tracer(tracer)
{
if (_active) {
bool valid = os::getTimesSecs(&_starting_real_time,
&_starting_user_time,
&_starting_system_time);
&_starting_user_time,
&_starting_system_time);
if (!valid) {
log_warning(gc, cpu)("TraceCPUTime: os::getTimesSecs() returned invalid result");
_active = false;
@@ -92,10 +95,13 @@ GCTraceCPUTime::~GCTraceCPUTime() {
double real_time, user_time, system_time;
bool valid = os::getTimesSecs(&real_time, &user_time, &system_time);
if (valid) {
log_info(gc, cpu)("User=%3.2fs Sys=%3.2fs Real=%3.2fs",
user_time - _starting_user_time,
system_time - _starting_system_time,
real_time - _starting_real_time);
user_time -= _starting_user_time;
system_time -= _starting_system_time;
real_time -= _starting_real_time;
log_info(gc, cpu)("User=%3.2fs Sys=%3.2fs Real=%3.2fs", user_time, system_time, real_time);
if (_tracer != nullptr) {
_tracer->report_cpu_time_event(user_time, system_time, real_time);
}
} else {
log_warning(gc, cpu)("TraceCPUTime: os::getTimesSecs() returned invalid result");
}

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