804 Commits
Author SHA1 Message Date
Zhenjun Feng 9237cbeea2 8376168: RISC-V:Improve performance of copy_memory_v
OpenJDK GHA Sanity Checks / Prepare the run (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-nopch (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-zero (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-minimal (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-optimized (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static-libs (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-cross-compile (push) Has been cancelled
OpenJDK GHA Sanity Checks / alpine-linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / docs (push) Has been cancelled
2026-02-12 10:37:47 +08:00
Yasumasa Suenaga 24f67917c2 8374577: Heap dump from core does not contain HPROF_GC_ROOT_JAVA_FRAME
Reviewed-by: cjplummer, amenkov, kevinw, aturbanov
2026-02-12 01:58:22 +00:00
Chen Liang 370929f826 8377601: JavacTemplateTestBase not reporting javac crashes
Reviewed-by: vromero
2026-02-11 23:44:43 +00:00
Jesper Wilhelmsson 961d32842d 8377509: Add licenses for gcc 14.2.0
Reviewed-by: dholmes
2026-02-11 23:31:23 +00:00
Ioi Lam 0867f9b1b4 8377307: Refactor code for AOT cache pointer compression
Reviewed-by: jsjolen, xuelei, asmehra
2026-02-11 23:00:50 +00:00
William Kemper e515c10f3a 8377396: GenShen: Consolidate and simplify in place region promotions
Reviewed-by: shade, kdnilsen
2026-02-11 20:10:59 +00:00
Phil Race 39a1d1c801 8376998: [macOS] Remove AppContext from AppEventHandler
Reviewed-by: serb, dnguyen
2026-02-11 19:23:03 +00:00
Ben Taylor 708970a1a6 8377045: Shenandoah: Convert ShenandoahLock related code to use Atomic<T>
Reviewed-by: wkemper, xpeng
2026-02-11 16:58:21 +00:00
Eirik Bjørsnøs b98899b441 8377461: Add ZipFile test for incorrect number of entries reported in ENDTOT
Reviewed-by: lancea
2026-02-11 16:43:36 +00:00
Albert Mingkun Yang b3fc013b4f 8377143: Parallel: Remove special treatment in JstatGcCapacityResults.java
Reviewed-by: kevinw, tschatzl
2026-02-11 14:24:13 +00:00
Yasumasa Suenaga a8a88d7992 8374469: Mixed jstack does not work on Windows
Reviewed-by: cjplummer, kevinw
2026-02-11 14:11:51 +00:00
Yasumasa Suenaga a532e509ed 8377395: serviceability/sa/TestJhsdbJstackMixedCore.java fails due to NPE because "because "this.cfa" is null"
Reviewed-by: cjplummer, kevinw
2026-02-11 12:04:19 +00:00
Johan Sjölen 0097db5643 8364655: Loading class with nested annotations causes stack overflow in VM
Reviewed-by: dholmes, fbredberg
2026-02-11 11:25:24 +00:00
Jaikiran Pai 6a5eb26dcf 8377656: JUnit test java/util/zip/ZipFile/ZipFileInputStreamSkipTest.java uses private methods for BeforeAll/AfterAll
Reviewed-by: cstein, alanb
2026-02-11 11:03:03 +00:00
Afshin Zafari 1bce8e4738 8366957: Amalloc may return null despite contrary AllocFailType
Reviewed-by: jsjolen, dholmes, kbarrett
2026-02-11 09:30:55 +00:00
Thomas Schatzl e34291d8e1 8377442: More fixes to ThreadLocalAllocBuffer after JDK-8377179
Reviewed-by: ayang, kbarrett, iwalulya
2026-02-11 09:24:18 +00:00
Thomas Schatzl 9026f49dd2 8377446: Improve parameter naming in pointer_delta()
Reviewed-by: ayang, chagedorn
2026-02-11 09:23:52 +00:00
Leo Korinth 57931dc6b2 8377172: Change datatype of CodeEntryAlignment to uint
Reviewed-by: ayang, mhaessig
2026-02-11 09:14:58 +00:00
Christian Stein 1e99cc4880 8376355: Update to use jtreg 8.2.1
Reviewed-by: iris, erikj, shade
2026-02-11 09:14:31 +00:00
Benoît Maillard 56afb460a0 8375038: C2: Enforce that Ideal() returns the root of the subgraph if any change was made by checking the node hash
Reviewed-by: qamai, mchevalier
2026-02-11 08:27:48 +00:00
Alexey Semenyuk a87da5173f 8377514: jpackage: support passing multiple exceptions to the top-level error handler
Reviewed-by: almatvee
2026-02-11 02:29:39 +00:00
Jaikiran Pai 3a588e5bed 8377338: URLJarFile$URLJarFileEntry need not clone the arrays returned by getCertificates() and getCodeSigners()
Reviewed-by: mullan
2026-02-11 02:11:56 +00:00
Jaikiran Pai e516800b3e 8219203: Use StringBuilder instead of StringBuffer in com.sun.jndi.dns.ResourceRecord
Reviewed-by: alanb, aefimov, rriggs, bpb, lancea
2026-02-11 02:02:10 +00:00
Kim Barrett f835073f75 8377626: The macOS build is broken after JDK-8332189
Reviewed-by: dholmes
2026-02-11 01:52:55 +00:00
Ben Taylor 8455b66810 8377200: Shenandoah: Convert shenandoahSharedVariables and related code to use Atomic<T>
Reviewed-by: wkemper, xpeng
2026-02-11 01:39:13 +00:00
Yasumasa Suenaga 5b7a364e45 8377368: [REDO] Mixed jstack cannot find function in vDSO
Reviewed-by: cjplummer, kevinw
2026-02-11 01:12:06 +00:00
Kim Barrett 4e3033f212 8332189: Enable -Wzero-as-null-pointer-constant for gcc/clang
Reviewed-by: azafari, dholmes, erikj
2026-02-11 00:59:20 +00:00
Damon Nguyen 3de6dbab14 8377183: Impossible or redundant condition in AwtFrame::_NotifyModalBlocked of awt_Frame.cpp:1635
Reviewed-by: serb, prr
2026-02-11 00:55:17 +00:00
Ioi Lam 7bc2475962 8377096: Refactor AOTMapLogger::OopDataIterator implementations
Reviewed-by: eosterlund, kvn
2026-02-10 17:07:56 +00:00
Naoto Sato 21d4c6c68f 8377013: TimeZone.getDefault() returns obsolete id on Windows (Asia/Calcutta)
Reviewed-by: jlu
2026-02-10 16:50:17 +00:00
Anton Artemov 43b2d2bddf 8375285: Port fdlibm asinh to Java
Reviewed-by: darcy, rgiulietti
2026-02-10 16:41:42 +00:00
Daniel Jeliński d97ea5a8cd 8377549: [BACKOUT] Need to keep leading zeros in TlsPremasterSecret of TLS1.3 DHKeyAgreement
Reviewed-by: mullan
2026-02-10 14:48:52 +00:00
Daniel Fuchs ef345e7879 8377457: java/util/logging/ParentLoggersTest.java failed intermittently
Reviewed-by: alanb, jpai
2026-02-10 14:23:23 +00:00
Joel Sikström 28f845a670 8376777: Consistent use of nonstatic instead of non_static in ci files
Reviewed-by: chagedorn, aseoane
2026-02-10 13:19:40 +00:00
Mikhail Yankelevich 264fdc5b4e 8374808: Add new methods to KeyStore and KeyStoreSpi that return the creation date as an Instant instead of Date
Reviewed-by: weijun
2026-02-10 12:18:03 +00:00
Afshin Zafari bfb6de5b2b 8377429: Warning as error in asan build in test_nmt_cornercases.cpp on Linux
Reviewed-by: dholmes, syan
2026-02-10 10:07:39 +00:00
Ramkumar Sunderbabu bd2a3b8062 8373040: Mark compiler/codecache/CodeCacheSegmentSizeTest.java as flagless
Reviewed-by: syan, chagedorn
2026-02-10 09:28:46 +00:00
Liam Miller-Cushon 665dc490c2 8208752: Calling a deserialized Lambda might fail with ClassCastException
8374654: Inconsistent handling of lambda deserialization for Object method references on interfaces

Reviewed-by: vromero, jlahoda
2026-02-10 09:08:54 +00:00
Volkan Yazici ea90214ce9 8375352: java/net/httpclient/ConnectTimeoutWithProxy*.java tests fail on EC2
Reviewed-by: dfuchs
2026-02-10 09:01:28 +00:00
Thomas Schatzl fef06c04e7 8376328: Convert PLABStats to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-10 08:31:13 +00:00
Thomas Schatzl f124f86f43 8376666: Convert G1BlockOffsetTable to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-10 08:30:40 +00:00
Thomas Schatzl 2c9c2f514b 8376353: Parallel: Convert PSParallelCompact classes to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-10 08:27:39 +00:00
Varada M b8088941c8 8377355: VectorAPI source generation broken after JDK-8371187
Reviewed-by: liach, jbhateja
2026-02-10 07:28:04 +00:00
Alan Bateman 996ca4b44b 8377411: java/lang/Thread/virtual/stress/ParkAfterTimedPark.java only testing pinned case
Reviewed-by: vklang
2026-02-10 06:16:10 +00:00
Alexey Semenyuk 87df1bbbe2 8377513: jpackage: fix Win8365790Test test
Reviewed-by: almatvee
2026-02-10 03:59:44 +00:00
Sergey Bylokhov f9ded7f88c 6441373: Editing JTable is not Serializable
Reviewed-by: psadhukhan
2026-02-09 21:07:51 +00:00
Ben Taylor 57eb9c79b0 8377043: Shenandoah: Convert ShenandoahHeapRegion related code to use Atomic<T>
Reviewed-by: xpeng, cslucas, kdnilsen, wkemper
2026-02-09 20:00:51 +00:00
Mohamed Issa 161aa5d528 8371955: Support AVX10 floating point comparison instructions
Reviewed-by: epeter, sviswanathan, sparasa
2026-02-09 19:14:46 +00:00
Damon Nguyen 3871b8899d 8375065: Update LCMS to 2.18
Reviewed-by: prr, serb, jdv
2026-02-09 17:43:07 +00:00
Phil Race 3065aa48c9 8376627: Remove AppContext from javax/swing/plaf/metal classes
Reviewed-by: serb, psadhukhan
2026-02-09 17:26:32 +00:00
Chris Plummer 36758b0839 8377435: Problem list serviceability/sa/TestJhsdbJstackMixedCore.java
Reviewed-by: dholmes, ysuenaga
2026-02-09 15:49:53 +00:00
Thomas Schatzl 2a8badf5a6 8376356: Parallel: Convert PSCardTable to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-09 14:50:26 +00:00
Thomas Schatzl f81bea29a3 8376351: Parallel: Convert ParallelScavengeHeap to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-09 14:47:55 +00:00
Thomas Schatzl 47b2e994b0 8376199: Convert CodeCacheUnloadingTask to use Atomic<T>
Reviewed-by: iwalulya, ayang
2026-02-09 14:47:34 +00:00
Anjian Wen a5765a916a 8377225: RISC-V: Improve receiver type profiling reliability
Reviewed-by: shade, fjiang, fyang
2026-02-09 11:50:40 +00:00
Albert Mingkun Yang d10ddb8203 8377352: Parallel: Incorrect capacity in GC overhead log
Reviewed-by: tschatzl, kbarrett
2026-02-09 10:52:09 +00:00
Afshin Zafari b12367e196 8365381: [asan] exclude tests under ASAN build which rely on vm signal handling
Reviewed-by: dholmes, syan
2026-02-09 10:32:53 +00:00
Guanqiang Han 07f78779e0 8376491: ZGC: crash in __memset_evex_unaligned_erms when initializing heap using high values for -XX:ConcGCThreads
Reviewed-by: aboldtch, stefank
2026-02-09 09:47:45 +00:00
Thomas Schatzl a7bf468a8f 8377165: G1: Introduce common G1 GC Mark to collect scoped objects
Reviewed-by: iwalulya, ayang
2026-02-09 09:44:28 +00:00
Ramkumar Sunderbabu ee5b10c7f0 8375443: AVX-512: Disabling through UseSHA doesn't affect UseSHA3Intrinsics
Reviewed-by: mhaessig, kvn
2026-02-09 09:03:47 +00:00
Thomas Schatzl 1314857b33 8377443: G1: Remove unnecessary cast in ResizeTLABAndSwapCardTableTask
Reviewed-by: ayang
2026-02-09 08:49:30 +00:00
ikarostsin dc80ce7aec 8374056: RISC-V: Fix argument passing for the RiscvFlushIcache::flush
Reviewed-by: fyang, rehn
2026-02-09 07:41:20 +00:00
Chen LiangandVicente Romero ffb6279c88 8377334: Test framework used by langtools regression tests can produce false positives
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Reviewed-by: vromero
2026-02-08 01:29:48 +00:00
Matthias Baesken 6665a78ee2 8376688: Gtest os.attempt_reserve_memory_between_small_range_fill_hole_vm fails on AIX 7.3
Reviewed-by: mdoerr, lucy
2026-02-07 18:20:55 +00:00
Martin Doerr 9cd25d517c 8377359: TestOpaqueConstantBoolNodes fails on PPC64
Reviewed-by: dbriemann, chagedorn
2026-02-07 11:18:01 +00:00
Alexey Semenyuk 5152fdcd49 8377331: jpackage: improve sign errors reporting
Reviewed-by: almatvee
2026-02-07 03:27:23 +00:00
Alexey Semenyuk 40bf0870f7 8377392: jpackage: Fix member function called from the CfgFile.Referencies compact canonical constructor
Reviewed-by: liach, almatvee
2026-02-07 03:18:11 +00:00
SendaoYan 4c322344cd 8377018: Convert java/nio/file/DirectoryStream/SecureDS.java to junit
Reviewed-by: bpb, alanb
2026-02-07 01:59:33 +00:00
Kelvin Nilsen eec76d7b8c 8377180: Shenandoah: make escalation from degen to full more conservative
Reviewed-by: wkemper, xpeng
2026-02-07 00:57:23 +00:00
Eirik Bjørsnøs 986d377224 8376533: Remove test dependencies on ReferenceQueue$Lock in preparation for JDK-8376477
Reviewed-by: rriggs, shade, cjplummer
2026-02-06 17:06:04 +00:00
Alan Bateman cd5256d5a6 8374170: I/O Poller updates
Reviewed-by: michaelm
2026-02-06 15:19:01 +00:00
Christian Hagedorn 9f13ec1ccb 8377365: [BACKOUT] Mixed jstack cannot find function in vDSO
Reviewed-by: thartmann
2026-02-06 14:15:09 +00:00
Andrew HaleyandDean Long 77e8469fb0 8328306: AArch64: MacOS lazy JIT "write xor execute" switching
Co-authored-by: Dean Long <dlong@openjdk.org>
Reviewed-by: dlong, adinn
2026-02-06 13:50:54 +00:00
Yasumasa Suenaga d1b226dec2 8376264: Mixed jstack could not unwind optimized frame
Reviewed-by: cjplummer, kevinw
2026-02-06 13:40:54 +00:00
Matthias Baesken 8620e67c87 8377231: Build jpackage with SIZE optimization
Reviewed-by: erikj, asemenyuk
2026-02-06 12:53:03 +00:00
Yasumasa Suenaga 77e680b11e 8376269: Mixed jstack cannot find function in vDSO
Reviewed-by: kevinw, cjplummer
2026-02-06 12:52:43 +00:00
Martin Doerr 7a37d370e3 8377326: [PPC64] build without C1 and C2 broken
Reviewed-by: dbriemann, mbaesken
2026-02-06 11:01:18 +00:00
Liam Miller-Cushon cd6a7a54c5 8377245: AbstractMemorySegmentImpl#getString with length should be @ForceInline
Reviewed-by: mcimadamore
2026-02-06 10:42:52 +00:00
Thomas Schatzl 5f83e9ad0e 8377179: Improve and document racy use of start/end in ThreadLocalAllocBuffer
Reviewed-by: iwalulya, ayang
2026-02-06 10:36:03 +00:00
Alan Bateman 2d6a1aa36e 8377313: java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java#id0 timeout
Reviewed-by: jpai
2026-02-06 09:59:02 +00:00
Guanqiang Han 1efb29829f 8375598: VM crashes with "assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1) failed: must be 32bit offset or -1" when using too high value for NonNMethodCodeHeapSize
Reviewed-by: mdoerr, kvn
2026-02-06 09:30:38 +00:00
Damon FenacciandVolkan Yazici bfd5bdaf7f 8374582: [REDO] Move input validation checks to Java for java.lang.StringCoding intrinsics
Co-authored-by: Volkan Yazici <vyazici@openjdk.org>
Reviewed-by: chagedorn, thartmann, vyazici
2026-02-06 07:44:25 +00:00
Albert Mingkun Yang 90f370235c 8377226: Inline Thread::set_allocated_bytes
Reviewed-by: jsjolen, phubner
2026-02-06 07:13:58 +00:00
Yasumasa Suenaga 57241545c6 8376052: Use AttachOperationFailedException rather than AttachNotSupportedException in findTargetProcessTmpDirectory()
Reviewed-by: alanb, amenkov
2026-02-06 06:43:02 +00:00
Guanqiang Han a69409b0b7 8374516: -version asserts with "-XX:+UseAESCTRIntrinsics -XX:-UseAES": "need AES instructions and misaligned SSE support" in generate_counterMode_AESCrypt_Parallel()
Reviewed-by: kvn
2026-02-06 03:26:16 +00:00
Jatin Bhateja b313052947 8376187: [VectorAPI] Define new lane type constants and pass them to intrinsic entries
Reviewed-by: psandoz, qamai
2026-02-06 01:27:39 +00:00
Ben Taylor b9c0e0537f 8377126: Shenandoah: Convert ShenandoahVerifier related code to use Atomic<T>
Reviewed-by: xpeng, shade, wkemper
2026-02-05 22:44:53 +00:00
Phil Race 37ae15a489 8377193: Remove AppContext from SwingUtilties3
Reviewed-by: tr, azvegint
2026-02-05 20:16:04 +00:00
Mikhail Yankelevich 60366a97a2 8377315: test/jdk/sun/security/pkcs11/Cipher/TestPKCS5PaddingError.java is failing with "Expected BPE NOT thrown"
Reviewed-by: valeriep
2026-02-05 19:27:08 +00:00
Justin Lu 99be94e38f 8377116: Refactor java/util/zip TestNG tests to JUnit
Reviewed-by: lancea
2026-02-05 18:56:36 +00:00
Phil Race bd9c94d197 8377199: Remove AppContext from AWTKeyStroke
Reviewed-by: tr, azvegint
2026-02-05 18:46:15 +00:00
David Beaumont 4e6cf8f561 8377244: Update ModuleReaderTest to JUnit prior to making changes
Reviewed-by: rriggs
2026-02-05 17:44:06 +00:00
Roger Riggs 22e1f68a25 8375585: Test java/lang/ProcessBuilder/PipelineLeaksFD.java failed
Reviewed-by: jpai, syan
2026-02-05 17:40:05 +00:00
Thomas Schatzl 1614714bc2 8377150: G1: Full GC should not execute barrier code during reference processing
Reviewed-by: sjohanss, iwalulya
2026-02-05 14:56:49 +00:00
Alan Bateman ac6e8d481a 8376568: Change Thread::getStackTrace to use handshake op for all cases
Reviewed-by: pchilanomate, sspitsyn
2026-02-05 13:46:23 +00:00
Thomas Stuefe 37b49b29a7 8377138: VMError::report should handle out-of-stackbounds errors gracefully
Reviewed-by: lucy, stefank, mdoerr
2026-02-05 12:43:32 +00:00
Matthias Baesken 1ac965893d 8376956: Add JVMTI phase entering/setting to hserr event log
Reviewed-by: sspitsyn, lucy
2026-02-05 12:16:11 +00:00
SendaoYan d93bd18d67 8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable
Reviewed-by: prr, serb
2026-02-05 11:55:02 +00:00
Thomas Schatzl 72eec521f9 8377161: G1: Remove unnecessary member G1FullGCScope::_g1h
Reviewed-by: shade, ayang
2026-02-05 11:50:14 +00:00
Mikhail Yankelevich fde77a9b55 8365883: Fix P11Cipher to throw BadPaddingException for PKCS11 CKR_ENCRYPTED_DATA_INVALID error
Reviewed-by: valeriep
2026-02-05 10:09:25 +00:00
Eric FangandAndrew Haley d0e9730783 8372980: [VectorAPI] AArch64: Add intrinsic support for unsigned min/max reduction operations
Co-authored-by: Andrew Haley <aph@openjdk.org>
Reviewed-by: aph, xgong
2026-02-05 07:58:33 +00:00
William Kemper 949370ab0e 8376756: GenShen: Improve encapsulation of generational collection set choosing
Reviewed-by: shade, kdnilsen
2026-02-04 19:33:10 +00:00
Naoto Sato 792291937f 8340830: Console.readLine() and Console.printf() are mutually blocking
Reviewed-by: jlu, jpai, rriggs, vyazici
2026-02-04 16:55:14 +00:00
Patricio Chilano Mateo d49e29aa8c 8376405: Virtual thread crash: assert(!_current->is_suspended()) failed: must be
Reviewed-by: sspitsyn, dholmes
2026-02-04 15:20:27 +00:00
Volkan Yazici 2a7329e2ed 8376645: Test java/net/httpclient/http3/H3IdleExceedsQuicIdleTimeout.java failed: no response from peer
Reviewed-by: jpai, dfuchs
2026-02-04 15:05:28 +00:00
Albert Mingkun Yang 8ad91ac110 8377141: G1: Remove unused local declaration in G1BarrierSetC2
Reviewed-by: tschatzl, shade
2026-02-04 12:58:38 +00:00
Aleksey Shipilev a181dd09bd 8376761: ARM32: Constant base assert after JDK-8373266
Reviewed-by: stefank, ayang, tschatzl
2026-02-04 11:54:23 +00:00
Jan Lahoda 84e8787d1f 8367530: The exhaustiveness errors could be improved
Reviewed-by: vromero, mcimadamore
2026-02-04 11:03:56 +00:00
Daniel Fuchs d7523ec8d2 8376031: HttpsURLConnection.getServerCertificates() throws "java.lang.IllegalStateException: connection not yet open" for the HEAD method
Reviewed-by: jpai
2026-02-04 10:13:41 +00:00
Ruben Ayrapetyan 13029e128a 8372942: AArch64: Set JVM flags for Neoverse V3AE core
Reviewed-by: aph, fgao
2026-02-04 10:11:25 +00:00
Ivan Walulya 848171a6cc 8374782: Parallel: Remove specialized objArray iteration code
Reviewed-by: tschatzl, ayang
2026-02-04 09:51:31 +00:00
Marc Chevalier c5e973e034 8374622: StressIncrementalInlining should also randomize the processing order
Reviewed-by: thartmann, chagedorn, dfenacci
2026-02-04 09:14:24 +00:00
Afshin Zafari 651e01b447 8369393: NMT: poison the malloc header and footer under ASAN build
Reviewed-by: jsjolen, phubner
2026-02-04 09:13:52 +00:00
Stefan Karlsson 3f3dcb708d 8376810: Make Atomic<T> default constructor non-explicit
Reviewed-by: kbarrett, aboldtch, azafari, tschatzl
2026-02-04 08:41:38 +00:00
Liam Miller-Cushon b0829a54cd 8372948: Store end positions directly in JCTree
Reviewed-by: jlahoda, mcimadamore
2026-02-04 08:24:42 +00:00
Mikhail Yankelevich d67f72e0d5 8377063: Add EchoPassword.java to manual group
Reviewed-by: msheppar, rhalade
2026-02-04 07:54:57 +00:00
SendaoYan 7e8fad625a 8376760: VerifyJimage.java#compare intermittent failed with fastdebug
Reviewed-by: liach, alanb
2026-02-04 07:30:46 +00:00
Thomas Devoogdt 1069ccebcc 8376684: Compile OpenJDK in headless mode without required X11 libraries
Reviewed-by: erikj, aivanov
2026-02-04 06:48:59 +00:00
Kim Barrett 443cd77509 8376758: Fix -Wzero-as-null-pointer-constant warnings in AIX code
Reviewed-by: dholmes, jsjolen
2026-02-04 06:44:59 +00:00
SendaoYan 14a6e928ce 8376630: java/lang/ProcessBuilder/PipelineLeaksFD.java intermittent timed out
Reviewed-by: rriggs
2026-02-04 02:04:04 +00:00
Jaikiran Pai f3c8502e38 8227493: Return a more useful error message from lookupAllHostAddr if getaddrinfo results in EAI_SYSTEM error
Reviewed-by: dfuchs, djelinski, michaelm
2026-02-04 00:51:29 +00:00
Phil Race 5fea0741a6 8376297: ArrayIndexOutOfBoundsException Not Documented for SinglePixelPackedSampleModel.getSampleSize(int)
Reviewed-by: aivanov, serb, azvegint, kizune
2026-02-03 19:24:41 +00:00
Koushik Thirupattur 58d2edb9fc 8370688: java.util.jar.JarEntry.getCodeSigners() and getCertificates() should specify that they return a copy of the arrays
Reviewed-by: jpai, mullan, liach
2026-02-03 19:09:19 +00:00
Weijun Wang e51ccef9cb 8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings
Reviewed-by: mullan, bperez, mpowers
2026-02-03 16:32:21 +00:00
Jaikiran Pai 99bc98357d 8377015: ConnectionRefusedMessage::testFinishConnect test fails on AIX with java.net.ConnectException: Connection refused
Reviewed-by: alanb, mbaesken
2026-02-03 13:37:51 +00:00
Thomas Schatzl 69c3e2780c 8376410: G1: Task queue statistics not reset properly on mark abort
Reviewed-by: shade, iwalulya
2026-02-03 12:37:33 +00:00
Matthias Baesken a5b4c0795d 8376889: Enhance JfrRecorder::on_create_vm_3() assert output
Reviewed-by: mdoerr, mgronlun, asteiner
2026-02-03 11:59:01 +00:00
Marc Chevalier 88f538f114 8376324: [IR Framework] Name methods in a CompileCommand-friendly way
Reviewed-by: chagedorn, dfenacci
2026-02-03 10:46:38 +00:00
Yasumasa Suenaga 9c83dff811 8376284: New test serviceability/sa/TestJhsdbJstackMixedCore.java from JDK-8374482 fails on Linux Alpine
Reviewed-by: cjplummer, mbaesken
2026-02-03 09:44:00 +00:00
Jaikiran Pai efa16e9e5f 8170896: TEST_BUG: java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java failed with unreferenced() not invoked after 20.0 seconds
Reviewed-by: smarks, msheppar, dfuchs
2026-02-03 09:35:21 +00:00
Casper Norrbin f43fbf0823 8367332: Replace BlockTree tree logic with an intrusive red-black tree
Reviewed-by: jsjolen, stuefe
2026-02-03 09:19:15 +00:00
Jan Lahoda 5fec0f3287 8376585: bin/update_copyright_year.sh could allow updating a specified list of files
Reviewed-by: erikj
2026-02-03 08:58:57 +00:00
Aleksey Shipilev 692444f071 8376969: Shenandoah: GC state getters should be inlineable
Reviewed-by: wkemper, xpeng, kdnilsen
2026-02-03 08:44:23 +00:00
Aleksey Shipilev 8e2bd92bac 8376970: Shenandoah: Verifier should do basic verification before touching oops
Reviewed-by: wkemper, xpeng, kdnilsen
2026-02-03 08:41:37 +00:00
Paul Hübner e21cb8525d 8370441: Remove unnecessary/confusing null check in Verifier::verify()
Reviewed-by: dholmes, coleenp
2026-02-03 06:32:50 +00:00
SendaoYan caf1338243 8376700: java/nio/file/DirectoryStream/SecureDS.java fails AtomicMoveNotSupportedException
Reviewed-by: bpb
2026-02-03 02:21:06 +00:00
David Holmes 1cb4ef8581 8376855: ASAN reports out-of-range read in strncmp in MethodHandles::is_basic_type_signature
Reviewed-by: azafari, jsjolen
2026-02-02 22:39:31 +00:00
David Holmes 67079b18af 8377000: [BACKOUT] JDK-8376126 G1: Convert remaining volatiles in G1ConcurrentMark to Atomic<T>
Reviewed-by: kvn
2026-02-02 22:29:15 +00:00
Damon Nguyen 4db0f7f291 8375057: Update HarfBuzz to 12.3.2
Reviewed-by: prr, kizune
2026-02-02 21:53:02 +00:00
Hendrik Schick 5607a4620c 8376954: Typos in CharacterRangeInfo and AsynchronousServerSocketChannel
Reviewed-by: liach, bpb
2026-02-02 20:58:03 +00:00
Matthias Baesken 8023c41690 8376703: Some coding in libjimage seems to be not called at all or not called from PRODUCT code
Reviewed-by: alanb, rriggs
2026-02-02 18:49:45 +00:00
Thomas Schatzl b60249882c 8376126: G1: Convert remaining volatiles in G1ConcurrentMark to Atomic<T>
Reviewed-by: iwalulya, kbarrett, stefank
2026-02-02 16:57:47 +00:00
Galder Zamarreño 70f4984a4e 8375640: MinMaxIdentity test fails on some machines after 8373134
Reviewed-by: mdoerr, mhaessig, amitkumar
2026-02-02 16:46:46 +00:00
Thomas Schatzl 9871e2d3f7 8375535: G1: Convert CardTableBarrierSet and subclasses to use Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-02-02 16:03:04 +00:00
Thomas Schatzl 903b3fe195 8375438: G1: Convert G1HeapRegion related classes to use Atomic<T>
Reviewed-by: shade, iwalulya
2026-02-02 15:19:15 +00:00
Thomas Schatzl b7128b7c30 8376357: Parallel: Convert MutableSpace classes to use Atomic<T>
Reviewed-by: dholmes, iwalulya
2026-02-02 15:16:35 +00:00
Daniel JelińskiandVolkan Yazici 173c3f9852 8376479: Http3 test server thread deadlock in ThrowingPublishersInRequest
Co-authored-by: Volkan Yazici <vyazici@openjdk.org>
Reviewed-by: dfuchs
2026-02-02 14:57:14 +00:00
Roland WestrelinandBenoît Maillard 176422b885 8370519: C2: Hit MemLimit when running with +VerifyLoopOptimizations
Co-authored-by: Benoît Maillard <bmaillard@openjdk.org>
Reviewed-by: mhaessig, bmaillard, epeter
2026-02-02 11:43:30 +00:00
David Briemann 17f25b5ac4 8375536: PPC64: Implement special MachNodes for floating point CMove
Reviewed-by: mdoerr, rrich
2026-02-02 11:31:17 +00:00
Aleksey Shipilev e370b8a1d8 8376570: GrowableArray::remove_{till,range} should work on empty list
Reviewed-by: kbarrett, iwalulya
2026-02-02 10:32:51 +00:00
Marc Chevalier 90a43f8445 8376325: [IR Framework] Detect and report overloads
Reviewed-by: chagedorn, dfenacci
2026-02-02 10:11:34 +00:00
Benoît Maillard 7ccf175785 8371536: C2: VerifyIterativeGVN should assert on first detected failure
Reviewed-by: epeter, mhaessig, chagedorn
2026-02-02 10:10:21 +00:00
Thomas Schatzl 5e24860381 8376115: G1: Convert G1CMRootRegions to use Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-02-02 09:59:40 +00:00
1f3fd3da1d 8366659: ObjectMonitor::wait() liveness problem with a suspension request
Co-authored-by: Patricio Chilano Mateo <pchilanomate@openjdk.org>
Co-authored-by: Daniel D. Daugherty <dcubed@openjdk.org>
Reviewed-by: dcubed, sspitsyn, dholmes, pchilanomate
2026-02-02 08:20:00 +00:00
Leo Korinth 766e03b151 8367993: G1: Speed up ConcurrentMark initialization
Reviewed-by: sjohanss, tschatzl
2026-02-02 08:02:07 +00:00
Thomas Schatzl f22bc1cd51 8376131: Convert ContiguousSpace to use Atomic<T>
Reviewed-by: dholmes, kbarrett
2026-02-02 07:58:01 +00:00
Aleksey Shipilev f8b0ff26c9 8376472: Shenandoah: Assembler store barriers read destination memory despite the decorators
Reviewed-by: mdoerr, wkemper
2026-02-02 07:12:32 +00:00
Feilong Jiang 3a32757743 8376572: RISC-V: Interpreter: Load array index as signed int
Reviewed-by: fyang, dzhang
2026-02-02 02:15:42 +00:00
Phil Race f4765abd7e 8376755: Remove AppContext from Swing javax/swing/plaf/basic classes
Reviewed-by: dnguyen, kizune
2026-02-01 19:19:18 +00:00
Eirik Bjørsnøs ca95e5f3dd 8375580: Avoid using ArrayDeque in jdk.internal.loader.URLClassPath
Reviewed-by: liach, redestad, jpai
2026-01-31 23:30:18 +00:00
Daniel D. Daugherty 6ce2f3e18f 8376751: add preview project anchors to main-line ProblemList files
Reviewed-by: kvn, rriggs, liach
2026-01-30 22:37:43 +00:00
Phil Race c62c82d5e0 8376420: Remove AppContext from javax/swing/ImageIcon.java
Reviewed-by: aivanov, psadhukhan
2026-01-30 19:27:45 +00:00
Phil Race 9ef98a5fb1 8376747: Remove AppContext from Swing LayoutStyle
Reviewed-by: psadhukhan, azvegint
2026-01-30 19:08:20 +00:00
Phil Race 32e00ff337 8375567: Remove AppContext usage from Swing Motif L&F classes
Reviewed-by: serb, psadhukhan
2026-01-30 19:07:59 +00:00
Srinivas Vamsi Parasa 3a4277db74 8374744: Enable dumping of APX EGPRs (R16–R31) in JVM fatal error logs
Reviewed-by: sviswanathan, dholmes
2026-01-30 17:50:58 +00:00
Justin Lu ee60eff1ec 8376038: Refactor java/sql tests to use JUnit
8376629: Refactor javax/sql tests to use JUnit

Reviewed-by: lancea
2026-01-30 17:41:50 +00:00
William Kemper 673cd6ed0c 8374449: Shenandoah: Leaf locks used by Shenandoah need lower ranks
Reviewed-by: ysr
2026-01-30 16:54:47 +00:00
Naoto Sato c1c543cc81 8210336: DateTimeFormatter predefined formatters should support short time zone offsets
Reviewed-by: jlu, rriggs
2026-01-30 16:10:11 +00:00
Daniel Fuchs 96180b9c56 8376308: java/net/httpclient/CancelRequestTest.java fails intermittently with "Expected CancellationException not received"
Reviewed-by: djelinski, vyazici
2026-01-30 15:44:51 +00:00
Daniel Jeliński df8c4d6d12 8373604: Operations on peer reset tokens are slow
Reviewed-by: dfuchs
2026-01-30 13:44:48 +00:00
Aleksey Shipilev 0a3809d380 8375046: C2: Incremental inlining step asserts when processing empty late inlines list
Reviewed-by: vlivanov, thartmann, kbarrett
2026-01-30 11:33:03 +00:00
Guanqiang Han e3b5b261af 8376287: Crashes when using -XX:ObjArrayMarkingStride=0
Reviewed-by: tschatzl, shade
2026-01-30 09:35:32 +00:00
Manuel Hässig 42370e22c5 8376781: Problemlist compiler/longcountedloops/TestLoopNestTooManyTraps.java
Reviewed-by: thartmann, chagedorn
2026-01-30 09:01:00 +00:00
Aleksey Shipilev e6437264d5 8376604: C2: EA should assert is_oop_field for AddP with oop outs
Reviewed-by: qamai, kvn
2026-01-30 08:31:51 +00:00
Prasanta Sadhukhan 55375e98ae 8375573: JTable ignores setPreferredWidth during initial layout when AUTO_RESIZE_LAST_COLUMN is enabled
Reviewed-by: tr
2026-01-30 08:31:27 +00:00
Jan Lahoda 9fef14a6d3 8375571: Compiler crash when using record pattern matching with a generic type parameter shadowing a record class
Reviewed-by: vromero
2026-01-30 06:15:19 +00:00
Archie Cobbs 2953e0f445 8371162: Compiler warns about implicit cast from long to int in shift operation
Reviewed-by: vromero
2026-01-30 03:43:46 +00:00
Prasanta Sadhukhan 9a10cceeaf 8374506: Incorrect positioning of arrow icon in parent JMenu in Windows L&F
Reviewed-by: aivanov, kizune
2026-01-30 03:19:49 +00:00
Alexander Zvegintsev 379dcb0266 8365313: GTK LaF does not respect system color scheme with Gnome
Reviewed-by: prr, mkartashev, kizune
2026-01-30 02:43:57 +00:00
Ioi Lam 175bbb143e 8375569: Store Java mirrors in AOT configuration file
Reviewed-by: iveresov, kvn, asmehra
2026-01-29 22:39:32 +00:00
Anupam Dev 9470aa3117 8375011: OldJTable.java - NullPointerException when columnData is null
Reviewed-by: prr, psadhukhan, tr
2026-01-29 18:59:11 +00:00
Phil Race 69c868d5b7 8376510: Raster.createBandedRaster(int, int, int, int, int[], int[], Point) does not check for negative scanlineStride
Reviewed-by: serb, azvegint
2026-01-29 18:54:39 +00:00
Matthew Donovan 847b5166ea 8373018: Update OpenSSL version to 3.5.4
Reviewed-by: abarashev, weijun
2026-01-29 16:44:24 +00:00
Ioi Lam a54ff1bff4 8376523: Move interned strings into AOT heap roots array
Reviewed-by: kvn, shade
2026-01-29 16:29:34 +00:00
Kerem Kat 7c6c34e150 8370502: C2: segfault while adding node to IGVN worklist
Reviewed-by: mhaessig, dlong
2026-01-29 13:11:47 +00:00
Ferenc Rakoczi 99119597aa 8374755: ML-KEM's 12-bit decompression can be simplified on aarch64
Reviewed-by: adinn
2026-01-29 12:52:23 +00:00
Kerem Kat e85d5d7a16 8375010: C2 VectorAPI: assert(vbox->is_CheckCastPP()) failed: should be expanded
8374903: C2 VectorAPI: assert(vbox->as_Phi()->region() == vect->as_Phi()->region()) failed

Reviewed-by: qamai, vlivanov
2026-01-29 12:43:48 +00:00
Boris Ulasevich 48846744ca 8374343: Fix SIGSEGV when lib/modules is unreadable
Reviewed-by: iklam, dholmes
2026-01-29 12:37:51 +00:00
Marc Chevalier f96974dbbd 8373898: RepeatCompilation does not repeat compilation after bailout
Reviewed-by: chagedorn, bmaillard
2026-01-29 11:30:42 +00:00
Thomas Schatzl 681e4ec8d3 8376350: Convert ReferenceProcessorPhaseTimes to use Atomic<T>
Reviewed-by: stefank, iwalulya
2026-01-29 08:54:59 +00:00
Thomas Schatzl f9cc104249 8376335: Convert PreservedMarks classes to use Atomic<T>
Reviewed-by: stefank, iwalulya
2026-01-29 08:54:37 +00:00
Stefan Karlsson 92072a93bf 8375747: ZGC: ZForwardingTest is unable to commit memory on Windows
Reviewed-by: jsikstro, eosterlund
2026-01-29 08:39:32 +00:00
Emanuel PeterandOtmar Ertl 06d1345f29 8373026: C2 SuperWord and Vector API: vector algorithms test and benchmark
Co-authored-by: Otmar Ertl <otmar.ertl@dynatrace.com>
Reviewed-by: vlivanov, jbhateja, psandoz, xgong
2026-01-29 08:39:10 +00:00
Jaikiran Pai 19c6fdf11b 8376290: SocketChannel.finishConnect() contains confusing "getsockopt" in exception message for a failed connect() on Windows
Reviewed-by: alanb
2026-01-29 06:34:02 +00:00
Phil Race 62c7e9aefd 8376423: Test javax/swing/plaf/metal/MetalUtils/bug6190373.java failed: ClassCastException: class java.lang.Character cannot be cast to class javax.swing.Painter
Reviewed-by: aivanov, tr
2026-01-29 04:49:56 +00:00
Prasanta Sadhukhan 2529e2fe8d 8376169: JPopupMenu.setInvoker(null) causes NPE
Reviewed-by: aivanov, azvegint, prr, kizune
2026-01-29 02:30:41 +00:00
Xiaolong Peng 09ed8e66dc 8376531: Genshen: Convert ShenandoahOldGeneration to use Atomic<T>
Reviewed-by: wkemper, shade
2026-01-28 21:28:16 +00:00
Phil Race 0722ae926f 8376433: Remove AppContext from Swing Windows L&F implementation
Reviewed-by: serb, aivanov
2026-01-28 19:53:41 +00:00
Phil Race 7efa3168b7 8376434: Remove AppContext from awt ImageFetcher implementation
Reviewed-by: azvegint, aivanov
2026-01-28 18:01:10 +00:00
Phil Race 89a18c0108 8376432: Remove AppContext from sun/swing/DefaultLookup.java
Reviewed-by: psadhukhan, azvegint, aivanov
2026-01-28 17:58:15 +00:00
Brian Burkhalter 50d872ad7a 8376419: (fs) Minor improvement of java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java
Reviewed-by: jpai
2026-01-28 16:30:56 +00:00
Matthias Baesken 0e2e66be24 8376402: Dependencies::print_statistics() and AbstractClassHierarchyWalker::print_statistics() are not called from PRODUCT code
Reviewed-by: azafari, chagedorn
2026-01-28 16:30:34 +00:00
Christian Stein 8095e33ee8 8375433: jar should validate automatic module names
Reviewed-by: jvernee
2026-01-28 15:02:21 +00:00
Roger Calnan 8c86b1bb10 8375325: add anchors to the options in the security man pages
Reviewed-by: weijun, hchao
2026-01-28 14:18:52 +00:00
Paul Hübner 2a465cb0eb 8371777: Clean up preferred address of G1's archive region
Reviewed-by: stefank, jsikstro
2026-01-28 13:14:51 +00:00
Yasumasa Suenaga 127bfc9b0d 8374926: EnableX86ECoreOpts was not enabled on some hybrid CPU
Reviewed-by: vpaprotski, dholmes
2026-01-28 11:11:07 +00:00
Saranya Natarajan 6afc0d8f39 8366861: Phase AFTER_LOOP_OPTS printed even though the method has no loops
Reviewed-by: chagedorn, dfenacci
2026-01-28 09:38:20 +00:00
Chad Rakoczy 4ae4ffd5a3 8374513: AArch64: Improve receiver type profiling reliability
Reviewed-by: shade, aph
2026-01-28 08:08:36 +00:00
Roland Westrelin b2cd3b0d48 8350330: C2: PhaseIdealLoop::add_parse_predicate() should mirror GraphKit::add_parse_predicate()
Reviewed-by: chagedorn, qamai
2026-01-28 08:00:11 +00:00
Aleksey Shipilev 88c8a55a43 8373266: Strengthen constant CardTable base accesses
Reviewed-by: tschatzl, xpeng
2026-01-28 07:44:31 +00:00
Prasanta Sadhukhan 1161a640ab 8373239: Test java/awt/print/PrinterJob/PageRanges.java fails with incorrect selection of printed pages
Reviewed-by: prr, aivanov
2026-01-28 06:58:50 +00:00
Chris Plummer fa1b1d677a 8375477: CoreUtils support for SA tests should attempt to locate and unzip core files when they have been zipped
Reviewed-by: lmesnik, kevinw
2026-01-27 20:39:35 +00:00
Nizar Benalla eb6e74b1fa 8374176: Update --release 26 symbol information for JDK 26 build 32
Reviewed-by: liach, iris, darcy
2026-01-27 17:14:40 +00:00
Roger Riggs e8048c87bc 8376509: [process] Problemlist Test java/lang/ProcessBuilder/PipelineLeaksFD.java
Reviewed-by: jpai
2026-01-27 16:07:45 +00:00
Chen Liang a5d0b05136 8376274: JSpec preview support and output enhancement
Reviewed-by: hannesw
2026-01-27 15:04:26 +00:00
Chen Liang bbb4b0d498 8376277: Migrate java/lang/reflect tests away from TestNG
Reviewed-by: alanb
2026-01-27 14:51:04 +00:00
Wang Haomin 64b0ae6be8 8376276: Add javafx to allowed-list of CheckFiles
Reviewed-by: erikj, kcr
2026-01-27 14:21:44 +00:00
Matthias Baesken 479ac8b2fd 8376281: Remove USE_XLC_BUILTINS macro usage in AIX code
Reviewed-by: mdoerr, clanger
2026-01-27 13:30:14 +00:00
Daniel Gredler 992a8ef46b 8376226: CharsetEncoder.canEncode(CharSequence) is much slower than necessary
Reviewed-by: alanb, naoto
2026-01-27 13:20:26 +00:00
Thomas Schatzl 40d1b642a4 8376191: Remove AtomicAccess include from files that do not use it in gc/shared
Reviewed-by: iwalulya, stefank
2026-01-27 12:51:20 +00:00
Casper Norrbin 528bbe7919 8376302: os::Machine::used_memory reports container used memory when running containerized
Reviewed-by: eosterlund, sgehwolf
2026-01-27 12:33:43 +00:00
Afshin Zafari 5990165d82 8358957: [ubsan]: The assert in layout_helper_boolean_diffbit() in klass.hpp needs UB to fail
Reviewed-by: dlong, jsjolen
2026-01-27 11:55:25 +00:00
Eirik Bjørsnøs 4ff5f3a8c0 8376271: ZipFile comment confusingly refers to "native" ZIP file implementation
Reviewed-by: jpai
2026-01-27 10:28:54 +00:00
Axel Boldt-Christmas b1aea55205 8374695: ZGC: Convert zTLABUsage to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-27 10:26:29 +00:00
Eirik Bjørsnøs e0445c09f7 8376294: ZipFile.Source.Key should not hold on to its BasicFileAttributes instance
Reviewed-by: jpai
2026-01-27 10:25:58 +00:00
Varada M ee2deaded8 8371187: [BigEndian Platforms] Vector lane reversal error
Reviewed-by: mdoerr, amitkumar
2026-01-27 10:01:02 +00:00
Axel Boldt-Christmas 6fda44172e 8374690: ZGC: Convert zRelocate to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-27 08:42:44 +00:00
Axel Boldt-Christmas bd92c68ef0 8374687: ZGC: Convert zNMethodTableIteration to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-27 08:36:41 +00:00
Axel Boldt-Christmas 5c05d6f230 8374686: ZGC: Convert zMarkTerminate to use Atomic<T>
Reviewed-by: stefank, kbarrett
2026-01-27 08:26:00 +00:00
Ioi Lam cba7d88ca4 8374549: Extend MetaspaceClosure to cover non-MetaspaceObj types
Reviewed-by: kvn, asmehra
2026-01-27 03:16:43 +00:00
Chen Liang fdcc122a9d 8376422: Run compiler/corelibs/OptionalFold.java with tiered compilation
Reviewed-by: dholmes
2026-01-27 00:15:13 +00:00
Damon Nguyen 12570be64a 8376151: Test javax/swing/JFileChooser/4966171/bug4966171.java is failing with OOME
Reviewed-by: prr, azvegint, aivanov
2026-01-26 21:13:01 +00:00
Hannes Greule 82bd3831b0 8374538: Wrong specification of MethodHandles.constant(...)
Reviewed-by: liach, jvernee
2026-01-26 20:13:03 +00:00
Phil Race c69275ddfe 8376232: Remove AppContext from Swing synth related classes
Reviewed-by: serb, azvegint
2026-01-26 18:53:39 +00:00
Chen Liang 3220c4cb43 8372696: Allow boot classes to explicitly opt-in for final field trusting
Reviewed-by: jvernee, jrose, alanb
2026-01-26 18:32:15 +00:00
Henry Jen b42861a2aa 8373699: JLink: ModuleReader should be closed in JlinkTask.getReleaseInfo(mref)
Reviewed-by: alanb
2026-01-26 17:19:44 +00:00
Henry Jen 67beb9cd81 8373924: Remove unreferenced ImageDecompressor::image_decompressor_close
Reviewed-by: alanb
2026-01-26 16:38:12 +00:00
Christian Hagedorn bbae38e510 8375272: [IR Framework] Miscellaneous clean-ups
Reviewed-by: mchevalier, dfenacci, thartmann
2026-01-26 16:23:30 +00:00
Axel Boldt-Christmas f4607ed0a7 8374684: ZGC: Convert zMark to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 15:35:59 +00:00
Axel Boldt-Christmas 6648567574 8374683: ZGC: Convert zLock to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 15:14:42 +00:00
Axel Boldt-Christmas 99b4e05d50 8374682: ZGC: Convert zLiveMap to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 15:05:24 +00:00
Axel Boldt-Christmas 61b722d59a 8374681: ZGC: Convert zJNICritical to use Atomic<T>
Reviewed-by: tschatzl, stefank
2026-01-26 14:45:24 +00:00
Axel Boldt-Christmas b59f49a1c3 8374680: ZGC: Convert zGeneration to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 14:28:39 +00:00
Axel Boldt-Christmas fef85ff932 8374679: ZGC: Convert zForwardingAllocator to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 14:13:48 +00:00
Axel Boldt-Christmas 512f95cf26 8374678: ZGC: Convert zForwarding to use Atomic<T>
Reviewed-by: stefank, eosterlund
2026-01-26 13:53:12 +00:00
Axel Boldt-Christmas 319e21e9b4 8374677: ZGC: Convert zArray to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 13:44:06 +00:00
Hannes Wallnöfer 37cb22826a 8373679: Link color accessibility issue in dark theme
Reviewed-by: liach, nbenalla
2026-01-26 13:28:04 +00:00
Daniel Fuchs 8a9127fc2d 8376118: java/net/httpclient/StreamingBody.java fails intermittently on Windows
Reviewed-by: vyazici, jpai
2026-01-26 12:57:23 +00:00
Axel Boldt-Christmas de5c7a9e86 8374676: ZGC: Convert zAbort to use Atomic<T>
Reviewed-by: stefank, tschatzl
2026-01-26 12:16:05 +00:00
Matthias Baesken 0f1b96a50a 8375684: Avoid leak in KeystoreImpl.m when using CFArrayCreateMutable
Reviewed-by: clanger
2026-01-26 11:38:05 +00:00
Quan Anh Mai 30675faa67 8375653: C2: CmpUNode::sub is not monotonic
Reviewed-by: chagedorn, mchevalier
2026-01-26 11:18:21 +00:00
Thomas Schatzl 48d636872f 8376293: Bad copyright header in g1ConcurrentRefineStats.inline.hpp breaks the build
Reviewed-by: mhaessig, chagedorn
2026-01-26 10:15:57 +00:00
Thomas Schatzl 42c0126fb2 8376119: G1: Convert volatiles in G1CMMarkStack to Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-01-26 09:47:52 +00:00
Jan Lahoda 90d065e677 8375712: Convert java/lang/runtime tests to use JUnit
Reviewed-by: liach
2026-01-26 09:42:49 +00:00
Thomas Schatzl 0bc2dc3401 8375971: G1: Convert G1EvacStats to use Atomic<T>
Reviewed-by: iwalulya, kbarrett
2026-01-26 09:17:22 +00:00
Thomas Schatzl c3360ff511 8375983: G1: Convert G1ConcurrentRefineStats to use Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-01-26 09:17:01 +00:00
Thomas Schatzl a49986c62f 8375964: G1: Convert G1BuildCandidateRegionsTask to use Atomic<T>
Reviewed-by: shade, iwalulya
2026-01-26 09:16:41 +00:00
Thomas Schatzl 4597046984 8375974: G1: Convert G1FullCollector to use Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-01-26 09:16:11 +00:00
Thomas Schatzl e7cadd90b2 8375981: G1: Convert G1RemSet helper classes to use Atomic<T>
Reviewed-by: shade, iwalulya
2026-01-26 09:15:32 +00:00
Thomas Schatzl 2af271e5e6 8375436: G1: Convert G1CardSet classes to use Atomic<T>
Reviewed-by: kbarrett, iwalulya
2026-01-26 09:12:39 +00:00
Arno Zeller 90b5469253 8375999: com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails sporadically on Windows
Reviewed-by: jpai, mbaesken
2026-01-26 08:34:56 +00:00
Xiaohong Gong 38b66b1258 8374043: C2: assert(_base >= VectorMask && _base <= VectorZ) failed: Not a Vector
Reviewed-by: qamai, vlivanov
2026-01-26 01:50:57 +00:00
SendaoYan 932556026d 8375683: Add notes for sctp tests
Reviewed-by: erikj, vyazici
2026-01-25 01:08:31 +00:00
Lei Zhu a40dbce495 8374293: Jshell throws an error and crashes when using keyword Public
Reviewed-by: jlahoda
2026-01-24 14:19:40 +00:00
Yasumasa Suenaga a3b1aa9f7d 8374482: SA does not handle signal handler frame in mixed jstack
Reviewed-by: cjplummer, kevinw
2026-01-24 08:43:37 +00:00
Phil Race 44b74e165e 8375351: Remove usage of AppContext from print implementation
Reviewed-by: serb, tr
2026-01-23 20:20:22 +00:00
Valerie Peng e55124041e 8375549: ConcurrentModificationException if jdk.crypto.disabledAlgorithms has multiple entries with known oid
Reviewed-by: mullan, coffeys
2026-01-23 19:46:40 +00:00
Phil Race e617ccd529 8375480: Remove usage of AppContext from javax/swing/text
Reviewed-by: serb, psadhukhan
2026-01-23 19:12:54 +00:00
Phil Race e88edd0bc6 8375338: sun/awt/image/ImageRepresentation/LUTCompareTest.java fails with -Xcheck:jni
Reviewed-by: aivanov, serb, krk
2026-01-23 18:53:48 +00:00
Phil Race e08fb3a914 8375221: Update code to get PrinterResolution from CUPS/IPP print service
Reviewed-by: serb, psadhukhan
2026-01-23 18:19:23 +00:00
Cesar Soares Lucas 2c3ad0f425 8373021: aarch64: MacroAssembler::arrays_equals reads out of bounds
Reviewed-by: rkennke, aph
2026-01-23 17:56:04 +00:00
Chen Liang 40f7a18b2d 8373935: Migrate java/lang/invoke tests away from TestNG
Reviewed-by: jvernee, alanb
2026-01-23 17:32:53 +00:00
Severin Gehwolf 3fb118a29e 8375692: Hotspot container tests assert with non-ascii vendor name
Reviewed-by: naoto, dholmes, syan
2026-01-23 16:55:38 +00:00
Guanqiang Han 6f6966b28b 8374862: assert(false) failed: Attempting to acquire lock MDOExtraData_lock/nosafepoint-1 out of order with lock tty_lock/tty -- possible deadlock (running with -XX:+Verbose -XX:+WizardMode -XX:+PrintDeoptimizationDetails)
Reviewed-by: dholmes, dlong
2026-01-23 11:37:30 +00:00
Thomas Schatzl fa20391e73 8375966: G1: Convert G1UpdateRegionLivenessAndSelectForRebuildTask to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-23 08:31:31 +00:00
Volkan Yazici ca37dba4d4 8376089: Increase QUIC idle timeout in H3FixedThreadPoolTest to collect more diagnostic
Reviewed-by: dfuchs, jpai
2026-01-23 08:27:27 +00:00
Jan Lahoda 315bf07b23 8375119: SwitchBoostraps.enumSwitch does not throw an NPE when lookup is null in some cases
Reviewed-by: liach
2026-01-23 07:40:52 +00:00
Julian Waters 39f0e6d6f9 8375241: Simplify --with-native-debug-symbols-level option implementation
Reviewed-by: erikj, shade
2026-01-23 07:07:51 +00:00
Ioi Lam 7f2aa59f82 8375654: Exclude all array classes from dynamic CDS archive
Reviewed-by: kvn, vlivanov
2026-01-23 06:24:47 +00:00
SendaoYan 0f087a7fef 8376051: gc/stress/TestStressG1Uncommit.java fails assertLessThan: expected that xxx < xxx
Reviewed-by: tschatzl, shade
2026-01-23 00:57:25 +00:00
Daniel Jeliński 25d2b52ab9 8328046: Need to keep leading zeros in TlsPremasterSecret of TLS1.3 DHKeyAgreement
Reviewed-by: hchao
2026-01-22 21:48:28 +00:00
Kelvin Nilsen d6ebcf8a4f 8357471: GenShen: Share collector reserves between young and old
Reviewed-by: wkemper
2026-01-22 21:28:57 +00:00
Phil Race f3121d1023 8373931: Test javax/sound/sampled/Clip/AutoCloseTimeCheck.java timed out
Reviewed-by: dholmes, dnguyen, kizune
2026-01-22 20:16:44 +00:00
Hai-May Chao 96a2649e29 8373408: SHA1withECDSA is not required for ECDHE and ECDSA
Reviewed-by: djelinski, ascarpino
2026-01-22 17:41:00 +00:00
Henry Jen 5dfda66e13 8373928: 4 Dangling pointer defect groups in java.c
Reviewed-by: bpb, alanb, jpai, jwaters
2026-01-22 17:21:44 +00:00
Alexander Zuev 8c82b58db9 8286258: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially
Reviewed-by: psadhukhan, asemenov
2026-01-22 16:36:24 +00:00
Brian Burkhalter 07f6617e0b 8367284: (fs) Support current working directory target in SecureDirectoryStream.move
Reviewed-by: alanb
2026-01-22 16:11:33 +00:00
Patricio Chilano MateoandAlan Bateman 26aab3cccd 8373120: Virtual thread stuck in BLOCKED state
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: alanb
2026-01-22 14:56:23 +00:00
Artur Barashev 025041ba04 8370885: Default namedGroups values are not being filtered against algorithm constraints
Reviewed-by: hchao
2026-01-22 13:11:42 +00:00
Weijun WangandMartin Doerr eda15aa19c 8277489: Rewrite JAAS UnixLoginModule with FFM
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: mdoerr, ascarpino, erikj
2026-01-22 12:16:09 +00:00
Roland Westrelin 0d1d4d07b9 8374725: C2: assert(x_ctrl == get_late_ctrl_with_anti_dep(x->as_Load(), early_ctrl, x_ctrl)) failed: anti-dependences were already checked
Reviewed-by: chagedorn, qamai, dfenacci
2026-01-22 12:09:11 +00:00
Thomas Schatzl 5e0ed3f408 8375982: G1: Convert G1YoungCollector helper classes to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-22 11:51:37 +00:00
Ivan WalulyaandStefan Johansson 66e950e9b6 8340470: G1: Adopt PartialArrayState to consolidate marking stack in Full GC
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: sjohanss, tschatzl
2026-01-22 11:07:42 +00:00
Thomas Schatzl 0ad81fbd16 8375541: G1: Race in G1BarrierSet::write_ref_field_post()
Reviewed-by: iwalulya, sjohanss, shade
2026-01-22 11:04:09 +00:00
Roland Westrelin 6e9256cb61 8373343: C2: verify AddP base input only set for heap addresses
Reviewed-by: dlong, chagedorn, qamai
2026-01-22 10:37:26 +00:00
Liam Miller-Cushon e8eb218ca2 8374643: Fix reference to implMethodKind in LambdaToMethod debug printf statement
Reviewed-by: vromero, liach
2026-01-22 10:05:05 +00:00
Casper Norrbin ddbd4617a6 8303470: containers/docker/TestMemoryAwareness.java failed with "'memory_limit_in_bytes:.*512000 k' missing from stdout/stderr"
Reviewed-by: sgehwolf, dholmes
2026-01-22 09:45:40 +00:00
Matthias Baesken 6165daf03c 8375458: Check legal folder of JDK image for unwanted files
Reviewed-by: erikj
2026-01-22 08:50:11 +00:00
Thomas Schatzl 03038d802c 8375978: G1: Convert G1Policy to use Atomic<T>
Reviewed-by: kbarrett
2026-01-22 08:35:32 +00:00
Thomas Schatzl 63be87d7f3 8375977: G1: Convert JVMCICleaningTask to use Atomic<T>
Reviewed-by: kbarrett
2026-01-22 08:35:03 +00:00
Quan Anh Mai 92236ead1d 8375618: Incorrect assert in CastLLNode::Ideal
Reviewed-by: chagedorn, dlong
2026-01-22 08:32:01 +00:00
Thomas Schatzl e50bf1f2a4 8375616: G1: Convert G1BatchedTask to use Atomic<T>
Reviewed-by: sjohanss, kbarrett
2026-01-22 08:29:27 +00:00
Thomas Schatzl f3381f0ffe 8375314: Parallel: Crash iterating over unloaded classes for ObjectCountAfterGC event
Reviewed-by: rkennke, sjohanss, iwalulya
2026-01-22 08:29:05 +00:00
Tobias Hartmann 0f4d775085 8375534: Debug method 'pp' should support compressed oops
Reviewed-by: vlivanov, phubner
2026-01-22 06:56:51 +00:00
Ivan WalulyaandStefan Johansson 38a8309b3f 8341630: G1: Adopt PartialArrayState to consolidate marking stack in concurrent marking
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: tschatzl, sjohanss
2026-01-22 05:38:32 +00:00
Serguei Spitsyn 3d919ad43a 8373366: HandshakeState should disallow suspend ops for disabler threads
8375362: Deadlock with unmount of suspended virtual thread interrupting another virtual thread

Reviewed-by: lmesnik, pchilanomate
2026-01-22 01:53:42 +00:00
Damon Nguyen a0ac5b34a7 8375775: JDK 26 RDP2 L10n resource files update
Reviewed-by: naoto, jlu, liach
2026-01-21 18:47:39 +00:00
Maurizio Cimadamore 17086d3119 8375646: Some parser flags seem unused
Reviewed-by: jlahoda, vromero
2026-01-21 16:14:35 +00:00
Kim Barrett 3033e6f421 8375544: JfrSet::clear should not use memset
Reviewed-by: mgronlun
2026-01-21 14:55:26 +00:00
Matthias Baesken 4c9103f7b6 8374998: Failing os::write - remove bad file
Reviewed-by: mdoerr, lucy
2026-01-21 14:14:33 +00:00
Jatin Bhateja 983ae96f60 8375498: [VectorAPI] Dump primary vector IR details with -XX:+TraceNewVectors
Reviewed-by: epeter
2026-01-21 11:20:18 +00:00
Francesco Andreuzzi 5c7c2f093b 8375717: Outdated link in jdk.jfr.internal.JVM javadoc
Reviewed-by: egahlin
2026-01-21 10:42:05 +00:00
Ivan Walulya b1340305c8 8238686: G1 may waste lots of space or fail to uncommit when observing MinHeapFreeRatio during sizing after full gc
Reviewed-by: tschatzl, sjohanss
2026-01-21 09:51:01 +00:00
Thomas Schatzl 4f87fb53ee 8375622: G1: Convert G1CodeRootSet to use Atomic<T>
Reviewed-by: shade, sjohanss
2026-01-21 09:01:00 +00:00
Jie Fu 560a92a632 8375787: compiler/vectorapi/TestCastShapeBadOpc.java fails with release VMs
Reviewed-by: syan, lmesnik, fyang, epeter
2026-01-21 06:33:54 +00:00
Kim Barrett b5727d2762 8375738: Fix -Wzero-as-null-pointer-constant warnings in MacOSX/bsd code
Reviewed-by: erikj, dholmes
2026-01-21 06:04:09 +00:00
Kim Barrett 34d6e5e07b 8375737: Fix -Wzero-as-null-pointer-constant warnings in arm32 code
Reviewed-by: dholmes
2026-01-21 05:56:19 +00:00
SendaoYan a448f0b9f4 8375668: Compiler warning implicit-const-int-float-conversion by clang23
Reviewed-by: dholmes, cnorrbin
2026-01-21 03:39:26 +00:00
SendaoYan 599ed0bb5f 8375485: Tests in vmTestbase/nsk are failing due to missing class unloading after 8373945
Reviewed-by: lmesnik, cjplummer
2026-01-21 03:39:02 +00:00
Jayathirth D V a2e749572e 8375063: Update Libpng to 1.6.54
Reviewed-by: serb, prr
2026-01-21 03:12:18 +00:00
Brent Christian e25a5a4821 Merge
Reviewed-by: kcr, prr, smarks
2026-01-21 01:28:38 +00:00
Dingli Zhang ca3e6236a2 8375657: RISC-V: Need to check size in SharedRuntime::is_wide_vector
Reviewed-by: fjiang, fyang
2026-01-20 23:48:42 +00:00
Naoto Sato 4fd7595f1b 8374905: Clarify ZonedDateTime#toString() documentation regarding omitted zero seconds
Reviewed-by: rriggs, bpb
2026-01-20 22:45:39 +00:00
Chen Liang aaca0a2c1f 8375742: Test java/lang/invoke/MethodHandleProxies/Driver.java does not run Unnamed.java
Reviewed-by: jvernee
2026-01-20 21:54:56 +00:00
Emanuel Peter 42439eb60c 8374889: C2 VectorAPI: must handle impossible combination of signed cast from float
Reviewed-by: dlong, qamai
2026-01-20 18:30:42 +00:00
Thomas Schatzl 5f8cb30fc0 8375626: G1: Convert G1CollectionSetChooser to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-20 18:16:39 +00:00
Kelvin Nilsen 72bf0bb6f6 8353115: GenShen: mixed evacuation candidate regions need accurate live_data
Reviewed-by: wkemper
2026-01-20 16:49:02 +00:00
Christian Stein b2b4729ba2 8375015: CompletionAPITest::testDocumentation failed - AssertionFailedError: expected: <null> but was: <jshelltest.JShellTest>
Reviewed-by: jlahoda
2026-01-20 16:28:23 +00:00
21dc41f744 8314323: Implement JEP 527: TLS 1.3 Hybrid Key Exchange
Co-authored-by: Jamil Nimeh <jnimeh@openjdk.org>
Co-authored-by: Weijun Wang <weijun@openjdk.org>
Reviewed-by: wetmore, mullan
2026-01-20 16:16:38 +00:00
Christian Heilmann 5ba91fed34 8297191: [macos] Printing a page range with starting page > 1 results in missing pages
Reviewed-by: aivanov, prr
2026-01-20 15:00:14 +00:00
Thomas Schatzl 037040129e 8375643: G1: Convert G1RegionMarkStatsCache to use Atomic<T>
Reviewed-by: shade, kbarrett
2026-01-20 13:22:25 +00:00
Jonas Norlinder 3cc713fa29 8374945: Avoid fstat in os::open
Reviewed-by: dholmes, jsjolen, redestad
2026-01-20 11:40:19 +00:00
Thomas Schatzl fe102918dd 8375630: G1: Convert G1ConcurrentMark to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-20 10:34:16 +00:00
Thomas Schatzl 8c615190e6 8375624: G1: Convert G1JavaThreadsListClaimer to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-20 10:34:00 +00:00
Thomas Schatzl afbb3a0415 8375620: G1: Convert G1CardTableClaimTable to use Atomic<T>
Reviewed-by: kbarrett, shade
2026-01-20 10:31:22 +00:00
Leo Korinth c5f288e2ae 8373253: Re-work InjectGCWorkerCreationFailure for future changes
Reviewed-by: stefank, tschatzl, iwalulya, sjohanss
2026-01-20 09:30:12 +00:00
Thomas Schatzl d9db4fb36e 8373894: G1: Count evacuation-failed garbage collections in gc cpu usage
Reviewed-by: iwalulya, kbarrett
2026-01-20 08:01:54 +00:00
Prasanta Sadhukhan e45f5656bc 8373650: Test "javax/swing/JMenuItem/6458123/ManualBug6458123.java" fails because the check icons are not aligned properly as expected
Reviewed-by: tr, dnguyen
2026-01-20 07:10:46 +00:00
David Holmes ca6925ec6b 8370112: Remove VM_Version::supports_fast_class_init_checks() in platform-specific code
Reviewed-by: shade, fyang
2026-01-20 06:18:07 +00:00
Xiaohong Gong 303de9a3f2 8370666: VectorAPI: Add clear comments for vector relative code in c2
Reviewed-by: epeter, jbhateja, qamai
2026-01-20 01:43:40 +00:00
Kim Barrett 496af3cf47 8375093: Convert GlobalCounter to use Atomic<T>
Reviewed-by: dholmes, iwalulya
2026-01-19 18:05:22 +00:00
Casper Norrbin f2d5290c29 8367319: Add os interfaces to get machine and container values separately
Reviewed-by: eosterlund, sgehwolf
2026-01-19 14:44:37 +00:00
Quan Anh Mai c44a99a758 8374180: C2 crash in PhaseCCP::verify_type - fatal error: Not monotonic
Reviewed-by: hgreule, bmaillard, epeter
2026-01-19 14:20:18 +00:00
Christian Hagedorn e7f1f16a88 8375271: [IR Framework] Rename IREncoding to ApplicableIRRules and driver/flag/test VM to Driver/Flag/Test VM
Reviewed-by: dfenacci, thartmann, mhaessig
2026-01-19 14:02:02 +00:00
Andreas Steiner 6942bb2b31 8374802: java/net/DatagramSocket/SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size
Reviewed-by: alanb
2026-01-19 13:54:06 +00:00
Thomas Schatzl e0edc65624 8375463: G1: Remove AtomicAccess include from files that do not use it
Reviewed-by: stefank, iwalulya
2026-01-19 12:57:44 +00:00
Thomas Schatzl 3e18148570 8375439: G1: Convert G1MonotonicArena class to use Atomic<T>
Reviewed-by: stefank, iwalulya
2026-01-19 09:02:33 +00:00
David Briemann 30f39d88e5 8375530: PPC64: incorrect quick verify_method_data_pointer check causes poor performance in debug build
Reviewed-by: mdoerr, shade
2026-01-19 08:54:18 +00:00
Thomas Schatzl 9d7ecd51d7 8375437: G1: Convert G1EvacFailureRegions to use Atomic<T>
Reviewed-by: stefank, iwalulya
2026-01-19 08:32:03 +00:00
Per Minborg 75172e0658 8374717: Unclear wording in docs for recursion for List, Map and LazyConstant
Reviewed-by: rriggs
2026-01-19 07:45:21 +00:00
Jamil Nimeh 07f981f6b0 8368032: Enhance Certificate Checking
Reviewed-by: ahgross, coffeys, rhalade, mullan, abarashev
2026-01-18 20:22:55 -08:00
Prasanta Sadhukhan 82e5771b0b 8365280: Enhance JOptionPane
Reviewed-by: rhalade, prr, tr, aivanov
2026-01-18 20:22:55 -08:00
Harshitha Onkar eddbd35965 8359501: Enhance Handling of URIs
Reviewed-by: rhalade, ahgross, azvegint, prr
2026-01-18 20:22:55 -08:00
Michael McMahon f24fadc624 8362632: Improve HttpServer Request handling
Reviewed-by: djelinski, dfuchs
2026-01-18 20:22:55 -08:00
Stuart Marks 7e3e35abef 8367277: Fix copyright header in JMXInterfaceBindingTest.java
Reviewed-by: dfuchs, rhalade, iris, coffeys
2026-01-18 20:22:55 -08:00
Renjith Kannath Pariyangad 84ee4f976b 8366446: Test java/awt/geom/ConcurrentDrawPolygonTest.java fails intermittently
Reviewed-by: jdv, aivanov, prr, rhalade
2026-01-18 20:22:55 -08:00
Stuart MarksandDaniel Fuchs 3afb831ae4 8341496: Improve JMX connections
Co-authored-by: Daniel Fuchs <dfuchs@openjdk.org>
Reviewed-by: skoivu, rhalade, coffeys, dfuchs, kevinw, jnimeh
2026-01-18 20:22:55 -08:00
Justin Lu dc46a17f1e 8365058: Enhance CopyOnWriteArraySet
Reviewed-by: rhalade, skoivu, vklang, rriggs
2026-01-18 20:22:55 -08:00
Prasanta Sadhukhan 97bd445841 8365271: Improve Swing supports
Reviewed-by: tr, prr, rhalade, aivanov
2026-01-18 20:22:55 -08:00
Jayathirth D V 3b6ac2af9c 8362308: Enhance Bitmap operations
Reviewed-by: mschoene, rhalade, psadhukhan, prr
2026-01-18 20:22:54 -08:00
Jayathirth D V 9f3f960b36 8364214: Enhance polygon data support
Reviewed-by: rhalade, psadhukhan, mschoene, prr
2026-01-18 20:22:54 -08:00
Valerie PengandDaniel Jelinski f8fb780426 8265429: Improve GCM encryption
Co-authored-by: Daniel Jelinski <daniel.jelinski@oracle.com>
Reviewed-by: rhalade, pkumaraswamy, ahgross, jnimeh, djelinski
2026-01-18 20:22:54 -08:00
Guanqiang Han a67979c4e6 8375125: assert(false) failed: "Attempting to acquire lock NativeHeapTrimmer_lock/nosafepoint out of order with lock ConcurrentHashTableResize_lock/nosafepoint-2 -- possible deadlock" when using native heap trimmer
Reviewed-by: dholmes, stuefe
2026-01-19 02:33:18 +00:00
Yasumasa Suenaga 1cdb817422 8375575: AttachNotSupportedException constructor missing @since 27
Reviewed-by: liach
2026-01-18 07:35:12 +00:00
Shawn M EmeryandSandhya Viswanathan a0e6f028a8 8360934: Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Reviewed-by: jbhateja, vpaprotski
2026-01-17 11:08:30 +00:00
Yasumasa Suenaga 436c62afd2 8373867: Improve robustness of Attach API for finding tmp directory
Reviewed-by: sspitsyn, amenkov
2026-01-17 06:24:31 +00:00
SendaoYan 0dd5b59194 8375370: XRBackendNative.c reported variable uninitialized by clang23
Reviewed-by: prr
2026-01-17 04:30:02 +00:00
Alexey Semenyuk 9b47c23b4b 8375242: [macos] Improve jpackage signing coverage
Reviewed-by: almatvee
2026-01-16 23:16:43 +00:00
Alexey Semenyuk e7432d5745 8375323: Improve handling of the "--app-content" and "--input" options in jpackage
Reviewed-by: almatvee
2026-01-16 20:03:00 +00:00
Matthias Baesken b7346c307f 8375311: Some builds are missing debug helpers
Reviewed-by: mdoerr, aph
2026-01-16 08:03:55 +00:00
Richard Reingruber 5664d91484 8374769: PPC: MASM::pop_cont_fastpath() should reset _cont_fastpath if SP == _cont_fastpath
Reviewed-by: mdoerr
2026-01-16 08:01:40 +00:00
Thomas Schatzl fda8d0506a 8375455: G1: Remove unused G1HeapRegionStats::coarsen_stats()
Reviewed-by: kbarrett
2026-01-16 07:48:26 +00:00
SendaoYan e4474ad8ae 8375367: vmTestbase tests reported variable uninitialized by clang23
Reviewed-by: sspitsyn, amenkov, lmesnik
2026-01-16 03:19:28 +00:00
Alexey Semenyuk 9876875e37 8375364: [macos] Some jpackage signing tests fail after JDK-8375240
Reviewed-by: almatvee
2026-01-16 02:51:40 +00:00
Phil Race fddba3b7ec 8375350: Remove usage of AppContext from javax.imageio implementation
Reviewed-by: kizune, dnguyen
2026-01-16 00:47:24 +00:00
Volodymyr Paprotski 1d889b92bd 8360271: String.indexOf intrinsics fail with +EnableX86ECoreOpts and -CompactStrings
Reviewed-by: thartmann, jbhateja, sviswanathan
2026-01-15 23:11:12 +00:00
William Kemper 87cbcadacf 8351892: GenShen: Remove vestigial young generation sizing options
Reviewed-by: kdnilsen, ysr
2026-01-15 22:35:49 +00:00
Hai-May Chao a1b039aa98 8286032: keytool -list -alias should not assume it is always a certificate
Reviewed-by: weijun
2026-01-15 22:33:34 +00:00
Brian Burkhalter 30cda00010 8375294: (fs) Files.copy can fail with EOPNOTSUPP when copy_file_range not supported
Reviewed-by: alanb, jpai
2026-01-15 19:31:11 +00:00
Kim Barrett a8b845e08c 8374445: Fix -Wzero-as-null-pointer-constant warnings in JfrSet
Reviewed-by: mgronlun
2026-01-15 19:14:46 +00:00
Koushik Thirupattur 25c834a897 8366807: JNI exception pending in Java_sun_security_pkcs11_wrapper_PKCS11_initializeLibrary of p11_general.c:106
Reviewed-by: valeriep
2026-01-15 19:05:19 +00:00
Koushik Thirupattur e97fb0e207 8367024: JNI exception pending in Java_sun_security_pkcs11_wrapper_PKCS11_C_1DeriveKey of p11_keymgmt.c:950
Reviewed-by: valeriep, hchao, djelinski
2026-01-15 19:01:24 +00:00
Kirill Shirokov 3f01e8b9b8 8366522: CodeSource.getCodeSigners() throws NPE within empty certs
Reviewed-by: mullan
2026-01-15 18:52:44 +00:00
Justin Lu 34705a77f9 8375231: Refactor util/ServiceLoader tests to use JUnit
8375232: Refactor util/StringJoiner tests to use JUnit
8375233: Refactor util/Vector tests to use JUnit

Reviewed-by: naoto, alanb
2026-01-15 17:38:46 +00:00
Roger Calnan ee0387be4c 8375342: jdk/javadoc/doccheck/checks/jdkCheckHtml.java failed with duplicate anchors
Reviewed-by: alanb, iris
2026-01-15 17:08:49 +00:00
Roger Riggs 203eb70110 8291986: ProcessBuilder.redirectErrorStream(true) leaves error stream available
Reviewed-by: jpai
2026-01-15 15:54:11 +00:00
Artur Barashev 78a106ffbb 8375183: Remove unused SSLConfiguration.maximumProtocolVersion variable
Reviewed-by: djelinski, myankelevich, hchao
2026-01-15 13:18:20 +00:00
Kim Barrett 8ad8920aae 8374984: Convert workerUtils to use Atomic<T>
Reviewed-by: shade, stefank
2026-01-15 12:37:50 +00:00
Thomas Schatzl f6e5c885e7 8375282: G1: Fix wrong indendation introduced by JDK-8374743
Reviewed-by: kbarrett
2026-01-15 11:16:00 +00:00
Stefan Karlsson bf0da3dd5c 8375040: Clearer names for non-metadata oop iterators in ObjArrayKlass
Reviewed-by: tschatzl, kbarrett, aboldtch
2026-01-15 09:22:42 +00:00
Manuel Hässig f6d26c6b32 8354853: Clean up x86 registers after 32-bit x86 removal
Reviewed-by: aph, shade, mchevalier
2026-01-15 07:50:52 +00:00
Galder Zamarreño d16a9b2ec5 8373134: C2: Min/Max users of Min/Max uses should be enqueued for GVN
Reviewed-by: epeter, bmaillard, dlong
2026-01-15 07:22:54 +00:00
Axel Boldt-Christmas b6b337926d 8371762: Incorrect use of checked_cast in Arguments::process_settings_file
Reviewed-by: dholmes, kbarrett
2026-01-15 05:58:18 +00:00
Alexander Matveev 499b588202 8374215: [macos] Clean and fix "lic_template.plist" to correctly work with multiple languages
Reviewed-by: asemenyuk
2026-01-15 03:53:53 +00:00
SendaoYan 2b1e11c254 8374879: NMethodRelocationTest fails with -Xcomp after 8369150
Reviewed-by: lmesnik, chagedorn
2026-01-15 02:46:20 +00:00
SendaoYan ce5e0d8a48 8373945: Use WB.fullGC() in ClassUnloader.unloadClass to force GC for vmTestbase tests
Reviewed-by: cjplummer, lmesnik
2026-01-15 02:44:16 +00:00
SendaoYan d8f45faf58 8374432: TimeoutResponseBodyTest.java#retriesEnabledForResponseFailure fails run with -Xcomp
Reviewed-by: vyazici, dfuchs
2026-01-15 02:40:36 +00:00
Alexey Semenyuk fb526c8f45 8373001: LauncherFromOptions.create() not properly handling FileAssociationNoExtensionsException
Reviewed-by: almatvee
2026-01-14 21:37:44 +00:00
Sergey Bylokhov 6ad9f4ef68 8374493: Add missing @Override annotations in "com.sun.java.swing.plaf.motif" package
Reviewed-by: tr, prr, aivanov
2026-01-14 21:27:34 +00:00
Roger Riggs 3007365b73 8373913: Refactor serialization tests to use JUnit
Reviewed-by: jlu, naoto
2026-01-14 19:27:10 +00:00
Joe Darcy a7507ffa1d 8375237: Document existing exceptional behavior of divideUnsigned and remainderUnsigned
Reviewed-by: rgiulietti
2026-01-14 19:26:45 +00:00
Coleen Phillimore 60fbaf5b26 8374828: Save load_barrier_on_oop_field_preloaded in aot CodeCache
Reviewed-by: adinn, iklam, shade
2026-01-14 18:53:10 +00:00
Jonas Norlinder 56545328f8 8375297: ZGC: Remove obsolete O_CLOEXEC definition
Reviewed-by: tschatzl, eosterlund
2026-01-14 16:54:24 +00:00
Roger Calnan 20bd178b99 8373836: add anchors to the java options in the java man page
Reviewed-by: jwilhelm, iris
2026-01-14 14:08:21 +00:00
Alexey Semenyuk 703665c13f 8356684: jpackage error messages are not helpful
Reviewed-by: almatvee
2026-01-14 13:46:40 +00:00
Aleksey Shipilev 1b6c2bdd7b 8375055: C2: Better dead loop detection printout
Reviewed-by: chagedorn, qamai
2026-01-14 07:21:25 +00:00
Quan Anh Mai 624d7144f7 8374435: assert(addp->is_AddP()) failed: must be AddP during EA with -XX:-UseCompressedOops
Reviewed-by: chagedorn, thartmann
2026-01-14 07:09:38 +00:00
Eric Fang 56d7b524b3 8372978: [VectorAPI] Fix incorrect identity values in UMIN/UMAX reductions
Reviewed-by: psandoz, qamai, xgong
2026-01-14 06:17:04 +00:00
Alexey Semenyuk b082a390b7 8375240: Make bundling progress messages issued by jpackage consistent across platforms
Reviewed-by: almatvee
2026-01-14 04:04:08 +00:00
Jonas Norlinder 5da70b1804 8375006: [Linux] Remove obsolete O_CLOEXEC check in os::open
Reviewed-by: dholmes, jsjolen
2026-01-14 02:13:13 +00:00
Dingli Zhang de6f35eff9 8375094: RISC-V: Fix client builds after JDK-8368732
Reviewed-by: fyang, wenanjian, fjiang
2026-01-14 01:01:52 +00:00
Kelvin Nilsen 0d19d91b44 8369048: GenShen: Defer ShenFreeSet::available() during rebuild
Reviewed-by: wkemper, ysr
2026-01-13 23:48:14 +00:00
Alexey Semenyuk 9ed0ecbcc1 8375061: Multiple jpackage tool providers may share the same logging config
Reviewed-by: almatvee
2026-01-13 22:38:12 +00:00
Brent Christian 4d0ad0a4a3 8373718: jdk/internal/misc/VM/RuntimeArguments.java test fails in Virtual threads mode
Reviewed-by: alanb
2026-01-13 19:47:11 +00:00
Markus Grönlund b070367bdf 8373106: JFR suspend/resume deadlock on macOS in pthreads library
Reviewed-by: egahlin
2026-01-13 19:40:20 +00:00
Markus Grönlund f23752a75e 8371014: Dump JFR recording on CrashOnOutOfMemoryError is incorrectly implemented
Reviewed-by: ysuenaga
2026-01-13 18:06:04 +00:00
Matthias Baesken 074038438f 8374727: Audio configuration Platform class - use nio for getting endianness of the underlying platform
Reviewed-by: prr, kizune
2026-01-13 16:57:30 +00:00
Damon Nguyen 7f707ba8e7 8373727: New XBM images parser regression: only the first line of the bitmap array is parsed
Reviewed-by: prr, jdv
2026-01-13 16:55:03 +00:00
Volodymyr Paprotski 45990d796f 8374570: Assertion failure in ClearArray.java with -XX:+EnableX86EcoreOpts
Reviewed-by: thartmann, epeter, qamai
2026-01-13 15:15:36 +00:00
Matthias Baesken 49f7265894 8374872: Cleanup outdated SAP AG copyright header info
Reviewed-by: clanger, mdoerr
2026-01-13 13:54:04 +00:00
Matthias Baesken 7330e1a996 8374990: Check include and jmods folder of JDK image for unwanted files
Reviewed-by: erikj
2026-01-13 13:51:00 +00:00
Alexey Semenyuk 47029ccfec 8375050: Simplify process management in jpackage tests
Reviewed-by: almatvee
2026-01-13 13:36:44 +00:00
Alexey Semenyuk f7be1dcf29 8375054: Removed "signed" property from jpackage app image file
Reviewed-by: almatvee
2026-01-13 13:33:41 +00:00
Quan Anh Mai a90c7eee6f 8374969: Incorrect results of LoadStoreNode::adr_type and SCMemProj::adr_type
Reviewed-by: roland, mhaessig
2026-01-13 12:42:25 +00:00
Markus Grönlund 543a972222 8373485: JFR Crash during sampling: assert(jt->has_last_Java_frame()) failed: invariant
Reviewed-by: shade, egahlin
2026-01-13 11:44:32 +00:00
Jan Lahoda 578204f8c4 8374379: Type annotation in new array dimension expression causes java.lang.AssertionError
Reviewed-by: vromero
2026-01-13 08:12:35 +00:00
Liam Miller-Cushon d6f43d7329 8375066: Test tools/sincechecker/modules/java.base/JavaBaseCheckSince.java broken by JDK-8369564
Reviewed-by: jpai, shade
2026-01-13 08:05:57 +00:00
Aleksey Shipilev c000343bbb 8374876: Epsilon: Convert to use Atomic<T>
Reviewed-by: tschatzl, stefank
2026-01-13 07:30:13 +00:00
Axel Boldt-Christmas 586846b84a 8374450: GTest opto.canonicalize_constraints cannot run without VM
Reviewed-by: qamai, thartmann, shade
2026-01-13 06:49:04 +00:00
David Holmes f4ebf9585f 8370314: Update signals_posix with new Linux signal codes
Reviewed-by: shade, jwaters
2026-01-13 06:02:01 +00:00
Prasanta Sadhukhan 0b9d4c02e3 4765299: componentResized() not always called with nested JSplitPanes
Reviewed-by: tr, kizune
2026-01-13 04:29:12 +00:00
Jaikiran Pai e89c1290ca 8374181: failure_handler: The cores.html file is formatted incorrectly and so hides the core dump information
Reviewed-by: erikj
2026-01-13 01:29:20 +00:00
William Kemper 15b7a4252b 8373819: Genshen: Control thread can miss allocation failure notification (redux)
Reviewed-by: kdnilsen, ysr
2026-01-12 23:36:26 +00:00
Joe Darcy 9a2592f8d2 8374953: Add note on about implicit state when comparing TypeMirrors
Reviewed-by: attila, vromero, jlahoda
2026-01-12 19:41:21 +00:00
Liam Miller-CushonandPer Minborg d433ce5236 8369564: Provide a MemorySegment API to read strings with known lengths
Co-authored-by: Per Minborg <pminborg@openjdk.org>
Reviewed-by: jvernee, mcimadamore
2026-01-12 15:22:42 +00:00
Erik Gahlin 556bddfd94 8372321: TestBackToBackSensitive fails intermittently after JDK-8365972
Reviewed-by: mgronlun
2026-01-12 11:30:43 +00:00
Emanuel Peter 2fbe47559e 8374785: Template Library: need to tag Float16.copySign as having non-deterministic result because of multiple NaNs with different sign bits
Reviewed-by: thartmann, qamai
2026-01-12 11:18:28 +00:00
Johan Sjölen d0aae04d61 8325108: POSIX map_memory_to_file calls release_memory unnecessarily
Reviewed-by: dholmes, coleenp
2026-01-12 11:01:12 +00:00
Thomas SchatzlandErik Österlund fb13abef44 8374743: G1 starts a concurrent mark when allocating humongous objects during initialization
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Reviewed-by: eosterlund, iwalulya, sjohanss, shade
2026-01-12 08:26:10 +00:00
Matthias Baesken 133a023e8e 8374471: Check bin and lib folder of JDK image for unwanted files
Reviewed-by: erikj, clanger
2026-01-12 08:04:14 +00:00
Benoît Maillard 49040462f3 8372302: C2: IGVN verification fails because ModXNode::Ideal creates unused intermediate nodes
Reviewed-by: epeter, qamai
2026-01-12 07:59:37 +00:00
Matthias Baesken 7cf7f01fb3 8374875: Improve perfMemory warning about 'Insufficient space for shared memory file'
Reviewed-by: lucy, mdoerr, clanger
2026-01-12 07:46:25 +00:00
Trevor Bond 669977f7c4 8341272: Factory to create wide iinc instruction with small arguments
Reviewed-by: liach, asotona
2026-01-12 07:05:52 +00:00
Aleksey Shipilev 336894857b 8374878: Add Atomic<T>::compare_set
Reviewed-by: kbarrett, stefank
2026-01-11 20:37:04 +00:00
Alexey Semenyuk 659b53fe33 8374923: runtime/cds/ServiceLoaderTest.java fails with mismatch between cds and non-cds
Reviewed-by: almatvee
2026-01-10 15:04:16 +00:00
Serguei Spitsyn 12894a870a 8373643: Test serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java still failing
Reviewed-by: lmesnik
2026-01-10 11:10:06 +00:00
Jaikiran Pai 657d5f77f4 8374754: jtreg failure handler - replace inline javascript and inline event handlers with same origin javascript files
Reviewed-by: erikj
2026-01-10 02:17:37 +00:00
Kim Barrett 0537a3fae9 8374922: Build failure after JDK-8372040
Reviewed-by: smarks
2026-01-10 01:55:00 +00:00
John Jiang a726e834b6 8373231: ECDSAOperations::toAffinePoint is redundant
Reviewed-by: mullan
2026-01-10 00:52:34 +00:00
Alexey Semenyuk 74faf03312 8374819: jpackage and jpackage tests leave some I/O streams unclosed
Reviewed-by: almatvee
2026-01-09 23:36:19 +00:00
jonghoonpark 805866bbf6 8372040: Remove Prefetch header vs inline header separation
Reviewed-by: kbarrett, stefank
2026-01-09 22:42:53 +00:00
Alexey Semenyuk 663a08331a 8374219: Fix issues in jpackage's Executor class
Reviewed-by: almatvee
2026-01-09 22:20:05 +00:00
Kevin Walls f5fa9e40b0 8374745: Test vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters004/TestDescription.java failed
Reviewed-by: lmesnik, sspitsyn
2026-01-09 16:49:04 +00:00
Alexey Semenyuk 8737a8ca73 8373448: jpackage: StackOverflowError when processing a very long argument
Reviewed-by: almatvee
2026-01-09 14:49:52 +00:00
Coleen Phillimore 6d1bfdf7a9 8374796: CompressedOops versions of runtime/cds/TestDefaultArchiveLoading.java aren't run
Reviewed-by: stefank, shade
2026-01-09 13:14:25 +00:00
Aleksey Shipilev 47e19353cd 8373941: Epsilon: Robust counter updates in early VM phases
Reviewed-by: stefank, tschatzl
2026-01-09 12:24:13 +00:00
Kevin Walls c8c6e7007a 8374825: vmTestbase comment typo: lunch
Reviewed-by: tschatzl, shade
2026-01-09 10:23:03 +00:00
Jeremy Wood 2a965dffdd 8374377: PNGImageDecoder Slow For 8-bit PNGs
Reviewed-by: jdv, prr
2026-01-09 09:56:39 +00:00
Jonas Norlinder a855224305 8373695: G1: Using a value near integer max for ActiveProcessorCount causes fatal crash
Reviewed-by: stefank, tschatzl
2026-01-09 08:41:39 +00:00
Aleksey Shipilev 423132895d 8374698: Stub names should look more like identifiers
Reviewed-by: adinn, kvn
2026-01-09 07:16:58 +00:00
Jaikiran Pai a4fb07ee3e 8374644: Regression in GZIPInputStream performance after JDK-7036144
Reviewed-by: lancea, alanb
2026-01-09 06:26:16 +00:00
Jasmine Karthikeyan 775f48de61 8365570: C2 fails assert(false) failed: Unexpected node in SuperWord truncation: CastII
Reviewed-by: chagedorn, thartmann, epeter
2026-01-09 05:16:32 +00:00
Joe Darcy 9932c78c23 8374749: Clarify AnnotationValue specification
Reviewed-by: liach, iris
2026-01-09 02:27:16 +00:00
SendaoYan 368de9ff2e 8374721: containers/docker/ShareTmpDir.java timed out after 8362087
Reviewed-by: cnorrbin, sgehwolf
2026-01-09 02:09:37 +00:00
Kelvin Nilsen 385c4f8180 8373714: Shenandoah: Register heuristic penalties following a degenerated GC
Reviewed-by: wkemper
2026-01-08 20:46:38 +00:00
Phil Race 982aa3f8ea 8336654: [lworld] Tests depending on sun.awt.AppContext can fail when run with migrated classes
Reviewed-by: serb, azvegint
2026-01-08 19:47:01 +00:00
Justin Lu 1342db0bde 8374051: Incorrect parameterized testing of exceptions in AbstractDateTimeTest.java
Reviewed-by: naoto, rriggs
2026-01-08 19:02:06 +00:00
Joe Darcy 8212993ac3 8374540: Add comment describing implementation choices of Math.fma
Reviewed-by: rgiulietti
2026-01-08 18:51:25 +00:00
Ioi Lam 9fd86e3749 8374639: Static archive with AOTClassLinking breaks dynamic archive
Reviewed-by: coleenp, matsaave
2026-01-08 18:42:20 +00:00
Aleksey Shipilev 1fb5030ab3 8374767: Amend JDK-8374521 with new option name
Reviewed-by: clanger, krk
2026-01-08 17:58:35 +00:00
Mark Powers 92abc6dfe4 8369282: Distrust TLS server certificates anchored by Chunghwa ePKI Root CA
Reviewed-by: mullan
2026-01-08 17:35:43 +00:00
Joe Darcy afd216ec3f 8374752: Add more JLS links to javax.lang.model.element.*
Reviewed-by: liach
2026-01-08 17:19:12 +00:00
Francisco Ferrari Bihurriet 7e1051bfcc 8352728: InternalError loading java.security due to Windows parent folder permissions
Reviewed-by: weijun, mullan
2026-01-08 16:46:48 +00:00
Jonas Norlinder c834e4c641 8373647: Avoid fstat when opening file for write with RandomAccessFile or FileOutputStream
Reviewed-by: redestad, alanb
2026-01-08 16:46:28 +00:00
Erik Gahlin fa2eb62647 8367949: JFR: MethodTrace double-counts methods that catch their own exceptions
Reviewed-by: mgronlun
2026-01-08 16:34:39 +00:00
Brian Burkhalter 677572b42d 8372377: Test java/io/File/GetXSpace.java failed: The system cannot find the path specified
Reviewed-by: alanb, jpai
2026-01-08 16:28:43 +00:00
Brian Burkhalter ec657349ff 8374641: Remove java/nio/channels/AsyncCloseAndInterrupt.java from problem list
Reviewed-by: iris
2026-01-08 16:28:10 +00:00
Matthias Baesken 78b1ca6cc1 8374711: Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges fails without printing the option name
Reviewed-by: mdoerr, dholmes
2026-01-08 12:44:08 +00:00
Kim Barrett c5159fc9fa 8374328: Convert simple AtomicAccess uses in gc/shared to use Atomic<T>
Reviewed-by: dholmes, tschatzl
2026-01-08 11:07:08 +00:00
Maurizio Cimadamore 904ba5f5ed 8374718: Generation of CompilerProperties can fail in subtle ways
Reviewed-by: jlahoda
2026-01-08 10:24:03 +00:00
Aleksey Shipilev 067fd3cb2f 8374768: S390X builds are failing after JDK-8372754
Reviewed-by: stefank, mdoerr
2026-01-08 09:32:51 +00:00
Ramkumar Sunderbabu 08ff16f0aa 8374576: Disable MemoryEaterMT for VirtualThread
Reviewed-by: lmesnik, dholmes
2026-01-08 09:25:11 +00:00
Emanuel Peter a71326a0e2 8374528: C2 SuperWord: TestAliasingFuzzer.java strengthen no-multiversioning IR rule
Reviewed-by: chagedorn, mhaessig
2026-01-08 08:32:02 +00:00
Per Minborg 1a6da4499c 8374467: Incorrect ranges in jdk.internal.util.ByteArray JavaDoc
Reviewed-by: rriggs
2026-01-08 08:14:57 +00:00
Jan Lahoda e6abf98e35 8374434: Several JShell tests report JUnit discovery warnings
Reviewed-by: jpai
2026-01-08 07:01:03 +00:00
Ioi Lam 95137580b8 8374662: Remove unused type check functions from javaClasses.hpp
Reviewed-by: jsjolen
2026-01-08 05:31:06 +00:00
Kim Barrett 70669d0585 8374712: AOTMappedHeapWriter::relocate_field_in_buffer should use CompressedOops::narrow_oop_cast
Reviewed-by: kvn
2026-01-08 04:43:06 +00:00
Chad Rakoczy 0a1fa21921 8369150: NMethodRelocationTest fails when JVMTI events not published before JVM exit
Reviewed-by: lmesnik, sspitsyn
2026-01-08 01:14:01 +00:00
Kim Barrett 9a944e5587 8372754: Add wrapper for <cstdlib>
8369205: AIX build break in forbiddenFunctions.hpp

Reviewed-by: mdoerr, tschatzl
2026-01-07 22:23:39 +00:00
Erik Joelsson 383fe1efc3 8374642: EscapeHash macro fails with GNU make 4.3 and 4.4
Reviewed-by: tbell, shade
2026-01-07 21:52:12 +00:00
Aleksey Shipilev dd20e91506 8374521: Support fine-grained native debug levels
Reviewed-by: erikj, krk, clanger
2026-01-07 18:10:06 +00:00
Jatin Bhateja 640343f7d9 8373724: Assertion failure in TestSignumVector.java with UseAPX
Reviewed-by: sviswanathan
2026-01-07 17:00:57 +00:00
Volkan Yazici 3541bc8635 8373538: Migrate all tests to null-safe "SimpleSSLContext" methods
Reviewed-by: djelinski, jpai
2026-01-07 15:38:20 +00:00
Emanuel Peter da14813a5b 8373453: C2 SuperWord: must handle load slices that have loads with different memory inputs
Reviewed-by: kvn, thartmann, qamai
2026-01-07 12:37:52 +00:00
SendaoYan 929864b1a4 8362087: Test containers/docker/ShareTmpDir.java intermittent fails
Reviewed-by: sgehwolf, cnorrbin
2026-01-07 11:51:28 +00:00
Tobias Hotz d7a3df6399 8374436: compiler/igvn/IntegerDivValueTests.java failed with division by zero
Reviewed-by: chagedorn, thartmann
2026-01-07 11:48:47 +00:00
Alan Bateman 6af27420e3 8373427: StructuredTaskScope::join not clear if called with interrupted status set
Reviewed-by: jpai
2026-01-07 10:43:24 +00:00
Alan Bateman f83918c692 8369227: Virtual thread stuck in PARKED state
Reviewed-by: pchilanomate
2026-01-07 10:43:11 +00:00
Kim Barrett 2074b975c3 8374623: Move DependentAlwaysFalse variable template to its own file
Reviewed-by: jsjolen
2026-01-07 10:06:29 +00:00
Volkan Yazici 7e18de137c 8374210: [BACKOUT] Move input validation checks to Java for java.lang.StringCoding intrinsics
Reviewed-by: shade, thartmann
2026-01-07 09:22:38 +00:00
Ana-Maria Mihalceanu a01283a5a5 8374632: Broken list layout in the man page of jlink
Reviewed-by: jpai
2026-01-07 08:24:31 +00:00
Damon Fenacci c1c0ac8770 8342772: Assert in LateInlineMHCallGenerator::do_late_inline_check
Reviewed-by: vlivanov, chagedorn, thartmann
2026-01-07 07:29:00 +00:00
Thomas Schatzl 5c6947f736 8373429: gc/g1/TestCodeCacheUnloadDuringConcCycle fails on various platforms
Reviewed-by: mbaesken, mdoerr
2026-01-07 06:30:14 +00:00
Alexey Semenyuk 6b3c1e0f78 8373833: "error.cert.not.found" and "error.explicit-sign-no-cert" errors duplicate each other
Reviewed-by: almatvee
2026-01-06 23:56:59 +00:00
David Beaumont 7c979c1487 8374308: ImageBufferCache has no effect and can be removed
Reviewed-by: alanb, rriggs
2026-01-06 19:54:49 +00:00
Justin Lu 53300b4ac1 8373830: Refactor test/jdk/java/time/test tests to use JUnit over TestNG
8373829: Refactor test/jdk/java/time/tck tests to use JUnit over TestNG

Reviewed-by: naoto
2026-01-06 19:24:43 +00:00
Roger Riggs f1e0e0c25e 8374544: Add SleepyCat diagnostics for all platforms
Reviewed-by: jpai
2026-01-06 18:07:43 +00:00
Weijun Wang fbc59ac0a1 8374555: No need for visible input warning in s.s.u.Password when not reading from System.in
Reviewed-by: coffeys, hchao
2026-01-06 18:05:27 +00:00
Kim Barrett cdbc493a6d 8374190: Convert ConcurrentHashTable atomic lists to use Atomic<T>
Reviewed-by: dholmes, iwalulya
2026-01-06 17:57:02 +00:00
Daniel Gredler 62181b6363 6562639: Wrong pixel bounds from TextLayout with white font
Reviewed-by: serb, prr
2026-01-06 17:56:43 +00:00
Daniel Gredler 3f65215960 8374340: FontRenderContext instance variables should be final
Reviewed-by: aivanov, aturbanov, prr, serb
2026-01-06 16:52:21 +00:00
Naoto Sato 136ac0d10b 8374433: java/util/Locale/PreserveTagCase.java does not run any tests
Reviewed-by: iris, joehw, jlu
2026-01-06 16:28:33 +00:00
Leonid Mesnik c611da257f 8374483: Eliminate :serviceability_ttf_virtual group and mark svc non-virtual tests with requires
Reviewed-by: syan, dholmes
2026-01-06 15:48:53 +00:00
Kim Barrett 3214428203 8374446: Fix -Wzero-as-null-pointer-constant warnings in test_compressedKlass.cpp
Reviewed-by: dholmes
2026-01-06 15:05:29 +00:00
Kim Barrett e27309f10d 8374350: Convert hotspot gtests to use Atomic<T>
Reviewed-by: aboldtch, iwalulya
2026-01-06 15:00:45 +00:00
Dingli Zhang df5b49e604 8374525: RISC-V: Several masked float16 vector operations are not supported
Reviewed-by: fjiang, fyang
2026-01-06 12:49:16 +00:00
Fernando Guallini 532a0a65b1 8372950: Pem.pemEncoded should cache the Pattern
Reviewed-by: ascarpino
2026-01-06 10:53:27 +00:00
Johny Jose 5df183be6c 8373476: (tz) Update Timezone Data to 2025c
Reviewed-by: coffeys, naoto
2026-01-06 10:36:41 +00:00
Christian Hagedorn 938bbd5b60 8374518: C1: Remove dead LinearScanStatistic::Counter::counter_fpu_stack
Reviewed-by: thartmann, mdoerr
2026-01-06 10:23:45 +00:00
Volkan Yazici 3a80c639d8 8373515: Migrate "test/jdk/java/net/httpclient/" to null-safe "SimpleSSLContext" methods
Reviewed-by: jpai
2026-01-06 10:21:14 +00:00
Emanuel Peter 2cb228e142 8374489: Template Library: need to tag Float16.float16ToRawShortBits as having non-deterministic result because of multiple NaN bit patterns
Reviewed-by: chagedorn, kvn
2026-01-06 08:51:40 +00:00
Fabian Meumertzheim 2fbc4162e8 8374441: (fs) FileSystemProvider.readAttributesIfExists throws "Not a directory" when element in path is not directory should return null for ENOTDIR (unix)
Reviewed-by: alanb
2026-01-06 08:09:42 +00:00
Aleksey Shipilev d063c9546b 8374507: GHA: Limit debug symbols generation to conserve disk space
Reviewed-by: erikj
2026-01-06 07:40:36 +00:00
David Holmes de81d38995 8374456: JVM crashes with "assert(resolved_method->method_holder()->is_linked()) failed: must be linked" when run with large value for PreallocatedOutOfMemoryErrorCount
Reviewed-by: coleenp
2026-01-05 20:09:49 +00:00
Alex Menkov fa8ea6b32d 8374168: Resolve disabled warnings in JDWP agent
Reviewed-by: cjplummer, sspitsyn, erikj
2026-01-05 19:55:54 +00:00
Patricio Chilano Mateo 5fd095fb9b 8372591: assert(!current->cont_fastpath() || freeze.check_valid_fast_path()) failed
Reviewed-by: dholmes, alanb, rrich, fyang
2026-01-05 19:16:40 +00:00
Naoto Sato 27dbdec297 8374217: Remove IO.java test from AOT ProblemList
Reviewed-by: jpai, iklam
2026-01-05 17:16:35 +00:00
Benoît Maillard 4458cab4b0 8367627: C2: Missed Ideal() optimization opportunity with MemBar
Reviewed-by: chagedorn, epeter
2026-01-05 14:39:38 +00:00
Roland Westrelin 6ae3e06435 8373508: C2: sinking CreateEx out of loop breaks the graph
Reviewed-by: chagedorn, dlong
2026-01-05 14:02:41 +00:00
Daisuke Yamazaki eee58545c8 8366058: Outdated comment in WinCAPISeedGenerator
Reviewed-by: mullan
2026-01-05 13:19:32 +00:00
Aleksey Shipilev e676c9de3d 8357258: x86: Improve receiver type profiling reliability
Reviewed-by: kvn, vlivanov
2026-01-05 09:35:50 +00:00
Matthias Baesken 163038222a 8373704: Improve "SocketException: Protocol family unavailable" message
Reviewed-by: lucy, jpai
2026-01-05 08:27:37 +00:00
Xiaohong Gong 6eaabed55c 8373722: [TESTBUG] compiler/vectorapi/TestVectorOperationsWithPartialSize.java fails intermittently
Reviewed-by: jiefu, jbhateja, erfang, qamai
2026-01-05 01:54:31 +00:00
Leonid Mesnik 53824cf2a9 8343809: Add requires tag to mark tests that are incompatible with exploded image
Reviewed-by: alanb, dholmes
2026-01-03 02:52:53 +00:00
Francesco Andreuzzi 2daf12edd2 8374465: Spurious dot in documentation for JVMTI ClassLoad
Reviewed-by: kbarrett
2026-01-02 14:51:37 +00:00
Artur Barashev 3439512401 8374317: Change GCM IV size to 12 bytes when encrypting/decrypting TLS session ticket
Reviewed-by: djelinski, mpowers, ascarpino
2026-01-02 13:28:15 +00:00
Kim Barrett efb79dc6b4 8374444: Fix simple -Wzero-as-null-pointer-constant warnings
Reviewed-by: aboldtch
2026-01-02 10:19:17 +00:00
Prasanta Sadhukhan 05d2f7f408 8373847: Test javax/swing/JMenuItem/MenuItemTest/bug6197830.java failed because The test case automatically fails when clicking any items in the “Nothing” menu in all four windows (Left-to-right)-Menu Item Test and (Right-to-left)-Menu Item Test
Reviewed-by: serb, aivanov, dnguyen
2026-01-02 09:53:04 +00:00
Prasanta Sadhukhan 2ea3c00e4f 4337898: Serializing DefaultTableCellRenderer changes colors
Reviewed-by: azvegint
2026-01-02 09:48:40 +00:00
Kim Barrett 65af6bcb8f 8374371: Failed assertion in G1HeapRegion gtest
Reviewed-by: tschatzl, iwalulya
2026-01-02 09:27:40 +00:00
Alan Bateman d9bd300c6e 8374382: (aio) AsynchronousFileChannel writes wrong content using heap ByteBuffer when position != 0
Reviewed-by: jpai
2026-01-01 07:49:49 +00:00
Eunbin Son 752f46d662 8374373: Typo in VirtualThreadSchedulerMXBean.setParallelism javadoc
Reviewed-by: alanb
2026-01-01 07:49:30 +00:00
Michael McMahon 96e5c270b4 8373893: Refactor networking http server tests to use JUnit
Reviewed-by: djelinski
2025-12-31 22:05:31 +00:00
Sergey Bylokhov 481ef1de7a 8374352: Update copyright year to 2025 for test/langtools/tools/javac/ in files where it was missed
Reviewed-by: aivanov
2025-12-31 17:53:43 +00:00
Sergey Bylokhov 2d1be8a9e6 8374391: Update the copyright year to 2025 in the remaining files under src/ where it was missed
Reviewed-by: aivanov
2025-12-31 17:15:34 +00:00
Sergey Bylokhov 2447e07137 8374355: Update copyright year to 2025 for demo in files where it was missed
Reviewed-by: aivanov
2025-12-31 17:13:17 +00:00
Kevin Walls a1a75ab6d1 8373642: Test vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters003/TestDescription.java failed
Reviewed-by: cjplummer, syan
2025-12-31 16:26:09 +00:00
Kevin Walls 97f4f003f4 8373917: test/hotspot/jtreg/vmTestbase/nsk/monitoring: -iterations setting misused in tests
Reviewed-by: lmesnik
2025-12-31 15:50:17 +00:00
Sergey Bylokhov c6246d58f7 8374383: Update the copyright year to 2025 in the remaining files under test/ where it was missed
Reviewed-by: jpai
2025-12-31 10:04:45 +00:00
Sergey Bylokhov 36d2c277c4 8374327: Update copyright year to 2025 for files in java.base added/updated by commits in 2025
Reviewed-by: jpai
2025-12-31 09:13:32 +00:00
Sergey Bylokhov 3fd7bde31b 8374378: Update copyright year to 2025 for jdk.internal.vm.ci in files where it was missed
Reviewed-by: phh
2025-12-31 07:21:32 +00:00
Sergey Bylokhov a6462d641c 8374316: Update copyright year to 2025 for hotspot in files where it was missed
Reviewed-by: kbarrett
2025-12-30 12:08:36 +00:00
Martin Doerr e4e923a1ff 8374195: TestReplaceNarrowPhiWithBottomPhi fails on ppc64 platforms in (fast)debug
Reviewed-by: mbaesken, jbechberger
2025-12-30 09:49:05 +00:00
Sergey Bylokhov 08450f2c4d 8374326: Update copyright year to 2025 for jdk.jpackage in files where it was missed
Reviewed-by: phh
2025-12-30 07:01:49 +00:00
Sergey Bylokhov 92c6799b40 8374361: Update copyright year to 2025 for jdk.hotspot.agent in files where it was missed
Reviewed-by: phh
2025-12-29 21:20:59 +00:00
Kirill Shirokov 078e71f4a3 8344345: test/hotspot/gtest/x86/x86-asmtest.py has trailing whitespaces
Reviewed-by: phh, lmesnik
2025-12-29 21:09:41 +00:00
Anjian Wen 5e685f6f2c 8374351: RISC-V: Small refactoring for crypto macro-assembler routines
Reviewed-by: fyang, fjiang
2025-12-28 09:13:09 +00:00
Sergey Bylokhov 9512a43e82 8374365: Update copyright year to 2025 for test/jdk in files where it was missed
Reviewed-by: phh
2025-12-27 07:02:41 +00:00
Sergey Bylokhov 2886c3b68a 8374358: Update copyright year to 2025 for test/hotspot in files where it was missed
Reviewed-by: phh
2025-12-27 04:56:04 +00:00
Sergey Bylokhov 5c694eab0f 8374363: Update copyright year to 2025 for test/micro in files where it was missed
Reviewed-by: phh
2025-12-27 04:45:56 +00:00
Alexey Ivanov e7f9132e89 8374345: Restore the original copyright year in ExtremeFontSizeTest.java
Reviewed-by: serb, syan
2025-12-26 20:12:15 +00:00
Sergey Bylokhov ac07a41de9 8374360: Update copyright year to 2025 for test/jdk/jdk/jfr in files where it was missed
Reviewed-by: egahlin
2025-12-26 19:12:55 +00:00
Daniel Gredler e65ace10e3 6517125: FontStrike.getGlyphVectorOutline() not used
Reviewed-by: prr, serb
2025-12-26 11:58:48 +00:00
Sergey Bylokhov 3e6170c5be 8374354: Update copyright year to 2025 for jdk.javadoc in files where it was missed
Reviewed-by: liach
2025-12-26 03:46:40 +00:00
Sergey Bylokhov 534c33d0ef 8374323: Update copyright year to 2025 for the build system in files where it was missed
Reviewed-by: erikj
2025-12-25 07:25:40 +00:00
Sergey Bylokhov 73a8629c5b 8374310: Update copyright year to 2025 for client-libs in files where it was missed
Reviewed-by: jdv, aivanov
2025-12-25 01:25:29 +00:00
Nizar Benalla 98b7792a07 8372801: tools/sincechecker/modules/java.base/JavaBaseCheckSince.java fails with JDK 27
Reviewed-by: liach
2025-12-24 14:47:04 +00:00
Nizar Benalla 6ade34804f 8374177: Update @since of HotSpotAOTCacheMXBean after JDK-8373607
Reviewed-by: alanb, iklam
2025-12-24 14:38:08 +00:00
Nizar Benalla f23b958eca 8373446: Update --release 26 symbol information for JDK 26 build 29
Reviewed-by: iris, liach
2025-12-24 14:31:54 +00:00
Wang Haomin 4a0f7e4294 8374321: Fix undefined reference to 'png_init_filter_functions_lsx' after 8371914
Reviewed-by: jiefu, jdv
2025-12-24 09:06:39 +00:00
Damon Nguyen a59dbc5105 8373475: Unintentional format string in logString of AccessInfo.cpp
Reviewed-by: aivanov, prr, azvegint
2025-12-24 00:05:27 +00:00
Damon Nguyen 72e1e15779 8373474: 2 Unintentional format string defect groups in jabswitch.cpp
Reviewed-by: aivanov, prr, azvegint
2025-12-24 00:05:12 +00:00
Serguei Spitsyn f5249db9c5 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed
Reviewed-by: cjplummer, amenkov
2025-12-23 22:21:58 +00:00
Kevin Walls 61cb6d7408 8374232: Comment cleanup in diagnosticCommand.cpp
Reviewed-by: cjplummer
2025-12-23 20:47:55 +00:00
Kevin Walls 8d80bac1ec 8374296: Comment clean up in os_linux.cpp
Reviewed-by: mdoerr
2025-12-23 19:20:46 +00:00
Sergey Bylokhov be2ac088e8 8373967: [macos] User interactions with List do not trigger ItemEvent after programmatic change
Reviewed-by: azvegint
2025-12-23 18:33:56 +00:00
Jie Fu f1c50412f0 8374200: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails with common prefix metrics
Reviewed-by: dholmes
2025-12-23 14:31:29 +00:00
Aleksei Efimov 40755afdf9 8373808: Refactor java/net/httpclient qpack and hpack tests to use JUnit
Reviewed-by: djelinski
2025-12-23 12:37:34 +00:00
Hao Sun e1d81c0946 8373122: JFR build failure with CDS disabled due to -Werror=unused-function after JDK-8365400
Reviewed-by: mgronlun, jiefu, fandreuzzi
2025-12-23 08:08:25 +00:00
Alexey Semenyuk a0094f529a 8374216: Assorted changes to jpackage without functional impact
Reviewed-by: almatvee
2025-12-23 04:39:50 +00:00
Chen Liang ecb42341a9 8373447: Suspicious sign extension after integer promotion in imageDecompressor.cpp
Reviewed-by: alanb
2025-12-23 00:12:55 +00:00
Ioi Lam 4b8eda3047 8373983: java/util/Locale/UseOldISOCodesTest.java fails with JTREG_AOT_JDK=onestep
Reviewed-by: naoto
2025-12-22 19:43:55 +00:00
Chris Plummer 72505420ca 8374038: JDI EventRequestManager javadoc has unrendered @link tags inside an @code block
Reviewed-by: kevinw, amenkov
2025-12-22 19:28:10 +00:00
Jie Fu 9715e6da83 8374178: Missing include in systemDictionary.cpp after JDK-8365526
Reviewed-by: kbarrett, dholmes
2025-12-22 15:15:20 +00:00
Damon Fenacci a61a1d32a2 8373525: C2: assert(_base == Long) failed: Not a Long
Reviewed-by: chagedorn, mhaessig
2025-12-22 12:49:30 +00:00
Stefan Karlsson 2715f5e698 8374151: Cleanup minor markWord function disorder
Reviewed-by: rcastanedalo, dholmes
2025-12-22 10:16:14 +00:00
Stefan Karlsson 551e656218 8374113: Taughtological if check in Reflection::array_set
Reviewed-by: fparain, liach
2025-12-22 09:55:38 +00:00
Stefan Karlsson e6c3ebe27b 8374145: Remove legacy locking remnants from markWord
Reviewed-by: aboldtch, kbarrett, coleenp
2025-12-22 09:32:22 +00:00
Matthias Baesken 3579c752bc 8373876: StackWalkNativeToJava print more output in case of failures
Reviewed-by: dholmes, mdoerr
2025-12-22 07:57:31 +00:00
Alexander Zvegintsev 9435d5b89c 8346154: [XWayland] Some tests fail intermittently in the CI, but not locally
Reviewed-by: serb, prr
2025-12-22 02:36:13 +00:00
David HolmesandRichard Reingruber 25e87144c2 8369515: Deadlock between JVMTI and JNI ReleasePrimitiveArrayCritical
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: rrich, fbredberg, pchilanomate
2025-12-22 01:28:07 +00:00
Quan Anh Mai 8ab7d3b89f 8374078: C2_MacroAssembler::verify_int_in_range has incorrect early return condition
Reviewed-by: kvn, dlong
2025-12-21 15:15:49 +00:00
Prasanta Sadhukhan fe5911c769 8373946: Synth ProgressBarUI implementation confuses background painting with border painting
Reviewed-by: prr, kizune, azvegint
2025-12-21 05:25:10 +00:00
Alexander Matveev 2d09284060 8373105: Test tools/jpackage/share/AsyncTest.java failed: problem running hdiutil
Reviewed-by: asemenyuk
2025-12-19 23:19:27 +00:00
Kim Barrett 0a70da46f6 8372564: Convert StringDedup to use Atomic<T>
Reviewed-by: tschatzl, aboldtch, iwalulya
2025-12-19 22:37:09 +00:00
Mikhail Yankelevich 400d8cfb69 8373793: TestDynamicStore.java '/manual' disables use of '/timeout'
Reviewed-by: weijun
2025-12-19 18:02:13 +00:00
William Kemper c1ad393e25 8374048: Genshen: Backout fix for missed cancellation notice
Reviewed-by: kdnilsen, ysr
2025-12-19 18:01:22 +00:00
Coleen Phillimore 23fc21a3e2 8374052: Use java/util/Calendar in ReplaceCriticalClasses.java test
Reviewed-by: iklam
2025-12-19 17:45:14 +00:00
Jorn Vernee 821e9ff965 8372493: [asan] java/foreign/sharedclosejvmti/TestSharedCloseJvmti.java triggers heap-use-after-free
Reviewed-by: liach
2025-12-19 17:38:30 +00:00
Matthias Baesken 6c9999ca8d 8373984: Check for macos 11 in CGraphicsDevice.m can be removed
Reviewed-by: prr, kizune
2025-12-19 14:37:42 +00:00
Matthias Baesken dca55b4366 8371420: Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104
Reviewed-by: mdoerr, ayang
2025-12-19 14:28:04 +00:00
Christoph Langer b5ac8f8368 8373246: JDK-8351842 broke native debugging on Linux
Reviewed-by: erikj, stuefe
2025-12-19 13:34:31 +00:00
Alexey Semenyuk 45642acf1b 8373710: Improve jpackage error reporting
Reviewed-by: almatvee
2025-12-19 13:03:21 +00:00
Volkan Yazici 14c93b2afb 8373537: Migrate "test/jdk/com/sun/net/httpserver/" to null-safe "SimpleSSLContext" methods
Reviewed-by: dfuchs
2025-12-19 12:57:57 +00:00
Stefan Karlsson 53e77d21c2 8373801: Adopt arraycopy OopCopyResult from the lworld branch
Reviewed-by: jsikstro, tschatzl, aboldtch
2025-12-19 10:52:43 +00:00
Jaikiran Pai 45cf042099 8374082: net_util.c should use logical && when setting IPv6_available
Reviewed-by: alanb
2025-12-19 09:30:41 +00:00
Hamlin LiandFei Yang 5eb8774909 8373998: RISC-V: simple optimization of ConvHF2F
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: fyang, dzhang
2025-12-19 09:19:46 +00:00
Roland Westrelin e72f205ae3 8373524: C2: no reachable node should have no use
Reviewed-by: chagedorn, mhaessig
2025-12-19 08:31:04 +00:00
SendaoYan 360777c3ad 8371948: TestStackOverflowDuringInit.java fails xss too small on linux-aarch64
Reviewed-by: dholmes, aph
2025-12-19 02:22:06 +00:00
David Holmes f0add88545 8373837: "assert(thread->is_VM_thread() || thread->is_Java_thread()) failed: Must be VMThread or JavaThread" on macosx-aarch64-26
Reviewed-by: fbredberg, coleenp
2025-12-19 01:54:10 +00:00
Kim Barrett 623164651c 8373208: Make Atomic class template constant initializable
Reviewed-by: stefank, dholmes
2025-12-19 00:01:55 +00:00
Dan Smith f88cbfb8c6 8374044: Docs build fails: Cannot determine current path
Reviewed-by: dholmes
2025-12-18 21:40:06 +00:00
Nityanand Rai 8a93658e87 8371284: GenShen: Avoid unnecessary card marking
Reviewed-by: wkemper, shade, ysr
2025-12-18 21:15:44 +00:00
Dan Smith 6cbfc7691f 8370249: Test jdk/javadoc/doccheck/checks/jdkCheckLinks.java fails due to JVMS/JLS links after JDK-8349681
Reviewed-by: liach
2025-12-18 19:31:33 +00:00
Dan Smith 0b2712400b 8373909: JSpec and ToolGuide taglets use incorrect relative path
Reviewed-by: liach, hannesw
2025-12-18 17:21:41 +00:00
Daniel Jeliński 7a7e7c9ae1 8373877: QUIC connections are removed too early
Reviewed-by: dfuchs
2025-12-18 13:17:44 +00:00
Yasumasa Suenaga b848ddf6d3 8373110: jstack --mixed frames are broken on macOS after JDK-8371194
Reviewed-by: cjplummer, kevinw
2025-12-18 13:15:36 +00:00
Raffaello Giulietti 3258e4dafa 8373068: Revisit details of Float16 to decimal conversion algorithm
Reviewed-by: darcy
2025-12-18 13:09:42 +00:00
Volkan Yazici 629e4ac6f4 8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext"
Reviewed-by: dfuchs, weijun
2025-12-18 12:46:02 +00:00
Galder Zamarreño 2c0d9a79b8 8373396: Min and Max Ideal missing AddNode::Ideal optimisations
Reviewed-by: epeter, roland
2025-12-18 11:45:26 +00:00
Roland Westrelin 2ba423db99 8370200: Crash: assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis
Reviewed-by: rcastanedalo, dlunden, dfenacci
2025-12-18 10:36:16 +00:00
Aleksey Shipilev 4f283f188c 8373820: C2: Robust Node::uncast_helper infinite loop check
Reviewed-by: qamai, chagedorn
2025-12-18 09:43:28 +00:00
Daniel Fuchs d8eb1259f4 8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:39:11 +00:00
Daniel Fuchs c6da35d7c7 8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:29:29 +00:00
Daniel Fuchs e5ca77838b 8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:21:37 +00:00
Matthias Baesken 3f20eb9435 8372348: Adjust some UL / JFR string deduplication output messages
Reviewed-by: fandreuzzi, lucy, asteiner
2025-12-18 09:14:37 +00:00
Matthias Baesken a31e6e0d3b 8373593: Support latest VS2026 MSC_VER in abstract_vm_version.cpp
Reviewed-by: mdoerr, dholmes
2025-12-18 08:25:26 +00:00
Tobias Hotz 859830694b 8364766: C2: Improve Value() of DivI and DivL for non-constant inputs
Reviewed-by: mhaessig, epeter, bmaillard
2025-12-18 07:37:21 +00:00
Quan Anh Mai e67805067a 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations
Reviewed-by: hgreule, epeter
2025-12-18 07:31:06 +00:00
Emanuel Peter 00050f84d4 8373502: C2 SuperWord: speculative check uses VPointer variable was pinned after speculative check, leading to bad graph
Reviewed-by: thartmann, roland
2025-12-18 07:05:05 +00:00
Emanuel Peter b446262541 8373682: Test compiler/loopopts/superword/TestReinterpretAndCast.java fails on x86_64 with AVX but without f16c
Reviewed-by: kvn, jsikstro, chagedorn
2025-12-18 07:04:40 +00:00
Leonid Mesnik 0146077a51 8373723: Deadlock with JvmtiTagMap::flush_object_free_events()
Reviewed-by: dholmes, coleenp
2025-12-18 04:27:18 +00:00
Alexey Semenyuk ea5834415d 8373887: jpackage tests may potentially deadlock
Reviewed-by: almatvee
2025-12-18 01:46:45 +00:00
Dan Smith c16ce929c7 8370970: DocCheck failure in jdkDoctypeBadcharsCheck.java and jdkCheckHtml.java
Reviewed-by: liach
2025-12-17 22:38:50 +00:00
Kelvin Nilsen 17d633a8ee 8373720: GenShen: Count live-at-old mark using Snapshot at Beginning
Reviewed-by: ysr
2025-12-17 22:21:24 +00:00
Ioi Lam 232b41b222 8373392: Replace CDS object subgraphs with @AOTSafeClassInitializer
Reviewed-by: liach, heidinga
2025-12-17 22:16:38 +00:00
David Holmes b3fab41460 8373654: Tests in sources/ should only run once
Reviewed-by: shade, lmesnik
2025-12-17 22:14:39 +00:00
Chen Liang e75726ee03 8373832: Test java/lang/invoke/TestVHInvokerCaching.java tests nothing
Reviewed-by: jvernee, shade
2025-12-17 20:52:14 +00:00
Daniel Fuchs f3a48560b5 8373807: test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java getURI() uses "localhost"
Reviewed-by: jpai
2025-12-17 18:44:49 +00:00
Justin Lu 4e05748f08 8373716: Refactor further java/util tests from TestNG to JUnit
Reviewed-by: naoto
2025-12-17 18:17:24 +00:00
Christian Hagedorn 9862f8f0d3 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode
Reviewed-by: epeter, roland
2025-12-17 13:38:37 +00:00
Ioi Lam 39306d7ab9 8373800: Remove ScopedValueBindingsResolver
Reviewed-by: alanb, liach
2025-12-17 13:19:49 +00:00
Daniel Fuchs 5e7ae28132 8373677: Clear text HttpServer connection could fail fast if receiving SSL ClientHello
Reviewed-by: jpai, djelinski
2025-12-17 12:13:58 +00:00
Christian Hagedorn e4636d69e7 8373420: C2: Add true/false_proj*() methods for IfNode as a replacement for proj_out*(true/false)
Reviewed-by: dfenacci, roland, epeter
2025-12-17 11:17:39 +00:00
Aggelos Biboudis 9a23f8aa33 8373552: ExactConversionsSupport: bad JLS links in javadoc
Reviewed-by: liach, iris
2025-12-17 10:31:23 +00:00
Raffaello Giulietti fc76403b01 8373798: Refactor java/math tests to use JUnit
Reviewed-by: darcy
2025-12-17 09:20:48 +00:00
Arno Zeller af18fbd42d 8371559: Intermittent timeouts in test javax/net/ssl/Stapling/HttpsUrlConnClient.java
Reviewed-by: mbaesken, myankelevich
2025-12-17 09:08:29 +00:00
Michael McMahon 4924b29fa5 8370655: Check EINTR handling InetAddress implementation and NET_ThrowNew
Reviewed-by: alanb
2025-12-17 08:54:56 +00:00
Matthias Baesken 9e2008bf5e 8373676: Test javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java fails on a machine without IPV6
Reviewed-by: jpai, dfuchs
2025-12-17 08:44:46 +00:00
Daniel Jeliński 386ad61458 8373409: java/net/httpclient/http3/H3ErrorHandlingTest.java failed due to deadlock
Reviewed-by: dfuchs
2025-12-17 07:49:58 +00:00
Jan Lahoda 94c51ce314 8372635: Lambdas do not copy over SYNTHETIC flag for local variables
Reviewed-by: vromero, liach
2025-12-17 07:22:37 +00:00
Christian Stein e9b4696acc 8373097: Save command should create missing parent directories
Reviewed-by: jlahoda
2025-12-17 07:18:26 +00:00
Anjian Wen e635330ae1 8373069: RISC-V: implement GHASH intrinsic
Reviewed-by: fjiang, fyang
2025-12-17 02:41:19 +00:00
Ioi Lam 3f07710270 8373441: Remove DCmdFactory::_enabled
Reviewed-by: kevinw, fparain, jsjolen
2025-12-16 23:17:29 +00:00
Bradford Wetmore 87d881fee0 8368493: Disable most test JSSE debug output by default, and increase the test default maximum output log size
Reviewed-by: jnimeh, hchao
2025-12-16 21:43:43 +00:00
Jonas Norlinder 30be94086a 8373625: CPUTimeCounters creates a total counter for unsupported GCs
Reviewed-by: sjohanss, tschatzl
2025-12-16 21:33:27 +00:00
Alexey Semenyuk 2241218ef6 8373631: Improve classes in the "jdk.jpackage.internal.util.function" package
Reviewed-by: almatvee
2025-12-16 21:25:41 +00:00
Damon Nguyen fb99ba6ccd 8373119: JDK 26 RDP1 L10n resource files update
Reviewed-by: jlu, asemenyuk, almatvee
2025-12-16 21:19:33 +00:00
Khalid Boulanouare d02abfe765 8158801: [TEST_BUG] Mixing tests fail because of focus workaround trick
Reviewed-by: aivanov, prr, psadhukhan
2025-12-16 20:37:57 +00:00
Roger Riggs 1e357e9e97 8373623: Refactor Serialization tests for Records to JUnit
Reviewed-by: jlu
2025-12-16 20:23:58 +00:00
Mark Powers 817e3dfde9 8350711: [JMH] test Signatures.RSASSAPSS failed for 2 threads config
Reviewed-by: hchao, valeriep
2025-12-16 18:38:11 +00:00
Saint Wesonga a0dd66f92d 8373630: r18_tls should not be modified on Windows AArch64
Reviewed-by: pchilanomate, aph
2025-12-16 18:36:28 +00:00
Ioi Lam b0b42e7eb1 8373615: Improve HotSpot debug functions findclass() and findmethod
Reviewed-by: matsaave, asmehra
2025-12-16 18:19:40 +00:00
Justin Lu 81e3757688 8373566: Performance regression with java.text.MessageFormat subformat patterns
Reviewed-by: liach, rriggs, naoto
2025-12-16 18:11:37 +00:00
Marc ChevalierandRoland Westrelin 76e79dbb3e 8371716: C2: Phi node fails Value()'s verification when speculative types clash
Co-authored-by: Roland Westrelin <roland@openjdk.org>
Reviewed-by: roland, epeter
2025-12-16 14:32:23 +00:00
Emanuel Peter 89e77512fd 8370922: Template Framework Library: Float16 type and operations
Reviewed-by: galder, thartmann, bmaillard
2025-12-16 13:33:02 +00:00
Aleksey Shipilev a61394b1da 8373789: No PCH release build failure after JDK-8372543
Reviewed-by: tschatzl
2025-12-16 13:18:59 +00:00
Serguei Spitsyn 53ebcdbd02 8373627: assert(!is_vthread_transition_disabler()) failed: no suspend allowed for vthread transition disablers
Reviewed-by: pchilanomate, dholmes
2025-12-16 10:28:27 +00:00
Jaikiran Pai 41d28c1838 8373561: Replace usages of -verify java launcher option with -Xverify:all JVM option
Reviewed-by: serb, prr, dholmes, jlahoda
2025-12-16 10:08:08 +00:00
Maurizio Cimadamore 43d4456181 8373570: Javac stack overflow on method-local class with nested record referring to enclosing type
Reviewed-by: vromero
2025-12-16 10:01:13 +00:00
Emanuel Peter 8402891889 8373355: C2: CompileCommand PrintIdealPhase should also print nodes that are not "reachable from below"
Reviewed-by: rcastanedalo, mchevalier, bmaillard
2025-12-16 09:34:42 +00:00
Axel Boldt-Christmas 78c2d57259 8373668: Add override keyword to *Klass classes
Reviewed-by: jwaters, dholmes, kbarrett, tschatzl
2025-12-16 07:38:26 +00:00
Rui Li b1e8c4e030 8372543: Shenandoah: undercalculated the available size when soft max takes effect
Reviewed-by: wkemper, kdnilsen
2025-12-16 07:02:15 +00:00
Kim Barrett 3f33eaa42a 8373649: Convert simple AtomicAccess usage in ConcurrentHashTable to use Atomic<T>
Reviewed-by: tschatzl, iwalulya
2025-12-16 04:03:12 +00:00
David Holmes 1748737b99 8372988: Test runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java failed: Unexpected interrupt
Reviewed-by: coleenp, iklam, jsjolen
2025-12-16 00:19:01 +00:00
Damon Nguyen 317788ff12 8360160: ubuntu-22-04 machine is failing client tests
Reviewed-by: prr, azvegint
2025-12-15 22:39:09 +00:00
Kieran Farrell 6aeabd4bfa 8370910: Cleanup terminology of UUID vs Global Identifiers in UUID
Reviewed-by: alanb, rriggs, jpai
2025-12-15 20:51:08 +00:00
Sergey Chernyshev f52d49925f 8319589: Attach from root to a user java process not supported in Mac
Reviewed-by: sspitsyn
2025-12-15 20:19:05 +00:00
Chris Plummer 45ee89c4c8 8373297: Test com/sun/jdi/AfterThreadDeathTest.java failed with unexpected ObjectCollectedException
Reviewed-by: kevinw, sspitsyn, amenkov, lmesnik
2025-12-15 19:50:46 +00:00
Roland Westrelin ad29642d8f 8351889: C2 crash: assertion failed: Base pointers must match (addp 344)
Reviewed-by: rcastanedalo, epeter
2025-12-15 16:18:44 +00:00
William Kemper ea6493c4e1 8373100: Genshen: Control thread can miss allocation failure notification
Reviewed-by: ysr, kdnilsen, xpeng
2025-12-15 15:52:01 +00:00
SendaoYan 34f241317e 8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests
Reviewed-by: lmesnik, dholmes
2025-12-15 14:18:46 +00:00
Jaikiran Pai 1f47294cd3 8287062: com/sun/jndi/ldap/LdapPoolTimeoutTest.java failed due to different timeout message
Reviewed-by: aefimov
2025-12-15 13:36:12 +00:00
Stefan Karlsson f5187ebf7a 8373599: Cleanup arguments.hpp includes
Reviewed-by: coleenp, kbarrett
2025-12-15 12:57:03 +00:00
Casper Norrbin 629bf20f59 8371408: [Linux] VM.info output for container information is confusing
Reviewed-by: sgehwolf, dholmes
2025-12-15 10:23:31 +00:00
Hamlin Li 3559eeca0e 8373428: Refine variables with the same name in nested scopes in PhaseChaitin::gather_lrg_masks
Reviewed-by: phh
2025-12-15 09:10:51 +00:00
Fredrik Bredberg ad6611a9a3 8371347: Move the ObjectMonitorTable to a separate new file
Reviewed-by: dholmes, coleenp
2025-12-15 08:55:08 +00:00
Daniel Jeliński 895232fc65 8372731: Detailed authentication failure messages
Reviewed-by: dfuchs, michaelm
2025-12-15 08:40:05 +00:00
Anton Artemov 5141e1a4f4 8373497: SpinCriticalSection should use SpinYield
Reviewed-by: dholmes, coleenp
2025-12-15 08:39:47 +00:00
Sergey Bylokhov 01adf28c94 8372974: Add missing @Override annotations in "com.sun.java.swing.plaf.gtk" package
Reviewed-by: prr
2025-12-15 07:36:42 +00:00
Jonas Norlinder dc1b0b5f81 8373557: Remove stale comments after JDK-8372584
Reviewed-by: dholmes, jsjolen
2025-12-15 06:13:07 +00:00
Prasanta Sadhukhan 0e7bc6b092 6681958: Maximization state of JInternalFrames is corrupted by WindowsDesktopManager
Reviewed-by: tr, kizune
2025-12-15 04:52:14 +00:00
Prasanta Sadhukhan 5edeb71e3b 6292135: DefaultTableModel.setColumnIdentifiers() Clears JTable Row Heights
Reviewed-by: tr, kizune
2025-12-15 04:45:25 +00:00
Albert Mingkun Yang eda1ab2143 8373449: Parallel: Obsolete deprecated PSChunkLargeArrays
Reviewed-by: kbarrett, dholmes, tschatzl
2025-12-15 01:50:25 +00:00
David Holmes d03e7cb87a 8373522: Remove expired flags in JDK 27
Reviewed-by: kvn, ayang
2025-12-14 20:45:18 +00:00
Thomas Stuefe 99f90befaf 8373490: JFR Leak Profiler: path-to-gc-root very slow for large object arrays
Reviewed-by: egahlin
2025-12-14 11:57:00 +00:00
Phil Race fb531cdaf3 8373632: Some sound tests failing in CI due to lack of sound key
Reviewed-by: iris
2025-12-13 22:43:30 +00:00
Quan Anh Mai 104d0cb542 8373577: C2: Cleanup adr_type of CallLeafPureNode
Reviewed-by: roland, vlivanov
2025-12-13 14:07:24 +00:00
Mohamed Issa 4f1dcf89b8 8368977: Provide clear naming for AVX10 identifiers
Reviewed-by: jbhateja, mhaessig, vlivanov
2025-12-13 03:16:46 +00:00
Alexey Semenyuk 17744fbfc0 8373628: jpackage doesn't print to console until completetion
Reviewed-by: almatvee
2025-12-13 02:53:57 +00:00
Sergey Bylokhov d054865200 8371975: Apply java.io.Serial annotations in java.security.sasl
Reviewed-by: mullan
2025-12-13 01:35:24 +00:00
Man Cao 23c39757ec 8373403: [TESTBUG] TestG1ClassUnloadingHWM.java could fail with large G1HeapRegionSize and small InitialHeapSize
Reviewed-by: tschatzl, iwalulya
2025-12-12 21:19:09 +00:00
Vladimir Ivanov f2e56e4c18 8372634: C2: Materialize type information from instanceof checks
Reviewed-by: dlong, qamai, roland
2025-12-12 21:12:09 +00:00
Matthias Baesken 4e9525ef36 8373388: Reenable LTO for libsplashscreen
Reviewed-by: erikj, dholmes, serb, prr
2025-12-12 18:57:25 +00:00
Volkan Yazici b6319f5b42 8369595: HttpClient: HttpHeaders.firstValueAsLong failures should be converted to ProtocolException
Reviewed-by: dfuchs, djelinski
2025-12-12 18:19:35 +00:00
Srinivas Mandalika 6e2ab84154 8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update
Reviewed-by: psadhukhan, prr
2025-12-12 18:09:51 +00:00
Phil Race 9b12c0bb19 7067310: 3 tests from closed/javax/sound/sampled caused BSOD on win 7 x86
8307574: ClipIsRunningAfterStop.java failed with "../nptl/pthread_mutex_lock.c:81: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed."
8308395: javax/sound/sampled/Clip/ClipFlushCrash.java timed out

Reviewed-by: serb
2025-12-12 18:06:46 +00:00
Phil Race e65e06867e 8372592: Adjust logger usage in java2d tests
Reviewed-by: kizune, serb, rriggs
2025-12-12 18:04:14 +00:00
Ben Taylor 0eb2bcd260 8372250: Merge PtrQueue into SATBMarkQueue
Reviewed-by: kbarrett, iwalulya, tschatzl, wkemper
2025-12-12 16:27:55 +00:00
Ferenc Rakoczi 6ec36d348b 8373059: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should pass on Aarch64
Reviewed-by: weijun, vpaprotski
2025-12-12 16:04:56 +00:00
Artur Barashev a99f340e1b 8371721: Refactor checkTrusted methods in X509TrustManagerImpl
Reviewed-by: coffeys, djelinski
2025-12-12 14:39:42 +00:00
Stefan Karlsson d854a04231 8373411: Crash when PrintSharedArchiveAndExit is enabled but shared heap is disabled
Reviewed-by: shade, iklam
2025-12-12 14:02:50 +00:00
Kelvin Nilsen 410014377c 8373225: GenShen: More adaptive old-generation growth heuristics
Reviewed-by: wkemper, ysr
2025-12-12 14:02:35 +00:00
Benoît Maillard a05d5d2514 8373579: Problem list compiler/runtime/Test7196199.java
Reviewed-by: chagedorn, epeter
2025-12-12 13:45:28 +00:00
Daisuke Yamazaki 180d8c1b57 8372746: Some httpserver files could benefit from some formatting cleanup
Reviewed-by: jpai, mikael, michaelm, djelinski, dfuchs
2025-12-12 12:04:20 +00:00
Hamlin Li dc6255261f 8371920: [TEST] Enable CMove tests on other platforms
Reviewed-by: fyang, epeter
2025-12-12 09:59:33 +00:00
Emanuel Peter 650de99fc6 8367158: C2: create better fill and copy benchmarks, taking alignment into account
Reviewed-by: qamai, kvn
2025-12-12 07:17:17 +00:00
Jaikiran Pai 325cdb7fc5 8373517: Revert the macos Tahoe specific change done in JDK-8359830
Reviewed-by: rriggs, bpb
2025-12-12 05:46:33 +00:00
Serguei Spitsyn c46bed7292 8371502: serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java failing
Reviewed-by: lmesnik, amenkov
2025-12-12 04:03:33 +00:00
Xueming Shen ae85d899d0 8373389: Two jdk/incubator/vector/ tests fails after JDK-8371446
Reviewed-by: psandoz
2025-12-11 20:47:32 +00:00
Sergey Bylokhov 66d7b0ce8f 8371657: [macosx] Programmatically selecting/deselecting List item triggers an ItemEvent
Reviewed-by: aivanov, azvegint, dnguyen, tr
2025-12-11 20:32:58 +00:00
Daniel Gredler 431dcf84e9 8368702: [macosx] Printing text with composite fonts loses font transform
Reviewed-by: psadhukhan, prr
2025-12-11 20:15:45 +00:00
Nizar Benalla 692edc4879 8373443: Update --release 26 symbol information for JDK 26 build 27
Reviewed-by: jlahoda, iris, darcy
2025-12-11 15:30:21 +00:00
Ioi Lam 2a1c676e0a 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736
Reviewed-by: dholmes, shade, kevinw
2025-12-11 14:33:44 +00:00
Matthias Baesken b0bd0c398e 8372759: Test build/AbsPathsInImage.java fails after JDK-8370438
Reviewed-by: erikj
2025-12-11 14:13:32 +00:00
Daniel Gredler e1d1d53cd1 8167268: StandardGlyphVector.getGlyphMetrics creates metrics with erroneous bounds for characters with no outline (e.g., the space character ' ')
Reviewed-by: serb, prr
2025-12-11 13:53:01 +00:00
Albert Mingkun Yang aa986be752 8373421: Parallel: Rename young generation eden and survivor space pool
Reviewed-by: tschatzl, jsikstro
2025-12-11 10:56:20 +00:00
Roman Marchenko 6a6ff876c5 8372860: TestCodeCacheUnloadDuringConcCycle fails on ARM32
Reviewed-by: tschatzl, shade
2025-12-11 08:48:26 +00:00
Saranya Natarajan 4b774cb46d 8370489: Some compiler tests miss the @key randomness
Reviewed-by: dfenacci, epeter, chagedorn
2025-12-11 08:43:31 +00:00
Matthias Baesken b46aef88b3 8371871: libSharedCloseAgent.cpp crashes VS2019 and older VS2022 compiler
Reviewed-by: jvernee, mdoerr
2025-12-11 08:17:25 +00:00
Kevin Walls 920a99faeb 8370731: Tests in vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/ failed: OutOfMemoryError
Reviewed-by: sspitsyn
2025-12-11 07:44:10 +00:00
Brian Burkhalter 74dca863c2 8371718: (sc) Channels.new{Input,Output}Stream can allocate unbounded memory for a socket channel
OpenJDK GHA Sanity Checks / Prepare the run (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-nopch (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-zero (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-minimal (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-optimized (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static-libs (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-cross-compile (push) Has been cancelled
OpenJDK GHA Sanity Checks / alpine-linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / docs (push) Has been cancelled
Reviewed-by: alanb
2025-12-10 22:46:35 +00:00
Phil Race 52aa7fe1c9 8334549: [Sound] Test timed out: javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java
Reviewed-by: aivanov, kizune
2025-12-10 21:40:18 +00:00
Mat Carter 413f852bdb 8369736: Add management interface for AOT cache creation
Reviewed-by: mr, iklam, kevinw
2025-12-10 18:49:30 +00:00
Fairoz Matte 11aa6e10c0 8373270: GCC 14.2.0 reports warning: '%s' directive output may be truncated
Reviewed-by: kbarrett, dholmes, alanb
2025-12-10 18:15:32 +00:00
Daniel Fuchs 54430a8722 8373362: Http3TestServer should not log an exception stack trace when it is stopping normally
Reviewed-by: jpai, djelinski
2025-12-10 15:14:46 +00:00
Albert Mingkun Yang 655e9cda3f 8373335: Serial: Clean up SerialHeap members by access specifies
Reviewed-by: jsikstro
2025-12-10 13:08:12 +00:00
Daniel Fuchs b58e3b600b 8373227: Test java/net/httpclient/http2/StreamFlowControlTest.java failed: should sleep time be raised?
Reviewed-by: djelinski
2025-12-10 12:08:53 +00:00
David Briemann 8eaeb6990b 8372589: VM crashes on init when NonNMethodCodeHeapSize is set too small and UseTransparentHugePages is enabled
Reviewed-by: mdoerr, chagedorn
2025-12-10 10:21:42 +00:00
Anton Seoane Ampudia b60ac710be 8364490: Fatal error on large SpecTrapLimitExtraEntries value
Reviewed-by: chagedorn, roland
2025-12-10 08:53:30 +00:00
Roland Westrelin 00068a8030 8354282: C2: more crashes in compiled code because of dependency on removed range check CastIIs
Reviewed-by: chagedorn, qamai, galder, epeter
2025-12-10 08:45:20 +00:00
Prasanta Sadhukhan 1bbbce75c5 6726690: SwingUtilities.replaceUI*Map() methods do not remove previously installed maps
Reviewed-by: azvegint, tr
2025-12-10 04:31:37 +00:00
Anjian Wen a5968f9364 8371968: RISC-V: implement AES CBC intrinsics
OpenJDK GHA Sanity Checks / Prepare the run (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-nopch (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-zero (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-minimal (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-optimized (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static-libs (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-cross-compile (push) Has been cancelled
OpenJDK GHA Sanity Checks / alpine-linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / docs (push) Has been cancelled
Reviewed-by: fyang, fjiang
2025-12-10 02:34:52 +00:00
Ioi Lam d36a234c12 8368701: CDS VerifierTest_1A.java failed on machines with 512 GB RAM
Reviewed-by: dholmes, lmesnik
2025-12-10 02:26:04 +00:00
Xiaohong GongandEmanuel Peter b6732d6048 8371603: C2: Missing Ideal optimizations for load and store vectors on SVE
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, erfang, haosun
2025-12-10 02:09:49 +00:00
Jaikiran Pai a26221299e 8255463: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed with ThreadTimeoutException
Reviewed-by: dfuchs, djelinski, bpb
2025-12-10 02:04:12 +00:00
Xueming Shen eef9813ad4 8371446: VectorAPI: Add unit tests for masks from various long values
Reviewed-by: psandoz
2025-12-10 00:50:48 +00:00
Kim Barrett 7f9951a934 8373207: Make DeferredStatic class template constant initializable
Reviewed-by: jsjolen, stefank, iwalulya
2025-12-10 00:07:28 +00:00
Matthew Donovan 1ae4a6c43e 8373101: JdkClient and JdkServer test classes ignore namedGroups field
Reviewed-by: rhalade
2025-12-09 18:48:33 +00:00
Naoto Sato b2daf9de30 8355522: Remove the java.locale.useOldISOCodes system property
Reviewed-by: jlu, joehw
2025-12-09 18:21:12 +00:00
Neha Joshi b99be505a5 8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap
Reviewed-by: myankelevich, rhalade
2025-12-09 18:06:39 +00:00
Erik Joelsson 831fe94c75 8373255: Unexpected iobj and ipdb files after JDK-8370438
Reviewed-by: serb
2025-12-09 17:01:08 +00:00
Ioi Lam 8c8d21db6f 8373295: Wrong log tag for UseCompressedOops ergo setting
Reviewed-by: dholmes, ysuenaga
2025-12-09 16:10:13 +00:00
Emanuel Peter a4eb57c5ec 8367028: compiler/c2/irTests/TestFloat16ScalarOperations.java failing intermittently because of constant folding
Reviewed-by: chagedorn, syan, rcastanedalo
2025-12-09 12:45:36 +00:00
Anton Artemov 830c4d3b19 8366272: The os::xxx APIs do not manage errno correctly
Reviewed-by: dholmes
2025-12-09 10:15:04 +00:00
Axel Boldt-Christmas 0a557890a5 8373025: test/hotspot/jtreg/gc/cslocker/TestCSLocker.java may deadlock
Reviewed-by: ayang, tschatzl, stefank
2025-12-09 10:04:25 +00:00
Prasanta Sadhukhan 1f49edd978 4459231: Focus of JTabbedPane(with Scrollable tablayout) changes on change in LookAndFeel
Reviewed-by: tr, kizune
2025-12-09 10:02:01 +00:00
Joel Sikström 786833cd1b 8373022: serviceability/sa/ClhsdbScanOops.java assumes no GC should occur
Reviewed-by: cjplummer, stefank, ayang, tschatzl
2025-12-09 09:44:18 +00:00
Kevin Walls 9c91c68d1d 8373111: Test java/lang/management/MemoryMXBean/MemoryManagement.java timed out
Reviewed-by: lmesnik
2025-12-09 09:18:04 +00:00
Ramkumar Sunderbabu 24244e4121 8319161: GC: Make TestParallelGCThreads use createTestJavaProcessBuilder
Reviewed-by: stefank, iwalulya
2025-12-09 09:17:38 +00:00
Ramkumar Sunderbabu 3a8a6e07f2 8319326: GC: Make TestParallelRefProc use createTestJavaProcessBuilder
Reviewed-by: stefank, iwalulya
2025-12-09 09:15:04 +00:00
Prasanta Sadhukhan cba09cd10d 5107379: Component orientation in JOptionPane is not proper in Motif L&F.
Reviewed-by: tr, kizune
2025-12-09 07:40:52 +00:00
David Holmes 020e3f9591 8373293: Change the exception handling in TestNestHostErrorWithMultiThread.java
Reviewed-by: jpai, iklam
2025-12-09 05:15:47 +00:00
Harshit470250 35fe0b1101 8372641: [s390x] Test failure TestMergeStores.java
Reviewed-by: mhaessig, amitkumar, lucy
2025-12-09 04:59:53 +00:00
Xiaolong Peng c9ab330b7b 8373116: Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking
8372498: [genshen] gc/TestAllocHumongousFragment.java#generational causes intermittent SIGSEGV crashes

Reviewed-by: wkemper, kdnilsen
2025-12-09 03:28:11 +00:00
Xiaolong Peng 3ea82b9ff9 8373272: Genshen: ShenandoahOldGenerationTest fails after JDK-8373056
Reviewed-by: wkemper
2025-12-09 01:16:48 +00:00
Phil Race b1c9550182 8372554: Test windows-x64-cmp-baseline failed due to differences with splashscreen object file
Reviewed-by: dholmes
2025-12-09 01:00:52 +00:00
Prasanta Sadhukhan c03d445a8c 6223700: XP L&F: Non-TopLevel JMenu's painting error
Reviewed-by: kizune, dnguyen
2025-12-09 00:34:58 +00:00
Ben Taylor b86b2cbc7d 8352914: Shenandoah: Change definition of ShenandoahSharedValue to int32_t to leverage platform atomics
Reviewed-by: wkemper, ysr
2025-12-09 00:17:30 +00:00
Erik Joelsson 8df3f3d341 8373117: Update build doc link in README.md
Reviewed-by: ayang, tbell
2025-12-08 22:45:59 +00:00
Alexandre Iline b118caf677 8373285: Update JCov for class file version 71
Reviewed-by: erikj
2025-12-08 22:16:28 +00:00
Albert Mingkun Yang d34ef196c2 8370198: Test gc/arguments/TestShrinkHeapInSteps.java crashed: assert(left >= right) failed: avoid underflow
Reviewed-by: stefank, tschatzl
2025-12-08 18:51:34 +00:00
Albert Mingkun Yang 811591c5c3 8373262: Parallel: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java fails
Reviewed-by: cjplummer
2025-12-08 16:11:28 +00:00
Anton ArtemovandAxel Boldt-Christmas 355755d35d 8366671: Refactor Thread::SpinAcquire and Thread::SpinRelease
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: coleenp, kbarrett, dholmes, aboldtch
2025-12-08 16:07:01 +00:00
Chris Plummer ac81ce51fa 8372555: Test com/sun/jdi/ExceptionEvents.java failed: ObjectCollectedException
Reviewed-by: amenkov, dholmes
2025-12-08 15:38:35 +00:00
Albert Mingkun Yang ed5fc9ad2d 8373087: Parallel: Rename PSGenerationPool to PSOldGenerationPool
Reviewed-by: tschatzl, jsikstro, iwalulya
2025-12-08 14:21:40 +00:00
Hamlin Li 6700baa505 8357551: RISC-V: support CMoveF/D vectorization
Reviewed-by: fyang, luhenry
2025-12-08 13:38:22 +00:00
Qizheng Xing b83bf0717e 8360192: C2: Make the type of count leading/trailing zero nodes more precise
Reviewed-by: qamai, epeter, jbhateja
2025-12-08 13:16:39 +00:00
Francesco Andreuzzi a659479483 8367541: Parallel: Make young and old generation fields nonstatic in ParallelScavengeHeap
Reviewed-by: ayang
2025-12-08 11:45:53 +00:00
Jan Lahoda 3500150882 8373094: javac may fail because of unattributed break in a loop
Reviewed-by: vromero
2025-12-08 10:04:44 +00:00
Sergey ChernyshevandMikhail Yankelevich 7da91533aa 8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException
Co-authored-by: Mikhail Yankelevich <myankelevich@openjdk.org>
Reviewed-by: djelinski, vyazici, dfuchs, myankelevich
2025-12-08 09:06:21 +00:00
Patrick Strawderman 5f083abafc 8179918: EnumSet spliterator should report SORTED, ORDERED, NONNULL
Reviewed-by: vklang
2025-12-06 15:34:14 +00:00
Leonid Mesnik b0f59f6021 8373127: Update nsk/monitoring tests to support virtual thread factory testing
Reviewed-by: kevinw, amenkov
2025-12-06 00:02:51 +00:00
Leonid Mesnik 2596608ba1 8370846: Support execution of mlvm testing with test thread factory
Reviewed-by: cjplummer
2025-12-05 21:20:20 +00:00
Chris Plummer be8cbfa612 8362083: JDI VirtualMachine/dispose/dispose001 failed with FATAL ERROR in native method: JDWP cannot set thread local storage, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)
Reviewed-by: lmesnik, sspitsyn, amenkov
2025-12-05 20:37:10 +00:00
Brent Christian f3dd8daaa9 8371748: Remove the (empty) ThreadPoolExecutor.finalize() method
Reviewed-by: vklang, jpai, alanb
2025-12-05 19:30:04 +00:00
Albert Mingkun Yang 4378789029 8373145: [BACKOUT] Remove ThreadLocalAllocBuffer::_reserve_for_allocation_prefetch
Reviewed-by: mdoerr, kvn
2025-12-05 19:17:45 +00:00
Joe Darcy a20b7eb943 8373125: Add defensive screening of modifiers for Field and Parameter toString() results
Reviewed-by: alanb, liach
2025-12-05 17:35:30 +00:00
Neha JoshiandLei Zhu 520c092a65 8362658: sun/security/ssl/SSLEngineImpl/* tests duplicate jvm flags
Co-authored-by: Lei Zhu <korov9.c@gmail.com>
Reviewed-by: myankelevich, rhalade
2025-12-05 16:46:26 +00:00
Albert Mingkun Yang 4d696d0d0e 8373086: Make isexceeded001.java more robust
Reviewed-by: jsikstro, tschatzl
2025-12-05 15:46:07 +00:00
Chris Plummer ee0b8a72c6 8373102: com/sun/jdi/MethodInvokeWithTraceOnTest.java can fail with ObjectCollectedException when run with a small heap
Reviewed-by: amenkov, sspitsyn
2025-12-05 15:39:49 +00:00
Erik Joelsson c09167df60 8373113: Fix whitespace in RunTests.gmk
Reviewed-by: tbell
2025-12-05 14:01:36 +00:00
Prasanta Sadhukhan 674cc3eeca 8042054: JTree.updateUI uses out-of-date item size information
Reviewed-by: dnguyen, serb
2025-12-05 03:30:31 +00:00
Anjian Wen 7e91d34f3e 8365732: RISC-V: implement AES CTR intrinsics
Reviewed-by: fyang, mli
2025-12-05 02:51:13 +00:00
Xiaolong Peng 15f2538943 8373056: Shenandoah: Remove unnecessary use of ShenandoahAllocRequest.type()
Reviewed-by: wkemper, kdnilsen
2025-12-04 23:56:20 +00:00
Coleen Phillimore 13e32bf166 8372098: Move AccessFlags to InstanceKlass
Reviewed-by: liach, vlivanov, dlong, sspitsyn
2025-12-04 22:39:58 +00:00
Coleen Phillimore 6db1c4f5b9 8371409: Wrong lock ordering between FullGCALot_lock and ThreadsLockThrottle_lock/MethodCompileQueue_lock
Reviewed-by: rehn, pchilanomate
2025-12-04 22:34:42 +00:00
Ben Taylor c8b30da7ef 8373039: Remove Incorrect Asserts in shenandoahScanRemembered
Reviewed-by: wkemper, ysr, xpeng
2025-12-04 22:11:48 +00:00
Ben Taylor 5ec5a6ea6c 8373054: Shenandoah: Remove unnecessary BarrierSetNMethod::arm in shenandoahCodeRoots
Reviewed-by: wkemper, ysr, shade
2025-12-04 21:37:09 +00:00
Phil Race 8e653d394e 8373099: Problem list intermittently failing test sun/awt/image/bug8038000.java
Reviewed-by: dholmes
2025-12-04 20:17:02 +00:00
Mikhail Yankelevich ef7532e7e6 8367994: test/jdk/sun/security/pkcs11/Signature/ tests pass when they should skip
Reviewed-by: rhalade
2025-12-04 18:41:12 +00:00
Matthew Donovan b19163b107 8356544: Implement additional tests for ciphersuites disabled with wildcards
Reviewed-by: rhalade
2025-12-04 18:38:57 +00:00
Justin Lu c7aa10339a 8372844: Improve usage of test/jdk/java/text/testlib/TestUtils.java locale methods
Reviewed-by: naoto
2025-12-04 18:34:51 +00:00
Nizar Benalla c55287d197 8370890: Start of release updates for JDK 27
8370893: Add SourceVersion.RELEASE_27
8370894: Add source 27 and target 27 to javac

Reviewed-by: darcy, iris, liach, erikj, dholmes
2025-12-04 17:01:41 +00:00
5053 changed files with 136176 additions and 79876 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+2 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2024, 2025, 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,6 +97,7 @@ jobs:
--with-zlib=system
--with-jmod-compress=zip-1
--with-external-symbols-in-bundles=none
--with-native-debug-symbols-level=1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
+2 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
@@ -180,6 +180,7 @@ jobs:
--with-sysroot=sysroot
--with-jmod-compress=zip-1
--with-external-symbols-in-bundles=none
--with-native-debug-symbols-level=1
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 }} || (
+2 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
@@ -144,6 +144,7 @@ jobs:
--with-zlib=system
--with-jmod-compress=zip-1
--with-external-symbols-in-bundles=none
--with-native-debug-symbols-level=1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
+2 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
@@ -111,6 +111,7 @@ jobs:
--with-zlib=system
--with-jmod-compress=zip-1
--with-external-symbols-in-bundles=none
--with-native-debug-symbols-level=1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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
+1 -1
View File
@@ -1,7 +1,7 @@
[general]
project=jdk
jbs=JDK
version=26
version=27
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists,copyright
+1 -1
View File
@@ -1,7 +1,7 @@
# Welcome to the JDK!
For build instructions please see the
[online documentation](https://openjdk.org/groups/build/doc/building.html),
[online documentation](https://git.openjdk.org/jdk/blob/master/doc/building.md),
or either of these files:
- [doc/building.html](doc/building.html) (html version)
+103 -80
View File
@@ -1,7 +1,7 @@
#!/bin/bash -f
#
# Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2026, 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
@@ -23,9 +23,13 @@
# questions.
#
# Script to update the Copyright YEAR range in Mercurial & Git sources.
# Script to update the Copyright YEAR range in Git sources.
# (Originally from xdono, Thanks!)
# To update Copyright years for changes in a specific branch,
# you use a command along these lines:
# $ git diff upstream/master...<branch-name> | lsdiff | cut -d '/' -f 2- | bash bin/update_copyright_year.sh -m -
#------------------------------------------------------------
copyright="Copyright"
copyright_symbol="(c)"
@@ -47,7 +51,7 @@ rm -f -r ${tmp}
mkdir -p ${tmp}
total=0
usage="Usage: `basename "$0"` [-c company] [-y year] [-h|f]"
usage="Usage: `basename "$0"` [-c company] [-y year] [-m file] [-h|f]"
Help()
{
# Display Help
@@ -65,15 +69,18 @@ Help()
echo "-b Specifies the base reference for change set lookup."
echo "-f Updates the copyright for all change sets in a given year,"
echo " as specified by -y. Overrides -b flag."
echo "-m Read the list of modified files from the given file,"
echo " use - to read from stdin"
echo "-h Print this help."
echo
}
full_year=false
base_reference=master
modified_files_origin="";
# Process options
while getopts "b:c:fhy:" option; do
while getopts "b:c:fhm:y:" option; do
case $option in
b) # supplied base reference
base_reference=${OPTARG}
@@ -91,6 +98,9 @@ while getopts "b:c:fhy:" option; do
y) # supplied company year
year=${OPTARG}
;;
m) # modified files will be read from the given origin
modified_files_origin="${OPTARG}"
;;
\?) # illegal option
echo "$usage"
exit 1
@@ -110,18 +120,10 @@ git status &> /dev/null && git_found=true
if [ "$git_found" != "true" ]; then
echo "Error: Please execute script from within a JDK git repository."
exit 1
else
echo "Using Git version control system"
vcs_status=(git ls-files -m)
if [ "$full_year" = "true" ]; then
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
else
vcs_list_changesets=(git log --no-merges "${base_reference}..HEAD" --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
fi
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}
fi
echo "Using Git version control system"
# Return true if it makes sense to edit this file
saneFileToCheck()
{
@@ -168,6 +170,25 @@ updateFile() # file
echo "${changed}"
}
# Update the copyright year on files sent in stdin
updateFiles() # stdin: list of files to update
{
count=0
fcount=0
while read i; do
fcount=`expr ${fcount} '+' 1`
if [ `updateFile "${i}"` = "true" ] ; then
count=`expr ${count} '+' 1`
fi
done
if [ ${count} -gt 0 ] ; then
printf " UPDATED year on %d of %d files.\n" ${count} ${fcount}
total=`expr ${total} '+' ${count}`
else
printf " None of the %d files were changed.\n" ${fcount}
fi
}
# Update the copyright year on all files changed by this changeset
updateChangesetFiles() # changeset
{
@@ -178,18 +199,7 @@ updateChangesetFiles() # changeset
| ${awk} -F' ' '{for(i=1;i<=NF;i++)print $i}' \
> ${files}
if [ -f "${files}" -a -s "${files}" ] ; then
fcount=`cat ${files}| wc -l`
for i in `cat ${files}` ; do
if [ `updateFile "${i}"` = "true" ] ; then
count=`expr ${count} '+' 1`
fi
done
if [ ${count} -gt 0 ] ; then
printf " UPDATED year on %d of %d files.\n" ${count} ${fcount}
total=`expr ${total} '+' ${count}`
else
printf " None of the %d files were changed.\n" ${fcount}
fi
cat ${files} | updateFiles
else
printf " ERROR: No files changed in the changeset? Must be a mistake.\n"
set -x
@@ -204,67 +214,80 @@ updateChangesetFiles() # changeset
}
# Check if repository is clean
vcs_status=(git ls-files -m)
previous=`"${vcs_status[@]}"|wc -l`
if [ ${previous} -ne 0 ] ; then
echo "WARNING: This repository contains previously edited working set files."
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
fi
# Get all changesets this year
all_changesets=${tmp}/all_changesets
rm -f ${all_changesets}
"${vcs_list_changesets[@]}" > ${all_changesets}
# Check changeset to see if it is Copyright only changes, filter changesets
if [ -s ${all_changesets} ] ; then
echo "Changesets made in ${year}: `cat ${all_changesets} | wc -l`"
index=0
cat ${all_changesets} | while read changeset ; do
index=`expr ${index} '+' 1`
desc=${tmp}/desc.${changeset}
rm -f ${desc}
echo "------------------------------------------------"
"${vcs_changeset_message[@]}" "${changeset}" > ${desc}
printf "%d: %s\n%s\n" ${index} "${changeset}" "`cat ${desc}|head -1`"
if [ "${year}" = "2010" ] ; then
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
printf " EXCLUDED tag changeset.\n"
elif cat ${desc} | grep -i -F rebrand > /dev/null ; then
printf " EXCLUDED rebrand changeset.\n"
elif cat ${desc} | grep -i -F copyright > /dev/null ; then
printf " EXCLUDED copyright changeset.\n"
else
updateChangesetFiles ${changeset}
fi
else
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
printf " EXCLUDED tag changeset.\n"
elif cat ${desc} | grep -i -F "copyright year" > /dev/null ; then
printf " EXCLUDED copyright year changeset.\n"
else
updateChangesetFiles ${changeset}
fi
fi
rm -f ${desc}
done
fi
if [ ${total} -gt 0 ] ; then
echo "---------------------------------------------"
echo "Updated the copyright year on a total of ${total} files."
if [ ${previous} -eq 0 ] ; then
echo "This count should match the count of modified files in the repository: ${vcs_status[*]}"
else
echo "WARNING: This repository contained previously edited working set files."
fi
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
if [ "x$modified_files_origin" != "x" ]; then
cat $modified_files_origin | updateFiles
else
echo "---------------------------------------------"
echo "No files were changed"
if [ ${previous} -ne 0 ] ; then
echo "WARNING: This repository contained previously edited working set files."
fi
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
# Get all changesets this year
if [ "$full_year" = "true" ]; then
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
else
vcs_list_changesets=(git log --no-merges "${base_reference}..HEAD" --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
fi
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}
all_changesets=${tmp}/all_changesets
rm -f ${all_changesets}
"${vcs_list_changesets[@]}" > ${all_changesets}
# Check changeset to see if it is Copyright only changes, filter changesets
if [ -s ${all_changesets} ] ; then
echo "Changesets made in ${year}: `cat ${all_changesets} | wc -l`"
index=0
cat ${all_changesets} | while read changeset ; do
index=`expr ${index} '+' 1`
desc=${tmp}/desc.${changeset}
rm -f ${desc}
echo "------------------------------------------------"
"${vcs_changeset_message[@]}" "${changeset}" > ${desc}
printf "%d: %s\n%s\n" ${index} "${changeset}" "`cat ${desc}|head -1`"
if [ "${year}" = "2010" ] ; then
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
printf " EXCLUDED tag changeset.\n"
elif cat ${desc} | grep -i -F rebrand > /dev/null ; then
printf " EXCLUDED rebrand changeset.\n"
elif cat ${desc} | grep -i -F copyright > /dev/null ; then
printf " EXCLUDED copyright changeset.\n"
else
updateChangesetFiles ${changeset}
fi
else
if cat ${desc} | grep -i -F "Added tag" > /dev/null ; then
printf " EXCLUDED tag changeset.\n"
elif cat ${desc} | grep -i -F "copyright year" > /dev/null ; then
printf " EXCLUDED copyright year changeset.\n"
else
updateChangesetFiles ${changeset}
fi
fi
rm -f ${desc}
done
fi
if [ ${total} -gt 0 ] ; then
echo "---------------------------------------------"
echo "Updated the copyright year on a total of ${total} files."
if [ ${previous} -eq 0 ] ; then
echo "This count should match the count of modified files in the repository: ${vcs_status[*]}"
else
echo "WARNING: This repository contained previously edited working set files."
fi
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
else
echo "---------------------------------------------"
echo "No files were changed"
if [ ${previous} -ne 0 ] ; then
echo "WARNING: This repository contained previously edited working set files."
fi
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
fi
fi
# Cleanup
+3 -4
View File
@@ -1385,10 +1385,9 @@ dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
can specify it by <code>--with-alsa</code>.</p></li>
</ul>
<h4 id="x11-1">X11</h4>
<p>You will need X11 libraries suitable for your <em>target</em> system.
In most cases, using Debian's pre-built libraries work fine.</p>
<p>Note that X11 is needed even if you only want to build a headless
JDK.</p>
<p>When not building a headless JDK, you will need X11 libraries
suitable for your <em>target</em> system. In most cases, using Debian's
pre-built libraries work fine.</p>
<ul>
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian
Package Search</a>, search for the following packages for your
+2 -4
View File
@@ -1178,10 +1178,8 @@ Note that alsa is needed even if you only want to build a headless JDK.
#### X11
You will need X11 libraries suitable for your *target* system. In most cases,
using Debian's pre-built libraries work fine.
Note that X11 is needed even if you only want to build a headless JDK.
When not building a headless JDK, you will need X11 libraries suitable for your
*target* system. In most cases, using Debian's pre-built libraries work fine.
* Go to [Debian Package Search](https://www.debian.org/distrib/packages),
search for the following packages for your *target* system, and download them
+2 -3
View File
@@ -965,9 +965,8 @@ rather than <code>NULL</code>. See the paper for reasons to avoid
<code>NULL</code>.</p>
<p>Don't use (constant expression or literal) 0 for pointers. Note that
C++14 removed non-literal 0 constants from <em>null pointer
constants</em>, though some compilers continue to treat them as such.
For historical reasons there may be lingering uses of 0 as a
pointer.</p>
constants</em>, though some compilers continue to treat them as
such.</p>
<h3 id="atomic">&lt;atomic&gt;</h3>
<p>Do not use facilities provided by the <code>&lt;atomic&gt;</code>
header (<a
+1 -2
View File
@@ -884,8 +884,7 @@ rather than `NULL`. See the paper for reasons to avoid `NULL`.
Don't use (constant expression or literal) 0 for pointers. Note that C++14
removed non-literal 0 constants from _null pointer constants_, though some
compilers continue to treat them as such. For historical reasons there may be
lingering uses of 0 as a pointer.
compilers continue to treat them as such.
### &lt;atomic&gt;
+14 -10
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2026, 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
@@ -873,7 +873,7 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -testThreadFactoryPath:$$(JTREG_TEST_THREAD_FACTORY_JAR)
$1_JTREG_BASIC_OPTIONS += -testThreadFactory:$$(JTREG_TEST_THREAD_FACTORY)
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-$$(JTREG_TEST_THREAD_FACTORY).txt) \
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-$$(JTREG_TEST_THREAD_FACTORY).txt) \
))
endif
@@ -881,8 +881,8 @@ define SetupRunJtregTestBody
AGENT := $$(LIBRARY_PREFIX)JvmtiStressAgent$$(SHARED_LIBRARY_SUFFIX)=$$(JTREG_JVMTI_STRESS_AGENT)
$1_JTREG_BASIC_OPTIONS += -javaoption:'-agentpath:$(TEST_IMAGE_DIR)/hotspot/jtreg/native/$$(AGENT)'
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-jvmti-stress-agent.txt) \
))
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-jvmti-stress-agent.txt) \
))
endif
@@ -972,6 +972,10 @@ define SetupRunJtregTestBody
JTREG_AUTO_PROBLEM_LISTS += ProblemList-enable-preview.txt
endif
ifneq ($$(findstring -XX:+UseCompactObjectHeaders, $$(JTREG_ALL_OPTIONS)), )
JTREG_AUTO_PROBLEM_LISTS += ProblemList-coh.txt
endif
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
@@ -1092,7 +1096,7 @@ define SetupRunJtregTestBody
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
$$($1_TEST_TMP_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
$$(COV_ENVIRONMENT) $$($1_COMMAND_LINE) \
$$(COV_ENVIRONMENT) $$($1_COMMAND_LINE) \
)
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/text/stats.txt
@@ -1102,11 +1106,11 @@ define SetupRunJtregTestBody
$$(call LogWarn, Test report is stored in $$(strip \
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
# Read jtreg documentation to learn on the test stats categories:
# https://github.com/openjdk/jtreg/blob/master/src/share/doc/javatest/regtest/faq.md#what-do-all-those-numbers-in-the-test-results-line-mean
# In jtreg, "skipped:" category accounts for tests that threw jtreg.SkippedException at runtime.
# At the same time these tests contribute to "passed:" tests.
# In here we don't want that and so we substract number of "skipped:" from "passed:".
# Read jtreg documentation to learn on the test stats categories:
# https://github.com/openjdk/jtreg/blob/master/src/share/doc/javatest/regtest/faq.md#what-do-all-those-numbers-in-the-test-results-line-mean
# In jtreg, "skipped:" category accounts for tests that threw jtreg.SkippedException at runtime.
# At the same time these tests contribute to "passed:" tests.
# In here we don't want that and so we substract number of "skipped:" from "passed:".
$$(if $$(wildcard $$($1_RESULT_FILE)), \
$$(eval $1_PASSED_AND_RUNTIME_SKIPPED := $$(shell $$(AWK) '{ gsub(/[,;]/, ""); \
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2025, 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
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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
+44 -26
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2026, 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
@@ -69,6 +69,19 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
# Debug prefix mapping if supported by compiler
DEBUG_PREFIX_CFLAGS=
UTIL_ARG_WITH(NAME: native-debug-symbols-level, TYPE: literal,
DEFAULT: [auto], VALID_VALUES: [auto 1 2 3],
CHECK_AVAILABLE: [
if test x$TOOLCHAIN_TYPE = xmicrosoft; then
AVAILABLE=false
fi
],
DESC: [set the native debug symbol level (GCC and Clang only)],
DEFAULT_DESC: [toolchain default],
IF_AUTO: [
RESULT=""
])
# Debug symbols
if test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
@@ -93,8 +106,9 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
)
fi
CFLAGS_DEBUG_SYMBOLS="-g -gdwarf-4"
ASFLAGS_DEBUG_SYMBOLS="-g"
# Debug info level should follow the debug format to be effective.
CFLAGS_DEBUG_SYMBOLS="-gdwarf-4 -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
@@ -113,8 +127,9 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${GDWARF_FLAGS}],
IF_FALSE: [GDWARF_FLAGS=""])
CFLAGS_DEBUG_SYMBOLS="-g ${GDWARF_FLAGS}"
ASFLAGS_DEBUG_SYMBOLS="-g"
# Debug info level should follow the debug format to be effective.
CFLAGS_DEBUG_SYMBOLS="${GDWARF_FLAGS} -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Z7"
fi
@@ -194,7 +209,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
WARNINGS_ENABLE_ALL="-W3"
WARNINGS_ENABLE_ALL_NORMAL="-W3"
WARNINGS_ENABLE_ADDITIONAL=""
WARNINGS_ENABLE_ADDITIONAL_CXX=""
WARNINGS_ENABLE_ADDITIONAL_JVM=""
DISABLED_WARNINGS="4800 5105"
;;
@@ -203,14 +221,16 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"
# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Winvalid-pch -Wpointer-arith -Wreturn-type \
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
-Winvalid-pch -Wpointer-arith -Wreturn-type \
-Wsign-compare -Wtrampolines -Wtype-limits -Wundef -Wuninitialized \
-Wunused-const-variable=1 -Wunused-function -Wunused-result \
-Wunused-value"
WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"
# These warnings will never be turned on, since they generate too many
# false positives.
@@ -226,16 +246,24 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"
# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
-Wpointer-arith -Wsign-compare -Wreorder \
-Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ADDITIONAL_CXX=""
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"
# These warnings will never be turned on, since they generate too many
# false positives.
DISABLED_WARNINGS="unknown-warning-option unused-parameter"
;;
esac
WARNINGS_ENABLE_ALL="$WARNINGS_ENABLE_ALL_NORMAL $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ALL_CXX="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_CXX"
WARNINGS_ENABLE_ALL_JVM="$WARNINGS_ENABLE_ALL_CXX $WARNINGS_ENABLE_ADDITIONAL_JVM"
AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
@@ -589,19 +617,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
ADLC_LANGSTD_CXXFLAGS="$LANGSTD_CXXFLAGS"
# CFLAGS WARNINGS STUFF
# Set JVM_CFLAGS warning handling
if test "x$TOOLCHAIN_TYPE" = xgcc; then
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
fi
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXX"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_JVM"
# Set some additional per-OS defines.
@@ -863,12 +881,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
CFLAGS_JDK_COMMON="$ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
$DEBUG_SYMBOLS_CFLAGS_JDK \
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
+2 -2
View File
@@ -63,7 +63,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
BASIC_LDFLAGS_JVM_ONLY=""
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
@@ -71,7 +71,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
-fPIC"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
if test "x$OPENJDK_TARGET_OS" = xlinux; then
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2026, 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
@@ -28,7 +28,7 @@
################################################################################
# Minimum supported versions
JTREG_MINIMUM_VERSION=8.1
JTREG_MINIMUM_VERSION=8.2.1
GTEST_MINIMUM_VERSION=1.14.0
################################################################################
+4 -4
View File
@@ -42,12 +42,12 @@ m4_include([lib-tests.m4])
AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
[
# Check if X11 is needed
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
# No X11 support on windows or macosx
if test "x$OPENJDK_TARGET_OS" = xwindows ||
test "x$OPENJDK_TARGET_OS" = xmacosx ||
test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
NEEDS_LIB_X11=false
else
# All other instances need X11, even if building headless only, libawt still
# needs X11 headers.
# All other instances need X11 for libawt.
NEEDS_LIB_X11=true
fi
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2026, 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
@@ -26,7 +26,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.14.0
JTREG_VERSION=8.1+1
JTREG_VERSION=8.2.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_linux-x64_bin.tar.gz
+5 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2026, 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
@@ -1174,9 +1174,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "8.1",
version: "8.2.1",
build_number: "1",
file: "bundles/jtreg-8.1+1.zip",
file: "bundles/jtreg-8.2.1+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "home_path") + "/bin",
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
@@ -1192,8 +1192,8 @@ var getJibProfilesDependencies = function (input, common) {
server: "jpg",
product: "jcov",
version: "3.0",
build_number: "3",
file: "bundles/jcov-3.0+3.zip",
build_number: "5",
file: "bundles/jcov-3.0+5.zip",
environment_name: "JCOV_HOME",
},
+6 -6
View File
@@ -26,17 +26,17 @@
# Default version, product, and vendor information to use,
# unless overridden by configure
DEFAULT_VERSION_FEATURE=26
DEFAULT_VERSION_FEATURE=27
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=0
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2026-03-17
DEFAULT_VERSION_CLASSFILE_MAJOR=70 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_DATE=2026-09-15
DEFAULT_VERSION_CLASSFILE_MAJOR=71 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="25 26"
DEFAULT_JDK_SOURCE_TARGET_VERSION=26
DEFAULT_PROMOTED_VERSION_PRE=
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="25 26 27"
DEFAULT_JDK_SOURCE_TARGET_VERSION=27
DEFAULT_PROMOTED_VERSION_PRE=ea
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2025, 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
+3 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2026, 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
@@ -61,7 +61,8 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBGTEST, \
INCLUDE_FILES := gtest-all.cc gmock-all.cc, \
DISABLED_WARNINGS_gcc := format-nonliteral maybe-uninitialized undef \
unused-result zero-as-null-pointer-constant, \
DISABLED_WARNINGS_clang := format-nonliteral undef unused-result, \
DISABLED_WARNINGS_clang := format-nonliteral undef unused-result \
zero-as-null-pointer-constant, \
DISABLED_WARNINGS_microsoft := 4530, \
DEFAULT_CFLAGS := false, \
CFLAGS := $(JVM_CFLAGS) \
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2026, 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
@@ -293,8 +293,10 @@ public class CLDRConverter {
bundleGenerator = new ResourceBundleGenerator();
// Parse data independent of locales
parseSupplemental();
// parseBCP47() must precede parseSupplemental(). The latter depends
// on IANA alias map, which is produced by the former.
parseBCP47();
parseSupplemental();
// rules maps
pluralRules = generateRules(handlerPlurals);
@@ -536,6 +538,12 @@ public class CLDRConverter {
// canonical tz name map
// alias -> primary
//
// Note that CLDR meta zones do not necessarily align with IANA's
// current time zone identifiers. For example, the CLDR "India"
// meta zone maps to "Asia/Calcutta", whereas IANA now uses
// "Asia/Kolkata" for the zone. Accordingly, "canonical" here is
// defined in terms of CLDR's zone mappings.
handlerTimeZone.getData().forEach((k, v) -> {
String[] ids = ((String)v).split("\\s");
for (int i = 1; i < ids.length; i++) {
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2026, 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,9 @@ package build.tools.cldrconverter;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
@@ -40,6 +43,10 @@ import org.xml.sax.SAXException;
class TimeZoneParseHandler extends AbstractLDMLHandler<Object> {
private static final String PREF_PREFIX = "preferred:";
// CLDR aliases to IANA ids map. The initial capacity is estimated
// from the number of aliases in timezone.xml as of CLDR v48
private final Map<String, String> ianaAliasMap = HashMap.newHashMap(32);
@Override
public InputSource resolveEntity(String publicID, String systemID) throws IOException, SAXException {
// avoid HTTP traffic to unicode.org
@@ -61,7 +68,16 @@ class TimeZoneParseHandler extends AbstractLDMLHandler<Object> {
put(attributes.getValue("name"), PREF_PREFIX + preferred);
}
} else {
put(attributes.getValue("name"), attributes.getValue("alias"));
var alias = attributes.getValue("alias");
var iana = attributes.getValue("iana");
if (iana != null) {
for (var a : alias.split("\\s+")) {
if (!a.equals(iana)) {
ianaAliasMap.put(a, iana);
}
}
}
put(attributes.getValue("name"), alias);
}
}
break;
@@ -80,4 +96,8 @@ class TimeZoneParseHandler extends AbstractLDMLHandler<Object> {
.forEach(e -> map.put(e.getKey(),
map.get(e.getValue().toString().substring(PREF_PREFIX.length()))));
}
Map<String, String> getIanaAliasMap() {
return ianaAliasMap;
}
}
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2026, 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
@@ -56,6 +56,7 @@ class WinZonesParseHandler extends AbstractLDMLHandler<Object> {
String zoneName = attributes.getValue("other");
String territory = attributes.getValue("territory");
String javatz = attributes.getValue("type").replaceFirst("\\s.*", "");
javatz = CLDRConverter.handlerTimeZone.getIanaAliasMap().getOrDefault(javatz, javatz);
put(zoneName + ":" + territory, javatz);
pushIgnoredContainer(qName);
break;
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2025, 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
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2026, 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
@@ -49,13 +49,15 @@ import static com.sun.source.doctree.DocTree.Kind.*;
* The tags can be used as follows:
*
* <pre>
* &commat;jls section-number description
* &commat;jls chapter.section description
* &commat;jls preview-feature-chapter.section description
* </pre>
*
* For example:
*
* <pre>
* &commat;jls 3.4 Line Terminators
* &commat;jls primitive-types-in-patterns-instanceof-switch-5.7.1 Exact Testing Conversions
* </pre>
*
* will produce the following HTML, depending on the file containing
@@ -64,10 +66,24 @@ import static com.sun.source.doctree.DocTree.Kind.*;
* <pre>{@code
* <dt>See <i>Java Language Specification</i>:
* <dd><a href="../../specs/jls/jls-3.html#jls-3.4">3.4 Line terminators</a>
* <dd><a href="../../specs/primitive-types-in-patterns-instanceof-switch-jls.html#jls-5.7.1">
* 5.7.1 Exact Testing Conversions</a><sup class="preview-mark">
* <a href="../../specs/jls/jls-1.html#jls-1.5.1">PREVIEW</a></sup>
* }</pre>
*
* Copies of JLS and JVMS are expected to have been placed in the {@code specs}
* folder. These documents are not included in open-source repositories.
* In inline tags (note you need manual JLS/JVMS prefix):
* <pre>
* JLS {&commat;jls 3.4}
* </pre>
*
* produces (note the section sign and no trailing dot):
* <pre>
* JLS <a href="../../specs/jls/jls-3.html#jls-3.4">§3.4</a>
* </pre>
*
* Copies of JLS, JVMS, and preview JLS and JVMS changes are expected to have
* been placed in the {@code specs} folder. These documents are not included
* in open-source repositories.
*/
public class JSpec implements Taglet {
@@ -87,9 +103,9 @@ public class JSpec implements Taglet {
}
}
private String tagName;
private String specTitle;
private String idPrefix;
private final String tagName;
private final String specTitle;
private final String idPrefix;
JSpec(String tagName, String specTitle, String idPrefix) {
this.tagName = tagName;
@@ -98,7 +114,7 @@ public class JSpec implements Taglet {
}
// Note: Matches special cases like @jvms 6.5.checkcast
private static final Pattern TAG_PATTERN = Pattern.compile("(?s)(.+ )?(?<chapter>[1-9][0-9]*)(?<section>[0-9a-z_.]*)( .*)?$");
private static final Pattern TAG_PATTERN = Pattern.compile("(?s)(.+ )?(?<preview>([a-z0-9]+-)+)?(?<chapter>[1-9][0-9]*)(?<section>[0-9a-z_.]*)( .*)?$");
/**
* Returns the set of locations in which the tag may be used.
@@ -157,19 +173,50 @@ public class JSpec implements Taglet {
.trim();
Matcher m = TAG_PATTERN.matcher(tagText);
if (m.find()) {
// preview-feature-4.6 is preview-feature-, 4, .6
String preview = m.group("preview"); // null if no preview feature
String chapter = m.group("chapter");
String section = m.group("section");
String rootParent = currentPath().replaceAll("[^/]+", "..");
String url = String.format("%1$s/specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
rootParent, idPrefix, chapter, section);
String url = preview == null ?
String.format("%1$s/specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
rootParent, idPrefix, chapter, section) :
String.format("%1$s/specs/%5$s%2$s.html#%2$s-%3$s%4$s",
rootParent, idPrefix, chapter, section, preview);
var literal = expand(contents).trim();
var prefix = (preview == null ? "" : preview) + chapter + section;
if (literal.startsWith(prefix)) {
var hasFullTitle = literal.length() > prefix.length();
if (hasFullTitle) {
// Drop the preview identifier
literal = chapter + section + literal.substring(prefix.length());
} else {
// No section sign if the tag refers to a chapter, like {@jvms 4}
String sectionSign = section.isEmpty() ? "" : "§";
// Change whole text to "§chapter.x" in inline tags.
literal = sectionSign + chapter + section;
}
}
sb.append("<a href=\"")
.append(url)
.append("\">")
.append(expand(contents))
.append(literal)
.append("</a>");
if (preview != null) {
// Add PREVIEW superscript that links to JLS/JVMS 1.5.1
// "Restrictions on the Use of Preview Features"
// Similar to how APIs link to the Preview info box warning
var sectionLink = String.format("%1$s/specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
rootParent, idPrefix, "1", ".5.1");
sb.append("<sup class=\"preview-mark\"><a href=\"")
.append(sectionLink)
.append("\">PREVIEW</a></sup>");
}
if (tag.getKind() == DocTree.Kind.UNKNOWN_BLOCK_TAG) {
sb.append("<br>");
}
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2025, 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
@@ -286,7 +286,7 @@ public class ClassGenerator {
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
StubKind.LINT_CATEGORY.format(toLintFieldName(lintCategory)),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
javadoc);
@@ -314,7 +314,7 @@ public class ClassGenerator {
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
StubKind.LINT_CATEGORY.format(toLintFieldName(lintCategory)),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
argNames.stream().collect(Collectors.joining(", ")));
@@ -329,6 +329,11 @@ public class ClassGenerator {
}
}
String toLintFieldName(String lintCategory) {
return lintCategory.toUpperCase()
.replaceAll("-", "_");
}
/**
* Form the name of a factory method/field given a resource key.
*/
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2025, 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
@@ -87,7 +87,7 @@ suppress.warnings=\
@SuppressWarnings("rawtypes")\n
lint.category=\
LintCategory.get({0}).get()
LintCategory.{0}
diagnostic.flags.empty=\
EnumSet.noneOf(DiagnosticFlag.class)
+14 -2
View File
@@ -88,6 +88,10 @@ LIBAWT_EXTRA_HEADER_DIRS := \
LIBAWT_CFLAGS := -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH
ifeq ($(ENABLE_HEADLESS_ONLY), true)
LIBAWT_CFLAGS += -DHEADLESS
endif
ifeq ($(call isTargetOs, windows), true)
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE -DMLIB_OS64BIT
LIBAWT_RCFLAGS ?= -I$(TOPDIR)/src/java.base/windows/native/launcher/icons
@@ -167,11 +171,18 @@ ifeq ($(call isTargetOs, windows macosx), false)
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
#
LIBAWT_HEADLESS_EXCLUDE_FILES := \
GLXGraphicsConfig.c \
GLXSurfaceData.c \
X11PMBlitLoops.c \
X11Renderer.c \
X11SurfaceData.c \
#
LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \
$(LIBAWT_DEFAULT_HEADER_DIRS) \
common/awt/debug \
common/font \
common/java2d/opengl \
java.base:libjvm \
#
@@ -191,7 +202,8 @@ ifeq ($(call isTargetOs, windows macosx), false)
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
NAME := awt_headless, \
EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
EXCLUDES := medialib, \
EXCLUDES := medialib opengl, \
EXCLUDE_FILES := $(LIBAWT_HEADLESS_EXCLUDE_FILES), \
ONLY_EXPORTED := $(LIBAWT_HEADLESS_ONLY_EXPORTED), \
OPTIMIZATION := LOW, \
CFLAGS := -DHEADLESS=true $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) \
@@ -164,7 +164,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
ifeq ($(USE_EXTERNAL_LIBPNG), false)
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
-DPNG_ARM_NEON_IMPLEMENTATION=0 -DPNG_LOONGARCH_LSX_OPT=0
ifeq ($(call isTargetOs, linux)+$(call isTargetCpuArch, ppc), true+true)
-15
View File
@@ -54,21 +54,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
NAME := jdwp, \
OPTIMIZATION := LOW, \
CFLAGS := -DJDWP_LOGGING $(ICONV_CFLAGS), \
DISABLED_WARNINGS_gcc_eventFilter.c := unused-variable, \
DISABLED_WARNINGS_gcc_SDE.c := unused-function, \
DISABLED_WARNINGS_gcc_threadControl.c := unused-but-set-variable \
unused-variable, \
DISABLED_WARNINGS_gcc_utf_util.c := unused-but-set-variable, \
DISABLED_WARNINGS_clang_error_messages.c := format-nonliteral, \
DISABLED_WARNINGS_clang_eventFilter.c := unused-variable, \
DISABLED_WARNINGS_clang_EventRequestImpl.c := self-assign, \
DISABLED_WARNINGS_clang_inStream.c := sometimes-uninitialized, \
DISABLED_WARNINGS_clang_log_messages.c := format-nonliteral, \
DISABLED_WARNINGS_clang_SDE.c := unused-function, \
DISABLED_WARNINGS_clang_threadControl.c := unused-but-set-variable \
unused-variable, \
DISABLED_WARNINGS_clang_utf_util.c := unused-but-set-variable, \
DISABLED_WARNINGS_microsoft_debugInit.c := 5287, \
LDFLAGS := $(ICONV_LDFLAGS), \
EXTRA_HEADER_DIRS := \
include \
+3 -3
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2026, 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
@@ -54,7 +54,7 @@ $(eval $(call SetupJdkExecutable, BUILD_JPACKAGEAPPLAUNCHER, \
SRC := applauncher, \
EXTRA_SRC := common, \
INCLUDE_FILES := $(JPACKAGEAPPLAUNCHER_INCLUDE_FILES), \
OPTIMIZATION := LOW, \
OPTIMIZATION := SIZE, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_LinuxPackage.c := format-nonliteral, \
DISABLED_WARNINGS_clang_Log.cpp := unused-const-variable, \
@@ -91,7 +91,7 @@ ifeq ($(call isTargetOs, linux), true)
common, \
EXCLUDE_FILES := LinuxLauncher.c LinuxPackage.c, \
LINK_TYPE := C++, \
OPTIMIZATION := LOW, \
OPTIMIZATION := SIZE, \
DISABLED_WARNINGS_gcc_Log.cpp := unused-const-variable, \
DISABLED_WARNINGS_clang_JvmLauncherLib.c := format-nonliteral, \
DISABLED_WARNINGS_clang_tstrings.cpp := format-nonliteral, \
+9 -8
View File
@@ -31,13 +31,14 @@ include LibCommon.gmk
## Build libjaas
################################################################################
$(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \
NAME := jaas, \
OPTIMIZATION := LOW, \
EXTRA_HEADER_DIRS := java.base:libjava, \
LIBS_windows := advapi32.lib mpr.lib netapi32.lib user32.lib, \
))
TARGETS += $(BUILD_LIBJAAS)
ifeq ($(call isTargetOs, windows), true)
$(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \
NAME := jaas, \
OPTIMIZATION := LOW, \
EXTRA_HEADER_DIRS := java.base:libjava, \
LIBS_windows := advapi32.lib mpr.lib netapi32.lib user32.lib, \
))
TARGETS += $(BUILD_LIBJAAS)
endif
################################################################################
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
<!--
Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2005, 2025, 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
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, 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
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, 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
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, 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
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, 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
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, 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
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, 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
@@ -1,4 +1,4 @@
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2025, 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
@@ -1,264 +0,0 @@
/*
* Copyright (c) 1997, 2011, 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.
*/
/*
* This source code is provided to illustrate the usage of a given feature
* or technique and has been deliberately simplified. Additional steps
* required for a production-quality application, such as security checks,
* input validation and proper error handling, might not be present in
* this sample code.
*/
import java.util.EventObject;
import java.util.List;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
/**
* The OldJTable is an unsupported class containing some methods that were
* deleted from the JTable between releases 0.6 and 0.7
*/
@SuppressWarnings("serial")
public class OldJTable extends JTable
{
/*
* A new convenience method returning the index of the column in the
* co-ordinate space of the view.
*/
public int getColumnIndex(Object identifier) {
return getColumnModel().getColumnIndex(identifier);
}
//
// Methods deleted from the JTable because they only work with the
// DefaultTableModel.
//
public TableColumn addColumn(Object columnIdentifier, int width) {
return addColumn(columnIdentifier, width, null, null, null);
}
public TableColumn addColumn(Object columnIdentifier, List<?> columnData) {
return addColumn(columnIdentifier, -1, null, null, columnData);
}
// Override the new JTable implementation - it will not add a column to the
// DefaultTableModel.
public TableColumn addColumn(Object columnIdentifier, int width,
TableCellRenderer renderer,
TableCellEditor editor) {
return addColumn(columnIdentifier, width, renderer, editor, null);
}
public TableColumn addColumn(Object columnIdentifier, int width,
TableCellRenderer renderer,
TableCellEditor editor, List<?> columnData) {
checkDefaultTableModel();
// Set up the model side first
DefaultTableModel m = (DefaultTableModel)getModel();
m.addColumn(columnIdentifier, columnData.toArray());
// The column will have been added to the end, so the index of the
// column in the model is the last element.
TableColumn newColumn = new TableColumn(
m.getColumnCount()-1, width, renderer, editor);
super.addColumn(newColumn);
return newColumn;
}
// Not possilble to make this work the same way ... change it so that
// it does not delete columns from the model.
public void removeColumn(Object columnIdentifier) {
super.removeColumn(getColumn(columnIdentifier));
}
public void addRow(Object[] rowData) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).addRow(rowData);
}
public void addRow(List<?> rowData) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).addRow(rowData.toArray());
}
public void removeRow(int rowIndex) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).removeRow(rowIndex);
}
public void moveRow(int startIndex, int endIndex, int toIndex) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).moveRow(startIndex, endIndex, toIndex);
}
public void insertRow(int rowIndex, Object[] rowData) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).insertRow(rowIndex, rowData);
}
public void insertRow(int rowIndex, List<?> rowData) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).insertRow(rowIndex, rowData.toArray());
}
public void setNumRows(int newSize) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).setNumRows(newSize);
}
public void setDataVector(Object[][] newData, List<?> columnIds) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).setDataVector(
newData, columnIds.toArray());
}
public void setDataVector(Object[][] newData, Object[] columnIds) {
checkDefaultTableModel();
((DefaultTableModel)getModel()).setDataVector(newData, columnIds);
}
protected void checkDefaultTableModel() {
if(!(dataModel instanceof DefaultTableModel))
throw new InternalError("In order to use this method, the data model must be an instance of DefaultTableModel.");
}
//
// Methods removed from JTable in the move from identifiers to ints.
//
public Object getValueAt(Object columnIdentifier, int rowIndex) {
return super.getValueAt(rowIndex, getColumnIndex(columnIdentifier));
}
public boolean isCellEditable(Object columnIdentifier, int rowIndex) {
return super.isCellEditable(rowIndex, getColumnIndex(columnIdentifier));
}
public void setValueAt(Object aValue, Object columnIdentifier, int rowIndex) {
super.setValueAt(aValue, rowIndex, getColumnIndex(columnIdentifier));
}
public boolean editColumnRow(Object identifier, int row) {
return super.editCellAt(row, getColumnIndex(identifier));
}
public void moveColumn(Object columnIdentifier, Object targetColumnIdentifier) {
moveColumn(getColumnIndex(columnIdentifier),
getColumnIndex(targetColumnIdentifier));
}
public boolean isColumnSelected(Object identifier) {
return isColumnSelected(getColumnIndex(identifier));
}
public TableColumn addColumn(int modelColumn, int width) {
return addColumn(modelColumn, width, null, null);
}
public TableColumn addColumn(int modelColumn) {
return addColumn(modelColumn, 75, null, null);
}
/**
* Creates a new column with <I>modelColumn</I>, <I>width</I>,
* <I>renderer</I>, and <I>editor</I> and adds it to the end of
* the JTable's array of columns. This method also retrieves the
* name of the column using the model's <I>getColumnName(modelColumn)</I>
* method, and sets the both the header value and the identifier
* for this TableColumn accordingly.
* <p>
* The <I>modelColumn</I> is the index of the column in the model which
* will supply the data for this column in the table. This, like the
* <I>columnIdentifier</I> in previous releases, does not change as the
* columns are moved in the view.
* <p>
* For the rest of the JTable API, and all of its associated classes,
* columns are referred to in the co-ordinate system of the view, the
* index of the column in the model is kept inside the TableColumn
* and is used only to retrieve the information from the appropraite
* column in the model.
* <p>
*
* @param modelColumn The index of the column in the model
* @param width The new column's width. Or -1 to use
* the default width
* @param renderer The renderer used with the new column.
* Or null to use the default renderer.
* @param editor The editor used with the new column.
* Or null to use the default editor.
*/
public TableColumn addColumn(int modelColumn, int width,
TableCellRenderer renderer,
TableCellEditor editor) {
TableColumn newColumn = new TableColumn(
modelColumn, width, renderer, editor);
addColumn(newColumn);
return newColumn;
}
//
// Methods that had their arguments switched.
//
// These won't work with the new table package.
/*
public Object getValueAt(int columnIndex, int rowIndex) {
return super.getValueAt(rowIndex, columnIndex);
}
public boolean isCellEditable(int columnIndex, int rowIndex) {
return super.isCellEditable(rowIndex, columnIndex);
}
public void setValueAt(Object aValue, int columnIndex, int rowIndex) {
super.setValueAt(aValue, rowIndex, columnIndex);
}
*/
public boolean editColumnRow(int columnIndex, int rowIndex) {
return super.editCellAt(rowIndex, columnIndex);
}
public boolean editColumnRow(int columnIndex, int rowIndex, EventObject e){
return super.editCellAt(rowIndex, columnIndex, e);
}
} // End Of Class OldJTable
+2 -2
View File
@@ -1229,7 +1229,7 @@ public:
// predicate controlling addressing modes
bool size_fits_all_mem_uses(AddPNode* addp, int shift);
// Convert BootTest condition to Assembler condition.
// Convert BoolTest condition to Assembler condition.
// Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
Assembler::Condition to_assembler_cond(BoolTest::mask cond);
%}
@@ -2579,7 +2579,7 @@ bool size_fits_all_mem_uses(AddPNode* addp, int shift) {
return true;
}
// Convert BootTest condition to Assembler condition.
// Convert BoolTest condition to Assembler condition.
// Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
Assembler::Condition to_assembler_cond(BoolTest::mask cond) {
Assembler::Condition result;
+223 -1
View File
@@ -1,5 +1,5 @@
//
// Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2025, Arm Limited. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
@@ -201,6 +201,8 @@ source %{
case Op_XorReductionV:
case Op_MinReductionV:
case Op_MaxReductionV:
case Op_UMinReductionV:
case Op_UMaxReductionV:
// Reductions with less than 8 bytes vector length are
// not supported.
if (length_in_bytes < 8) {
@@ -383,6 +385,8 @@ source %{
return !VM_Version::use_neon_for_vector(length_in_bytes);
case Op_MinReductionV:
case Op_MaxReductionV:
case Op_UMinReductionV:
case Op_UMaxReductionV:
// For BYTE/SHORT/INT/FLOAT/DOUBLE types, we prefer using NEON
// instructions rather than SVE predicated instructions for
// better performance.
@@ -4218,6 +4222,224 @@ instruct reduce_minD_masked(vRegD dst, vRegD dsrc, vReg vsrc, pRegGov pg) %{
ins_pipe(pipe_slow);
%}
// -------------------- Vector reduction unsigned min/max ----------------------
// reduction uminI
instruct reduce_uminI_neon(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc,
vReg tmp, rFlagsReg cr) %{
predicate(VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(2))) &&
(Matcher::vector_element_basic_type(n->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(2)) == T_INT));
match(Set dst (UMinReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_uminI_neon $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
__ neon_reduce_minmax_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
length_in_bytes, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_uminI_sve(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc,
vRegD tmp, rFlagsReg cr) %{
predicate(!VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(2))) &&
(Matcher::vector_element_basic_type(n->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(2)) == T_INT));
match(Set dst (UMinReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_uminI_sve $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
assert(UseSVE > 0, "must be sve");
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
assert(length_in_bytes == MaxVectorSize, "invalid vector length");
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
ptrue, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// reduction uminL
instruct reduce_uminL_neon(iRegLNoSp dst, iRegL isrc, vReg vsrc, rFlagsReg cr) %{
predicate(UseSVE == 0 && Matcher::vector_element_basic_type(n->in(2)) == T_LONG);
match(Set dst (UMinReductionV isrc vsrc));
effect(TEMP_DEF dst, KILL cr);
format %{ "reduce_uminL_neon $dst, $isrc, $vsrc\t# 2L. KILL cr" %}
ins_encode %{
__ neon_reduce_minmax_integral(this->ideal_Opcode(), $dst$$Register, T_LONG,
$isrc$$Register, $vsrc$$FloatRegister,
/* vector_length_in_bytes */ 16, fnoreg);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_uminL_sve(iRegLNoSp dst, iRegL isrc, vReg vsrc,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 && Matcher::vector_element_basic_type(n->in(2)) == T_LONG);
match(Set dst (UMinReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_uminL_sve $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
assert(length_in_bytes == MaxVectorSize, "invalid vector length");
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, T_LONG,
$isrc$$Register, $vsrc$$FloatRegister,
ptrue, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// reduction umin - predicated
instruct reduce_uminI_masked(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc, pRegGov pg,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 &&
(Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_INT));
match(Set dst (UMinReductionV (Binary isrc vsrc) pg));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_uminI_masked $dst, $isrc, $pg, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
$pg$$PRegister, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_uminL_masked(iRegLNoSp dst, iRegL isrc, vReg vsrc, pRegGov pg,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 && Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_LONG);
match(Set dst (UMinReductionV (Binary isrc vsrc) pg));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_uminL_masked $dst, $isrc, $pg, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
$pg$$PRegister, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// reduction umaxI
instruct reduce_umaxI_neon(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc,
vReg tmp, rFlagsReg cr) %{
predicate(VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(2))) &&
(Matcher::vector_element_basic_type(n->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(2)) == T_INT));
match(Set dst (UMaxReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_umaxI_neon $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
__ neon_reduce_minmax_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
length_in_bytes, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_umaxI_sve(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc,
vRegD tmp, rFlagsReg cr) %{
predicate(!VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(2))) &&
(Matcher::vector_element_basic_type(n->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(2)) == T_INT));
match(Set dst (UMaxReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_umaxI_sve $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
assert(UseSVE > 0, "must be sve");
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
assert(length_in_bytes == MaxVectorSize, "invalid vector length");
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
ptrue, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// reduction umaxL
instruct reduce_umaxL_neon(iRegLNoSp dst, iRegL isrc, vReg vsrc, rFlagsReg cr) %{
predicate(UseSVE == 0 && Matcher::vector_element_basic_type(n->in(2)) == T_LONG);
match(Set dst (UMaxReductionV isrc vsrc));
effect(TEMP_DEF dst, KILL cr);
format %{ "reduce_umaxL_neon $dst, $isrc, $vsrc\t# 2L. KILL cr" %}
ins_encode %{
__ neon_reduce_minmax_integral(this->ideal_Opcode(), $dst$$Register, T_LONG,
$isrc$$Register, $vsrc$$FloatRegister,
/* vector_length_in_bytes */ 16, fnoreg);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_umaxL_sve(iRegLNoSp dst, iRegL isrc, vReg vsrc,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 && Matcher::vector_element_basic_type(n->in(2)) == T_LONG);
match(Set dst (UMaxReductionV isrc vsrc));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_umaxL_sve $dst, $isrc, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
assert(length_in_bytes == MaxVectorSize, "invalid vector length");
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, T_LONG,
$isrc$$Register, $vsrc$$FloatRegister,
ptrue, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// reduction umax - predicated
instruct reduce_umaxI_masked(iRegINoSp dst, iRegIorL2I isrc, vReg vsrc, pRegGov pg,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 &&
(Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_BYTE ||
Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_SHORT ||
Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_INT));
match(Set dst (UMaxReductionV (Binary isrc vsrc) pg));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_umaxI_masked $dst, $isrc, $pg, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
$pg$$PRegister, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_umaxL_masked(iRegLNoSp dst, iRegL isrc, vReg vsrc, pRegGov pg,
vRegD tmp, rFlagsReg cr) %{
predicate(UseSVE > 0 && Matcher::vector_element_basic_type(n->in(1)->in(2)) == T_LONG);
match(Set dst (UMaxReductionV (Binary isrc vsrc) pg));
effect(TEMP_DEF dst, TEMP tmp, KILL cr);
format %{ "reduce_umaxL_masked $dst, $isrc, $pg, $vsrc\t# KILL $tmp, cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this, $vsrc);
__ sve_reduce_integral(this->ideal_Opcode(), $dst$$Register, bt,
$isrc$$Register, $vsrc$$FloatRegister,
$pg$$PRegister, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// ------------------------------ Vector reinterpret ---------------------------
instruct reinterpret_same_size(vReg dst_src) %{
+31 -1
View File
@@ -1,5 +1,5 @@
//
// Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2025, Arm Limited. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
@@ -191,6 +191,8 @@ source %{
case Op_XorReductionV:
case Op_MinReductionV:
case Op_MaxReductionV:
case Op_UMinReductionV:
case Op_UMaxReductionV:
// Reductions with less than 8 bytes vector length are
// not supported.
if (length_in_bytes < 8) {
@@ -373,6 +375,8 @@ source %{
return !VM_Version::use_neon_for_vector(length_in_bytes);
case Op_MinReductionV:
case Op_MaxReductionV:
case Op_UMinReductionV:
case Op_UMaxReductionV:
// For BYTE/SHORT/INT/FLOAT/DOUBLE types, we prefer using NEON
// instructions rather than SVE predicated instructions for
// better performance.
@@ -2505,6 +2509,32 @@ REDUCE_MAXMIN_INT_PREDICATE(min, L, iRegL, MinReductionV)
REDUCE_MAXMIN_FP_PREDICATE(min, F, fsrc, MinReductionV, sve_fminv, fmins)
REDUCE_MAXMIN_FP_PREDICATE(min, D, dsrc, MinReductionV, sve_fminv, fmind)
// -------------------- Vector reduction unsigned min/max ----------------------
// reduction uminI
REDUCE_MAXMIN_I_NEON(umin, UMinReductionV)
REDUCE_MAXMIN_I_SVE(umin, UMinReductionV)
// reduction uminL
REDUCE_MAXMIN_L_NEON(umin, UMinReductionV)
REDUCE_MAXMIN_L_SVE(umin, UMinReductionV)
// reduction umin - predicated
REDUCE_MAXMIN_INT_PREDICATE(umin, I, iRegIorL2I, UMinReductionV)
REDUCE_MAXMIN_INT_PREDICATE(umin, L, iRegL, UMinReductionV)
// reduction umaxI
REDUCE_MAXMIN_I_NEON(umax, UMaxReductionV)
REDUCE_MAXMIN_I_SVE(umax, UMaxReductionV)
// reduction umaxL
REDUCE_MAXMIN_L_NEON(umax, UMaxReductionV)
REDUCE_MAXMIN_L_SVE(umax, UMaxReductionV)
// reduction umax - predicated
REDUCE_MAXMIN_INT_PREDICATE(umax, I, iRegIorL2I, UMaxReductionV)
REDUCE_MAXMIN_INT_PREDICATE(umax, L, iRegL, UMaxReductionV)
// ------------------------------ Vector reinterpret ---------------------------
instruct reinterpret_same_size(vReg dst_src) %{
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2024, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -2658,6 +2658,8 @@ template<typename R, typename... Rx>
INSN(uminv, 1, 0b011011, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(smaxp, 0, 0b101001, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(sminp, 0, 0b101011, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(umaxp, 1, 0b101001, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(uminp, 1, 0b101011, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(sqdmulh,0, 0b101101, false); // accepted arrangements: T4H, T8H, T2S, T4S
INSN(shsubv, 0, 0b001001, false); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
@@ -3490,7 +3492,9 @@ public:
INSN(sve_sub, 0b00000100, 0b000001000); // vector sub
INSN(sve_uaddv, 0b00000100, 0b000001001); // unsigned add reduction to scalar
INSN(sve_umax, 0b00000100, 0b001001000); // unsigned maximum vectors
INSN(sve_umaxv, 0b00000100, 0b001001001); // unsigned maximum reduction to scalar
INSN(sve_umin, 0b00000100, 0b001011000); // unsigned minimum vectors
INSN(sve_uminv, 0b00000100, 0b001011001); // unsigned minimum reduction to scalar
#undef INSN
// SVE floating-point arithmetic - predicate
@@ -4325,6 +4329,7 @@ public:
#undef INSN
Assembler(CodeBuffer* code) : AbstractAssembler(code) {
MACOS_AARCH64_ONLY(os::thread_wx_enable_write());
}
// Stack overflow checking
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -1218,43 +1218,11 @@ void LIR_Assembler::emit_alloc_array(LIR_OpAllocArray* op) {
__ bind(*op->stub()->continuation());
}
void LIR_Assembler::type_profile_helper(Register mdo,
ciMethodData *md, ciProfileData *data,
Register recv, Label* update_done) {
void LIR_Assembler::type_profile_helper(Register mdo, ciMethodData *md,
ciProfileData *data, Register recv) {
// Given a profile data offset, generate an Address which points to
// the corresponding slot in mdo->data().
// Clobbers rscratch2.
auto slot_at = [=](ByteSize offset) -> Address {
return __ form_address(rscratch2, mdo,
md->byte_offset_of_slot(data, offset),
LogBytesPerWord);
};
for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) {
Label next_test;
// See if the receiver is receiver[n].
__ ldr(rscratch1, slot_at(ReceiverTypeData::receiver_offset(i)));
__ cmp(recv, rscratch1);
__ br(Assembler::NE, next_test);
__ addptr(slot_at(ReceiverTypeData::receiver_count_offset(i)),
DataLayout::counter_increment);
__ b(*update_done);
__ bind(next_test);
}
// Didn't find receiver; find next empty slot and fill it in
for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) {
Label next_test;
Address recv_addr(slot_at(ReceiverTypeData::receiver_offset(i)));
__ ldr(rscratch1, recv_addr);
__ cbnz(rscratch1, next_test);
__ str(recv, recv_addr);
__ mov(rscratch1, DataLayout::counter_increment);
__ str(rscratch1, slot_at(ReceiverTypeData::receiver_count_offset(i)));
__ b(*update_done);
__ bind(next_test);
}
int mdp_offset = md->byte_offset_of_slot(data, in_ByteSize(0));
__ profile_receiver_type(recv, mdo, mdp_offset);
}
void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, Label* failure, Label* obj_is_null) {
@@ -1316,14 +1284,9 @@ void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, L
__ b(*obj_is_null);
__ bind(not_null);
Label update_done;
Register recv = k_RInfo;
__ load_klass(recv, obj);
type_profile_helper(mdo, md, data, recv, &update_done);
Address counter_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset()));
__ addptr(counter_addr, DataLayout::counter_increment);
__ bind(update_done);
type_profile_helper(mdo, md, data, recv);
} else {
__ cbz(obj, *obj_is_null);
}
@@ -1430,13 +1393,9 @@ void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
__ b(done);
__ bind(not_null);
Label update_done;
Register recv = k_RInfo;
__ load_klass(recv, value);
type_profile_helper(mdo, md, data, recv, &update_done);
Address counter_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset()));
__ addptr(counter_addr, DataLayout::counter_increment);
__ bind(update_done);
type_profile_helper(mdo, md, data, recv);
} else {
__ cbz(value, done);
}
@@ -2540,13 +2499,9 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
if (C1OptimizeVirtualCallProfiling && known_klass != nullptr) {
// We know the type that will be seen at this call site; we can
// statically update the MethodData* rather than needing to do
// dynamic tests on the receiver type
// NOTE: we should probably put a lock around this search to
// avoid collisions by concurrent compilations
// dynamic tests on the receiver type.
ciVirtualCallData* vc_data = (ciVirtualCallData*) data;
uint i;
for (i = 0; i < VirtualCallData::row_limit(); i++) {
for (uint i = 0; i < VirtualCallData::row_limit(); i++) {
ciKlass* receiver = vc_data->receiver(i);
if (known_klass->equals(receiver)) {
Address data_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i)));
@@ -2554,36 +2509,13 @@ void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
return;
}
}
// Receiver type not found in profile data; select an empty slot
// Note that this is less efficient than it should be because it
// always does a write to the receiver part of the
// VirtualCallData rather than just the first time
for (i = 0; i < VirtualCallData::row_limit(); i++) {
ciKlass* receiver = vc_data->receiver(i);
if (receiver == nullptr) {
__ mov_metadata(rscratch1, known_klass->constant_encoding());
Address recv_addr =
__ form_address(rscratch2, mdo,
md->byte_offset_of_slot(data, VirtualCallData::receiver_offset(i)),
LogBytesPerWord);
__ str(rscratch1, recv_addr);
Address data_addr(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i)));
__ addptr(data_addr, DataLayout::counter_increment);
return;
}
}
// Receiver type is not found in profile data.
// Fall back to runtime helper to handle the rest at runtime.
__ mov_metadata(recv, known_klass->constant_encoding());
} else {
__ load_klass(recv, recv);
Label update_done;
type_profile_helper(mdo, md, data, recv, &update_done);
// Receiver did not match any saved receiver and there is no empty row for it.
// Increment total counter to indicate polymorphic case.
__ addptr(counter_addr, DataLayout::counter_increment);
__ bind(update_done);
}
type_profile_helper(mdo, md, data, recv);
} else {
// Static call
__ addptr(counter_addr, DataLayout::counter_increment);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -50,9 +50,8 @@ friend class ArrayCopyStub;
Address stack_slot_address(int index, uint shift, Register tmp, int adjust = 0);
// Record the type of the receiver in ReceiverTypeData
void type_profile_helper(Register mdo,
ciMethodData *md, ciProfileData *data,
Register recv, Label* update_done);
void type_profile_helper(Register mdo, ciMethodData *md,
ciProfileData *data, Register recv);
void add_debug_info_for_branch(address adr, CodeEmitInfo* info);
void casw(Register addr, Register newval, Register cmpval);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2026, 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
@@ -1960,50 +1960,76 @@ void C2_MacroAssembler::neon_reduce_logical(int opc, Register dst, BasicType bt,
BLOCK_COMMENT("} neon_reduce_logical");
}
// Vector reduction min/max for integral type with ASIMD instructions.
// Helper function to decode min/max reduction operation properties
void C2_MacroAssembler::decode_minmax_reduction_opc(int opc, bool* is_min,
bool* is_unsigned,
Condition* cond) {
switch(opc) {
case Op_MinReductionV:
*is_min = true; *is_unsigned = false; *cond = LT; break;
case Op_MaxReductionV:
*is_min = false; *is_unsigned = false; *cond = GT; break;
case Op_UMinReductionV:
*is_min = true; *is_unsigned = true; *cond = LO; break;
case Op_UMaxReductionV:
*is_min = false; *is_unsigned = true; *cond = HI; break;
default:
ShouldNotReachHere();
}
}
// Vector reduction min/max/umin/umax for integral type with ASIMD instructions.
// Note: vtmp is not used and expected to be fnoreg for T_LONG case.
// Clobbers: rscratch1, rflags
void C2_MacroAssembler::neon_reduce_minmax_integral(int opc, Register dst, BasicType bt,
Register isrc, FloatRegister vsrc,
unsigned vector_length_in_bytes,
FloatRegister vtmp) {
assert(opc == Op_MinReductionV || opc == Op_MaxReductionV, "unsupported");
assert(opc == Op_MinReductionV || opc == Op_MaxReductionV ||
opc == Op_UMinReductionV || opc == Op_UMaxReductionV, "unsupported");
assert(vector_length_in_bytes == 8 || vector_length_in_bytes == 16, "unsupported");
assert(bt == T_BYTE || bt == T_SHORT || bt == T_INT || bt == T_LONG, "unsupported");
assert_different_registers(dst, isrc);
bool isQ = vector_length_in_bytes == 16;
bool is_min = opc == Op_MinReductionV;
bool is_min;
bool is_unsigned;
Condition cond;
decode_minmax_reduction_opc(opc, &is_min, &is_unsigned, &cond);
BLOCK_COMMENT("neon_reduce_minmax_integral {");
if (bt == T_LONG) {
assert(vtmp == fnoreg, "should be");
assert(isQ, "should be");
umov(rscratch1, vsrc, D, 0);
cmp(isrc, rscratch1);
csel(dst, isrc, rscratch1, is_min ? LT : GT);
csel(dst, isrc, rscratch1, cond);
umov(rscratch1, vsrc, D, 1);
cmp(dst, rscratch1);
csel(dst, dst, rscratch1, is_min ? LT : GT);
csel(dst, dst, rscratch1, cond);
} else {
SIMD_Arrangement size = esize2arrangement((unsigned)type2aelembytes(bt), isQ);
if (size == T2S) {
is_min ? sminp(vtmp, size, vsrc, vsrc) : smaxp(vtmp, size, vsrc, vsrc);
// For T2S (2x32-bit elements), use pairwise instructions because
// uminv/umaxv/sminv/smaxv don't support arrangement 2S.
neon_minmaxp(is_unsigned, is_min, vtmp, size, vsrc, vsrc);
} else {
is_min ? sminv(vtmp, size, vsrc) : smaxv(vtmp, size, vsrc);
// For other sizes, use reduction to scalar instructions.
neon_minmaxv(is_unsigned, is_min, vtmp, size, vsrc);
}
if (bt == T_INT) {
umov(dst, vtmp, S, 0);
} else if (is_unsigned) {
umov(dst, vtmp, elemType_to_regVariant(bt), 0);
} else {
smov(dst, vtmp, elemType_to_regVariant(bt), 0);
}
cmpw(dst, isrc);
cselw(dst, dst, isrc, is_min ? LT : GT);
cselw(dst, dst, isrc, cond);
}
BLOCK_COMMENT("} neon_reduce_minmax_integral");
}
// Vector reduction for integral type with SVE instruction.
// Supported operations are Add, And, Or, Xor, Max, Min.
// Supported operations are Add, And, Or, Xor, Max, Min, UMax, UMin.
// rflags would be clobbered if opc is Op_MaxReductionV or Op_MinReductionV.
void C2_MacroAssembler::sve_reduce_integral(int opc, Register dst, BasicType bt, Register src1,
FloatRegister src2, PRegister pg, FloatRegister tmp) {
@@ -2075,35 +2101,27 @@ void C2_MacroAssembler::sve_reduce_integral(int opc, Register dst, BasicType bt,
}
break;
}
case Op_MaxReductionV: {
sve_smaxv(tmp, size, pg, src2);
if (bt == T_INT || bt == T_LONG) {
case Op_MaxReductionV:
case Op_MinReductionV:
case Op_UMaxReductionV:
case Op_UMinReductionV: {
bool is_min;
bool is_unsigned;
Condition cond;
decode_minmax_reduction_opc(opc, &is_min, &is_unsigned, &cond);
sve_minmaxv(is_unsigned, is_min, tmp, size, pg, src2);
// Move result from vector to general register
if (is_unsigned || bt == T_INT || bt == T_LONG) {
umov(dst, tmp, size, 0);
} else {
smov(dst, tmp, size, 0);
}
if (bt == T_LONG) {
cmp(dst, src1);
csel(dst, dst, src1, Assembler::GT);
csel(dst, dst, src1, cond);
} else {
cmpw(dst, src1);
cselw(dst, dst, src1, Assembler::GT);
}
break;
}
case Op_MinReductionV: {
sve_sminv(tmp, size, pg, src2);
if (bt == T_INT || bt == T_LONG) {
umov(dst, tmp, size, 0);
} else {
smov(dst, tmp, size, 0);
}
if (bt == T_LONG) {
cmp(dst, src1);
csel(dst, dst, src1, Assembler::LT);
} else {
cmpw(dst, src1);
cselw(dst, dst, src1, Assembler::LT);
cselw(dst, dst, src1, cond);
}
break;
}
@@ -2547,26 +2565,22 @@ void C2_MacroAssembler::verify_int_in_range(uint idx, const TypeInt* t, Register
if (t == TypeInt::INT) {
return;
}
BLOCK_COMMENT("verify_int_in_range {");
Label L_success, L_failure;
jint lo = t->_lo;
jint hi = t->_hi;
if (lo != min_jint && hi != max_jint) {
if (lo != min_jint) {
subsw(rtmp, rval, lo);
br(Assembler::LT, L_failure);
subsw(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else if (lo != min_jint) {
subsw(rtmp, rval, lo);
br(Assembler::GE, L_success);
} else if (hi != max_jint) {
subsw(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else {
ShouldNotReachHere();
}
if (hi != max_jint) {
subsw(rtmp, rval, hi);
br(Assembler::GT, L_failure);
}
b(L_success);
bind(L_failure);
movw(c_rarg0, idx);
@@ -2590,26 +2604,22 @@ void C2_MacroAssembler::verify_long_in_range(uint idx, const TypeLong* t, Regist
if (t == TypeLong::LONG) {
return;
}
BLOCK_COMMENT("verify_long_in_range {");
Label L_success, L_failure;
jlong lo = t->_lo;
jlong hi = t->_hi;
if (lo != min_jlong && hi != max_jlong) {
if (lo != min_jlong) {
subs(rtmp, rval, lo);
br(Assembler::LT, L_failure);
subs(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else if (lo != min_jlong) {
subs(rtmp, rval, lo);
br(Assembler::GE, L_success);
} else if (hi != max_jlong) {
subs(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else {
ShouldNotReachHere();
}
if (hi != max_jlong) {
subs(rtmp, rval, hi);
br(Assembler::GT, L_failure);
}
b(L_success);
bind(L_failure);
movw(c_rarg0, idx);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2026, 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
@@ -34,6 +34,37 @@
void neon_reduce_logical_helper(int opc, bool sf, Register Rd, Register Rn, Register Rm,
enum shift_kind kind = Assembler::LSL, unsigned shift = 0);
// Helper functions for min/max reduction operations
void decode_minmax_reduction_opc(int opc, bool* is_min, bool* is_unsigned, Condition* cond);
void neon_minmaxp(bool is_unsigned, bool is_min, FloatRegister dst,
SIMD_Arrangement size, FloatRegister src1, FloatRegister src2) {
auto m = is_unsigned ? (is_min ? &Assembler::uminp : &Assembler::umaxp)
: (is_min ? &Assembler::sminp : &Assembler::smaxp);
(this->*m)(dst, size, src1, src2);
}
// Typedefs used to disambiguate overloaded member functions.
typedef void (Assembler::*neon_reduction2)
(FloatRegister, SIMD_Arrangement, FloatRegister);
void neon_minmaxv(bool is_unsigned, bool is_min, FloatRegister dst,
SIMD_Arrangement size, FloatRegister src) {
auto m = is_unsigned ? (is_min ? (neon_reduction2)&Assembler::uminv
: (neon_reduction2)&Assembler::umaxv)
: (is_min ? &Assembler::sminv
: &Assembler::smaxv);
(this->*m)(dst, size, src);
}
void sve_minmaxv(bool is_unsigned, bool is_min, FloatRegister dst,
SIMD_RegVariant size, PRegister pg, FloatRegister src) {
auto m = is_unsigned ? (is_min ? &Assembler::sve_uminv : &Assembler::sve_umaxv)
: (is_min ? &Assembler::sve_sminv : &Assembler::sve_smaxv);
(this->*m)(dst, size, pg, src);
}
void select_from_two_vectors_neon(FloatRegister dst, FloatRegister src1,
FloatRegister src2, FloatRegister index,
FloatRegister tmp, unsigned vector_length_in_bytes);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2022, 2025, 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
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, 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
@@ -209,6 +209,10 @@ void BarrierSetNMethod::set_guard_value(nmethod* nm, int value, int bit_mask) {
bs_asm->increment_patching_epoch();
}
// Enable WXWrite: the function is called directly from nmethod_entry_barrier
// stub.
MACOS_AARCH64_ONLY(ThreadWXEnable wx(WXWrite, Thread::current()));
NativeNMethodBarrier barrier(nm);
barrier.set_value(value, bit_mask);
}
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, 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
@@ -85,26 +85,16 @@ void ShenandoahBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, Dec
}
}
void ShenandoahBarrierSetAssembler::shenandoah_write_barrier_pre(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp,
bool tosca_live,
bool expand_call) {
if (ShenandoahSATBBarrier) {
satb_write_barrier_pre(masm, obj, pre_val, thread, tmp, rscratch1, tosca_live, expand_call);
}
}
void ShenandoahBarrierSetAssembler::satb_barrier(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp1,
Register tmp2,
bool tosca_live,
bool expand_call) {
assert(ShenandoahSATBBarrier, "Should be checked by caller");
void ShenandoahBarrierSetAssembler::satb_write_barrier_pre(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp1,
Register tmp2,
bool tosca_live,
bool expand_call) {
// If expand_call is true then we expand the call_VM_leaf macro
// directly to skip generating the check by
// InterpreterMacroAssembler::call_VM_leaf_base that checks _last_sp.
@@ -358,20 +348,20 @@ void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet d
if (ShenandoahBarrierSet::need_keep_alive_barrier(decorators, type)) {
__ enter(/*strip_ret_addr*/true);
__ push_call_clobbered_registers();
satb_write_barrier_pre(masm /* masm */,
noreg /* obj */,
dst /* pre_val */,
rthread /* thread */,
tmp1 /* tmp1 */,
tmp2 /* tmp2 */,
true /* tosca_live */,
true /* expand_call */);
satb_barrier(masm /* masm */,
noreg /* obj */,
dst /* pre_val */,
rthread /* thread */,
tmp1 /* tmp1 */,
tmp2 /* tmp2 */,
true /* tosca_live */,
true /* expand_call */);
__ pop_call_clobbered_registers();
__ leave();
}
}
void ShenandoahBarrierSetAssembler::store_check(MacroAssembler* masm, Register obj) {
void ShenandoahBarrierSetAssembler::card_barrier(MacroAssembler* masm, Register obj) {
assert(ShenandoahCardBarrier, "Should have been checked by caller");
__ lsr(obj, obj, CardTable::card_shift());
@@ -394,13 +384,13 @@ void ShenandoahBarrierSetAssembler::store_check(MacroAssembler* masm, Register o
void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Address dst, Register val, Register tmp1, Register tmp2, Register tmp3) {
bool on_oop = is_reference_type(type);
if (!on_oop) {
// 1: non-reference types require no barriers
if (!is_reference_type(type)) {
BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2, tmp3);
return;
}
// flatten object address if needed
// Flatten object address right away for simplicity: likely needed by barriers
if (dst.index() == noreg && dst.offset() == 0) {
if (dst.base() != tmp3) {
__ mov(tmp3, dst.base());
@@ -409,20 +399,26 @@ void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet
__ lea(tmp3, dst);
}
shenandoah_write_barrier_pre(masm,
tmp3 /* obj */,
tmp2 /* pre_val */,
rthread /* thread */,
tmp1 /* tmp */,
val != noreg /* tosca_live */,
false /* expand_call */);
bool storing_non_null = (val != noreg);
// 2: pre-barrier: SATB needs the previous value
if (ShenandoahBarrierSet::need_satb_barrier(decorators, type)) {
satb_barrier(masm,
tmp3 /* obj */,
tmp2 /* pre_val */,
rthread /* thread */,
tmp1 /* tmp */,
rscratch1 /* tmp2 */,
storing_non_null /* tosca_live */,
false /* expand_call */);
}
// Store!
BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp3, 0), val, noreg, noreg, noreg);
bool in_heap = (decorators & IN_HEAP) != 0;
bool needs_post_barrier = (val != noreg) && in_heap && ShenandoahCardBarrier;
if (needs_post_barrier) {
store_check(masm, tmp3);
// 3: post-barrier: card barrier needs store address
if (ShenandoahBarrierSet::need_card_barrier(decorators, type) && storing_non_null) {
card_barrier(masm, tmp3);
}
}
@@ -40,23 +40,16 @@ class StubCodeGenerator;
class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
private:
void satb_write_barrier_pre(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp1,
Register tmp2,
bool tosca_live,
bool expand_call);
void shenandoah_write_barrier_pre(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp,
bool tosca_live,
bool expand_call);
void satb_barrier(MacroAssembler* masm,
Register obj,
Register pre_val,
Register thread,
Register tmp1,
Register tmp2,
bool tosca_live,
bool expand_call);
void store_check(MacroAssembler* masm, Register obj);
void card_barrier(MacroAssembler* masm, Register obj);
void resolve_forward_pointer(MacroAssembler* masm, Register dst, Register tmp = noreg);
void resolve_forward_pointer_not_null(MacroAssembler* masm, Register dst, Register tmp = noreg);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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
+1 -1
View File
@@ -1,5 +1,5 @@
//
// Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2019, 2025, 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
+2 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -39,7 +39,7 @@ define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap nulls
define_pd_global(bool, DelayCompilerStubsGeneration, COMPILER2_OR_JVMCI);
define_pd_global(size_t, CodeCacheSegmentSize, 64);
define_pd_global(intx, CodeEntryAlignment, 64);
define_pd_global(uint, CodeEntryAlignment, 64);
define_pd_global(intx, OptoLoopAlignment, 16);
#define DEFAULT_STACK_YELLOW_PAGES (2)
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2023, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,13 +23,13 @@
*
*/
#include <stdlib.h> // do not reorder
#include <stdint.h> // do not reorder
#include "cppstdlib/cstdlib.hpp"
#include "immediate_aarch64.hpp"
#include "metaprogramming/primitiveConversions.hpp"
#include "utilities/globalDefinitions.hpp"
#include <stdint.h>
// there are at most 2^13 possible logical immediate encodings
// however, some combinations of immr and imms are invalid
static const unsigned LI_TABLE_SIZE = (1 << 13);
@@ -1,4 +1,5 @@
/*
* Copyright (c) 2025, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -22,10 +23,10 @@
*
*/
#ifndef _IMMEDIATE_H
#define _IMMEDIATE_H
#ifndef CPU_AARCH64_IMMEDIATE_AARCH64_HPP
#define CPU_AARCH64_IMMEDIATE_AARCH64_HPP
#include <sys/types.h>
#include <stdint.h>
/*
* functions to map backwards and forwards between logical or floating
@@ -51,4 +52,4 @@ uint32_t encoding_for_logical_immediate(uint64_t immediate);
uint64_t fp_immediate_for_encoding(uint32_t imm8, int is_dp);
uint32_t encoding_for_fp_immediate(float immediate);
#endif // _IMMEDIATE_H
#endif // CPU_AARCH64_IMMEDIATE_AARCH64_HPP
+5 -132
View File
@@ -240,15 +240,14 @@ void InterpreterMacroAssembler::load_resolved_klass_at_offset(
// Rsub_klass: subklass
//
// Kills:
// r2, r5
// r2
void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass,
Label& ok_is_subtype) {
assert(Rsub_klass != r0, "r0 holds superklass");
assert(Rsub_klass != r2, "r2 holds 2ndary super array length");
assert(Rsub_klass != r5, "r5 holds 2ndary super array scan ptr");
// Profile the not-null value's klass.
profile_typecheck(r2, Rsub_klass, r5); // blows r2, reloads r5
profile_typecheck(r2, Rsub_klass); // blows r2
// Do the check.
check_klass_subtype(Rsub_klass, r0, r2, ok_is_subtype); // blows r2
@@ -991,7 +990,6 @@ void InterpreterMacroAssembler::profile_final_call(Register mdp) {
void InterpreterMacroAssembler::profile_virtual_call(Register receiver,
Register mdp,
Register reg2,
bool receiver_can_be_null) {
if (ProfileInterpreter) {
Label profile_continue;
@@ -1009,7 +1007,7 @@ void InterpreterMacroAssembler::profile_virtual_call(Register receiver,
}
// Record the receiver type.
record_klass_in_profile(receiver, mdp, reg2);
profile_receiver_type(receiver, mdp, 0);
bind(skip_receiver_profile);
// The method data pointer needs to be updated to reflect the new target.
@@ -1018,131 +1016,6 @@ void InterpreterMacroAssembler::profile_virtual_call(Register receiver,
}
}
// This routine creates a state machine for updating the multi-row
// type profile at a virtual call site (or other type-sensitive bytecode).
// The machine visits each row (of receiver/count) until the receiver type
// is found, or until it runs out of rows. At the same time, it remembers
// the location of the first empty row. (An empty row records null for its
// receiver, and can be allocated for a newly-observed receiver type.)
// Because there are two degrees of freedom in the state, a simple linear
// search will not work; it must be a decision tree. Hence this helper
// function is recursive, to generate the required tree structured code.
// It's the interpreter, so we are trading off code space for speed.
// See below for example code.
void InterpreterMacroAssembler::record_klass_in_profile_helper(
Register receiver, Register mdp,
Register reg2, int start_row,
Label& done) {
if (TypeProfileWidth == 0) {
increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
} else {
record_item_in_profile_helper(receiver, mdp, reg2, 0, done, TypeProfileWidth,
&VirtualCallData::receiver_offset, &VirtualCallData::receiver_count_offset);
}
}
void InterpreterMacroAssembler::record_item_in_profile_helper(Register item, Register mdp,
Register reg2, int start_row, Label& done, int total_rows,
OffsetFunction item_offset_fn, OffsetFunction item_count_offset_fn) {
int last_row = total_rows - 1;
assert(start_row <= last_row, "must be work left to do");
// Test this row for both the item and for null.
// Take any of three different outcomes:
// 1. found item => increment count and goto done
// 2. found null => keep looking for case 1, maybe allocate this cell
// 3. found something else => keep looking for cases 1 and 2
// Case 3 is handled by a recursive call.
for (int row = start_row; row <= last_row; row++) {
Label next_test;
bool test_for_null_also = (row == start_row);
// See if the item is item[n].
int item_offset = in_bytes(item_offset_fn(row));
test_mdp_data_at(mdp, item_offset, item,
(test_for_null_also ? reg2 : noreg),
next_test);
// (Reg2 now contains the item from the CallData.)
// The item is item[n]. Increment count[n].
int count_offset = in_bytes(item_count_offset_fn(row));
increment_mdp_data_at(mdp, count_offset);
b(done);
bind(next_test);
if (test_for_null_also) {
Label found_null;
// Failed the equality check on item[n]... Test for null.
if (start_row == last_row) {
// The only thing left to do is handle the null case.
cbz(reg2, found_null);
// Item did not match any saved item and there is no empty row for it.
// Increment total counter to indicate polymorphic case.
increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
b(done);
bind(found_null);
break;
}
// Since null is rare, make it be the branch-taken case.
cbz(reg2, found_null);
// Put all the "Case 3" tests here.
record_item_in_profile_helper(item, mdp, reg2, start_row + 1, done, total_rows,
item_offset_fn, item_count_offset_fn);
// Found a null. Keep searching for a matching item,
// but remember that this is an empty (unused) slot.
bind(found_null);
}
}
// In the fall-through case, we found no matching item, but we
// observed the item[start_row] is null.
// Fill in the item field and increment the count.
int item_offset = in_bytes(item_offset_fn(start_row));
set_mdp_data_at(mdp, item_offset, item);
int count_offset = in_bytes(item_count_offset_fn(start_row));
mov(reg2, DataLayout::counter_increment);
set_mdp_data_at(mdp, count_offset, reg2);
if (start_row > 0) {
b(done);
}
}
// Example state machine code for three profile rows:
// // main copy of decision tree, rooted at row[1]
// if (row[0].rec == rec) { row[0].incr(); goto done; }
// if (row[0].rec != nullptr) {
// // inner copy of decision tree, rooted at row[1]
// if (row[1].rec == rec) { row[1].incr(); goto done; }
// if (row[1].rec != nullptr) {
// // degenerate decision tree, rooted at row[2]
// if (row[2].rec == rec) { row[2].incr(); goto done; }
// if (row[2].rec != nullptr) { count.incr(); goto done; } // overflow
// row[2].init(rec); goto done;
// } else {
// // remember row[1] is empty
// if (row[2].rec == rec) { row[2].incr(); goto done; }
// row[1].init(rec); goto done;
// }
// } else {
// // remember row[0] is empty
// if (row[1].rec == rec) { row[1].incr(); goto done; }
// if (row[2].rec == rec) { row[2].incr(); goto done; }
// row[0].init(rec); goto done;
// }
// done:
void InterpreterMacroAssembler::record_klass_in_profile(Register receiver,
Register mdp, Register reg2) {
assert(ProfileInterpreter, "must be profiling");
Label done;
record_klass_in_profile_helper(receiver, mdp, reg2, 0, done);
bind (done);
}
void InterpreterMacroAssembler::profile_ret(Register return_bci,
Register mdp) {
if (ProfileInterpreter) {
@@ -1200,7 +1073,7 @@ void InterpreterMacroAssembler::profile_null_seen(Register mdp) {
}
}
void InterpreterMacroAssembler::profile_typecheck(Register mdp, Register klass, Register reg2) {
void InterpreterMacroAssembler::profile_typecheck(Register mdp, Register klass) {
if (ProfileInterpreter) {
Label profile_continue;
@@ -1213,7 +1086,7 @@ void InterpreterMacroAssembler::profile_typecheck(Register mdp, Register klass,
mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
// Record the object type.
record_klass_in_profile(klass, mdp, reg2);
profile_receiver_type(klass, mdp, 0);
}
update_mdp_by_constant(mdp, mdp_delta);
@@ -273,15 +273,6 @@ class InterpreterMacroAssembler: public MacroAssembler {
Register test_value_out,
Label& not_equal_continue);
void record_klass_in_profile(Register receiver, Register mdp,
Register reg2);
void record_klass_in_profile_helper(Register receiver, Register mdp,
Register reg2, int start_row,
Label& done);
void record_item_in_profile_helper(Register item, Register mdp,
Register reg2, int start_row, Label& done, int total_rows,
OffsetFunction item_offset_fn, OffsetFunction item_count_offset_fn);
void update_mdp_by_offset(Register mdp_in, int offset_of_offset);
void update_mdp_by_offset(Register mdp_in, Register reg, int offset_of_disp);
void update_mdp_by_constant(Register mdp_in, int constant);
@@ -295,11 +286,10 @@ class InterpreterMacroAssembler: public MacroAssembler {
void profile_call(Register mdp);
void profile_final_call(Register mdp);
void profile_virtual_call(Register receiver, Register mdp,
Register scratch2,
bool receiver_can_be_null = false);
void profile_ret(Register return_bci, Register mdp);
void profile_null_seen(Register mdp);
void profile_typecheck(Register mdp, Register klass, Register scratch);
void profile_typecheck(Register mdp, Register klass);
void profile_typecheck_failed(Register mdp);
void profile_switch_default(Register mdp);
void profile_switch_case(Register index_in_scratch, Register mdp,
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2024, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -473,6 +473,7 @@ address MacroAssembler::target_addr_for_insn(address insn_addr) {
// Patch any kind of instruction; there may be several instructions.
// Return the total length (in bytes) of the instructions.
int MacroAssembler::pd_patch_instruction_size(address insn_addr, address target) {
MACOS_AARCH64_ONLY(os::thread_wx_enable_write());
return RelocActions<Patcher>::run(insn_addr, target);
}
@@ -481,6 +482,8 @@ int MacroAssembler::patch_oop(address insn_addr, address o) {
unsigned insn = *(unsigned*)insn_addr;
assert(nativeInstruction_at(insn_addr+4)->is_movk(), "wrong insns in patch");
MACOS_AARCH64_ONLY(os::thread_wx_enable_write());
// OOPs are either narrow (32 bits) or wide (48 bits). We encode
// narrow OOPs by setting the upper 16 bits in the first
// instruction.
@@ -510,6 +513,8 @@ int MacroAssembler::patch_narrow_klass(address insn_addr, narrowKlass n) {
assert(Instruction_aarch64::extract(insn->encoding(), 31, 21) == 0b11010010101 &&
nativeInstruction_at(insn_addr+4)->is_movk(), "wrong insns in patch");
MACOS_AARCH64_ONLY(os::thread_wx_enable_write());
Instruction_aarch64::patch(insn_addr, 20, 5, n >> 16);
Instruction_aarch64::patch(insn_addr+4, 20, 5, n & 0xffff);
return 2 * NativeInstruction::instruction_size;
@@ -2118,6 +2123,161 @@ Address MacroAssembler::argument_address(RegisterOrConstant arg_slot,
}
}
// Handle the receiver type profile update given the "recv" klass.
//
// Normally updates the ReceiverData (RD) that starts at "mdp" + "mdp_offset".
// If there are no matching or claimable receiver entries in RD, updates
// the polymorphic counter.
//
// This code expected to run by either the interpreter or JIT-ed code, without
// extra synchronization. For safety, receiver cells are claimed atomically, which
// avoids grossly misrepresenting the profiles under concurrent updates. For speed,
// counter updates are not atomic.
//
void MacroAssembler::profile_receiver_type(Register recv, Register mdp, int mdp_offset) {
assert_different_registers(recv, mdp, rscratch1, rscratch2);
int base_receiver_offset = in_bytes(ReceiverTypeData::receiver_offset(0));
int end_receiver_offset = in_bytes(ReceiverTypeData::receiver_offset(ReceiverTypeData::row_limit()));
int poly_count_offset = in_bytes(CounterData::count_offset());
int receiver_step = in_bytes(ReceiverTypeData::receiver_offset(1)) - base_receiver_offset;
int receiver_to_count_step = in_bytes(ReceiverTypeData::receiver_count_offset(0)) - base_receiver_offset;
// Adjust for MDP offsets.
base_receiver_offset += mdp_offset;
end_receiver_offset += mdp_offset;
poly_count_offset += mdp_offset;
#ifdef ASSERT
// We are about to walk the MDO slots without asking for offsets.
// Check that our math hits all the right spots.
for (uint c = 0; c < ReceiverTypeData::row_limit(); c++) {
int real_recv_offset = mdp_offset + in_bytes(ReceiverTypeData::receiver_offset(c));
int real_count_offset = mdp_offset + in_bytes(ReceiverTypeData::receiver_count_offset(c));
int offset = base_receiver_offset + receiver_step*c;
int count_offset = offset + receiver_to_count_step;
assert(offset == real_recv_offset, "receiver slot math");
assert(count_offset == real_count_offset, "receiver count math");
}
int real_poly_count_offset = mdp_offset + in_bytes(CounterData::count_offset());
assert(poly_count_offset == real_poly_count_offset, "poly counter math");
#endif
// Corner case: no profile table. Increment poly counter and exit.
if (ReceiverTypeData::row_limit() == 0) {
increment(Address(mdp, poly_count_offset), DataLayout::counter_increment);
return;
}
Register offset = rscratch2;
Label L_loop_search_receiver, L_loop_search_empty;
Label L_restart, L_found_recv, L_found_empty, L_polymorphic, L_count_update;
// The code here recognizes three major cases:
// A. Fastest: receiver found in the table
// B. Fast: no receiver in the table, and the table is full
// C. Slow: no receiver in the table, free slots in the table
//
// The case A performance is most important, as perfectly-behaved code would end up
// there, especially with larger TypeProfileWidth. The case B performance is
// important as well, this is where bulk of code would land for normally megamorphic
// cases. The case C performance is not essential, its job is to deal with installation
// races, we optimize for code density instead. Case C needs to make sure that receiver
// rows are only claimed once. This makes sure we never overwrite a row for another
// receiver and never duplicate the receivers in the list, making profile type-accurate.
//
// It is very tempting to handle these cases in a single loop, and claim the first slot
// without checking the rest of the table. But, profiling code should tolerate free slots
// in the table, as class unloading can clear them. After such cleanup, the receiver
// we need might be _after_ the free slot. Therefore, we need to let at least full scan
// to complete, before trying to install new slots. Splitting the code in several tight
// loops also helpfully optimizes for cases A and B.
//
// This code is effectively:
//
// restart:
// // Fastest: receiver is already installed
// for (i = 0; i < receiver_count(); i++) {
// if (receiver(i) == recv) goto found_recv(i);
// }
//
// // Fast: no receiver, but profile is full
// for (i = 0; i < receiver_count(); i++) {
// if (receiver(i) == null) goto found_null(i);
// }
// goto polymorphic
//
// // Slow: try to install receiver
// found_null(i):
// CAS(&receiver(i), null, recv);
// goto restart
//
// polymorphic:
// count++;
// return
//
// found_recv(i):
// *receiver_count(i)++
//
bind(L_restart);
// Fastest: receiver is already installed
mov(offset, base_receiver_offset);
bind(L_loop_search_receiver);
ldr(rscratch1, Address(mdp, offset));
cmp(rscratch1, recv);
br(Assembler::EQ, L_found_recv);
add(offset, offset, receiver_step);
sub(rscratch1, offset, end_receiver_offset);
cbnz(rscratch1, L_loop_search_receiver);
// Fast: no receiver, but profile is full
mov(offset, base_receiver_offset);
bind(L_loop_search_empty);
ldr(rscratch1, Address(mdp, offset));
cbz(rscratch1, L_found_empty);
add(offset, offset, receiver_step);
sub(rscratch1, offset, end_receiver_offset);
cbnz(rscratch1, L_loop_search_empty);
b(L_polymorphic);
// Slow: try to install receiver
bind(L_found_empty);
// Atomically swing receiver slot: null -> recv.
//
// The update uses CAS, which clobbers rscratch1. Therefore, rscratch2
// is used to hold the destination address. This is safe because the
// offset is no longer needed after the address is computed.
lea(rscratch2, Address(mdp, offset));
cmpxchg(/*addr*/ rscratch2, /*expected*/ zr, /*new*/ recv, Assembler::xword,
/*acquire*/ false, /*release*/ false, /*weak*/ true, noreg);
// CAS success means the slot now has the receiver we want. CAS failure means
// something had claimed the slot concurrently: it can be the same receiver we want,
// or something else. Since this is a slow path, we can optimize for code density,
// and just restart the search from the beginning.
b(L_restart);
// Counter updates:
// Increment polymorphic counter instead of receiver slot.
bind(L_polymorphic);
mov(offset, poly_count_offset);
b(L_count_update);
// Found a receiver, convert its slot offset to corresponding count offset.
bind(L_found_recv);
add(offset, offset, receiver_to_count_step);
bind(L_count_update);
increment(Address(mdp, offset), DataLayout::counter_increment);
}
void MacroAssembler::call_VM_leaf_base(address entry_point,
int number_of_arguments,
Label *retaddr) {
@@ -5606,12 +5766,11 @@ void MacroAssembler::adrp(Register reg1, const Address &dest, uint64_t &byte_off
}
void MacroAssembler::load_byte_map_base(Register reg) {
CardTable::CardValue* byte_map_base =
((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base();
CardTableBarrierSet* ctbs = CardTableBarrierSet::barrier_set();
// Strictly speaking the byte_map_base isn't an address at all, and it might
// Strictly speaking the card table base isn't an address at all, and it might
// even be negative. It is thus materialised as a constant.
mov(reg, (uint64_t)byte_map_base);
mov(reg, (uint64_t)ctbs->card_table_base_const());
}
void MacroAssembler::build_frame(int framesize) {
@@ -5782,6 +5941,9 @@ address MacroAssembler::arrays_equals(Register a1, Register a2, Register tmp3,
// return false;
bind(A_IS_NOT_NULL);
ldrw(cnt1, Address(a1, length_offset));
ldrw(tmp5, Address(a2, length_offset));
cmp(cnt1, tmp5);
br(NE, DONE); // If lengths differ, return false
// Increase loop counter by diff between base- and actual start-offset.
addw(cnt1, cnt1, extra_length);
lea(a1, Address(a1, start_offset));
@@ -5848,6 +6010,9 @@ address MacroAssembler::arrays_equals(Register a1, Register a2, Register tmp3,
cbz(a1, DONE);
ldrw(cnt1, Address(a1, length_offset));
cbz(a2, DONE);
ldrw(tmp5, Address(a2, length_offset));
cmp(cnt1, tmp5);
br(NE, DONE); // If lengths differ, return false
// Increase loop counter by diff between base- and actual start-offset.
addw(cnt1, cnt1, extra_length);
@@ -6259,10 +6424,14 @@ void MacroAssembler::fill_words(Register base, Register cnt, Register value)
// Intrinsic for
//
// - sun/nio/cs/ISO_8859_1$Encoder.implEncodeISOArray
// return the number of characters copied.
// - java/lang/StringUTF16.compress
// return index of non-latin1 character if copy fails, otherwise 'len'.
// - sun.nio.cs.ISO_8859_1.Encoder#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
// Encodes char[] to byte[] in ISO-8859-1
//
// - java.lang.StringCoding#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
// Encodes byte[] (containing UTF-16) to byte[] in ISO-8859-1
//
// - java.lang.StringCoding#encodeAsciiArray0(char[] sa, int sp, byte[] da, int dp, int len)
// Encodes char[] to byte[] in ASCII
//
// This version always returns the number of characters copied, and does not
// clobber the 'len' register. A successful copy will complete with the post-
@@ -1122,6 +1122,8 @@ public:
Address argument_address(RegisterOrConstant arg_slot, int extra_slot_offset = 0);
void profile_receiver_type(Register recv, Register mdp, int mdp_offset);
void verify_sve_vector_length(Register tmp = rscratch1);
void reinitialize_ptrue() {
if (UseSVE > 0) {
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -133,7 +133,6 @@ void NativeMovConstReg::verify() {
intptr_t NativeMovConstReg::data() const {
// das(uint64_t(instruction_address()),2);
address addr = MacroAssembler::target_addr_for_insn(instruction_address());
if (maybe_cpool_ref(instruction_address())) {
return *(intptr_t*)addr;
@@ -144,6 +143,7 @@ intptr_t NativeMovConstReg::data() const {
void NativeMovConstReg::set_data(intptr_t x) {
if (maybe_cpool_ref(instruction_address())) {
MACOS_AARCH64_ONLY(os::thread_wx_enable_write());
address addr = MacroAssembler::target_addr_for_insn(instruction_address());
*(intptr_t*)addr = x;
} else {
@@ -350,8 +350,6 @@ bool NativeInstruction::is_stop() {
//-------------------------------------------------------------------
void NativeGeneralJump::verify() { }
// MT-safe patching of a long jump instruction.
void NativeGeneralJump::replace_mt_safe(address instr_addr, address code_buffer) {
ShouldNotCallThis();
+11 -10
View File
@@ -90,16 +90,18 @@ protected:
s_char sbyte_at(int offset) const { return *(s_char*)addr_at(offset); }
u_char ubyte_at(int offset) const { return *(u_char*)addr_at(offset); }
jint int_at(int offset) const { return *(jint*)addr_at(offset); }
juint uint_at(int offset) const { return *(juint*)addr_at(offset); }
address ptr_at(int offset) const { return *(address*)addr_at(offset); }
oop oop_at(int offset) const { return *(oop*)addr_at(offset); }
jint int_at(int offset) const { return *(jint*)addr_at(offset); }
juint uint_at(int offset) const { return *(juint*)addr_at(offset); }
address ptr_at(int offset) const { return *(address*)addr_at(offset); }
oop oop_at(int offset) const { return *(oop*)addr_at(offset); }
void set_char_at(int offset, char c) { *addr_at(offset) = (u_char)c; }
void set_int_at(int offset, jint i) { *(jint*)addr_at(offset) = i; }
void set_uint_at(int offset, jint i) { *(juint*)addr_at(offset) = i; }
void set_ptr_at(int offset, address ptr) { *(address*)addr_at(offset) = ptr; }
void set_oop_at(int offset, oop o) { *(oop*)addr_at(offset) = o; }
#define MACOS_WX_WRITE MACOS_AARCH64_ONLY(os::thread_wx_enable_write())
void set_char_at(int offset, char c) { MACOS_WX_WRITE; *addr_at(offset) = (u_char)c; }
void set_int_at(int offset, jint i) { MACOS_WX_WRITE; *(jint*)addr_at(offset) = i; }
void set_uint_at(int offset, jint i) { MACOS_WX_WRITE; *(juint*)addr_at(offset) = i; }
void set_ptr_at(int offset, address ptr) { MACOS_WX_WRITE; *(address*)addr_at(offset) = ptr; }
void set_oop_at(int offset, oop o) { MACOS_WX_WRITE; *(oop*)addr_at(offset) = o; }
#undef MACOS_WX_WRITE
void wrote(int offset);
@@ -380,7 +382,6 @@ public:
void set_jump_destination(address dest);
static void replace_mt_safe(address instr_addr, address code_buffer);
static void verify();
};
inline NativeGeneralJump* nativeGeneralJump_at(address address) {
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -722,22 +722,20 @@ void SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
// Class initialization barrier for static methods
entry_address[AdapterBlob::C2I_No_Clinit_Check] = nullptr;
if (VM_Version::supports_fast_class_init_checks()) {
Label L_skip_barrier;
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
Label L_skip_barrier;
{ // Bypass the barrier for non-static methods
__ ldrh(rscratch1, Address(rmethod, Method::access_flags_offset()));
__ andsw(zr, rscratch1, JVM_ACC_STATIC);
__ br(Assembler::EQ, L_skip_barrier); // non-static
}
// Bypass the barrier for non-static methods
__ ldrh(rscratch1, Address(rmethod, Method::access_flags_offset()));
__ andsw(zr, rscratch1, JVM_ACC_STATIC);
__ br(Assembler::EQ, L_skip_barrier); // non-static
__ load_method_holder(rscratch2, rmethod);
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
__ load_method_holder(rscratch2, rmethod);
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
__ bind(L_skip_barrier);
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
}
__ bind(L_skip_barrier);
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->c2i_entry_barrier(masm);
@@ -1508,7 +1506,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
// SVC, HVC, or SMC. Make it a NOP.
__ nop();
if (VM_Version::supports_fast_class_init_checks() && method->needs_clinit_barrier()) {
if (method->needs_clinit_barrier()) {
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
Label L_skip_barrier;
__ mov_metadata(rscratch2, method->method_holder()); // InstanceKlass*
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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
@@ -6081,14 +6081,18 @@ class StubGenerator: public StubCodeGenerator {
// static int implKyber12To16(
// byte[] condensed, int index, short[] parsed, int parsedLength) {}
//
// (parsedLength or (parsedLength - 48) must be divisible by 64.)
// we assume that parsed and condensed are allocated such that for
// n = (parsedLength + 63) / 64
// n blocks of 96 bytes of input can be processed, i.e.
// index + n * 96 <= condensed.length and
// n * 64 <= parsed.length
//
// condensed (byte[]) = c_rarg0
// condensedIndex = c_rarg1
// parsed (short[112 or 256]) = c_rarg2
// parsedLength (112 or 256) = c_rarg3
// parsed (short[]) = c_rarg2
// parsedLength = c_rarg3
address generate_kyber12To16() {
Label L_F00, L_loop, L_end;
Label L_F00, L_loop;
__ align(CodeEntryAlignment);
StubId stub_id = StubId::stubgen_kyber12To16_id;
@@ -6209,75 +6213,8 @@ class StubGenerator: public StubCodeGenerator {
vs_st2_post(vs_front(vb), __ T8H, parsed);
__ sub(parsedLength, parsedLength, 64);
__ cmp(parsedLength, (u1)64);
__ br(Assembler::GE, L_loop);
__ cbz(parsedLength, L_end);
// if anything is left it should be a final 72 bytes of input
// i.e. a final 48 12-bit values. so we handle this by loading
// 48 bytes into all 16B lanes of front(vin) and only 24
// bytes into the lower 8B lane of back(vin)
vs_ld3_post(vs_front(vin), __ T16B, condensed);
vs_ld3(vs_back(vin), __ T8B, condensed);
// Expand vin[0] into va[0:1], and vin[1] into va[2:3] and va[4:5]
// n.b. target elements 2 and 3 of va duplicate elements 4 and
// 5 and target element 2 of vb duplicates element 4.
__ ushll(va[0], __ T8H, vin[0], __ T8B, 0);
__ ushll2(va[1], __ T8H, vin[0], __ T16B, 0);
__ ushll(va[2], __ T8H, vin[1], __ T8B, 0);
__ ushll2(va[3], __ T8H, vin[1], __ T16B, 0);
__ ushll(va[4], __ T8H, vin[1], __ T8B, 0);
__ ushll2(va[5], __ T8H, vin[1], __ T16B, 0);
// This time expand just the lower 8 lanes
__ ushll(vb[0], __ T8H, vin[3], __ T8B, 0);
__ ushll(vb[2], __ T8H, vin[4], __ T8B, 0);
__ ushll(vb[4], __ T8H, vin[4], __ T8B, 0);
// shift lo byte of copy 1 of the middle stripe into the high byte
__ shl(va[2], __ T8H, va[2], 8);
__ shl(va[3], __ T8H, va[3], 8);
__ shl(vb[2], __ T8H, vb[2], 8);
// expand vin[2] into va[6:7] and lower 8 lanes of vin[5] into
// vb[6] pre-shifted by 4 to ensure top bits of the input 12-bit
// int are in bit positions [4..11].
__ ushll(va[6], __ T8H, vin[2], __ T8B, 4);
__ ushll2(va[7], __ T8H, vin[2], __ T16B, 4);
__ ushll(vb[6], __ T8H, vin[5], __ T8B, 4);
// mask hi 4 bits of each 1st 12-bit int in pair from copy1 and
// shift lo 4 bits of each 2nd 12-bit int in pair to bottom of
// copy2
__ andr(va[2], __ T16B, va[2], v31);
__ andr(va[3], __ T16B, va[3], v31);
__ ushr(va[4], __ T8H, va[4], 4);
__ ushr(va[5], __ T8H, va[5], 4);
__ andr(vb[2], __ T16B, vb[2], v31);
__ ushr(vb[4], __ T8H, vb[4], 4);
// sum hi 4 bits and lo 8 bits of each 1st 12-bit int in pair and
// hi 8 bits plus lo 4 bits of each 2nd 12-bit int in pair
// n.b. ordering ensures: i) inputs are consumed before they are
// overwritten ii) order of 16-bit results across succsessive
// pairs of vectors in va and then lower half of vb reflects order
// of corresponding 12-bit inputs
__ addv(va[0], __ T8H, va[0], va[2]);
__ addv(va[2], __ T8H, va[1], va[3]);
__ addv(va[1], __ T8H, va[4], va[6]);
__ addv(va[3], __ T8H, va[5], va[7]);
__ addv(vb[0], __ T8H, vb[0], vb[2]);
__ addv(vb[1], __ T8H, vb[4], vb[6]);
// store 48 results interleaved as shorts
vs_st2_post(vs_front(va), __ T8H, parsed);
vs_st2_post(vs_front(vs_front(vb)), __ T8H, parsed);
__ BIND(L_end);
__ cmp(parsedLength, (u1)0);
__ br(Assembler::GT, L_loop);
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ mov(r0, zr); // return 0
@@ -11805,7 +11742,9 @@ class StubGenerator: public StubCodeGenerator {
}
#endif
StubRoutines::_unsafe_setmemory = generate_unsafe_setmemory();
if (vmIntrinsics::is_intrinsic_available(vmIntrinsics::_setMemory)) {
StubRoutines::_unsafe_setmemory = generate_unsafe_setmemory();
}
StubRoutines::aarch64::set_completed(); // Inidicate that arraycopy and zero_blocks stubs are generated
}
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -2290,7 +2290,8 @@ void TemplateTable::resolve_cache_and_index_for_method(int byte_no,
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
// Class initialization barrier for static methods
if (VM_Version::supports_fast_class_init_checks() && bytecode() == Bytecodes::_invokestatic) {
if (bytecode() == Bytecodes::_invokestatic) {
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
__ br(Assembler::NE, L_clinit_barrier_slow);
__ ldr(temp, Address(Rcache, in_bytes(ResolvedMethodEntry::method_offset())));
__ load_method_holder(temp, temp);
@@ -2340,8 +2341,8 @@ void TemplateTable::resolve_cache_and_index_for_field(int byte_no,
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
// Class initialization barrier for static fields
if (VM_Version::supports_fast_class_init_checks() &&
(bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic)) {
if (bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic) {
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
const Register field_holder = temp;
__ br(Assembler::NE, L_clinit_barrier_slow);
@@ -3369,7 +3370,7 @@ void TemplateTable::invokevirtual_helper(Register index,
__ load_klass(r0, recv);
// profile this call
__ profile_virtual_call(r0, rlocals, r3);
__ profile_virtual_call(r0, rlocals);
// get target Method & entry point
__ lookup_virtual_method(r0, index, method);
@@ -3499,7 +3500,7 @@ void TemplateTable::invokeinterface(int byte_no) {
/*return_method=*/false);
// profile this call
__ profile_virtual_call(r3, r13, r19);
__ profile_virtual_call(r3, r13);
// Get declaring interface class from method, and itable index
+25 -19
View File
@@ -201,16 +201,14 @@ void VM_Version::initialize() {
}
}
// Cortex A53
if (_cpu == CPU_ARM && model_is(0xd03)) {
if (_cpu == CPU_ARM && model_is(CPU_MODEL_ARM_CORTEX_A53)) {
set_feature(CPU_A53MAC);
if (FLAG_IS_DEFAULT(UseSIMDForArrayEquals)) {
FLAG_SET_DEFAULT(UseSIMDForArrayEquals, false);
}
}
// Cortex A73
if (_cpu == CPU_ARM && model_is(0xd09)) {
if (_cpu == CPU_ARM && model_is(CPU_MODEL_ARM_CORTEX_A73)) {
if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance)) {
FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, -1);
}
@@ -220,16 +218,11 @@ void VM_Version::initialize() {
}
}
// Neoverse
// N1: 0xd0c
// N2: 0xd49
// N3: 0xd8e
// V1: 0xd40
// V2: 0xd4f
// V3: 0xd84
if (_cpu == CPU_ARM && (model_is(0xd0c) || model_is(0xd49) ||
model_is(0xd40) || model_is(0xd4f) ||
model_is(0xd8e) || model_is(0xd84))) {
if (_cpu == CPU_ARM &&
model_is_in({ CPU_MODEL_ARM_NEOVERSE_N1, CPU_MODEL_ARM_NEOVERSE_V1,
CPU_MODEL_ARM_NEOVERSE_N2, CPU_MODEL_ARM_NEOVERSE_V2,
CPU_MODEL_ARM_NEOVERSE_N3, CPU_MODEL_ARM_NEOVERSE_V3,
CPU_MODEL_ARM_NEOVERSE_V3AE })) {
if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) {
FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true);
}
@@ -261,12 +254,9 @@ void VM_Version::initialize() {
FLAG_SET_DEFAULT(UseCRC32, false);
}
// Neoverse
// V1: 0xd40
// V2: 0xd4f
// V3: 0xd84
if (_cpu == CPU_ARM &&
(model_is(0xd40) || model_is(0xd4f) || model_is(0xd84))) {
model_is_in({ CPU_MODEL_ARM_NEOVERSE_V1, CPU_MODEL_ARM_NEOVERSE_V2,
CPU_MODEL_ARM_NEOVERSE_V3, CPU_MODEL_ARM_NEOVERSE_V3AE })) {
if (FLAG_IS_DEFAULT(UseCryptoPmullForCRC32)) {
FLAG_SET_DEFAULT(UseCryptoPmullForCRC32, true);
}
@@ -632,6 +622,22 @@ void VM_Version::initialize() {
check_virtualizations();
#ifdef __APPLE__
DefaultWXWriteMode = UseOldWX ? WXWrite : WXArmedForWrite;
if (TraceWXHealing) {
if (pthread_jit_write_protect_supported_np()) {
tty->print_cr("### TraceWXHealing is in use");
if (StressWXHealing) {
tty->print_cr("### StressWXHealing is in use");
}
} else {
tty->print_cr("WX Healing is not in use because MAP_JIT write protection "
"does not work on this system.");
}
}
#endif
// Sync SVE related CPU features with flags
if (UseSVE < 2) {
clear_feature(CPU_SVE2);
+25 -2
View File
@@ -30,6 +30,8 @@
#include "runtime/abstract_vm_version.hpp"
#include "utilities/sizes.hpp"
#include <initializer_list>
class stringStream;
#define BIT_MASK(flag) (1ULL<<(flag))
@@ -112,14 +114,26 @@ public:
CPU_APPLE = 'a',
};
enum Ampere_CPU_Model {
enum Ampere_CPU_Model {
CPU_MODEL_EMAG = 0x0, /* CPU implementer is CPU_AMCC */
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_1B = 0xac5 /* AMPERE_1B core Implements ARMv8.7 with CSSC, MTE, SM3/SM4 extensions */
};
};
enum ARM_CPU_Model {
CPU_MODEL_ARM_CORTEX_A53 = 0xd03,
CPU_MODEL_ARM_CORTEX_A73 = 0xd09,
CPU_MODEL_ARM_NEOVERSE_N1 = 0xd0c,
CPU_MODEL_ARM_NEOVERSE_V1 = 0xd40,
CPU_MODEL_ARM_NEOVERSE_N2 = 0xd49,
CPU_MODEL_ARM_NEOVERSE_V2 = 0xd4f,
CPU_MODEL_ARM_NEOVERSE_V3AE = 0xd83,
CPU_MODEL_ARM_NEOVERSE_V3 = 0xd84,
CPU_MODEL_ARM_NEOVERSE_N3 = 0xd8e,
};
#define CPU_FEATURE_FLAGS(decl) \
decl(FP, fp, 0) \
@@ -181,6 +195,15 @@ enum Ampere_CPU_Model {
return _model == cpu_model || _model2 == cpu_model;
}
static bool model_is_in(std::initializer_list<int> cpu_models) {
for (const int& cpu_model : cpu_models) {
if (_model == cpu_model || _model2 == cpu_model) {
return true;
}
}
return false;
}
static bool is_zva_enabled() { return 0 <= _zva_length; }
static int zva_length() {
assert(is_zva_enabled(), "ZVA not available");
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

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