From asmehra at openjdk.org Fri Jul 4 20:35:46 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 4 Jul 2025 20:35:46 GMT Subject: RFR: Store cpu features in AOTCodeCache header Message-ID: This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. I came across this when I did the assembly run with -XX:UseAVX=0 option. ------------- Commit messages: - Store cpu features in AOTCodeCache header Changes: https://git.openjdk.org/leyden/pull/84/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=00 Stats: 330 lines in 8 files changed: 227 ins; 1 del; 102 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Sat Jul 5 04:01:53 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Sat, 5 Jul 2025 04:01:53 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Fri, 4 Jul 2025 20:30:45 GMT, Ashutosh Mehra wrote: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. @vnkozlov @adinn please take a look ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3037866186 From mr at openjdk.org Mon Jul 7 13:06:39 2025 From: mr at openjdk.org (Mark Reinhold) Date: Mon, 7 Jul 2025 13:06:39 GMT Subject: git: openjdk/leyden-docs: master: Add link to Dan =?UTF-8?B?SGVpZGluZ2HigJlz?= JavaOne 2025 presentation Message-ID: Changeset: f9cec367 Branch: master Author: Mark Reinhold Date: 2025-07-07 09:03:23 +0000 URL: https://git.openjdk.org/leyden-docs/commit/f9cec3679fa175619b453f6ecf63ec274c0f35ac Add link to Dan Heidinga?s JavaOne 2025 presentation ! site/_index.md From jkratochvil at openjdk.org Mon Jul 7 13:25:57 2025 From: jkratochvil at openjdk.org (Jan Kratochvil) Date: Mon, 7 Jul 2025 13:25:57 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Fri, 4 Jul 2025 20:30:45 GMT, Ashutosh Mehra wrote: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. CRaC project has [a similar feature](https://docs.azul.com/core/crac/cpu-features). In comparison here I miss here some command line option to disable this comparison (`-XX:CPUFeatures=ignore`) as one may find some missing CPU feature not really important to run the restored code. It is intended more for debugging/development. src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 797: > 795: bool VM_Version::supports_features(void* features_buffer) { > 796: uint64_t features_to_test = *(uint64_t*)features_buffer; > 797: return (_features & features_to_test) == features_to_test; Here you test whether the new machine has at least the same CPU features as the old (stored) machine. From our experience from [CRaC](https://docs.azul.com/core/crac/cpu-features) one should rather compare the features are equal. As some features presence affect ABI of the JIT-compiled code and if the new machine has such CPU features the newly JITted code will be incompatible with ABI of the stored code cache. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3045116578 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2190092045 From adinn at openjdk.org Mon Jul 7 13:48:04 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Mon, 7 Jul 2025 13:48:04 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> On Mon, 7 Jul 2025 13:21:27 GMT, Jan Kratochvil wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 797: > >> 795: bool VM_Version::supports_features(void* features_buffer) { >> 796: uint64_t features_to_test = *(uint64_t*)features_buffer; >> 797: return (_features & features_to_test) == features_to_test; > > Here you test whether the new machine has at least the same CPU features as the old (stored) machine. From our experience from [CRaC](https://docs.azul.com/core/crac/cpu-features) one should rather compare the features are equal. As some features presence affect ABI of the JIT-compiled code and if the new machine has such CPU features the newly JITted code will be incompatible with ABI of the stored code cache. Could you provide more detail about your statement "some features presence affect ABI of the JIT-compiled code"? ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2190167120 From jkratochvil at openjdk.org Mon Jul 7 16:21:07 2025 From: jkratochvil at openjdk.org (Jan Kratochvil) Date: Mon, 7 Jul 2025 16:21:07 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Mon, 7 Jul 2025 13:45:27 GMT, Andrew Dinn wrote: >> src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 797: >> >>> 795: bool VM_Version::supports_features(void* features_buffer) { >>> 796: uint64_t features_to_test = *(uint64_t*)features_buffer; >>> 797: return (_features & features_to_test) == features_to_test; >> >> Here you test whether the new machine has at least the same CPU features as the old (stored) machine. From our experience from [CRaC](https://docs.azul.com/core/crac/cpu-features) one should rather compare the features are equal. As some features presence affect ABI of the JIT-compiled code and if the new machine has such CPU features the newly JITted code will be incompatible with ABI of the stored code cache. > > Could you provide more detail about your statement "some features presence affect ABI of the JIT-compiled code"? Simply said if you store the compiled Java code on old CPU (almost no features) and then run it on new CPU (full features) then it will crash. It crashes when a newly compiled code calls the restored code or vice versa. If you disagree I can try to reproduce with Leyden, it was happening with CRaC. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2190526357 From asmehra at openjdk.org Mon Jul 7 16:51:04 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 7 Jul 2025 16:51:04 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Mon, 7 Jul 2025 16:18:05 GMT, Jan Kratochvil wrote: >> Could you provide more detail about your statement "some features presence affect ABI of the JIT-compiled code"? > > Simply said if you store the compiled Java code on old CPU (almost no features) and then run it on new CPU (full features) then it will crash. It crashes when a newly compiled code calls the restored code or vice versa. If you disagree I can try to reproduce with Leyden, it was happening with CRaC. @jankratochvil thanks for sharing your experience. It would be great if you can provide a reproducer. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2190621128 From duke at openjdk.org Mon Jul 7 17:03:33 2025 From: duke at openjdk.org (duke) Date: Mon, 7 Jul 2025 17:03:33 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 83 new changesets Message-ID: <6d0a545e-a12a-4b69-b132-7067f3448c2a@openjdk.org> Changeset: 1dda79cf Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-06-30 17:51:20 +0000 URL: https://git.openjdk.org/leyden/commit/1dda79cfab597782e0a7bb63af6dcc30aeff62d1 8360743: Enables regeneration of JLI holder classes for CDS static dump Reviewed-by: iklam, liach ! src/hotspot/share/cds/aotArtifactFinder.cpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/regeneratedClasses.cpp ! src/hotspot/share/cds/regeneratedClasses.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestHostOldInf.java Changeset: 9d518b32 Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-06-30 17:52:28 +0000 URL: https://git.openjdk.org/leyden/commit/9d518b3213af7c60cb604138a2c4022181bb2daa 8310831: Some methods are missing from CDS regenerated JLI holder class Reviewed-by: iklam, liach ! src/hotspot/share/cds/regeneratedClasses.cpp Changeset: 61a590e9 Branch: hermetic-java-runtime Author: Xueming Shen Date: 2025-07-01 00:58:43 +0000 URL: https://git.openjdk.org/leyden/commit/61a590e9bea64ddfd465a5e6f224bc2979d841e9 8354490: Pattern.CANON_EQ causes a pattern to not match a string with a UNICODE variation Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d1052c70 Branch: hermetic-java-runtime Author: Anass Baya Committer: Abhishek Kumar Date: 2025-07-01 04:40:43 +0000 URL: https://git.openjdk.org/leyden/commit/d1052c70cbddb025e7f5b71bd61176e63277bba0 8355478: DoubleActionESC.java fails intermittently Reviewed-by: aivanov, abhiscxk ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FileDialog/DoubleActionESC.java Changeset: 0572b6ec Branch: hermetic-java-runtime Author: Martin Doerr Date: 2025-07-01 06:09:50 +0000 URL: https://git.openjdk.org/leyden/commit/0572b6ece7a77d13d23ac0c6d72d4fe5d5f0d944 8360887: (fs) Files.getFileAttributeView returns unusable FileAttributeView if UserDefinedFileAttributeView unavailable (aix) Co-authored-by: Joachim Kern Reviewed-by: bpb, mbaesken ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: b32ccf2c Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-07-01 06:47:48 +0000 URL: https://git.openjdk.org/leyden/commit/b32ccf2cb23e0180187f4238140583a923fc27c4 8361092: Remove trailing spaces in x86 ad files Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/x86_64.ad Changeset: cd6caedd Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-01 07:58:12 +0000 URL: https://git.openjdk.org/leyden/commit/cd6caedd0a3c9ebd4c8c57e64f62b60161c5cd7c 8360783: CTW: Skip deoptimization between tiers Reviewed-by: thartmann, mhaessig, dfenacci ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java Changeset: 54c95cf2 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-01 09:19:35 +0000 URL: https://git.openjdk.org/leyden/commit/54c95cf2261f871c47b3700ede31390c8f5e77dd 8361043: [ubsan] os::print_hex_dump runtime error: applying non-zero offset 8 to null pointer Reviewed-by: mdoerr, lucy ! src/hotspot/share/runtime/os.cpp Changeset: aeca49e4 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-01 09:56:42 +0000 URL: https://git.openjdk.org/leyden/commit/aeca49e43fab951c2031895fee32703fb4a19524 8360791: [ubsan] Adjust signal handling Reviewed-by: ihse, lucy ! make/data/ubsan/ubsan_default_options.c Changeset: fc739fee Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-01 10:13:17 +0000 URL: https://git.openjdk.org/leyden/commit/fc739fee5360ec052c2b51b3e30ce1c34df71714 8360206: Refactor ReferenceProcessor::balance_queues Reviewed-by: sangheki, kbarrett, tschatzl ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: eec11539 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-01 10:14:25 +0000 URL: https://git.openjdk.org/leyden/commit/eec1153993a2a6e65b05e6d9d7416ee0cb634503 8361056: Parallel: Use correct is_par argument in ScavengeRootsTask Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psScavenge.cpp Changeset: e85c7d09 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-01 10:40:33 +0000 URL: https://git.openjdk.org/leyden/commit/e85c7d09df67728ddcf852a96e5b2baa57c502f1 8360790: G1: Improve HRRSStatsIter name Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp Changeset: 7583a7b8 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-07-01 11:39:20 +0000 URL: https://git.openjdk.org/leyden/commit/7583a7b857da053c5e3770b680ab3494f1a6b66a 8359337: XML/JAXP tests that make network connections should ensure that no proxy is selected Reviewed-by: lancea, iris, joehw ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/catalog/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/dtd/SAXTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/DOMFeatureTest.java Changeset: e1382973 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-01 14:30:20 +0000 URL: https://git.openjdk.org/leyden/commit/e138297323de3f6990c4c536b1cefd209ce3a69c 8359436: AOTCompileEagerly should not be diagnostic Reviewed-by: kvn, syan, dholmes ! src/hotspot/share/cds/cds_globals.hpp + test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTCompileEagerly.java Changeset: e1681c48 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-07-01 15:32:26 +0000 URL: https://git.openjdk.org/leyden/commit/e1681c48287bcce6c8f617d9c0c25354dd62870a 8359477: com/sun/net/httpserver/Test12.java appears to have a temp file race Reviewed-by: dfuchs, vyazici ! test/jdk/com/sun/net/httpserver/FileServerHandler.java ! test/jdk/com/sun/net/httpserver/Test12.java Changeset: 38f59f84 Branch: hermetic-java-runtime Author: Mohamed Issa Committer: Sandhya Viswanathan Date: 2025-07-01 15:34:37 +0000 URL: https://git.openjdk.org/leyden/commit/38f59f84c98dfd974eec0c05541b2138b149def7 8358179: Performance regression in Math.cbrt Reviewed-by: sviswanathan, sparasa, epeter ! src/hotspot/cpu/x86/stubGenerator_x86_64_cbrt.cpp Changeset: e7a45003 Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-07-01 17:14:36 +0000 URL: https://git.openjdk.org/leyden/commit/e7a450038a47a76d2e616ebce2a7fa8a51e36ea4 8359707: Add classfile modification code to RedefineClassHelper Reviewed-by: lmesnik, dholmes, sspitsyn ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ClassVersionAfterRedefine.java ! test/lib/RedefineClassHelper.java Changeset: 282ee40a Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-07-01 17:22:33 +0000 URL: https://git.openjdk.org/leyden/commit/282ee40a56af46521b94fe6e4c90e78b8f513b29 8359366: RunThese30M.java EXCEPTION_ACCESS_VIOLATION in JvmtiBreakpoints::clearall_in_class_at_safepoint Reviewed-by: coleenp, dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 13a39278 Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-07-01 19:07:49 +0000 URL: https://git.openjdk.org/leyden/commit/13a3927855da61fe27f3b43e5e4755d0c5ac5a16 8359870: JVM crashes in AccessInternal::PostRuntimeDispatch Reviewed-by: amenkov, dholmes, sspitsyn ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/services/threadService.cpp ! src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java ! src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: e9a62d79 Branch: hermetic-java-runtime Author: Daniel Jeli?ski Date: 2025-07-01 19:19:25 +0000 URL: https://git.openjdk.org/leyden/commit/e9a62d79cdc43e5eb141f1d47624d0f6fe05989d 8361125: Fix typo in onTradAbsence Reviewed-by: hchao, mullan, shade ! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLExtension.java ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java Changeset: 534d2b33 Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-07-01 19:52:06 +0000 URL: https://git.openjdk.org/leyden/commit/534d2b33dc23d0171fdce3cb89d679d5088b4667 8357064: cds/appcds/ArchiveRelocationTest.java failed with missing expected output Reviewed-by: shade, iklam ! test/hotspot/jtreg/runtime/cds/appcds/ArchiveRelocationTest.java Changeset: 7d7e60c8 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-01 20:22:13 +0000 URL: https://git.openjdk.org/leyden/commit/7d7e60c8aebc4b4c1e7121be702393e5bc46e9ce 8360164: AOT cache creation crashes in ~ThreadTotalCPUTimeClosure() Reviewed-by: ccheung, kvn, dholmes ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: a910b20b Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-02 00:17:19 +0000 URL: https://git.openjdk.org/leyden/commit/a910b20b51157d8f36418bd60b328193ebfb502e 8346914: UB issue in scalbnA Reviewed-by: aph, tschatzl ! src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ! src/hotspot/share/runtime/sharedRuntimeMath.hpp ! src/hotspot/share/runtime/sharedRuntimeTrans.cpp ! src/hotspot/share/runtime/sharedRuntimeTrig.cpp Changeset: 1703915d Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-02 00:25:26 +0000 URL: https://git.openjdk.org/leyden/commit/1703915d3fe3608ca558671814f78d9dcf5886e6 8361085: MemoryReserver log_on_large_pages_failure has incorrect format usage Reviewed-by: stefank, dholmes ! src/hotspot/share/memory/memoryReserver.cpp Changeset: c6448dc3 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-02 00:28:24 +0000 URL: https://git.openjdk.org/leyden/commit/c6448dc3afb1da9d93bb94804aa1971a650b91b7 8361086: JVMCIGlobals::check_jvmci_flags_are_consistent has incorrect format string Reviewed-by: kvn, mhaessig, yzheng ! src/hotspot/share/jvmci/jvmci_globals.cpp Changeset: 2bff8e0a Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-07-02 03:07:07 +0000 URL: https://git.openjdk.org/leyden/commit/2bff8e0a1382f8820bc2479af87e45dc6b74cdb5 8360462: [macosx] row selection not working with Ctrl+Shift+Down/Up in AquaL&F Reviewed-by: dnguyen, abhiscxk ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java + test/jdk/javax/swing/JTree/TestTreeRowSelection.java Changeset: 055d2ffa Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-02 04:24:55 +0000 URL: https://git.openjdk.org/leyden/commit/055d2ffa69e129b7617369e268f272517f25e2d7 8361215: Add AOT test case: verification constraint classes are excluded Reviewed-by: ccheung ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/ExcludedClasses.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: 1ac74898 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-02 05:38:28 +0000 URL: https://git.openjdk.org/leyden/commit/1ac74898745ce9b109db5571d9dcbd907dd05831 8361180: Disable CompiledDirectCall verification with -VerifyInlineCaches Reviewed-by: kvn, thartmann ! src/hotspot/share/code/compiledIC.hpp Changeset: 0f1cd987 Branch: hermetic-java-runtime Author: Anton Artemov Committer: David Holmes Date: 2025-07-02 06:49:36 +0000 URL: https://git.openjdk.org/leyden/commit/0f1cd987b3520eaeab31e9faf782d6f81050803a 8284016: Normalize handshake closure names Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/prims/scopedMemoryAccess.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/escapeBarrier.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/javaThread.inline.hpp ! src/hotspot/share/runtime/suspendResumeManager.cpp ! src/hotspot/share/runtime/suspendResumeManager.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/threadService.cpp Changeset: 2304044a Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-07-02 08:35:51 +0000 URL: https://git.openjdk.org/leyden/commit/2304044ab2f228fe2fe4adb5975291e733b12d5c 8360641: TestCompilerCounts fails after 8354727 Reviewed-by: kvn, dfenacci, mdoerr ! test/hotspot/jtreg/compiler/arguments/TestCompilerCounts.java Changeset: eac8f5d2 Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Daniel Lund?n Date: 2025-07-02 08:38:31 +0000 URL: https://git.openjdk.org/leyden/commit/eac8f5d2c99e1bcc526da0f6a05af76e815c2db9 8325478: Restructure the macro expansion compiler phase to not include macro elimination Reviewed-by: kvn, dlunden ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/utils/IdealGraphVisualizer/README.md ! test/hotspot/jtreg/compiler/arguments/TestStressOptions.java ! test/hotspot/jtreg/compiler/debug/TestGenerateStressSeed.java ! test/hotspot/jtreg/compiler/debug/TestStress.java ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: ce998699 Branch: hermetic-java-runtime Author: Taizo Kurashige Committer: Manuel H?ssig Date: 2025-07-02 09:21:57 +0000 URL: https://git.openjdk.org/leyden/commit/ce9986991d60e116ac6680a1b6a4b3ee5384d105 8359120: Improve warning message when fail to load hsdis library Reviewed-by: mhaessig, thartmann ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/abstractDisassembler.cpp Changeset: 3066a67e Branch: hermetic-java-runtime Author: Ashutosh Mehra Date: 2025-07-02 13:25:00 +0000 URL: https://git.openjdk.org/leyden/commit/3066a67e6279f7e3896ab545bc6c291d279d2b03 8361101: AOTCodeAddressTable::_stubs_addr not initialized/freed properly Reviewed-by: kvn, shade ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp Changeset: 832bfbc0 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-02 13:39:16 +0000 URL: https://git.openjdk.org/leyden/commit/832bfbc0ddcf3068bab5d45d361803152736383f 8338474: Parallel: Deprecate and obsolete PSChunkLargeArrays Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 549b8758 Branch: hermetic-java-runtime Author: Joe Darcy Date: 2025-07-02 15:24:29 +0000 URL: https://git.openjdk.org/leyden/commit/549b8758661e760a7475fb398fd5b036e561fed6 8361112: Use exact float -> Float16 conversion method in Float16 tests Reviewed-by: liach, rgiulietti ! test/jdk/jdk/incubator/vector/BasicFloat16ArithTests.java Changeset: c460f842 Branch: hermetic-java-runtime Author: Martin Doerr Date: 2025-07-02 15:31:29 +0000 URL: https://git.openjdk.org/leyden/commit/c460f842bf768995b271cd6362940877a4a79665 8361183: JDK-8360887 needs fixes to avoid cycles and better tests (aix) Co-authored-by: Alan Bateman Reviewed-by: alanb, jkern ! src/java.base/aix/classes/sun/nio/fs/AixFileSystemProvider.java ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: c5037059 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-07-02 17:16:12 +0000 URL: https://git.openjdk.org/leyden/commit/c50370599e40bfaeccba9aa6b28da661129f9450 8360090: [TEST] RISC-V: disable some cds tests on qemu Reviewed-by: lmesnik, rehn ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/runtime/cds/TestDefaultArchiveLoading.java ! test/hotspot/jtreg/runtime/cds/appcds/TestDumpClassListSource.java ! test/hotspot/jtreg/runtime/cds/appcds/TransformInterfaceOfLambda.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestAutoCreateSharedArchiveNoDefaultArchive.java ! test/jtreg-ext/requires/VMProps.java Changeset: 5e30bf68 Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-07-02 17:47:20 +0000 URL: https://git.openjdk.org/leyden/commit/5e30bf68353d989aadc2d8176181226b2debd283 8360116: Add support for AVX10 floating point minmax instruction Reviewed-by: mhaessig, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: ea86a20e Branch: hermetic-java-runtime Author: Yudi Zheng Date: 2025-07-02 18:38:31 +0000 URL: https://git.openjdk.org/leyden/commit/ea86a20e6d74baea54df32415d9096d3b7bba1d7 8357424: [JVMCI] Avoid incrementing decompilation count for hosted compiled nmethod Reviewed-by: dnsimon, never, cslucas ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 74822ce1 Branch: hermetic-java-runtime Author: Boris Ulasevich Date: 2025-07-02 21:15:46 +0000 URL: https://git.openjdk.org/leyden/commit/74822ce12acaf9816aa49b75ab5817ced3710776 8358183: [JVMCI] crash accessing nmethod::jvmci_name in CodeCache::aggregate Reviewed-by: eastigeevich, phh ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/nmethod.cpp Changeset: 1926aeb1 Branch: hermetic-java-runtime Author: Takuya Kiriyama Date: 2025-07-03 06:47:11 +0000 URL: https://git.openjdk.org/leyden/commit/1926aeb1a3b39cf2e4ea48f4c489cd023b5aa77d 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java Reviewed-by: rriggs + test/jdk/java/lang/RuntimeTests/ExitLogging-ALL.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-FINER.properties ! test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-OFF.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-SEVERE.properties + test/jdk/java/lang/RuntimeTests/ExitLogging-WARNING.properties ! test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java Changeset: 6c9236c8 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-03 06:59:00 +0000 URL: https://git.openjdk.org/leyden/commit/6c9236c80c236487a7c37dcb947c0f9192322208 8361238: G1 tries to get CPU info from terminated threads at shutdown Reviewed-by: kbarrett, sangheki ! src/hotspot/share/runtime/java.cpp Changeset: fd13e1ce Branch: hermetic-java-runtime Author: Jan Lahoda Date: 2025-07-03 07:17:59 +0000 URL: https://git.openjdk.org/leyden/commit/fd13e1ce9805a903ab60ad9b476eb5a6687d22ee 8358801: javac produces class that does not pass verifier. Reviewed-by: mcimadamore, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java + test/langtools/tools/javac/patterns/T8358801.java Changeset: c75df634 Branch: hermetic-java-runtime Author: Beno?t Maillard Committer: Emanuel Peter Date: 2025-07-03 07:28:11 +0000 URL: https://git.openjdk.org/leyden/commit/c75df634be9a0073fa246d42e5c362a09f1734f3 8359602: Ideal optimizations depending on input type are missed because of missing notification mechanism from CCP Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestModControlFoldedAfterCCP.java Changeset: 2f683fdc Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-07-03 08:03:55 +0000 URL: https://git.openjdk.org/leyden/commit/2f683fdc4a8f9c227e878b0d7fca645fc8abe1b6 8361037: [ubsan] compiler/c2/irTests/TestFloat16ScalarOperations division by 0 Reviewed-by: mhaessig, sviswanathan ! src/hotspot/share/opto/divnode.cpp Changeset: 1be29bd7 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-07-03 09:32:09 +0000 URL: https://git.openjdk.org/leyden/commit/1be29bd725a4642b841c60c19f2f7f689a360831 8361060: Keep track of the origin server against which a jdk.internal.net.http.HttpConnection was constructed Reviewed-by: dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/AbstractAsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java + src/java.net.http/share/classes/jdk/internal/net/http/Origin.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainProxyConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java + test/jdk/java/net/httpclient/OriginTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java Changeset: 2528c620 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-03 11:35:54 +0000 URL: https://git.openjdk.org/leyden/commit/2528c620a61195ac22d921b168444a7967bf1805 8361198: [AIX] fix misleading error output in thread_cpu_time_unchecked Reviewed-by: mdoerr, azeller ! src/hotspot/os/aix/os_aix.cpp Changeset: 5e40fb6b Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-03 11:43:35 +0000 URL: https://git.openjdk.org/leyden/commit/5e40fb6bda1d56e3eba584b49aa0b68096b34169 8277394: Remove the use of safepoint_workers in reference processor Co-authored-by: Albert Mingkun Yang Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 24117c6e Branch: hermetic-java-runtime Author: Rajat Mahajan Committer: Alexey Ivanov Date: 2025-07-03 14:24:52 +0000 URL: https://git.openjdk.org/leyden/commit/24117c6e9aa862bad839e93eff70810a75605ac5 8349188: LineBorder does not scale correctly Co-authored-by: Alexey Ivanov Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/javax/swing/border/LineBorder.java ! test/jdk/javax/swing/border/LineBorder/ScaledLineBorderTest.java ! test/jdk/javax/swing/border/LineBorder/ScaledTextFieldBorderTest.java Changeset: 3daa03c3 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-03 15:31:34 +0000 URL: https://git.openjdk.org/leyden/commit/3daa03c30f8e6ab9c498edb7d59346ce0b30450f 8358680: AOT cache creation fails: no strings should have been added Co-authored-by: Aleksey Shipilev Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 66836d40 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-03 16:52:19 +0000 URL: https://git.openjdk.org/leyden/commit/66836d40b80f9c5482c1322d1d07f078ad9dcc02 8361292: Rename ModuleEntry::module() to module_oop() Reviewed-by: coleenp, ccheung, sspitsyn ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/jfr/jni/jfrUpcalls.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: a2315ddd Branch: hermetic-java-runtime Author: Evgeny Nikitin Committer: Leonid Mesnik Date: 2025-07-03 16:58:30 +0000 URL: https://git.openjdk.org/leyden/commit/a2315ddd2a343ed594dd1b0b3d0dc5b3a71f509b 8357739: [jittester] disable the hashCode method Reviewed-by: lmesnik ! test/hotspot/jtreg/testlibrary/jittester/conf/exclude.methods.lst + test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/MethodTemplate.java ! test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/TypesParser.java + test/lib-test/jdk/test/lib/jittester/MethodTemplateTest.java Changeset: 25ed36f3 Branch: hermetic-java-runtime Author: Archie Cobbs Date: 2025-07-03 18:13:07 +0000 URL: https://git.openjdk.org/leyden/commit/25ed36f3ef1fe1d6914689c762910f104775f48c 8359493: Refactor how aggregated mandatory warnings are handled in the compiler 8350514: Refactor MandatoryWarningHandler to support dynamic verbosity Reviewed-by: mcimadamore ! make/langtools/tools/propertiesparser/gen/ClassGenerator.java ! make/langtools/tools/propertiesparser/parser/Message.java ! make/langtools/tools/propertiesparser/parser/MessageLine.java ! make/langtools/tools/propertiesparser/resources/templates.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/MemoryContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java - src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java + src/jdk.compiler/share/classes/com/sun/tools/javac/util/WarningAggregator.java Changeset: 2d9f0324 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-07-03 18:53:59 +0000 URL: https://git.openjdk.org/leyden/commit/2d9f0324ba21adf216649339c48e49b9cd1e33ff 8360028: (fs) Path.relativize throws StringIndexOutOfBoundsException (win) Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java Changeset: 003be0de Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-07-03 19:40:22 +0000 URL: https://git.openjdk.org/leyden/commit/003be0dee2f6c190697ec0a923546362c50cc0e5 8361325: Refactor ClassLoaderExt Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsProtectionDomain.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp - src/hotspot/share/classfile/classLoaderExt.cpp - src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp Changeset: dcc7254a Branch: hermetic-java-runtime Author: Eric Caspole Date: 2025-07-03 19:43:30 +0000 URL: https://git.openjdk.org/leyden/commit/dcc7254a38bb0fecacd7683682d4c42e49335222 8361213: J2DAnalyzer should emit the score as a decimal Reviewed-by: prr ! src/demo/share/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java Changeset: 77e69e02 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-03 20:01:33 +0000 URL: https://git.openjdk.org/leyden/commit/77e69e02ebd280636859dd698423db6ac3bc7f5c 8358750: JFR: EventInstrumentation MASK_THROTTLE* constants should be computed in longs Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! test/jdk/jdk/jfr/api/metadata/annotations/TestThrottle.java Changeset: 566279af Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-03 20:49:05 +0000 URL: https://git.openjdk.org/leyden/commit/566279af49a7cf47e6030222e989417855caf1a9 8360022: ClassRefDupInConstantPoolTest.java fails when running in repeat Reviewed-by: vromero ! test/langtools/tools/javac/jvm/ClassRefDupInConstantPoolTest.java Changeset: da0a51ce Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-03 21:02:28 +0000 URL: https://git.openjdk.org/leyden/commit/da0a51ce97453a47b2c7d11e5206774232309e69 8357601: Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays Reviewed-by: coleenp, jsjolen ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/guardedMemory.hpp ! src/hotspot/share/prims/jniCheck.cpp + test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java + test/hotspot/jtreg/runtime/jni/checked/libCharArrayReleasing.c Changeset: 16af4733 Branch: hermetic-java-runtime Author: Manukumar V S Committer: Phil Race Date: 2025-07-03 22:32:23 +0000 URL: https://git.openjdk.org/leyden/commit/16af473397a7b3a6e6e33dd684d0d511168b989b 8361115: javax/swing/JComboBox/bug4276920.java unnecessarily throws Error instead of RuntimeException Reviewed-by: prr ! test/jdk/javax/swing/JComboBox/bug4276920.java Changeset: 854de8c9 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-03 23:54:05 +0000 URL: https://git.openjdk.org/leyden/commit/854de8c9c6a1d851c1788e5f2250fe0928c51ca4 8336147: Clarify CDS documentation about static vs dynamic archive Reviewed-by: ccheung, shade ! src/java.base/share/man/java.md Changeset: 21f2e9a7 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-04 04:08:42 +0000 URL: https://git.openjdk.org/leyden/commit/21f2e9a71c31320a8b1248e3970a82b871c63c2b 8344332: (bf) Migrate DirectByteBuffer away from jdk.internal.ref.Cleaner Reviewed-by: rriggs, bchristi ! src/java.base/share/classes/java/nio/Bits.java + src/java.base/share/classes/java/nio/BufferCleaner.java ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + src/java.base/share/classes/sun/nio/Cleaner.java ! src/java.base/share/classes/sun/nio/ch/DirectBuffer.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferChurn.java + test/micro/org/openjdk/bench/java/nio/DirectByteBufferGC.java Changeset: 5cf349c3 Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-07-04 07:37:20 +0000 URL: https://git.openjdk.org/leyden/commit/5cf349c3b08324e994a4143dcc34a59fd81323f9 8361355: Negative cases of Annotated.getAnnotationData implementations are broken Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 56ebb8c1 Branch: hermetic-java-runtime Author: Jonas Norlinder Committer: Thomas Schatzl Date: 2025-07-04 10:16:55 +0000 URL: https://git.openjdk.org/leyden/commit/56ebb8c1b936e5a4c14486153c9f60df705095ad 8359110: Log accumulated GC and process CPU time upon VM exit Co-authored-by: Erik ?sterlund Co-authored-by: Jonas Norlinder Reviewed-by: tschatzl, ayang ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.hpp + src/hotspot/share/gc/shared/vmThreadCpuTimeScope.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: fba74f79 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-07-04 12:19:24 +0000 URL: https://git.openjdk.org/leyden/commit/fba74f796eeeb42accc60ecab444c3d933b73e70 8361306: jdk.compiler-gendata needs to depend on java.base-launchers Reviewed-by: shade ! make/Main.gmk Changeset: f153e415 Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-07-04 13:06:36 +0000 URL: https://git.openjdk.org/leyden/commit/f153e415d740f4ede272929171e9bb3e73ddbe1c 8361253: CommandLineOptionTest library should report observed values on failure Reviewed-by: dholmes, shade ! test/lib/jdk/test/lib/cli/CommandLineOptionTest.java Changeset: 1c560727 Branch: hermetic-java-runtime Author: Srinivas Vamsi Parasa Committer: Sandhya Viswanathan Date: 2025-07-04 15:08:57 +0000 URL: https://git.openjdk.org/leyden/commit/1c560727b850593561982ccc3ed37b0e98b3bbee 8360775: Fix Shenandoah GC test failures when APX is enabled Reviewed-by: sviswanathan, jbhateja, epeter ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: f2d2eef9 Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-07-04 15:10:22 +0000 URL: https://git.openjdk.org/leyden/commit/f2d2eef988c57cc9f6194a8fd5b2b422035ee68f 8177100: APIs duplicated in JavaDoc Reviewed-by: liach, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java + test/langtools/jdk/javadoc/doclet/testDuplicateMethodsWarn/TestDuplicateMethods.java Changeset: f3e0588d Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-06 15:21:35 +0000 URL: https://git.openjdk.org/leyden/commit/f3e0588d0b825a68a4ad61ddf806877f46da69dc 8361338: JFR: Min and max time in MethodTime event is confusing Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/events/MethodTimingEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedClass.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tracing/TimedMethod.java Changeset: 3bcbcc57 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-06 21:45:03 +0000 URL: https://git.openjdk.org/leyden/commit/3bcbcc5747f9402796a1d9443d7a27d37acee9e0 8361439: [BACKOUT] 8357601: Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays Reviewed-by: lmesnik ! src/hotspot/os/windows/safefetch_windows.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/guardedMemory.hpp ! src/hotspot/share/prims/jniCheck.cpp - test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java - test/hotspot/jtreg/runtime/jni/checked/libCharArrayReleasing.c Changeset: 44cff9d6 Branch: hermetic-java-runtime Author: Anass Baya Committer: Sergey Bylokhov Date: 2025-07-07 04:58:17 +0000 URL: https://git.openjdk.org/leyden/commit/44cff9d6abab5df086e89df16f8b63c48cd33c7b 8346952: GetGraphicsStressTest.java fails: Native resources unavailable Reviewed-by: serb ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp + test/jdk/java/awt/Frame/BogusFocusableWindowState/BogusFocusableWindowState.java ! test/jdk/java/awt/Frame/GetGraphicsStressTest/GetGraphicsStressTest.java Changeset: 45300dd1 Branch: hermetic-java-runtime Author: hanguanqiang Committer: Tobias Hartmann Date: 2025-07-07 05:22:44 +0000 URL: https://git.openjdk.org/leyden/commit/45300dd1234c9aa92d6b82f1ef2b05b949b1ea9f 8358568: Purge obsolete/broken GenerateSynchronizationCode flag Reviewed-by: thartmann, shade ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: e9a43416 Branch: hermetic-java-runtime Author: Artem Semenov Date: 2025-07-07 06:11:50 +0000 URL: https://git.openjdk.org/leyden/commit/e9a434165a6ec07cde0429c7f9823bbc5dab7857 8360664: Null pointer dereference in src/hotspot/share/prims/jvmtiTagMap.cpp in IterateOverHeapObjectClosure::do_object() Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Artem Semenov . Reviewed-by: sspitsyn, amenkov, cjplummer ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: d75ea7e6 Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-07-07 06:52:29 +0000 URL: https://git.openjdk.org/leyden/commit/d75ea7e67951275fe27f1e137c961f39d779a046 8355563: VectorAPI: Refactor current implementation of subword gather load API Reviewed-by: epeter, psandoz, sviswanathan, jbhateja ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template Changeset: 8ad48368 Branch: hermetic-java-runtime Author: Daniel Fuchs Date: 2025-07-07 08:22:05 +0000 URL: https://git.openjdk.org/leyden/commit/8ad48368838588846324550c455c66ae86f1226b 8361249: PlainHttpConnection connection logic can be simplified Reviewed-by: djelinski, vyazici, michaelm, jpai ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java Changeset: 1fa772e8 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-07 08:24:24 +0000 URL: https://git.openjdk.org/leyden/commit/1fa772e8143bb2d758ef183280d123d1ff8aada8 8343546: GHA: Cache required dependencies in master-branch workflow Reviewed-by: ihse ! .github/workflows/build-alpine-linux.yml ! .github/workflows/build-cross-compile.yml ! .github/workflows/build-linux.yml ! .github/workflows/build-macos.yml ! .github/workflows/build-windows.yml ! .github/workflows/main.yml ! .github/workflows/test.yml Changeset: 9449fea2 Branch: hermetic-java-runtime Author: Christian Stein Date: 2025-07-07 08:59:50 +0000 URL: https://git.openjdk.org/leyden/commit/9449fea2cd7aa7375f1b127e5f0d2a36ffaa1814 8358552: EndOfFileException in System.in.read() and IO.readln() etc. in JShell Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/IOContext.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java ! test/langtools/jdk/jshell/InputUITest.java ! test/langtools/jdk/jshell/UITesting.java Changeset: 4df9c873 Branch: hermetic-java-runtime Author: Andrew Haley Date: 2025-07-07 09:16:39 +0000 URL: https://git.openjdk.org/leyden/commit/4df9c873452293ccde3c7dbcd64e1ced6b6af52e 8360884: Better scoped values Reviewed-by: liach, alanb ! src/java.base/share/classes/java/lang/ScopedValue.java ! test/micro/org/openjdk/bench/java/lang/ScopedValues.java ! test/micro/org/openjdk/bench/java/lang/ScopedValuesData.java Changeset: 7c13a2cd Branch: hermetic-java-runtime Author: ANUPAM DEV Committer: Alexey Ivanov Date: 2025-07-07 12:15:44 +0000 URL: https://git.openjdk.org/leyden/commit/7c13a2cd9aa5ec9da00084de2388abc189e2f4ef 8361463: Render method of javax.swing.text.AbstractDocument uses 'currency' instead of 'concurrency' Reviewed-by: psadhukhan, tr, abhiscxk, aivanov ! src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java Changeset: afb4a1be Branch: hermetic-java-runtime Author: Roger Riggs Date: 2025-07-07 12:43:28 +0000 URL: https://git.openjdk.org/leyden/commit/afb4a1be9e5dc2a9c0d812f5a36717c9f82241a9 8354872: Clarify java.lang.Process resource cleanup Reviewed-by: jpai ! src/java.base/share/classes/java/lang/Process.java ! src/java.base/share/classes/java/lang/ProcessBuilder.java Changeset: fea73c1d Branch: hermetic-java-runtime Author: Richard Reingruber Date: 2025-07-07 13:21:11 +0000 URL: https://git.openjdk.org/leyden/commit/fea73c1d40441561a246f2a09a739367cfc197ea 8360599: [TESTBUG] DumpThreadsWithEliminatedLock.java fails because of unstable inlining Reviewed-by: alanb, mdoerr, lmesnik ! test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreadsWithEliminatedLock.java Changeset: 05c9eec8 Branch: hermetic-java-runtime Author: Vicente Romero Date: 2025-07-07 14:56:53 +0000 URL: https://git.openjdk.org/leyden/commit/05c9eec8d087cbfffed19031a531b72ad18a52cf 8361214: An anonymous class is erroneously being classify as an abstract class Reviewed-by: liach, mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/generics/diamond/AnonymousLabeledAsAbstractTest.java Changeset: 362916f9 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-07-07 09:37:15 +0000 URL: https://git.openjdk.org/leyden/commit/362916f99c82ed46ed6e8d78cdb6c1395342763a Merge branch 'master' into hermetic-java-runtime ! make/Main.gmk ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! make/Main.gmk ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp From jkratochvil at openjdk.org Mon Jul 7 18:21:07 2025 From: jkratochvil at openjdk.org (Jan Kratochvil) Date: Mon, 7 Jul 2025 18:21:07 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Fri, 4 Jul 2025 20:30:45 GMT, Ashutosh Mehra wrote: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. It can be a future extension but Leyden may also find useful an equivalent of `-XX:CPUFeatures=generic` so that you can store the data on any machine and restore it also on any machine - limiting the CPU feature set in all runs to some reasonable minimum. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3046129476 From adinn at openjdk.org Tue Jul 8 10:55:04 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Tue, 8 Jul 2025 10:55:04 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Mon, 7 Jul 2025 18:18:35 GMT, Jan Kratochvil wrote: > It can be a future extension but Leyden may also find useful an equivalent of -XX:CPUFeatures=generic so that you can store the data on any machine and restore it also on any machine - limiting the CPU feature set in all runs to some reasonable minimum. We have discussed such an option in dev team meetings. We are still considering what would be the most useful and/or usable model. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3048396615 From adinn at openjdk.org Tue Jul 8 10:55:04 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Tue, 8 Jul 2025 10:55:04 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Mon, 7 Jul 2025 16:18:05 GMT, Jan Kratochvil wrote: >> Could you provide more detail about your statement "some features presence affect ABI of the JIT-compiled code"? > > Simply said if you store the compiled Java code on old CPU (almost no features) and then run it on new CPU (full features) then it will crash. It crashes when a newly compiled code calls the restored code or vice versa. If you disagree I can try to reproduce with Leyden, it was happening with CRaC. @jankratochvil I'm not disagreeing - merely wanting to see where CRaC goes wrong and why (noting that it is a slightly different circumstance to the AOT Cache case). My preferred position would be that there /ought not/ to be any issues reusing code generated during the AOT Cache assembly phase in the absence of some given feature in combination with with code generated in a production run where that feature is present i.e. that that any incompatibility would constitute an error in the code generation scheme. I'd be very interested in any evidence you can provide to show that 1) such a code generation error exists or, worse, 2) my preference is unrealizable. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2192155973 From ioi.lam at oracle.com Wed Jul 9 23:58:43 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Wed, 9 Jul 2025 16:58:43 -0700 Subject: [leyden] Please review 8360555: Archive all unnamed modules in CDS full module graph Message-ID: <129d6a27-772c-4c51-802e-4594289b18da@oracle.com> Leyden developers, please review https://github.com/openjdk/jdk/pull/26082 This PR is a preliminary step for JDK-8350550: Preload classes from AOT cache during VM bootstrap, which will make sure all cached classes have already been loaded before any Java code is executed. This should make it easier to implement AOT compilation of Java methods. Thanks! - Ioi From hamlin at rivosinc.com Thu Jul 10 11:21:05 2025 From: hamlin at rivosinc.com (Hamlin Li) Date: Thu, 10 Jul 2025 12:21:05 +0100 Subject: Question about supporting aot on other platforms (RISC-V) Message-ID: Hi, I'm trying to apply changes related to aot on riscv (first step is https://github.com/openjdk/jdk/pull/26101, also plan to apply further changes in the future gradually). As Andrew suggested in the pr, there will be more changes (especially related to code save/restore) from leyden premain to mainline. I went through the pr's and discussion of leyden, found out several changes might be platform related: 1. Store cpu features in AOTCodeCache header ( https://github.com/openjdk/leyden/pull/84 ) (Open) 2. AOT code generation should support UseCompactObjectHeaders ( https://github.com/openjdk/leyden/pull/78 ) (committed into premain) I think in the short future, these above pr's are going to get into mainline. But I might overlook some pr's or discussions, Besides of these above pr's, are there any other potential changes or discussions I should pay attention to when I try to support aot on riscv? I asked the questions to make sure after I integrate https://github.com/openjdk/jdk/pull/26101, even if more leyden changes are merged (including the above ones) into mainline, I can still make aot work as expected on riscv quickly, rather than break aot things for a long time, i.e. hope no surprise in the progress. Thank you -Hamlin -------------- next part -------------- An HTML attachment was scrubbed... URL: From iklam at openjdk.org Fri Jul 11 15:38:02 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 11 Jul 2025 15:38:02 GMT Subject: Integrated: Remove Leyden experimental workflow In-Reply-To: References: Message-ID: On Fri, 27 Jun 2025 17:28:30 GMT, Ioi Lam wrote: > Remove the Leyden experimental workflow: `-XX:CacheDataStore` switch and friends. > > We should be using the standard JEP 483/514 workflow for AOT cache. This pull request has now been integrated. Changeset: 03c66c7a Author: Ioi Lam URL: https://git.openjdk.org/leyden/commit/03c66c7a9b905e254342ea7d07216966a5800e32 Stats: 669 lines in 25 files changed: 22 ins; 596 del; 51 mod Remove Leyden experimental workflow Reviewed-by: asmehra ------------- PR: https://git.openjdk.org/leyden/pull/83 From iklam at openjdk.org Fri Jul 11 15:39:08 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 11 Jul 2025 15:39:08 GMT Subject: git: openjdk/leyden: premain: Remove Leyden experimental workflow Message-ID: <3efa73c9-fec1-42bf-ac81-2468ecdfc848@openjdk.org> Changeset: 03c66c7a Branch: premain Author: Ioi Lam Date: 2025-07-11 15:35:30 +0000 URL: https://git.openjdk.org/leyden/commit/03c66c7a9b905e254342ea7d07216966a5800e32 Remove Leyden experimental workflow Reviewed-by: asmehra ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cds_globals.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/threads.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/premain/spring-petclinic/WarmupMakefile ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/ExcludedClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/SpecialCacheNames.java ! test/hotspot/jtreg/runtime/cds/appcds/applications/HelidonQuickStartSE.java ! test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBench.java ! test/hotspot/jtreg/runtime/cds/appcds/applications/MicronautFirstApp.java ! test/hotspot/jtreg/runtime/cds/appcds/applications/QuarkusGettingStarted.java ! test/hotspot/jtreg/runtime/cds/appcds/applications/SpringPetClinic.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/CacheOnlyClassesIn.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/DynamicProxyTest.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/EndTrainingOnMethodEntry.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/EndTrainingWithAOTCacheMXBean.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/LeydenAndOldClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/LeydenGCFlags.java - test/hotspot/jtreg/runtime/cds/appcds/leyden/LeydenHello.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/LeydenReflection.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java From iklam at openjdk.org Fri Jul 11 15:46:52 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 11 Jul 2025 15:46:52 GMT Subject: git: openjdk/leyden: premain: [leyden] Do not enable -XX:AOTMode=on by default Message-ID: <9565a307-636b-41fe-908d-adbcf7cf180e@openjdk.org> Changeset: 14f7c1dc Branch: premain Author: Ioi Lam Date: 2025-07-11 15:44:46 +0000 URL: https://git.openjdk.org/leyden/commit/14f7c1dceda4e5189e772446a8293cd1ea87acb0 [leyden] Do not enable -XX:AOTMode=on by default Reviewed-by: shade ! src/hotspot/share/cds/cdsConfig.cpp ! test/hotspot/jtreg/runtime/cds/appcds/aotProfile/AOTProfileFlags.java From iklam at openjdk.org Fri Jul 11 15:47:56 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 11 Jul 2025 15:47:56 GMT Subject: Integrated: [leyden] Do not enable -XX:AOTMode=on by default In-Reply-To: References: Message-ID: On Fri, 27 Jun 2025 04:41:30 GMT, Ioi Lam wrote: > During early Leyden development, we decided to make `-XX:AOTMode=on` the default to make it easier to diagnose mismatches between training and production runs. However, this make it impossible to run the `make test JTREG=AOT_JDK...` tests: > > > $ make test JTREG=AOT_JDK=onestep TEST=open/test/hotspot/jtreg/runtime/invokedynamic > [...] > Running test 'jtreg:open/test/hotspot/jtreg/runtime/invokedynamic' > [0.010s][error][aot] An error has occurred while processing the AOT cache. Run with -Xlog:aot for details. > [0.010s][error][aot] Mismatched values for property jdk.module.addexports: java.base/jdk.internal.foreign=ALL-UNNAMED,java.base/jdk.internal.misc=ALL-UNNAMED specified during runtime but not during dump time > [0.010s][error][aot] Disabling optimized module handling > [0.010s][error][aot] AOT cache has aot-linked classes. It cannot be used when archived full module graph is not used. > [0.011s][error][aot] Unable to map shared spaces > failed to get JDK properties: > > > Now people should be familiar with using the AOT cache, so this nanny mode isn't necessary more. This pull request has now been integrated. Changeset: 14f7c1dc Author: Ioi Lam URL: https://git.openjdk.org/leyden/commit/14f7c1dceda4e5189e772446a8293cd1ea87acb0 Stats: 6 lines in 2 files changed: 0 ins; 5 del; 1 mod [leyden] Do not enable -XX:AOTMode=on by default Reviewed-by: shade ------------- PR: https://git.openjdk.org/leyden/pull/82 From duke at openjdk.org Sat Jul 12 03:55:20 2025 From: duke at openjdk.org (duke) Date: Sat, 12 Jul 2025 03:55:20 GMT Subject: git: openjdk/leyden: premain: Few fixes in AOT code cahing Message-ID: <4548ce57-3db0-40b6-9f74-5e6b8c29df9a@openjdk.org> Changeset: 30bb90bb Branch: premain Author: Vladimir Kozlov Date: 2025-07-11 20:52:06 +0000 URL: https://git.openjdk.org/leyden/commit/30bb90bb224aa20951567176ecb3ab0d463f8013 Few fixes in AOT code cahing ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/runtime/cds/appcds/aotCode/AOTCodeCompressedOopsTest.java From kvn at openjdk.org Sun Jul 13 19:48:55 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Sun, 13 Jul 2025 19:48:55 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> On Fri, 4 Jul 2025 20:30:45 GMT, Ashutosh Mehra wrote: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. I have few comments. src/hotspot/cpu/x86/vm_version_x86.hpp line 373: > 371: decl(FXSR, fxsr, 2) \ > 372: decl(HT, ht, 3) \ > 373: \ Please, revert alignment change to reduce size of changes. We can do it in mainline later. src/hotspot/share/code/aotCodeCache.cpp line 653: > 651: _gc = (uint)Universe::heap()->kind(); > 652: _cpu_features_size = (uint)VM_Version::cpu_features_size(); > 653: void* cpu_features_buffer = (void*)(this+1); I don't like. Store it in separate space and reference (offset in archive) it from Config. src/hotspot/share/code/aotCodeCache.cpp line 3253: > 3251: #ifdef COMPILER2 > 3252: // polling_page_vectors_safepoint_handler_blob can be nullptr if AVX feature is not present or is disabled > 3253: if (SharedRuntime::polling_page_vectors_safepoint_handler_blob() != nullptr) { I will push this separately. src/hotspot/share/code/aotCodeCache.hpp line 273: > 271: AOTCodeAddressTable() : > 272: _extrs_addr(nullptr), > 273: _stubs_addr(nullptr), I pushed it already into premain. ------------- PR Review: https://git.openjdk.org/leyden/pull/84#pullrequestreview-3014291728 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2203503575 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2203505000 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2203503980 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2203505373 From duke at openjdk.org Mon Jul 14 01:18:54 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 01:18:54 GMT Subject: git: openjdk/leyden: premain: More tier1_compiler fixes for AOT Message-ID: <7c862d57-9cbe-4ce4-be4a-520849290dcf@openjdk.org> Changeset: 907b186e Branch: premain Author: Vladimir Kozlov Date: 2025-07-13 18:14:34 +0000 URL: https://git.openjdk.org/leyden/commit/907b186e1bbe27ccc7dabd95664fc8dd73347fc9 More tier1_compiler fixes for AOT ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! test/hotspot/jtreg/ProblemList-AotJdk.txt ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java From duke at openjdk.org Mon Jul 14 01:41:43 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 01:41:43 GMT Subject: git: openjdk/leyden: premain: fix mis-merge Message-ID: <432eb0cf-d2ca-4e41-a567-6c077c97f9d8@openjdk.org> Changeset: f97b8246 Branch: premain Author: Vladimir Kozlov Date: 2025-07-13 18:39:02 +0000 URL: https://git.openjdk.org/leyden/commit/f97b8246f3df4d53dc5f5a1931943138f945fec5 fix mis-merge ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp From rvansa at openjdk.org Mon Jul 14 08:37:57 2025 From: rvansa at openjdk.org (Radim Vansa) Date: Mon, 14 Jul 2025 08:37:57 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Tue, 8 Jul 2025 10:50:59 GMT, Andrew Dinn wrote: >> Simply said if you store the compiled Java code on old CPU (almost no features) and then run it on new CPU (full features) then it will crash. It crashes when a newly compiled code calls the restored code or vice versa. If you disagree I can try to reproduce with Leyden, it was happening with CRaC. > > @jankratochvil I'm not disagreeing - merely wanting to see where CRaC goes wrong and why (noting that it is a slightly different circumstance to the AOT Cache case). > > My preferred position would be that there /ought not/ to be any issues reusing code generated during the AOT Cache assembly phase in the absence of some given feature in combination with with code generated in a production run where that feature is present i.e. that that any incompatibility would constitute an error in the code generation scheme. I'd be very interested in any evidence you can provide to show that 1) such a code generation error exists or, worse, 2) my preference is unrealizable. I can't find the logs from when I was investigating the issue, but AFAIR https://github.com/openjdk/crac/pull/103 was motivated by a bug that happened in compiler thread; it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2204219284 From duke at openjdk.org Mon Jul 14 14:37:29 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 14:37:29 GMT Subject: git: openjdk/leyden: premain: Bailout AOT compilation if code references not archived String object Message-ID: <358f1ee0-de6e-419b-a34a-abedc45386ed@openjdk.org> Changeset: 503ec03f Branch: premain Author: Vladimir Kozlov Date: 2025-07-14 07:35:29 +0000 URL: https://git.openjdk.org/leyden/commit/503ec03f7aee09294ce8e82aac78aa2d2abe95bf Bailout AOT compilation if code references not archived String object ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/compiler/compileBroker.cpp From adinn at redhat.com Mon Jul 14 14:50:30 2025 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 14 Jul 2025 15:50:30 +0100 Subject: Please review and improve JDK-8362173: Upgrade AOT Cache logging to support viewing and browsing contents and usage Message-ID: <22585b4f-41b9-4fe6-a7f6-fad4efe581e6@redhat.com> Hi Mat/Team, Following discussion in last week's dev team meeting I have raised an umbrella JIRA https://bugs.openjdk.org/browse/JDK-8362173 to cover work that addresses the problem of making it AOT Cache content visible to users as well as providing some coherent account of how content is selected, generated and consumed. There are several discussion points that I mentioned on the JIRA which everyone is invited to comment on -- tags to use, keywords to employ to label messages, object naming, data formats etc. We should try at least achieve some basic level of agreement on them in the next week or two. Mat, the JIRA proposes initially pursuing the idea you suggested you of modifying the code that loads and validates AOT cache during a production run to also provide a comprehensive log message 'audit' of all cache content. If you are still able to pursue that task then please raise and assign to yourself a sub-task under the above JIRA to cover that work. Mat, I'd also like to introduce you to Maria Arias de Reyna (in cc) who just returned from maternity leave and attended last week's meeting. Maria wrote most of the Quarkus blog post on Leyden we published last year and was, at that time, adapting the AOT log processing tool provided by te Spring boot team. She would be very interested in taking this further to cover analyzng and summarizing the 'audit' message content and enabling users to search and browse the set of cache elements it describes. So, please say hello to her and do keep her up to date with any progress you are able to make on the audit logging side. Thanks! regards, Andrew Dinn ----------- From duke at openjdk.org Mon Jul 14 17:51:39 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 17:51:39 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 95 new changesets Message-ID: <143846e1-b2ef-41d0-941c-cd9c4e7e536e@openjdk.org> Changeset: 39c9de2a Branch: hermetic-java-runtime Author: Chris Plummer Date: 2025-07-07 18:50:00 +0000 URL: https://git.openjdk.org/leyden/commit/39c9de2acea0537335230b1d1db606d90348bdb6 8359958: Cleanup "local" debuggee references after JDK-8333117 removed support for non-local debuggees Reviewed-by: lmesnik, sspitsyn, amenkov ! test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessLauncher.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/AttachingConnector/attach/attach001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/AttachingConnector/attach/attach002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/AttachingConnector/attachnosuspend/attachnosuspend001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/LaunchingConnector/launchnosuspend/launchnosuspend001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/accept/accept001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/accept/accept002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/listennosuspend/listennosuspend001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/startListening/startlis001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/startListening/startlis002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM005.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Debuggee.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Launcher.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/ArgumentHandler.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Binder.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/DebugeeProcess.java Changeset: ec3bb93d Branch: hermetic-java-runtime Author: Sergey Bylokhov Date: 2025-07-07 19:32:17 +0000 URL: https://git.openjdk.org/leyden/commit/ec3bb93d7901c7756d7ff4cc18e4ae9d88942f93 8358623: Avoid unnecessary data copying in ICC_Profile Reviewed-by: honkar, prr ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileGray.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileRGB.java + test/jdk/java/awt/color/ICC_Profile/CheckVersions.java Changeset: 197fde53 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-07-07 21:55:10 +0000 URL: https://git.openjdk.org/leyden/commit/197fde5363e314de7cd6090ecd77521f3a90c56d 8361303: L10n comment for javac.opt.Xlint.desc.synchronization in javac.properties Reviewed-by: naoto, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties Changeset: ec7c6be6 Branch: hermetic-java-runtime Author: Valerie Peng Date: 2025-07-07 23:36:19 +0000 URL: https://git.openjdk.org/leyden/commit/ec7c6be6a9e84c8cd2077fea07930592ddd13669 8359388: Stricter checking for cipher transformations Reviewed-by: mullan ! src/java.base/share/classes/javax/crypto/Cipher.java ! test/jdk/javax/crypto/Cipher/TestEmptyModePadding.java Changeset: 563a3358 Branch: hermetic-java-runtime Author: Julian Waters Date: 2025-07-08 01:27:11 +0000 URL: https://git.openjdk.org/leyden/commit/563a3358f6f1ecff816318cbb32376487365c1fa 8342682: Errors related to unused code on Windows after 8339120 in dt_shmem jdwp security and jpackage Reviewed-by: cjplummer, asemenyuk, almatvee ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp ! src/jdk.jdi/windows/native/libdt_shmem/shmem_md.c ! src/jdk.jdwp.agent/windows/native/libjdwp/proc_md.h ! src/jdk.jpackage/windows/native/libjpackage/VersionInfo.cpp Changeset: bbc5c98b Branch: hermetic-java-runtime Author: Julian Waters Date: 2025-07-08 01:29:20 +0000 URL: https://git.openjdk.org/leyden/commit/bbc5c98b144014a0423d666f74c4a5a15b08a7c2 8342868: Errors related to unused code on Windows after 8339120 in core libs Reviewed-by: naoto, jlu ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/HostLocaleProviderAdapter_md.c ! src/java.base/windows/native/libjava/TimeZone_md.c ! src/java.base/windows/native/libnet/NTLMAuthSequence.c Changeset: 5205eae6 Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-07-08 03:12:37 +0000 URL: https://git.openjdk.org/leyden/commit/5205eae6ff28c4587ec4cb659ddffce84f00441b 8346753: Test javax/swing/JMenuItem/RightLeftOrientation/RightLeftOrientation.java fails on Windows Server 2025 x64 because the icons of RBMenuItem and CBMenuItem are not visible in Nimbus LookAndFeel Reviewed-by: abhiscxk ! test/jdk/javax/swing/JMenuItem/RightLeftOrientation.java Changeset: 310ef856 Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-07-08 06:38:16 +0000 URL: https://git.openjdk.org/leyden/commit/310ef85667bdba3f984cb6327aee71cfaf91458b 8305567: serviceability/tmtools/jstat/GcTest01.java failed utils.JstatGcResults.assertConsistency Reviewed-by: cjplummer, lmesnik ! test/hotspot/jtreg/serviceability/tmtools/jstat/GarbageProducerTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatGcCapacityTool.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatGcCauseTool.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatGcNewTool.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatGcTool.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatResults.java + test/hotspot/jtreg/serviceability/tmtools/jstat/utils/JstatTool.java Changeset: 7b255b8a Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-08 08:23:11 +0000 URL: https://git.openjdk.org/leyden/commit/7b255b8a625ce1eda1ec6242b8e438691f6cc845 8361397: Rework CompileLog list synchronization Reviewed-by: kvn, chagedorn ! src/hotspot/share/compiler/compileLog.cpp ! src/hotspot/share/compiler/compileLog.hpp Changeset: 1934bd8d Branch: hermetic-java-runtime Author: Maurizio Cimadamore Date: 2025-07-08 10:38:59 +0000 URL: https://git.openjdk.org/leyden/commit/1934bd8d2c02cdb1ba9caaef227ed073fb5e1a9d 8361481: Flexible Constructor Bodies generates a compilation error when compiling a user supplied java.lang.Object class Reviewed-by: vromero, liach, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/ObjectEarlyContext/T8361481.java + test/langtools/tools/javac/ObjectEarlyContext/x/java/lang/Object.java Changeset: 27e6a4d2 Branch: hermetic-java-runtime Author: han gq Committer: Evgeny Astigeevich Date: 2025-07-08 11:50:09 +0000 URL: https://git.openjdk.org/leyden/commit/27e6a4d2f7a4bdd12408e518e86aeb623f1c41bc 8344548: Incorrect StartAggressiveSweepingAt doc for segmented code cache Reviewed-by: kvn, eastigeevich ! src/hotspot/share/runtime/globals.hpp Changeset: 0bd2f9cb Branch: hermetic-java-runtime Author: Jan Lahoda Date: 2025-07-08 12:04:08 +0000 URL: https://git.openjdk.org/leyden/commit/0bd2f9cba2118ed5a112b4c70b8ff4a1a58f21dd 8361445: javac crashes on unresolvable constant in @SuppressWarnings Reviewed-by: asotona, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! test/langtools/tools/javac/recovery/AnnotationRecovery.java Changeset: 2349304b Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-07-08 12:44:36 +0000 URL: https://git.openjdk.org/leyden/commit/2349304bb108adb0d5d095e8212d36d99132b6bb 8361040: compiler/codegen/TestRedundantLea.java#StringInflate fails with failed IR rules Co-authored-by: Matthias Baesken Reviewed-by: chagedorn, mbaesken ! test/hotspot/jtreg/compiler/codegen/TestRedundantLea.java Changeset: 5c67e3d6 Branch: hermetic-java-runtime Author: David Briemann Committer: Martin Doerr Date: 2025-07-08 12:58:44 +0000 URL: https://git.openjdk.org/leyden/commit/5c67e3d6e573e5e1fc23f16b61e51fda7b3dd307 8361353: [PPC64] C2: Add nodes UMulHiL, CmpUL3, UMinV, UMaxV, NegVI Reviewed-by: mdoerr, rrich ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/ppc.ad ! test/hotspot/jtreg/compiler/intrinsics/TestCompareUnsigned.java Changeset: 63e08d4a Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-08 14:04:17 +0000 URL: https://git.openjdk.org/leyden/commit/63e08d4af7145b94048d565f4f80dae221090c19 8361175: JFR: Document differences between method sample events Reviewed-by: mgronlun ! src/hotspot/share/jfr/metadata/metadata.xml ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini Changeset: 85331943 Branch: hermetic-java-runtime Author: Jan Lahoda Date: 2025-07-08 14:33:14 +0000 URL: https://git.openjdk.org/leyden/commit/853319439e7887ddd54f8c4a3d79aa62ec51fd64 8361570: Incorrect 'sealed is not allowed here' compile-time error Reviewed-by: mcimadamore, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java + test/langtools/tools/javac/flags/ExtendedStandardFlagsOverlayFlagsConflict.java + test/langtools/tools/javac/flags/NoFalseSealedError.java ! test/langtools/tools/javac/platform/RequiresIdentityTest.java Changeset: 5850bf44 Branch: hermetic-java-runtime Author: Naoto Sato Date: 2025-07-08 17:13:59 +0000 URL: https://git.openjdk.org/leyden/commit/5850bf4488ea336c3dd4eafbefb8ade330e2f76a 8361519: Obsolete Unicode Scalar Value link in Character class Reviewed-by: iris ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/util/Locale.java Changeset: 92712ef4 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-08 17:34:58 +0000 URL: https://git.openjdk.org/leyden/commit/92712ef45dd81fa9f03fbd6427f8c1507f28e62b 8361367: AOT ExcludedClasses.java test failed with missing constant pool logs Reviewed-by: dholmes, kvn ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/ExcludedClasses.java Changeset: 91df7978 Branch: hermetic-java-runtime Author: Koushik Thirupattur Committer: Bradford Wetmore Date: 2025-07-08 18:24:26 +0000 URL: https://git.openjdk.org/leyden/commit/91df7978799e5a24a73d8e1ae344e532e572f2dd 8357915: SecureRandom nextLong memory usage Reviewed-by: wetmore ! src/java.base/share/classes/java/security/SecureRandom.java Changeset: fa32bfe1 Branch: hermetic-java-runtime Author: Rui Li Committer: William Kemper Date: 2025-07-08 18:34:18 +0000 URL: https://git.openjdk.org/leyden/commit/fa32bfe11300fdadb35f083037f6ab2a8985d210 8358529: GenShen: Heuristics do not respond to changes in SoftMaxHeapSize Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahSpaceInfo.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahInitLogger.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.hpp ! test/hotspot/gtest/gc/shenandoah/test_shenandoahOldGeneration.cpp ! test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java Changeset: 1de2acea Branch: hermetic-java-runtime Author: Kelvin Nilsen Date: 2025-07-08 18:59:11 +0000 URL: https://git.openjdk.org/leyden/commit/1de2acea77da57fd44b214332a73cc6621806e4d 8361529: GenShen: Fix bad assert in swap card tables Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: 03526e25 Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-07-08 19:30:07 +0000 URL: https://git.openjdk.org/leyden/commit/03526e250dfb9ac61f50f482b5dfb330e7fec1bf 8355960: JvmtiAgentList::Iterator dtor double free with -fno-elide-constructors Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/prims/jvmtiAgent.cpp ! src/hotspot/share/prims/jvmtiAgent.hpp ! src/hotspot/share/prims/jvmtiAgentList.cpp ! src/hotspot/share/prims/jvmtiAgentList.hpp ! src/hotspot/share/runtime/os.cpp Changeset: dedcce04 Branch: hermetic-java-runtime Author: Vladimir Kozlov Date: 2025-07-08 19:34:39 +0000 URL: https://git.openjdk.org/leyden/commit/dedcce045013b3ff84f5ef8857e1a83f0c09f9ad 8360942: [ubsan] aotCache tests trigger runtime error: applying non-zero offset 16 to null pointer in CodeBlob::relocation_end() Reviewed-by: adinn, mbaesken ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp Changeset: 117f0b40 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-08 19:48:54 +0000 URL: https://git.openjdk.org/leyden/commit/117f0b4051b37d6e639799c5f6add3e2aec8e200 8361426: (ref) Remove jdk.internal.ref.Cleaner Reviewed-by: jpai, vklang ! src/java.base/share/classes/java/lang/ref/Reference.java - src/java.base/share/classes/jdk/internal/ref/Cleaner.java - test/jdk/jdk/internal/ref/Cleaner/ExitOnThrow.java Changeset: 974ad4e8 Branch: hermetic-java-runtime Author: Rui Li Committer: William Kemper Date: 2025-07-08 21:58:22 +0000 URL: https://git.openjdk.org/leyden/commit/974ad4e8cdddee7d932e8375258067f9d2ca6a8b 8359868: Shenandoah: Free threshold heuristic does not use SoftMaxHeapSize Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahGlobalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahYoungHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp Changeset: 54e37629 Branch: hermetic-java-runtime Author: Feilong Jiang Date: 2025-07-09 01:20:18 +0000 URL: https://git.openjdk.org/leyden/commit/54e37629f63eae7800415fa22684e6b3df3648ec 8361504: RISC-V: Make C1 clone intrinsic platform guard more specific Reviewed-by: fyang, gcao ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIR.cpp Changeset: 19bb6ebf Branch: hermetic-java-runtime Author: Ravi-Patel8 Committer: Sergey Bylokhov Date: 2025-07-09 03:12:43 +0000 URL: https://git.openjdk.org/leyden/commit/19bb6ebfaffc9208dbc8a125270848cb2fe37e94 8361484: Remove duplicate font filename mappings in fontconfig.properties for AIX Reviewed-by: serb, azvegint ! src/java.desktop/aix/data/fontconfig/fontconfig.properties Changeset: e2c5d035 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-09 03:34:44 +0000 URL: https://git.openjdk.org/leyden/commit/e2c5d035468d530888fc95f8664410742e65f21f 8361526: Synchronize ClassFile API verifier with hotspot Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationBytecodes.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationFrame.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationSignature.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationTable.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationType.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerifierImpl.java + src/java.base/share/classes/jdk/internal/classfile/impl/verifier/verifier.md ! test/jdk/jdk/classfile/VerifierSelfTest.java Changeset: fe264676 Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-09 05:17:05 +0000 URL: https://git.openjdk.org/leyden/commit/fe264676337cdef0d7477b0b57ff9d2fe8f9fc0f 8361363: ShenandoahAsserts::print_obj() does not work for forwarded objects and UseCompactObjectHeaders Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp Changeset: 47614796 Branch: hermetic-java-runtime Author: Ivan Walulya Date: 2025-07-09 05:44:42 +0000 URL: https://git.openjdk.org/leyden/commit/4761479608d5a8ecc504e343109900b0d0c77171 8238687: Investigate memory uncommit during young collections in G1 8247843: Reconsider G1 default GCTimeRatio value 8248324: G1: Remove resizing during Remark Co-authored-by: Thomas Schatzl Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Analytics.hpp ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/jvmFlagConstraintsG1.cpp ! src/hotspot/share/gc/g1/jvmFlagConstraintsG1.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java Changeset: e0245682 Branch: hermetic-java-runtime Author: Dingli Zhang Committer: Fei Yang Date: 2025-07-09 05:57:38 +0000 URL: https://git.openjdk.org/leyden/commit/e0245682c8d5a0daae055045c81248c12fb23c09 8361532: RISC-V: Several vector tests fail after JDK-8354383 Reviewed-by: fyang, fjiang, gcao ! src/hotspot/cpu/riscv/riscv.ad Changeset: 68b27b88 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-09 08:10:43 +0000 URL: https://git.openjdk.org/leyden/commit/68b27b88b5160dd2883f93928c5f6ce245412495 8361349: Fix visibility of CollectedHeap::stop() and ::print_tracing_info() Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp Changeset: 963b83fc Branch: hermetic-java-runtime Author: Andrej Pecimuth Committer: Doug Simon Date: 2025-07-09 08:19:49 +0000 URL: https://git.openjdk.org/leyden/commit/963b83fcf158d273e9433b6845380184b3ad0de5 8357689: Refactor JVMCI to enable replay compilation in Graal Reviewed-by: dnsimon ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/BytecodeFrame.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/VirtualObject.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/site/Site.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCode.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledNmethod.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotObjectConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotObjectConstantImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotVMConfigAccess.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/VMField.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/EncodedSpeculationReason.java Changeset: 83feb7a2 Branch: hermetic-java-runtime Author: David Briemann Committer: Martin Doerr Date: 2025-07-09 08:27:55 +0000 URL: https://git.openjdk.org/leyden/commit/83feb7a2388e33835b2071cfe0e51ba8b43e241f 8361599: [PPC64] enable missing tests via jtreg requires Reviewed-by: mdoerr ! test/hotspot/jtreg/compiler/c2/TestBit.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestLinkToNativeRBP.java ! test/hotspot/jtreg/serviceability/AsyncGetCallTrace/MyPackage/ASGCTBaseTest.java Changeset: b1fa1ecc Branch: hermetic-java-runtime Author: Andrew Dinn Date: 2025-07-09 08:48:07 +0000 URL: https://git.openjdk.org/leyden/commit/b1fa1ecc988fb07f191892a459625c2c8f2de3b5 8360707: Globally enumerate all blobs, stubs and entries Reviewed-by: kvn, fyang, asmehra ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/stubDeclarations_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutinesCrypto_arm.cpp ! src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_Runtime1_ppc.cpp ! src/hotspot/cpu/ppc/runtime_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c1_LIRGenerator_riscv.cpp ! src/hotspot/cpu/riscv/c1_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp ! src/hotspot/cpu/riscv/frame_riscv.cpp ! src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_Runtime1_s390.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/c2_stubGenerator_x86_64_string.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubDeclarations_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_cbrt.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_chacha.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_cos.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_dilithium.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_exp.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_fmod.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_ghash.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_kyber.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_log.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly1305.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_pow.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_sha3.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_sin.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_tan.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_tanh.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubCodeGenerator.cpp ! src/hotspot/share/runtime/stubCodeGenerator.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp + src/hotspot/share/runtime/stubInfo.cpp + src/hotspot/share/runtime/stubInfo.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: a9bd1ad4 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-09 08:56:44 +0000 URL: https://git.openjdk.org/leyden/commit/a9bd1ad40cb4e275d83b2e8b15e3c4be1551f7fc 8361520: Stabilize SystemGC benchmarks Reviewed-by: tschatzl, ayang ! test/micro/org/openjdk/bench/vm/gc/systemgc/AllDead.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/AllLive.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/DifferentObjectSizesArray.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/DifferentObjectSizesHashMap.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/DifferentObjectSizesTreeMap.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/HalfDeadFirstPart.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/HalfDeadInterleaved.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/HalfDeadInterleavedChunks.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/HalfDeadSecondPart.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/HalfHashedHalfDead.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/NoObjects.java ! test/micro/org/openjdk/bench/vm/gc/systemgc/OneBigObject.java Changeset: eec04dd0 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-09 12:00:51 +0000 URL: https://git.openjdk.org/leyden/commit/eec04dd01051064bacf5110539755aa41106b1a6 8361680: Use correct enum Claim value in VM_HeapWalkOperation::collect_simple_roots Reviewed-by: shade ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: d886ae12 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-09 12:14:14 +0000 URL: https://git.openjdk.org/leyden/commit/d886ae12a2ee3ce519c736d8950a17a0ce63ca78 8357185: Redundant local variables with unconditionally matching primitive patterns Reviewed-by: jlahoda, abimpoudis ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java + test/langtools/tools/javac/patterns/PrimitiveInstanceOfBytecodeTest.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfPatternOpWithTopLevelPatterns.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfTypeComparisonOp.java Changeset: db4b4a5b Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-07-09 12:34:10 +0000 URL: https://git.openjdk.org/leyden/commit/db4b4a5b35a7664ddafed2817703ffd36a921fee 8360175: C2 crash: assert(edge_from_to(prior_use,n)) failed: before block local scheduling Reviewed-by: kvn, chagedorn ! src/hotspot/cpu/x86/peephole_x86_64.cpp Changeset: a201be85 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-09 12:42:25 +0000 URL: https://git.openjdk.org/leyden/commit/a201be8555c57f07b86f470df4699e1b9dd6bd3c 8361255: CTW: Tolerate more NCDFE problems Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/PathHandler.java Changeset: 7daf9813 Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-07-09 13:49:15 +0000 URL: https://git.openjdk.org/leyden/commit/7daf9813c0617ea97d95bf326eac1758e40cddd6 8346884: Add since checker test to jdk.editpad Reviewed-by: jpai = test/jdk/tools/sincechecker/modules/jdk.editpad/JdkEditpadCheckSince.java Changeset: a41d3507 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-09 14:49:20 +0000 URL: https://git.openjdk.org/leyden/commit/a41d35073ee6da0dde4dd731c1ab4c25245d075a 8357473: Compilation spike leaves many CompileTasks in free list Reviewed-by: kvn, chagedorn ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 6249259c Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-07-09 16:15:21 +0000 URL: https://git.openjdk.org/leyden/commit/6249259c8050f280fb1c489e816f09d5cd72a54b 8361299: (bf) CharBuffer.getChars(int,int,char[],int) violates pre-existing specification Reviewed-by: alanb, liach ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! test/jdk/java/nio/Buffer/GetChars.java Changeset: 6e203384 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-07-09 16:15:36 +0000 URL: https://git.openjdk.org/leyden/commit/6e203384f8777fc55081065b128bd2b0ba074729 8358533: Improve performance of java.io.Reader.readAllLines Reviewed-by: rriggs, sherman ! src/java.base/share/classes/java/io/Reader.java ! test/jdk/java/io/Reader/ReadAll.java + test/micro/org/openjdk/bench/java/io/ReaderReadAllLines.java Changeset: 7282f68c Branch: hermetic-java-runtime Author: Eric Caspole Date: 2025-07-09 18:47:38 +0000 URL: https://git.openjdk.org/leyden/commit/7282f68cee22af3f65ea045fd6ada890df79ae07 8361216: Do not fork javac in J2DBench ant build Reviewed-by: prr ! src/demo/share/java2d/J2DBench/Makefile ! src/demo/share/java2d/J2DBench/build.xml Changeset: 6681fc72 Branch: hermetic-java-runtime Author: Yudi Zheng Date: 2025-07-09 19:12:37 +0000 URL: https://git.openjdk.org/leyden/commit/6681fc72d3463e13876eb84a285eb580ee92b464 8361569: [JVMCI] Further refine JVMCI-compiled nmethod that should not collect deoptimization profile Reviewed-by: dnsimon, gdub ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmSymbols_jvmci.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/CodeCacheProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotNmethod.java ! test/hotspot/jtreg/compiler/jvmci/common/CodeInstallerTest.java ! test/hotspot/jtreg/compiler/jvmci/common/patches/jdk.internal.vm.ci/jdk/vm/ci/hotspot/CompilerToVMHelper.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/CodeInstallationTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/RuntimeStubAllocFailTest.java Changeset: c9bea773 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-09 19:29:25 +0000 URL: https://git.openjdk.org/leyden/commit/c9bea77342672715f8f720d7311d66c2b3ac9f8a 8361615: CodeBuilder::parameterSlot throws undocumented IOOBE Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! test/jdk/jdk/classfile/BuilderParamTest.java Changeset: 0f7808f3 Branch: hermetic-java-runtime Author: Gustavo Simon Committer: Chen Liang Date: 2025-07-09 19:55:20 +0000 URL: https://git.openjdk.org/leyden/commit/0f7808f333556eed2a1381e5f9f67765ec3694f1 8360122: Fix java.sql\Connection.java indentation Reviewed-by: liach, lancea ! src/java.sql/share/classes/java/sql/Connection.java Changeset: 518536c6 Branch: hermetic-java-runtime Author: Matias Saavedra Silva Date: 2025-07-09 20:45:13 +0000 URL: https://git.openjdk.org/leyden/commit/518536c607cb383e810ee0f50f8af44e121f4ab3 8344073: Test runtime/cds/appcds/TestParallelGCWithCDS.java#id0 failed Reviewed-by: ccheung, iklam ! test/hotspot/jtreg/runtime/cds/appcds/TestParallelGCWithCDS.java Changeset: c28bb8bf Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-10 01:54:39 +0000 URL: https://git.openjdk.org/leyden/commit/c28bb8bf7a0aa6cdd5b97a50fc961a25cb40228a 8361647: Report the error reason on failed semaphore calls on macOS Reviewed-by: shade, ayang, jwaters ! src/hotspot/os/bsd/semaphore_bsd.cpp Changeset: f67e4354 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-10 01:59:49 +0000 URL: https://git.openjdk.org/leyden/commit/f67e4354316dcec185eac66adec2395e20b62579 8361447: [REDO] Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays Co-authored-by: Thomas Stuefe Reviewed-by: mdoerr, stuefe, coleenp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/guardedMemory.hpp ! src/hotspot/share/prims/jniCheck.cpp ! test/hotspot/gtest/memory/test_guardedMemory.cpp + test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java + test/hotspot/jtreg/runtime/jni/checked/libCharArrayReleasing.c Changeset: 2a53f5a5 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-10 05:07:33 +0000 URL: https://git.openjdk.org/leyden/commit/2a53f5a5c2544d4f7a77186d99addae110b06bab 8361754: New test runtime/jni/checked/TestCharArrayReleasing.java can cause disk full errors Reviewed-by: jpai, darcy ! test/hotspot/jtreg/runtime/jni/checked/TestCharArrayReleasing.java Changeset: bf3cfbef Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-10 07:08:26 +0000 URL: https://git.openjdk.org/leyden/commit/bf3cfbeff414356aaf2b0933568ff648beace2c5 8351487: [ubsan] jvmti.h runtime error: load of value which is not a valid value Reviewed-by: cjplummer, amenkov, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetErrorName/geterrname002/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/TestDescription.java Changeset: 13e0f996 Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-07-10 08:19:06 +0000 URL: https://git.openjdk.org/leyden/commit/13e0f99626ed58958bf0b581be95934f0b218979 8351413: Remove XML interchange in java.management/javax/management/modelmbean/DescriptorSupport Reviewed-by: dfuchs, sspitsyn ! src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java - src/java.management/share/classes/javax/management/modelmbean/XMLParseException.java ! test/jdk/javax/management/MBeanServer/ExceptionFactory.java ! test/jdk/javax/management/modelmbean/DescriptorSupportTest.java - test/jdk/javax/management/modelmbean/DescriptorSupportXMLTest.java ! test/jdk/javax/management/modelmbean/LoggingExceptionTest.java Changeset: c118543e Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-10 09:18:35 +0000 URL: https://git.openjdk.org/leyden/commit/c118543efe51fcb5fe3aab0adcaab1ea7454abfc 8361704: Parallel: Simplify logic condition in MutableNUMASpace::initialize Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp Changeset: 80662a48 Branch: hermetic-java-runtime Author: Vicente Romero Date: 2025-07-10 10:38:31 +0000 URL: https://git.openjdk.org/leyden/commit/80662a485af9002d256d18d28a5bfe2a7c30e4d4 8361499: Intersection type cast causes javac crash with -Xjcov Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/langtools/tools/javac/NoTypeIntersectionASTAfterTransTypesTest.java Changeset: 73ab54e4 Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-07-10 11:25:41 +0000 URL: https://git.openjdk.org/leyden/commit/73ab54e4c33a3af2f2648e649ae41aee25d86f1b 8360302: Update --release 25 symbol information for JDK 25 build 29 Reviewed-by: darcy, iris ! src/jdk.compiler/share/data/symbols/java.base-P.sym.txt Changeset: 3d37c4e3 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-10 13:00:48 +0000 URL: https://git.openjdk.org/leyden/commit/3d37c4e37ac6e3fb7915de46ed98136453b8840a 8361693: Remove Klass::clean_subklass_tree() Reviewed-by: zgu, kbarrett ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/oops/klass.hpp Changeset: f7352750 Branch: hermetic-java-runtime Author: Anass Baya Committer: Alexey Ivanov Date: 2025-07-10 13:07:13 +0000 URL: https://git.openjdk.org/leyden/commit/f73527502177a8f050272d6157ccbec3e9840bc8 8361839: Problemlist BogusFocusableWindowState due to failures in the CI pipeline Reviewed-by: aivanov ! test/jdk/ProblemList.txt Changeset: cbc7090b Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-07-10 15:21:04 +0000 URL: https://git.openjdk.org/leyden/commit/cbc7090b91f4ce84117a04036028076373ab805e 8359809: AttributeList, RoleList and UnresolvedRoleList should never accept other types of Object Reviewed-by: sspitsyn ! src/java.management/share/classes/javax/management/AttributeList.java ! src/java.management/share/classes/javax/management/relation/RoleList.java ! src/java.management/share/classes/javax/management/relation/RoleUnresolvedList.java ! test/jdk/javax/management/MBeanServer/AttributeListTypeSafeTest.java ! test/jdk/javax/management/generified/ListTypeCheckTest.java Changeset: f5afbbd3 Branch: hermetic-java-runtime Author: Naoto Sato Date: 2025-07-10 16:08:05 +0000 URL: https://git.openjdk.org/leyden/commit/f5afbbd32a0f46973664a228e6799fb1a958cd51 8361717: Refactor Collections.emptyList() in Locale related classes Reviewed-by: bpb, jlu, liach, cstein ! src/java.base/share/classes/sun/util/locale/LanguageTag.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java Changeset: 3d74cbe0 Branch: hermetic-java-runtime Author: Andrew Dinn Date: 2025-07-10 17:23:10 +0000 URL: https://git.openjdk.org/leyden/commit/3d74cbe0ac9b68dfc161a4c079b695a320a0e133 8361844: Build without C1 or C2 fails after 8360707 Reviewed-by: kvn ! src/hotspot/share/runtime/stubInfo.cpp Changeset: 2300a212 Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-07-10 19:57:27 +0000 URL: https://git.openjdk.org/leyden/commit/2300a212dd135f1f01604c5c2915653a3f3bd869 8358679: [asan] vmTestbase/nsk/jvmti tests show memory issues Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorEnter/rawmonenter003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorExit/rawmonexit003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorNotify/rawmnntfy003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorNotifyAll/rawmnntfyall003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorWait/rawmnwait003/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp Changeset: ee0d309b Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-10 21:40:11 +0000 URL: https://git.openjdk.org/leyden/commit/ee0d309bbd33302d8c6f35155e975db77aaea785 8313395: LotsUnloadTest.java fails with OOME transiently with libgraal Reviewed-by: dnsimon ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LotsUnloadTest.java Changeset: 2e7e272d Branch: hermetic-java-runtime Author: Dingli Zhang Committer: Feilong Jiang Date: 2025-07-11 02:40:33 +0000 URL: https://git.openjdk.org/leyden/commit/2e7e272d7b5273bae8684095bcda2a9c8bd21dc8 8361829: [TESTBUG] RISC-V: compiler/vectorization/runner/BasicIntOpTest.java fails with RVV but not Zvbb Reviewed-by: fyang, fjiang ! test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java Changeset: eddfc644 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-07-11 05:30:29 +0000 URL: https://git.openjdk.org/leyden/commit/eddfc6449f325c55938a2b24fa651a024441b77a 8361383: LogFileStreamOutput::write_decorations uses wrong type for format precisions Reviewed-by: dholmes, iklam ! src/hotspot/share/logging/logFileStreamOutput.cpp ! src/hotspot/share/logging/logFileStreamOutput.hpp Changeset: 529049be Branch: hermetic-java-runtime Author: jeremy Committer: Jayathirth D V Date: 2025-07-11 05:47:29 +0000 URL: https://git.openjdk.org/leyden/commit/529049be6b6b39651713d256bb4a6efb7d822674 8356137: GifImageDecode can produce opaque image when disposal method changes Reviewed-by: jdv, prr ! src/java.desktop/share/classes/sun/awt/image/GifImageDecoder.java + test/jdk/sun/awt/image/gif/GifBuilder.java + test/jdk/sun/awt/image/gif/GifComparison.java + test/jdk/sun/awt/image/gif/GifEmptyBackgroundTest.java Changeset: 3ffc5b9e Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-07-11 07:07:27 +0000 URL: https://git.openjdk.org/leyden/commit/3ffc5b9ef720a07143ef5728d2597afdf2f2c251 8359344: C2: Malformed control flow after intrinsic bailout Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp + test/hotspot/jtreg/compiler/intrinsics/VectorIntoArrayInvalidControlFlow.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/unsafe/OpaqueAccesses.java Changeset: 445e5ecd Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-11 08:02:52 +0000 URL: https://git.openjdk.org/leyden/commit/445e5ecd98f41d4d625af5731f7b5d10c9225e49 8361342: Shenandoah: Evacuation may assert on invalid mirror object after JDK-8340297 Co-authored-by: Aleksey Shipilev Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 76442f39 Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-07-11 10:41:31 +0000 URL: https://git.openjdk.org/leyden/commit/76442f39b9dd583f09a7adebb0fc5f37b6ef88ef 8361494: [IR Framework] Escape too much in replacement of placeholder Reviewed-by: mhaessig, chagedorn ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irrule/checkattribute/parsing/RawIRNode.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java Changeset: a86dd56d Branch: hermetic-java-runtime Author: Evgeny Astigeevich Date: 2025-07-11 15:25:22 +0000 URL: https://git.openjdk.org/leyden/commit/a86dd56de34f730b42593236f17118ef5ce4985a 8360936: Test compiler/onSpinWait/TestOnSpinWaitAArch64.java fails after JDK-8359435 Reviewed-by: shade, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64.java Changeset: 59bec29c Branch: hermetic-java-runtime Author: Igor Veresov Date: 2025-07-11 18:07:13 +0000 URL: https://git.openjdk.org/leyden/commit/59bec29c35361b7b256a2d435ced3458b0c5ea58 8358580: Rethink how classes are kept alive in training data Reviewed-by: coleenp, shade ! src/hotspot/share/oops/trainingData.cpp ! src/hotspot/share/oops/trainingData.hpp Changeset: 8c00c374 Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-07-11 18:33:03 +0000 URL: https://git.openjdk.org/leyden/commit/8c00c374ec3e5ae2db3c35a970f6c7a691ae274e 8361314: Test serviceability/jvmti/VMEvent/MyPackage/VMEventRecursionTest.java FATAL ERROR in native method: Failed during the GetClassSignature call Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/serviceability/jvmti/VMEvent/libVMEventTest.c Changeset: 26b00280 Branch: hermetic-java-runtime Author: Srinivas Vamsi Parasa Committer: Vladimir Kozlov Date: 2025-07-11 18:55:11 +0000 URL: https://git.openjdk.org/leyden/commit/26b002805ab235d07998eddd486fe66a69f60671 8360776: Disable Intel APX by default and enable it with -XX:+UnlockExperimentalVMOptions -XX:+UseAPX in all builds Reviewed-by: sviswanathan, dholmes, jbhateja ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: f7e8d255 Branch: hermetic-java-runtime Author: Chris Plummer Date: 2025-07-11 19:29:07 +0000 URL: https://git.openjdk.org/leyden/commit/f7e8d255cc26fcfb02d51584147751d40fff6478 8361905: Problem list serviceability/sa/ClhsdbThreadContext.java on Windows due to JDK-8356704 Reviewed-by: amenkov, sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: 46988e10 Branch: hermetic-java-runtime Author: Xiaolong Peng Date: 2025-07-11 20:09:50 +0000 URL: https://git.openjdk.org/leyden/commit/46988e1073e9a2b47491c90143b1f261fe56da56 8361948: Shenandoah: region free capacity unit mismatch Reviewed-by: shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp Changeset: 3f59eae3 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-11 22:52:10 +0000 URL: https://git.openjdk.org/leyden/commit/3f59eae3d0e00b0aaedf16af48afc7f9fb86e0ed 8361102: java.lang.classfile.CodeBuilder.branch(Opcode op, Label target) doesn't throw IllegalArgumentException - if op is not of Opcode.Kind.BRANCH Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! test/jdk/jdk/classfile/InstructionValidationTest.java ! test/jdk/jdk/classfile/TEST.properties ! test/jdk/jdk/classfile/helpers/TestUtil.java Changeset: 189017f7 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-11 22:52:26 +0000 URL: https://git.openjdk.org/leyden/commit/189017f750d54e7b53d0dd3a035e8c4e1cd5cab9 8361908: Mix and match of dead and valid exception handler leads to malformed class file Reviewed-by: asotona ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! test/jdk/jdk/classfile/FilterDeadLabelsTest.java Changeset: 4a351e3e Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-07-12 00:18:51 +0000 URL: https://git.openjdk.org/leyden/commit/4a351e3e57274df0adee37c472b62f477f75b7b8 8361328: cds/appcds/dynamicArchive/TestAutoCreateSharedArchive.java archive timestamps comparison failed Reviewed-by: iklam, matsaave ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestAutoCreateSharedArchive.java Changeset: 3bacf7ea Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-07-12 01:50:40 +0000 URL: https://git.openjdk.org/leyden/commit/3bacf7ea85f1e3f5e57fd2d046b98dfafe2c7e18 8361869: Tests which call ThreadController should mark as /native Reviewed-by: sspitsyn, lmesnik ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace010/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace011/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace012/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace013/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace014/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace015/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace016/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace017/TestDescription.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/stress/thread/strace018/TestDescription.java Changeset: 917d0182 Branch: hermetic-java-runtime Author: Richard Reingruber Date: 2025-07-12 05:40:51 +0000 URL: https://git.openjdk.org/leyden/commit/917d0182cb5ea6066afd396381ca4650371e64b0 8361602: [TESTBUG] serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java deadlocks on exception Reviewed-by: cjplummer, clanger, dholmes ! test/hotspot/jtreg/serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java Changeset: bc828c8f Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-07-13 11:02:19 +0000 URL: https://git.openjdk.org/leyden/commit/bc828c8fb6693760c153a75188f96b1c9d201c8a 6955128: Spec for javax.swing.plaf.basic.BasicTextUI.getVisibleEditorRect contains inappropriate wording Reviewed-by: aivanov, prr, dnguyen, abhiscxk, tr ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java Changeset: 77bd417c Branch: hermetic-java-runtime Author: Jasmine Karthikeyan Date: 2025-07-13 21:28:39 +0000 URL: https://git.openjdk.org/leyden/commit/77bd417c9990f57525257d9df89b9df4d7991461 8350177: C2 SuperWord: Integer.numberOfLeadingZeros, numberOfTrailingZeros, reverse and bitCount have input types wrongly truncated for byte and short Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/superword.cpp + test/hotspot/jtreg/compiler/vectorization/TestSubwordTruncation.java Changeset: 0029554d Branch: hermetic-java-runtime Author: Alexander Zvegintsev Date: 2025-07-14 03:43:54 +0000 URL: https://git.openjdk.org/leyden/commit/0029554d20f22648994040a041c418d48a2a0eb4 8360647: [XWayland] [OL10] NumPad keys are not triggered Reviewed-by: honkar, serb ! src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c ! test/jdk/java/awt/event/KeyEvent/KeyCharTest/KeyCharTest.java Changeset: 7c34bdf7 Branch: hermetic-java-runtime Author: Tobias Hartmann Date: 2025-07-14 07:27:12 +0000 URL: https://git.openjdk.org/leyden/commit/7c34bdf73c063c9c1e1ebdc8e3a02ca3480175e1 8362122: Problem list TestStressBailout until JDK-8361752 is fixed Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 14c79be1 Branch: hermetic-java-runtime Author: han gq Committer: Christian Hagedorn Date: 2025-07-14 07:39:04 +0000 URL: https://git.openjdk.org/leyden/commit/14c79be1613c9d737a9536087ac48914ee4ba8d9 8361140: Missing OptimizePtrCompare check in ConnectionGraph::reduce_phi_on_cmp Reviewed-by: chagedorn, cslucas ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/c2/TestReducePhiOnCmpWithNoOptPtrCompare.java ! test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java Changeset: 272e66d0 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-14 08:59:35 +0000 URL: https://git.openjdk.org/leyden/commit/272e66d017a3497d9af4df6f042c741ad8a59dd6 8361952: Installation of MethodData::extra_data_lock() misses synchronization on reader side Reviewed-by: shade, coleenp, dholmes ! src/hotspot/share/oops/methodData.cpp Changeset: 99c299f0 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-14 09:39:06 +0000 URL: https://git.openjdk.org/leyden/commit/99c299f0985c8be63b9b60e589db520d83fd8033 8361706: Parallel weak klass link cleaning does not clean out previous klasses Reviewed-by: eosterlund, coleenp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp Changeset: a531c9ae Branch: hermetic-java-runtime Author: Beno?t Maillard Committer: Damon Fenacci Date: 2025-07-14 11:40:00 +0000 URL: https://git.openjdk.org/leyden/commit/a531c9aece200d27d7870595eee8e14e39e9bd00 8361144: Strenghten the Ideal Verification in PhaseIterGVN::verify_Ideal_for by comparing the hash of a node before and after Ideal Co-authored-by: Emanuel Peter Reviewed-by: galder, dfenacci, epeter ! src/hotspot/share/opto/phaseX.cpp Changeset: 5edd5465 Branch: hermetic-java-runtime Author: Dingli Zhang Committer: Feilong Jiang Date: 2025-07-14 11:56:07 +0000 URL: https://git.openjdk.org/leyden/commit/5edd546585d66f52c2e894ed212ee67945fe0785 8361449: RISC-V: Code cleanup for native call Reviewed-by: fyang, fjiang ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.hpp ! src/hotspot/cpu/riscv/relocInfo_riscv.cpp Changeset: bcd86d57 Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-07-14 12:36:37 +0000 URL: https://git.openjdk.org/leyden/commit/bcd86d575fe0682a234228c18b0c2e817d3816da 8358627: tools/sincechecker/modules/java.base/JavaBaseCheckSince.java fails with JDK 26 Reviewed-by: liach, syan ! test/jdk/ProblemList.txt Changeset: ebb10958 Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-07-14 13:37:19 +0000 URL: https://git.openjdk.org/leyden/commit/ebb1095805579f8f32a81bb350198fa1b7add9eb 8361492: [IR Framework] Has too restrictive regex for load and store Reviewed-by: chagedorn, dfenacci ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java Changeset: 6cff49c0 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-14 14:30:02 +0000 URL: https://git.openjdk.org/leyden/commit/6cff49c0fe7f5fac2efe50ac51479d7ee964436a 8361380: ARM32: Atomic stubs should be in pre-universe Co-authored-by: Andrew Dinn Reviewed-by: kvn, adinn ! src/hotspot/cpu/arm/stubDeclarations_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/runtime/stubDeclarations.hpp Changeset: a10ee46e Branch: hermetic-java-runtime Author: Alexander Matveev Date: 2025-07-14 15:07:43 +0000 URL: https://git.openjdk.org/leyden/commit/a10ee46e6dd94a279e0821d431944bb096493664 8361224: [macos] MacSignTest.testMultipleCertificates failed Reviewed-by: asemenyuk ! test/jdk/tools/jpackage/macosx/MacSignTest.java Changeset: 3fb6668b Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-07-14 10:07:12 +0000 URL: https://git.openjdk.org/leyden/commit/3fb6668b0ce55cbd27fe4037b289bc51d5321068 Merge branch 'master' into hermetic-java-runtime ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp From duke at openjdk.org Mon Jul 14 18:25:17 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 18:25:17 GMT Subject: git: openjdk/leyden: premain: AOT code caching cleanup Message-ID: Changeset: 1da56481 Branch: premain Author: Vladimir Kozlov Date: 2025-07-14 11:23:23 +0000 URL: https://git.openjdk.org/leyden/commit/1da5648141a357639bfcaad1d8fa85f6f7aa02f2 AOT code caching cleanup ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp From asmehra at openjdk.org Mon Jul 14 18:50:59 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 14 Jul 2025 18:50:59 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Mon, 14 Jul 2025 08:35:42 GMT, Radim Vansa wrote: >> @jankratochvil I'm not disagreeing - merely wanting to see where CRaC goes wrong and why (noting that it is a slightly different circumstance to the AOT Cache case). >> >> My preferred position would be that there /ought not/ to be any issues reusing code generated during the AOT Cache assembly phase in the absence of some given feature in combination with with code generated in a production run where that feature is present i.e. that that any incompatibility would constitute an error in the code generation scheme. I'd be very interested in any evidence you can provide to show that 1) such a code generation error exists or, worse, 2) my preference is unrealizable. > > I can't find the logs from when I was investigating the issue, but AFAIR https://github.com/openjdk/crac/pull/103 was motivated by a bug that happened in compiler thread; it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. > So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. @rvansa > it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. I can imagine this happening in the context of checkpoint-snapshot but I don't think think AOTCodeCache can hit this issue of buffer overrun. Code generation is not suspended-resumed in Leyden workflow. When the code generation starts, it is always completed before the JVM exits the assembly phase. > So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. Other than this buffer overrun problem, have you come across any other code that relies on the assumption that CPU features are runtime-constant? ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2205588977 From asmehra at openjdk.org Mon Jul 14 19:22:58 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 14 Jul 2025 19:22:58 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> References: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> Message-ID: <-cWjgWIqnQN91Sby9uNV8GJFC9t7Y_ulAiCdVUDull0=.7c4e8027-8ec4-4523-959b-ea8b0c757fa3@github.com> On Sun, 13 Jul 2025 19:38:14 GMT, Vladimir Kozlov wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > src/hotspot/cpu/x86/vm_version_x86.hpp line 373: > >> 371: decl(FXSR, fxsr, 2) \ >> 372: decl(HT, ht, 3) \ >> 373: \ > > Please, revert alignment change to reduce size of changes. We can do it in mainline later. This change is not about alignment, but removing the quotes around the cpu feature names and use XSTR macro in DECLARE_CPU_FEATURE_NAME macros instead. Any change in alignment is the consequence of that. Do you want me to go back to using quotes and remove XSTR usage? > src/hotspot/share/code/aotCodeCache.cpp line 3253: > >> 3251: #ifdef COMPILER2 >> 3252: // polling_page_vectors_safepoint_handler_blob can be nullptr if AVX feature is not present or is disabled >> 3253: if (SharedRuntime::polling_page_vectors_safepoint_handler_blob() != nullptr) { > > I will push this separately. okay, I will take this out and push it separately. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2205636794 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2205637740 From kvn at openjdk.org Mon Jul 14 19:38:56 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 14 Jul 2025 19:38:56 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: <-cWjgWIqnQN91Sby9uNV8GJFC9t7Y_ulAiCdVUDull0=.7c4e8027-8ec4-4523-959b-ea8b0c757fa3@github.com> References: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> <-cWjgWIqnQN91Sby9uNV8GJFC9t7Y_ulAiCdVUDull0=.7c4e8027-8ec4-4523-959b-ea8b0c757fa3@github.com> Message-ID: On Mon, 14 Jul 2025 19:19:31 GMT, Ashutosh Mehra wrote: >> src/hotspot/cpu/x86/vm_version_x86.hpp line 373: >> >>> 371: decl(FXSR, fxsr, 2) \ >>> 372: decl(HT, ht, 3) \ >>> 373: \ >> >> Please, revert alignment change to reduce size of changes. We can do it in mainline later. > > This change is not about alignment, but removing the quotes around the cpu feature names and use XSTR macro in DECLARE_CPU_FEATURE_NAME macros instead. Any change in alignment is the consequence of that. > Do you want me to go back to using quotes and remove XSTR usage? Okay, I missed that. Keep XSTR. Why aarch64 code does not use XSTR? ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2205662340 From iklam at openjdk.org Mon Jul 14 19:43:56 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 14 Jul 2025 19:43:56 GMT Subject: git: openjdk/leyden: premain: Fixed bug where AOTConstantPoolResolver::preresolve_string_cp_entries() is not called for some classes in assembly phase Message-ID: <98cc0491-23df-4544-b2b8-ce68b10cee7a@openjdk.org> Changeset: 8d76dae9 Branch: premain Author: Ioi Lam Date: 2025-07-14 11:02:28 +0000 URL: https://git.openjdk.org/leyden/commit/8d76dae9d06f7c5f1dd6c65dac32a393a10e3a1b Fixed bug where AOTConstantPoolResolver::preresolve_string_cp_entries() is not called for some classes in assembly phase ! src/hotspot/share/cds/metaspaceShared.cpp From iklam at openjdk.org Mon Jul 14 20:07:10 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 14 Jul 2025 20:07:10 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: Changeset: 64aa20f1 Branch: premain Author: Ioi Lam Date: 2025-07-14 12:57:39 +0000 URL: https://git.openjdk.org/leyden/commit/64aa20f1a9d846531ab8e003a654968aad3eb410 Problem-listed a few tests that keep failing in Leyden CI pipeline ! test/hotspot/jtreg/ProblemList.txt Changeset: ac1372ae Branch: premain Author: Ioi Lam Date: 2025-07-14 13:04:15 +0000 URL: https://git.openjdk.org/leyden/commit/ac1372ae6650b938a5cd3984bd2bd436a22e08b0 Exclude TestSetupAOTTest.java when VM options are not compatible with aot class linking (e.g., ZGC) ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/TestSetupAOTTest.java From asmehra at openjdk.org Mon Jul 14 22:13:36 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 14 Jul 2025 22:13:36 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> References: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> Message-ID: <6jlH8lzZRf6H9SapRVHEoT3Zzn6kQQMptJtSO2MG2h8=.9b09ea06-ea15-45a8-8f4d-c42a4b71f8f0@github.com> On Sun, 13 Jul 2025 19:46:40 GMT, Vladimir Kozlov wrote: >> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: >> >> - Merge branch 'premain' into aot-cache-feature-flags >> - Address review comments >> >> Signed-off-by: Ashutosh Mehra >> - Store cpu features in AOTCodeCache header >> >> Signed-off-by: Ashutosh Mehra > > I have few comments. @vnkozlov I have pushed changes addressing your review comments. Please review again. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3071186740 From asmehra at openjdk.org Mon Jul 14 22:13:36 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 14 Jul 2025 22:13:36 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: References: Message-ID: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge branch 'premain' into aot-cache-feature-flags - Address review comments Signed-off-by: Ashutosh Mehra - Store cpu features in AOTCodeCache header Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/f1dd898f..9b77b82d Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=00-01 Stats: 1327 lines in 46 files changed: 211 ins; 847 del; 269 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Mon Jul 14 22:31:50 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 14 Jul 2025 22:31:50 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <-cWjgWIqnQN91Sby9uNV8GJFC9t7Y_ulAiCdVUDull0=.7c4e8027-8ec4-4523-959b-ea8b0c757fa3@github.com> References: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> <-cWjgWIqnQN91Sby9uNV8GJFC9t7Y_ulAiCdVUDull0=.7c4e8027-8ec4-4523-959b-ea8b0c757fa3@github.com> Message-ID: On Mon, 14 Jul 2025 19:20:09 GMT, Ashutosh Mehra wrote: >> src/hotspot/share/code/aotCodeCache.cpp line 3253: >> >>> 3251: #ifdef COMPILER2 >>> 3252: // polling_page_vectors_safepoint_handler_blob can be nullptr if AVX feature is not present or is disabled >>> 3253: if (SharedRuntime::polling_page_vectors_safepoint_handler_blob() != nullptr) { >> >> I will push this separately. > > okay, I will take this out and push it separately. I misunderstood this. I see you have already pushed it. Thanks for that! ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2205931100 From kvn at openjdk.org Mon Jul 14 22:49:50 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 14 Jul 2025 22:49:50 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> References: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> Message-ID: On Mon, 14 Jul 2025 22:13:36 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Merge branch 'premain' into aot-cache-feature-flags > - Address review comments > > Signed-off-by: Ashutosh Mehra > - Store cpu features in AOTCodeCache header > > Signed-off-by: Ashutosh Mehra Thank you for merging latest premain. I know now that I have to fix zero build in premain :( ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3071257513 From kvn at openjdk.org Mon Jul 14 22:54:02 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 14 Jul 2025 22:54:02 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <6jlH8lzZRf6H9SapRVHEoT3Zzn6kQQMptJtSO2MG2h8=.9b09ea06-ea15-45a8-8f4d-c42a4b71f8f0@github.com> References: <0u-JkMXDIVuux3_oJb4-JZ4rqEG2kz8pJB8143Wueoc=.de38f6c5-a4c9-4af3-bdf4-8e96798c8ec9@github.com> <6jlH8lzZRf6H9SapRVHEoT3Zzn6kQQMptJtSO2MG2h8=.9b09ea06-ea15-45a8-8f4d-c42a4b71f8f0@github.com> Message-ID: On Mon, 14 Jul 2025 22:10:30 GMT, Ashutosh Mehra wrote: >> I have few comments. > > @vnkozlov I have pushed changes addressing your review comments. Please review again. @ashu-mehra you have to remove that (UseSSE/UseAVX) code in your changes - they will be negated anyway. Yes, it was more flexible to allow old AOT code run on new machines. But we can do that with your changes later. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3071265715 From duke at openjdk.org Mon Jul 14 23:31:38 2025 From: duke at openjdk.org (duke) Date: Mon, 14 Jul 2025 23:31:38 GMT Subject: git: openjdk/leyden: premain: Fix Zero build Message-ID: <5e8f81bd-822d-4f42-9a12-0559fa269f86@openjdk.org> Changeset: a50d11ef Branch: premain Author: Vladimir Kozlov Date: 2025-07-14 16:29:05 +0000 URL: https://git.openjdk.org/leyden/commit/a50d11ef1320c3ba64f523a919463a865ba583a4 Fix Zero build ! src/hotspot/share/code/aotCodeCache.cpp From jrose at openjdk.org Tue Jul 15 00:51:53 2025 From: jrose at openjdk.org (John R Rose) Date: Tue, 15 Jul 2025 00:51:53 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> References: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> Message-ID: On Mon, 14 Jul 2025 22:13:36 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Merge branch 'premain' into aot-cache-feature-flags > - Address review comments > > Signed-off-by: Ashutosh Mehra > - Store cpu features in AOTCodeCache header > > Signed-off-by: Ashutosh Mehra src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 736: > 734: } > 735: > 736: void VM_Version::insert_features_names(uint64_t features, char* names_buf, size_t buf_size) { Uh, there is a DRY failure here, which leads to a bug. (DRY = Don't Repeat Yourself.) It appears to be a modified copy from another port, and this copy has a buffer overflow bug in the modifications. And the same bug occurs in another modified copy. Reviewers and porters should not have to repeatedly debug the same subtle code in multiple platform-specific files. The bug is that `buf_rem` is a dead variable, while loop-invariant `buf_size` is passed with `buf` to `snprintf`. A hasty reader might think that `buf` and `buf_len` vary together but they don't; this is a bad naming choice that masks the bug. Instead of point-fixing the bug (in at least two places), please consider factoring this out somewhere that all platforms can use it, and then all the reviewers can make sure that the single copy is bug-free. Otherwise, we have a new bug surface on all future ports. (Yes, this a small thing, but let's do it right.) I suggest making this be a template function that takes a closure (of type `int->char*`) and iterates it over a range `0..N-1`, accumulating the closure-produced strings (if not null) via `snprintf` into a sized buffer, safely. Return the number of written characters. I looked for possibly related APIs and found FormatBuffer but it is poorly documented. I suggest just making a public static helper function in class outputStream. That's clean enough IMO. public: static template size_t insert_string_list(char* buf, size_t buf_size, int start, int limit, FN fn) { size_t np = 0; ... for (int i = start; i < limit; i++) { const char* str = fn(i); if (str == nullptr) continue; const char* comma = (first && !use_first_comma) ? "" : ", "; auto res = jio_snprintf(buf + np, buf_size - np, "%s%s", comma, str); np += res; if (res < 0 || np+1 > buf_size) return -1; } return np; } ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2206057482 From rvansa at openjdk.org Tue Jul 15 07:40:05 2025 From: rvansa at openjdk.org (Radim Vansa) Date: Tue, 15 Jul 2025 07:40:05 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: On Mon, 14 Jul 2025 18:48:26 GMT, Ashutosh Mehra wrote: >> I can't find the logs from when I was investigating the issue, but AFAIR https://github.com/openjdk/crac/pull/103 was motivated by a bug that happened in compiler thread; it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. >> So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. > > @rvansa > >> it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. > > I can imagine this happening in the context of checkpoint-snapshot but I don't think think AOTCodeCache can hit this issue of buffer overrun. Code generation is not suspended-resumed in Leyden workflow. When the code generation starts, it is always completed before the JVM exits the assembly phase. > >> So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. > > Other than this buffer overrun problem, have you come across any other code that relies on the assumption that CPU features are runtime-constant? @ashu-mehra I don't recall that, but don't have too much personal experience switching the CPU between runs. One issue that could do trouble is the hyperthreading support; I have one of those hybrid Intels with performance and efficiency cores. HT flag is on on the performance cores, and when you record the features on perf core and try to restore on Atom, a straightforward bitwise comparison would error, even though HT is not something the generated code usually relies on. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2206675561 From aph at openjdk.org Tue Jul 15 11:12:56 2025 From: aph at openjdk.org (Andrew Haley) Date: Tue, 15 Jul 2025 11:12:56 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> Message-ID: <9zCDVVeNC1xLM7RCp5bxiVZCquZy4MHnTw8lJnPMFUw=.7f7636bf-b4ec-404d-a197-3bb17313bc51@github.com> On Tue, 15 Jul 2025 07:37:03 GMT, Radim Vansa wrote: >> @rvansa >> >>> it was going through some code that calculated buffer size for output code based on the availability of CPU features, and then it went to actually write down the instructions. When the checkpoint happened in the middle of this and the CPU got changed (we got a 'better' CPU) the decision in this codepath was changed, and resulted in a buffer overrun. >> >> I can imagine this happening in the context of checkpoint-snapshot but I don't think think AOTCodeCache can hit this issue of buffer overrun. Code generation is not suspended-resumed in Leyden workflow. When the code generation starts, it is always completed before the JVM exits the assembly phase. >> >>> So it was rather a synchronization problem: some code was written assuming that the CPU features are runtime-constant, but these are not. There is certainly space for a better solution, but we would have to track through some complex code and make sure that it works on a 'snapshot' of features. >> >> Other than this buffer overrun problem, have you come across any other code that relies on the assumption that CPU features are runtime-constant? > > @ashu-mehra I don't recall that, but don't have too much personal experience switching the CPU between runs. > > One issue that could do trouble is the hyperthreading support; I have one of those hybrid Intels with performance and efficiency cores. HT flag is on on the performance cores, and when you record the features on perf core and try to restore on Atom, a straightforward bitwise comparison would error, even though HT is not something the generated code usually relies on. > there /ought not/ to be any issues reusing code generated during the AOT Cache assembly phase in the absence of some given feature in combination with with code generated in a production run where that feature is present i.e. that that any incompatibility would constitute an error in the code generation scheme. Yes. In fact, I'd call any failure to use a feature "a bug" that we ought to look at. At best it's a code smell. As one of Arthur C Clarke's editors once put it, CH3CH2SH. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2207178297 From aph at openjdk.org Tue Jul 15 13:05:00 2025 From: aph at openjdk.org (Andrew Haley) Date: Tue, 15 Jul 2025 13:05:00 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: <9zCDVVeNC1xLM7RCp5bxiVZCquZy4MHnTw8lJnPMFUw=.7f7636bf-b4ec-404d-a197-3bb17313bc51@github.com> References: <91b0kruBCtLgf7lYX_RNMfsi1HltXtUEipKM206Te3k=.2c1e13a6-8639-4204-9a00-1de7cb936c0a@github.com> <9zCDVVeNC1xLM7RCp5bxiVZCquZy4MHnTw8lJnPMFUw=.7f7636bf-b4ec-404d-a197-3bb17313bc51@github.com> Message-ID: <-rD8pHH4jfqftyiB_EgGJNWCyQDygkHxaJ73DRMDVgw=.fc2f25ad-3f44-4131-8218-b18f209404e7@github.com> On Tue, 15 Jul 2025 11:10:34 GMT, Andrew Haley wrote: >> @ashu-mehra I don't recall that, but don't have too much personal experience switching the CPU between runs. >> >> One issue that could do trouble is the hyperthreading support; I have one of those hybrid Intels with performance and efficiency cores. HT flag is on on the performance cores, and when you record the features on perf core and try to restore on Atom, a straightforward bitwise comparison would error, even though HT is not something the generated code usually relies on. > >> there /ought not/ to be any issues reusing code generated during the AOT Cache assembly phase in the absence of some given feature in combination with with code generated in a production run where that feature is present i.e. that that any incompatibility would constitute an error in the code generation scheme. > > Yes. In fact, I'd call any failure to use a feature "a bug" that we ought to look at. At best it's a code smell. As one of Arthur C Clarke's editors once put it, CH3CH2SH. Sorry, that was badly worded. It's never _compulsory_ to use any feature, and if any code makes the assumption that if a feature is supported and turned on then it must be used, then that code has a bug. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2207418339 From asmehra at openjdk.org Tue Jul 15 21:20:36 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 15 Jul 2025 21:20:36 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: - Use FormatBuffer to obtain cpu features names string Signed-off-by: Ashutosh Mehra - Merge branch 'premain' into aot-cache-feature-flags Signed-off-by: Ashutosh Mehra - Remove UseSSE and UseAVX checks Signed-off-by: Ashutosh Mehra - Merge branch 'premain' into aot-cache-feature-flags - Address review comments Signed-off-by: Ashutosh Mehra - Store cpu features in AOTCodeCache header Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/9b77b82d..9018729b Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=01-02 Stats: 202 lines in 8 files changed: 54 ins; 76 del; 72 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Tue Jul 15 21:29:56 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 15 Jul 2025 21:29:56 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v2] In-Reply-To: References: <7WcWRAdRWEWiDuGgmRCcQ-AwWzfzz2iGr_B2RBN7FfA=.d881d2f1-d95e-4f3d-9099-c3fecb877437@github.com> Message-ID: <89nCSY11N0S9JaAF0QCLTik9muR1Lfm76QqmyHnpmUI=.91111301-659c-40f6-941e-33e92a2a78d2@github.com> On Tue, 15 Jul 2025 00:45:05 GMT, John R Rose wrote: >> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: >> >> - Merge branch 'premain' into aot-cache-feature-flags >> - Address review comments >> >> Signed-off-by: Ashutosh Mehra >> - Store cpu features in AOTCodeCache header >> >> Signed-off-by: Ashutosh Mehra > > src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 736: > >> 734: } >> 735: >> 736: void VM_Version::insert_features_names(uint64_t features, char* names_buf, size_t buf_size) { > > Uh, there is a DRY failure here, which leads to a bug. (DRY = Don't Repeat Yourself.) > > It appears to be a modified copy from another port, and this copy has a buffer overflow bug in the modifications. > > And the same bug occurs in another modified copy. > > Reviewers and porters should not have to repeatedly debug the same subtle code in multiple platform-specific files. > > The bug is that `buf_rem` is a dead variable, while loop-invariant `buf_size` is passed with `buf` to `snprintf`. A hasty reader might think that `buf` and `buf_len` vary together but they don't; this is a bad naming choice that masks the bug. > > Instead of point-fixing the bug (in at least two places), please consider factoring this out somewhere that all platforms can use it, and then all the reviewers can make sure that the single copy is bug-free. Otherwise, we have a new bug surface on all future ports. (Yes, this a small thing, but let's do it right.) > > I suggest making this be a template function that takes a closure (of type `int->char*`) and iterates it over a range `0..N-1`, accumulating the closure-produced strings (if not null) via `snprintf` into a sized buffer, safely. Return the number of written characters. I looked for possibly related APIs and found FormatBuffer but it is poorly documented. I suggest just making a public static helper function in class outputStream. That's clean enough IMO. > > > public: static > template > size_t insert_string_list(char* buf, size_t buf_size, int start, int limit, FN fn) { > size_t np = 0; > ... > for (int i = start; i < limit; i++) { > const char* str = fn(i); > if (str == nullptr) continue; > const char* comma = (first && !use_first_comma) ? "" : ", "; > auto res = jio_snprintf(buf + np, buf_size - np, "%s%s", comma, str); > np += res; > if (res < 0 || np+1 > buf_size) return -1; > } > return np; > } @rose00 Thanks for catching that bug. I have refactored the code a bit more than you suggested by adding the static method in the FormatBuffer. I think FormatBuffer is a good fit for this use case as the client code doesn't need to worry about the temporary buffer and size anymore. Please check https://github.com/openjdk/leyden/pull/84/commits/9018729b6cc618a38a9cc8e0ec595664e2f35e5e to see the changes in isolation from rest of the patch. Does it look good? ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2208728692 From duke at openjdk.org Wed Jul 16 16:40:08 2025 From: duke at openjdk.org (duke) Date: Wed, 16 Jul 2025 16:40:08 GMT Subject: git: openjdk/leyden: premain: More AOT code caching fixes Message-ID: <6b42a3ae-69c3-481d-bb85-65099e6ca2bf@openjdk.org> Changeset: 8c291565 Branch: premain Author: Vladimir Kozlov Date: 2025-07-16 09:37:31 +0000 URL: https://git.openjdk.org/leyden/commit/8c29156544d4002b84a8a255f469f26d63cc97c2 More AOT code caching fixes ! src/hotspot/share/ci/ciObject.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compiler_globals.hpp ! src/hotspot/share/compiler/precompiler.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/utilities/nativeStackPrinter.cpp ! src/hotspot/share/utilities/vmError.cpp From iklam at openjdk.org Wed Jul 16 17:19:02 2025 From: iklam at openjdk.org (Ioi Lam) Date: Wed, 16 Jul 2025 17:19:02 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: Changeset: d1541354 Branch: premain Author: Ioi Lam Date: 2025-07-03 15:31:34 +0000 URL: https://git.openjdk.org/leyden/commit/d154135458c235d624f056edaa293031721edf7c 8358680: AOT cache creation fails: no strings should have been added Co-authored-by: Aleksey Shipilev Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp Changeset: fc259bd4 Branch: premain Author: Ioi Lam Date: 2025-07-01 20:22:13 +0000 URL: https://git.openjdk.org/leyden/commit/fc259bd40f32a11a48a8ad86f3c1ee381e18db5d 8360164: AOT cache creation crashes in ~ThreadTotalCPUTimeClosure() Reviewed-by: ccheung, kvn, dholmes ! src/hotspot/share/cds/metaspaceShared.cpp From asmehra at openjdk.org Thu Jul 17 21:05:50 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 17 Jul 2025 21:05:50 GMT Subject: RFR: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler Message-ID: Precompiler tries to compile methods at all levels without taking into account TieredStopAtLevel value. This patch updates Precompiler to restrict compilation to only levels allowed by TieredStopAtLevel. ------------- Commit messages: - 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler Changes: https://git.openjdk.org/leyden/pull/85/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=85&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8362534 Stats: 4 lines in 1 file changed: 1 ins; 0 del; 3 mod Patch: https://git.openjdk.org/leyden/pull/85.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/85/head:pull/85 PR: https://git.openjdk.org/leyden/pull/85 From asmehra at openjdk.org Thu Jul 17 21:09:58 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 17 Jul 2025 21:09:58 GMT Subject: RFR: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler In-Reply-To: References: Message-ID: On Thu, 17 Jul 2025 20:59:30 GMT, Ashutosh Mehra wrote: > Precompiler tries to compile methods at all levels without taking into account TieredStopAtLevel value. > This patch updates Precompiler to restrict compilation to only levels allowed by TieredStopAtLevel. @vnkozlov can you please review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/85#issuecomment-3085473067 From kvn at openjdk.org Thu Jul 17 21:26:15 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 17 Jul 2025 21:26:15 GMT Subject: RFR: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler In-Reply-To: References: Message-ID: On Thu, 17 Jul 2025 20:59:30 GMT, Ashutosh Mehra wrote: > Precompiler tries to compile methods at all levels without taking into account TieredStopAtLevel value. > This patch updates Precompiler to restrict compilation to only levels allowed by TieredStopAtLevel. Looks good. You can push it. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/85#pullrequestreview-3031074112 From asmehra at openjdk.org Thu Jul 17 21:54:15 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 17 Jul 2025 21:54:15 GMT Subject: git: openjdk/leyden: premain: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler Message-ID: <389a0e52-eab4-4123-821b-87ece9500547@openjdk.org> Changeset: 34077435 Branch: premain Author: Ashutosh Mehra Date: 2025-07-17 21:51:45 +0000 URL: https://git.openjdk.org/leyden/commit/340774354cfb11a6ec5eb28bd4ffa50967e86ead 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler Reviewed-by: kvn ! src/hotspot/share/compiler/precompiler.cpp From asmehra at openjdk.org Thu Jul 17 21:54:13 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 17 Jul 2025 21:54:13 GMT Subject: RFR: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler In-Reply-To: References: Message-ID: On Thu, 17 Jul 2025 21:22:59 GMT, Vladimir Kozlov wrote: >> Precompiler tries to compile methods at all levels without taking into account TieredStopAtLevel value. >> This patch updates Precompiler to restrict compilation to only levels allowed by TieredStopAtLevel. > > Looks good. You can push it. @vnkozlov thanks for the review ------------- PR Comment: https://git.openjdk.org/leyden/pull/85#issuecomment-3085635345 From asmehra at openjdk.org Thu Jul 17 21:54:13 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 17 Jul 2025 21:54:13 GMT Subject: Integrated: 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler In-Reply-To: References: Message-ID: On Thu, 17 Jul 2025 20:59:30 GMT, Ashutosh Mehra wrote: > Precompiler tries to compile methods at all levels without taking into account TieredStopAtLevel value. > This patch updates Precompiler to restrict compilation to only levels allowed by TieredStopAtLevel. This pull request has now been integrated. Changeset: 34077435 Author: Ashutosh Mehra URL: https://git.openjdk.org/leyden/commit/340774354cfb11a6ec5eb28bd4ffa50967e86ead Stats: 4 lines in 1 file changed: 1 ins; 0 del; 3 mod 8362534: [Leyden] assert(comp != nullptr) failed: Ensure we have a compiler Reviewed-by: kvn ------------- PR: https://git.openjdk.org/leyden/pull/85 From vladimir.kozlov at oracle.com Fri Jul 18 00:06:22 2025 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 17 Jul 2025 17:06:22 -0700 Subject: Question about supporting aot on other platforms (RISC-V) In-Reply-To: References: Message-ID: <2a3794a4-c60e-4922-8b0f-b44fe4496af7@oracle.com> Thank you, Hamlin, for adding AOT support for new platform. On 7/10/25 4:21 AM, Hamlin Li wrote: > Hi, > > I'm trying to apply changes related to aot on riscv (first step is > https://github.com/openjdk/jdk/pull/26101 jdk/pull/26101>, also plan to apply further changes in the future > gradually). This is good. Please, make sure runtime/cds/appcds/aotCode and other aot* tests passed. > > As Andrew suggested in the pr, there will be more changes (especially > related to code save/restore) from leyden premain to mainline. > I went through the pr's and discussion of leyden, found out several > changes might be platform related: > 1. Store cpu features in AOTCodeCache header (https://github.com/ > openjdk/leyden/pull/84 ) (Open) > 2. AOT code generation should support UseCompactObjectHeaders (https:// > github.com/openjdk/leyden/pull/78 pull/78> ) (committed into premain) These we may not push into mainline for sometime. Currently stubs caching is disabled in mainline because of this https://bugs.openjdk.org/browse/JDK-8357593 Adapters caching is not affected by the issue so they are still used in mainline. But they gave minor improvement. I agree with Andrew that you can apply your changes to leyden/premain and run runtime/cds/appcds/aot to see what further changes you need to do to support AOT code caching. For example, you need to make sure you have declared relocations for runtime calls in code and also relocation for card table base address if you embed it into code. > > I think in the short future, these above pr's are going to get into > mainline. But I might overlook some pr's or?discussions, > Besides of these above pr's, are there any other potential changes or > discussions I should pay attention to when I try to support aot on riscv? > I asked the questions to make sure after I integratehttps://github.com/ > openjdk/jdk/pull/26101 , even > if more leyden changes are merged (including the above ones) into > mainline, I can still make aot work as expected on riscv?quickly, rather > than break aot things for a long time, i.e. hope no surprise in the > progress. For that you should start testing/working with leyden/premain branch which is most up to date sources for AOT code. Regards, Vladimir K > > Thank you > -Hamlin From daniel at wwwmaster.at Fri Jul 18 12:47:54 2025 From: daniel at wwwmaster.at (Daniel Schmid) Date: Fri, 18 Jul 2025 14:47:54 +0200 Subject: Using CDS and AOT with the Eclipse IDE Message-ID: Hi there, I made a few experiments with CDS and AOT archives on the Eclipse IDE and wanted to share my results here. I ran 4 Eclipse installations (my personal main Eclipse installation is in a comment further down) with AppCDS and -XX:AOTCache and I have written down my results here: https://github.com/eclipse-platform/eclipse.platform/discussions/2060 I think the Eclipse IDE is an interesting application to test as it is a fairly big codebase with many classes loaded at runtime (so it doesn't make it easy for Leyden's improvements) via OSGi. I have used the latest EA build of JDK 26 (26-ea+6-582). Should I use a different JDK build to test it? Essentially my findings (which are relevant to this mailing list) are the following: - There has been an error when creating the AOT archive but it was still created and it was usable. I want to make sure that the people here are aware of that error. To be honest, I did not expect?-XX:AOTCache to work that well with Eclipse. - While CDS seems to come with a noticeable improvement for Eclipse startup time, -XX:AOTCache seems to have similar startup times as CDS (not faster). This might be because of Eclipse's class loading shenanigans. - It worked with an agent attached (The Lombok tooling for Eclipse attaches an agent into the IDE, I think that's necessary to inject itself into the Eclipse Java Compiler). The error I got: |[0.074s][error][aot] An error has occurred while processing the AOT configuration file. Run with -Xlog:aot for details. [0.074s][error][aot] archivedBootLayer not available, disabling full module graph AOTCache creation is complete: app.aot 106397696 bytes | I provided the logs here: https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt (technically not the same run but it also has that error). Yours, Daniel Schmid -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Fri Jul 18 15:28:42 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 15:28:42 GMT Subject: git: openjdk/leyden: premain: 8362200: [Leyden] MethodHandlesAsCollectorTest.java fail on Aarch64 with product VM Message-ID: <401ee4d4-51ac-4a5e-89a9-c573c2f541c0@openjdk.org> Changeset: 2b1c82cb Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 08:27:10 +0000 URL: https://git.openjdk.org/leyden/commit/2b1c82cb276c016ebde9df4145239a422c1fdaeb 8362200: [Leyden] MethodHandlesAsCollectorTest.java fail on Aarch64 with product VM ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/code/codeCache.cpp From kvn at openjdk.org Fri Jul 18 17:19:51 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 18 Jul 2025 17:19:51 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: References: Message-ID: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> On Tue, 15 Jul 2025 21:20:36 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: > > - Use FormatBuffer to obtain cpu features names string > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > > Signed-off-by: Ashutosh Mehra > - Remove UseSSE and UseAVX checks > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > - Address review comments > > Signed-off-by: Ashutosh Mehra > - Store cpu features in AOTCodeCache header > > Signed-off-by: Ashutosh Mehra `src/hotspot/share/utilities/formatBuffer.hpp` changes should be done separately in mainline. And then ported into premain branch. src/hotspot/share/code/aotCodeCache.cpp line 3249: > 3247: SET_ADDRESS(_shared_blobs, SharedRuntime::polling_page_return_handler_blob()->entry_point()); > 3248: #ifdef COMPILER2 > 3249: SET_ADDRESS(_shared_blobs, SharedRuntime::polling_page_vectors_safepoint_handler_blob()->entry_point()); Mistake update? ------------- PR Review: https://git.openjdk.org/leyden/pull/84#pullrequestreview-3034079818 PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2216406638 From duke at openjdk.org Fri Jul 18 17:49:02 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 17:49:02 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: Changeset: 16fbaf28 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 10:26:12 +0000 URL: https://git.openjdk.org/leyden/commit/16fbaf28e401e41e88085346dfaa163ece792b93 JDK-8358236 port ! src/hotspot/share/oops/methodData.cpp Changeset: 98a06549 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 10:33:19 +0000 URL: https://git.openjdk.org/leyden/commit/98a065494b39231afc62d0b75e60ccdcc4dc704c JDK-8358283 port ! src/hotspot/share/memory/allocation.cpp ! src/hotspot/share/memory/allocation.hpp From duke at openjdk.org Fri Jul 18 18:40:20 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 18:40:20 GMT Subject: git: openjdk/leyden: premain: JDK-8358254 port Message-ID: Changeset: 87c17337 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 11:38:26 +0000 URL: https://git.openjdk.org/leyden/commit/87c1733735761d4d1d36f4eac86ff237b03c77d5 JDK-8358254 port ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/oops/trainingData.hpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodData.java From asmehra at openjdk.org Fri Jul 18 19:09:54 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 18 Jul 2025 19:09:54 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> References: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> Message-ID: <0czXG3XLGDHbul3tBXBanvx6_w2ZSnLHgAudDKDpwxI=.1f789530-9f65-43d8-a29f-c6272c30ea86@github.com> On Fri, 18 Jul 2025 16:03:42 GMT, Vladimir Kozlov wrote: >> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: >> >> - Use FormatBuffer to obtain cpu features names string >> >> Signed-off-by: Ashutosh Mehra >> - Merge branch 'premain' into aot-cache-feature-flags >> >> Signed-off-by: Ashutosh Mehra >> - Remove UseSSE and UseAVX checks >> >> Signed-off-by: Ashutosh Mehra >> - Merge branch 'premain' into aot-cache-feature-flags >> - Address review comments >> >> Signed-off-by: Ashutosh Mehra >> - Store cpu features in AOTCodeCache header >> >> Signed-off-by: Ashutosh Mehra > > src/hotspot/share/code/aotCodeCache.cpp line 3249: > >> 3247: SET_ADDRESS(_shared_blobs, SharedRuntime::polling_page_return_handler_blob()->entry_point()); >> 3248: #ifdef COMPILER2 >> 3249: SET_ADDRESS(_shared_blobs, SharedRuntime::polling_page_vectors_safepoint_handler_blob()->entry_point()); > > Mistake update? oh! yes, that's a mistake. I will remove it. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/84#discussion_r2216754779 From duke at openjdk.org Fri Jul 18 19:26:59 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 19:26:59 GMT Subject: git: openjdk/leyden: premain: JDK-8358289 port Message-ID: <01aa1b4d-a854-4c6c-b320-fdd5a877885d@openjdk.org> Changeset: 1d6e4f6b Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 12:24:02 +0000 URL: https://git.openjdk.org/leyden/commit/1d6e4f6b5f476ded38f8fcb5b6ff15909741b171 JDK-8358289 port ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp From duke at openjdk.org Fri Jul 18 19:47:40 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 19:47:40 GMT Subject: git: openjdk/leyden: premain: JDK-8358632 port Message-ID: <22d1aa7b-7e49-4ccf-a2f6-964e3ff56fc9@openjdk.org> Changeset: 7f060ce6 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 12:46:30 +0000 URL: https://git.openjdk.org/leyden/commit/7f060ce6e31572428975ecc8ac8fcc50ced009d6 JDK-8358632 port ! src/hotspot/share/code/aotCodeCache.cpp From duke at openjdk.org Fri Jul 18 20:56:01 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 20:56:01 GMT Subject: git: openjdk/leyden: premain: JDK-8352187 port Message-ID: Changeset: fa922ff0 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 13:53:26 +0000 URL: https://git.openjdk.org/leyden/commit/fa922ff0a14f61caa7c64030d1db0914b0919d59 JDK-8352187 port ! src/hotspot/share/runtime/threads.cpp + test/hotspot/jtreg/runtime/cds/appcds/aotCache/ManagementAgent.java From duke at openjdk.org Fri Jul 18 21:02:50 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 21:02:50 GMT Subject: git: openjdk/leyden: premain: JDK-8358685 port Message-ID: <795da46e-38df-4d54-8c4e-fcc6c193f2ab@openjdk.org> Changeset: 07fcd299 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 13:59:56 +0000 URL: https://git.openjdk.org/leyden/commit/07fcd299bee620e1ad3dc29d4d04e31a8cec664a JDK-8358685 port ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/AOTLoggingTag.java From iklam at openjdk.org Fri Jul 18 21:37:47 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 18 Jul 2025 21:37:47 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe Message-ID: This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, ------------- Commit messages: - Fixed white spaces - 8362657: Make tables used in AOT assembly phase GC-safe Changes: https://git.openjdk.org/leyden/pull/86/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=86&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8362657 Stats: 144 lines in 8 files changed: 89 ins; 21 del; 34 mod Patch: https://git.openjdk.org/leyden/pull/86.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/86/head:pull/86 PR: https://git.openjdk.org/leyden/pull/86 From kvn at openjdk.org Fri Jul 18 21:56:56 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 18 Jul 2025 21:56:56 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe In-Reply-To: References: Message-ID: On Fri, 18 Jul 2025 20:46:17 GMT, Ioi Lam wrote: > This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. > > I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. > > Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. > > - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, Seems fine. Need second review. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/86#pullrequestreview-3034895197 From duke at openjdk.org Fri Jul 18 22:59:40 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 22:59:40 GMT Subject: git: openjdk/leyden: premain: JDK-8357382 port Message-ID: Changeset: f1008c89 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 15:58:26 +0000 URL: https://git.openjdk.org/leyden/commit/f1008c8993e1440703e465521c953d7ecbb5fcde JDK-8357382 port ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/BulkLoaderTest.java From duke at openjdk.org Fri Jul 18 23:15:49 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 23:15:49 GMT Subject: git: openjdk/leyden: premain: JDK-8359200 port Message-ID: <2642f64c-60b0-406f-9429-2c6c86782245@openjdk.org> Changeset: ebb0301b Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 16:13:48 +0000 URL: https://git.openjdk.org/leyden/commit/ebb0301b423a9d7651ac0f8f2322046bb5fb9fd7 JDK-8359200 port ! src/hotspot/share/libadt/vectset.cpp ! src/hotspot/share/libadt/vectset.hpp ! src/hotspot/share/opto/block.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/arguments/TestOptoNodeListSize.java From duke at openjdk.org Fri Jul 18 23:23:42 2025 From: duke at openjdk.org (duke) Date: Fri, 18 Jul 2025 23:23:42 GMT Subject: git: openjdk/leyden: premain: JDK-8358686 port Message-ID: <4c9ef046-e72f-4004-a29c-fe605c9d13a3@openjdk.org> Changeset: 97b0d230 Branch: premain Author: Vladimir Kozlov Date: 2025-07-18 16:22:10 +0000 URL: https://git.openjdk.org/leyden/commit/97b0d230d08f62684c5ebbac8b3672f3bbb94fe3 JDK-8358686 port ! src/hotspot/share/cds/metaspaceShared.cpp From calvin.cheung at oracle.com Sat Jul 19 01:38:29 2025 From: calvin.cheung at oracle.com (Calvin Cheung) Date: Fri, 18 Jul 2025 18:38:29 -0700 Subject: Using CDS and AOT with the Eclipse IDE In-Reply-To: References: Message-ID: <2587ad42-543c-47d1-a99b-075ebf1ae80f@oracle.com> Hi Daniel, Thanks for your experiments with CDS and AOT. From your AOT_logs_26ea.txt: > WARNING: Using incubator modules: jdk.incubator.vector > [0.055s][info][aot] Not starting management agent during creation of > AOT cache. > Reading AOTConfiguration app.aotconf and writing AOTCache app.aot > [0.057s][error][aot] An error has occurred while processing the AOT > configuration file. Run with -Xlog:aot for details. > [0.057s][error][aot] archivedBootLayer not available, disabling full > module graph The jdk.incubator.vector incubator module is included. We currently don't archive the boot layer if an incubator module is included in the module configuration. The incubator is added because the eclipse.ini file contains: --add-modules=ALL-SYSTEM I tried removing the above line from eclipse.ini and I don't see the above error anymore. Can you give it a try? I also tried your method of measuring the eclipse startup time by checking the line starting with "Application started in:" at the terminal. I noticed the line won't show up until I click on the "Launch" button on the eclipse window. Are you able to start eclipse without any splash screen and GUI? Thanks! Calvin On 7/18/25 5:47 AM, Daniel Schmid wrote: > > Hi there, > > I made a few experiments with CDS and AOT archives on the Eclipse IDE > and wanted to share my results here. > I ran 4 Eclipse installations (my personal main Eclipse installation > is in a comment further down) with AppCDS and -XX:AOTCache and I have > written down my results here: > https://github.com/eclipse-platform/eclipse.platform/discussions/2060 > > I think the Eclipse IDE is an interesting application to test as it is > a fairly big codebase with many classes loaded at runtime (so it > doesn't make it easy for Leyden's improvements) via OSGi. > > I have used the latest EA build of JDK 26 (26-ea+6-582). Should I use > a different JDK build to test it? > > Essentially my findings (which are relevant to this mailing list) are > the following: > - There has been an error when creating the AOT archive but it was > still created and it was usable. I want to make sure that the people > here are aware of that error. To be honest, I did not > expect?-XX:AOTCache to work that well with Eclipse. > - While CDS seems to come with a noticeable improvement for Eclipse > startup time, -XX:AOTCache seems to have similar startup times as CDS > (not faster). This might be because of Eclipse's class loading > shenanigans. > - It worked with an agent attached (The Lombok tooling for Eclipse > attaches an agent into the IDE, I think that's necessary to inject > itself into the Eclipse Java Compiler). > > > The error I got: > > |[0.074s][error][aot] An error has occurred while processing the AOT > configuration file. Run with -Xlog:aot for details. > [0.074s][error][aot] archivedBootLayer not available, disabling full > module graph AOTCache creation is complete: app.aot 106397696 bytes | > > I provided the logs here: > https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt > (technically not the same run but it also has that error). > > > Yours, > Daniel Schmid -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel at wwwmaster.at Sat Jul 19 09:13:06 2025 From: daniel at wwwmaster.at (Daniel Schmid) Date: Sat, 19 Jul 2025 11:13:06 +0200 Subject: Using CDS and AOT with the Eclipse IDE In-Reply-To: <2587ad42-543c-47d1-a99b-075ebf1ae80f@oracle.com> References: <2587ad42-543c-47d1-a99b-075ebf1ae80f@oracle.com> Message-ID: <8668e29d-a599-462b-afcd-b6ef07b0e80a@wwwmaster.at> Hi Calvin, Thanks for the hint. Without --add-modules=ALL-SYSTEM, I am indeed getting rid of the error and there seems to be an improvement of AOT over CDS (though I don't have a proper test setup so all my results are very noisy). I wasn't using the "Launch" button in the Eclipse Window, I just ran the Eclipse binary from bash. I think if you are on Windows, you might need to run eclipsec.exe instead of eclipse.exe (or appand -console or something like that). Also, I didn't add these custom arguments to the eclipse.ini file but directly to the command line. Also on Windows, I think it might make a difference whether you are using java.exe, javaw.exe and jvm.dll in the -vm option. Yours, Daniel On 19/07/2025 03:38, Calvin Cheung wrote: > > Hi Daniel, > > Thanks for your experiments with CDS and AOT. > > From your AOT_logs_26ea.txt: > >> WARNING: Using incubator modules: jdk.incubator.vector >> [0.055s][info][aot] Not starting management agent during creation of >> AOT cache. >> Reading AOTConfiguration app.aotconf and writing AOTCache app.aot >> [0.057s][error][aot] An error has occurred while processing the AOT >> configuration file. Run with -Xlog:aot for details. >> [0.057s][error][aot] archivedBootLayer not available, disabling full >> module graph > > The jdk.incubator.vector incubator module is included. We currently > don't archive the boot layer if an incubator module is included in the > module configuration. The incubator is added because the eclipse.ini > file contains: > > --add-modules=ALL-SYSTEM > > I tried removing the above line from eclipse.ini and I don't see the > above error anymore. > > Can you give it a try? > > I also tried your method of measuring the eclipse startup time by > checking the line starting with "Application started in:" at the > terminal. I noticed the line won't show up until I click on the > "Launch" button on the eclipse window. Are you able to start eclipse > without any splash screen and GUI? > > Thanks! > Calvin > > > On 7/18/25 5:47 AM, Daniel Schmid wrote: >> >> Hi there, >> >> I made a few experiments with CDS and AOT archives on the Eclipse IDE >> and wanted to share my results here. >> I ran 4 Eclipse installations (my personal main Eclipse installation >> is in a comment further down) with AppCDS and -XX:AOTCache and I have >> written down my results here: >> https://github.com/eclipse-platform/eclipse.platform/discussions/2060 >> >> I think the Eclipse IDE is an interesting application to test as it >> is a fairly big codebase with many classes loaded at runtime (so it >> doesn't make it easy for Leyden's improvements) via OSGi. >> >> I have used the latest EA build of JDK 26 (26-ea+6-582). Should I use >> a different JDK build to test it? >> >> Essentially my findings (which are relevant to this mailing list) are >> the following: >> - There has been an error when creating the AOT archive but it was >> still created and it was usable. I want to make sure that the people >> here are aware of that error. To be honest, I did not >> expect?-XX:AOTCache to work that well with Eclipse. >> - While CDS seems to come with a noticeable improvement for Eclipse >> startup time, -XX:AOTCache seems to have similar startup times as CDS >> (not faster). This might be because of Eclipse's class loading >> shenanigans. >> - It worked with an agent attached (The Lombok tooling for Eclipse >> attaches an agent into the IDE, I think that's necessary to inject >> itself into the Eclipse Java Compiler). >> >> >> The error I got: >> >> |[0.074s][error][aot] An error has occurred while processing the AOT >> configuration file. Run with -Xlog:aot for details. >> [0.074s][error][aot] archivedBootLayer not available, disabling full >> module graph AOTCache creation is complete: app.aot 106397696 bytes | >> >> I provided the logs here: >> https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt >> (technically not the same run but it also has that error). >> >> >> Yours, >> Daniel Schmid -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel at wwwmaster.at Sat Jul 19 12:22:18 2025 From: daniel at wwwmaster.at (Daniel Schmid) Date: Sat, 19 Jul 2025 14:22:18 +0200 Subject: Using CDS and AOT with the Eclipse IDE In-Reply-To: <8668e29d-a599-462b-afcd-b6ef07b0e80a@wwwmaster.at> References: <2587ad42-543c-47d1-a99b-075ebf1ae80f@oracle.com> <8668e29d-a599-462b-afcd-b6ef07b0e80a@wwwmaster.at> Message-ID: I forgot to mention that you can add -nosplash to the CLI and it won't show the splashscreen. You can also use -application to run a specific application (and not show the Eclipse GUI at all, e.g. run EJC from the CLI) but I don't that makes much sense in the context of my experiments (I am interest in "normal" Eclipse startup time and not startup of other applications that are part of the Eclipse IDE). Greetings, Daniel On 19/07/2025 11:13, Daniel Schmid wrote: > > Hi Calvin, > > Thanks for the hint. Without --add-modules=ALL-SYSTEM, I am indeed > getting rid of the error and there seems to be an improvement of AOT > over CDS (though I don't have a proper test setup so all my results > are very noisy). > > I wasn't using the "Launch" button in the Eclipse Window, I just ran > the Eclipse binary from bash. I think if you are on Windows, you might > need to run eclipsec.exe instead of eclipse.exe (or appand -console or > something like that). Also, I didn't add these custom arguments to the > eclipse.ini file but directly to the command line. > Also on Windows, I think it might make a difference whether you are > using java.exe, javaw.exe and jvm.dll in the -vm option. > > Yours, > Daniel > > On 19/07/2025 03:38, Calvin Cheung wrote: >> >> Hi Daniel, >> >> Thanks for your experiments with CDS and AOT. >> >> From your AOT_logs_26ea.txt: >> >>> WARNING: Using incubator modules: jdk.incubator.vector >>> [0.055s][info][aot] Not starting management agent during creation of >>> AOT cache. >>> Reading AOTConfiguration app.aotconf and writing AOTCache app.aot >>> [0.057s][error][aot] An error has occurred while processing the AOT >>> configuration file. Run with -Xlog:aot for details. >>> [0.057s][error][aot] archivedBootLayer not available, disabling full >>> module graph >> >> The jdk.incubator.vector incubator module is included. We currently >> don't archive the boot layer if an incubator module is included in >> the module configuration. The incubator is added because the >> eclipse.ini file contains: >> >> --add-modules=ALL-SYSTEM >> >> I tried removing the above line from eclipse.ini and I don't see the >> above error anymore. >> >> Can you give it a try? >> >> I also tried your method of measuring the eclipse startup time by >> checking the line starting with "Application started in:" at the >> terminal. I noticed the line won't show up until I click on the >> "Launch" button on the eclipse window. Are you able to start eclipse >> without any splash screen and GUI? >> >> Thanks! >> Calvin >> >> >> On 7/18/25 5:47 AM, Daniel Schmid wrote: >>> >>> Hi there, >>> >>> I made a few experiments with CDS and AOT archives on the Eclipse >>> IDE and wanted to share my results here. >>> I ran 4 Eclipse installations (my personal main Eclipse installation >>> is in a comment further down) with AppCDS and -XX:AOTCache and I >>> have written down my results here: >>> https://github.com/eclipse-platform/eclipse.platform/discussions/2060 >>> >>> I think the Eclipse IDE is an interesting application to test as it >>> is a fairly big codebase with many classes loaded at runtime (so it >>> doesn't make it easy for Leyden's improvements) via OSGi. >>> >>> I have used the latest EA build of JDK 26 (26-ea+6-582). Should I >>> use a different JDK build to test it? >>> >>> Essentially my findings (which are relevant to this mailing list) >>> are the following: >>> - There has been an error when creating the AOT archive but it was >>> still created and it was usable. I want to make sure that the people >>> here are aware of that error. To be honest, I did not >>> expect?-XX:AOTCache to work that well with Eclipse. >>> - While CDS seems to come with a noticeable improvement for Eclipse >>> startup time, -XX:AOTCache seems to have similar startup times as >>> CDS (not faster). This might be because of Eclipse's class loading >>> shenanigans. >>> - It worked with an agent attached (The Lombok tooling for Eclipse >>> attaches an agent into the IDE, I think that's necessary to inject >>> itself into the Eclipse Java Compiler). >>> >>> >>> The error I got: >>> >>> |[0.074s][error][aot] An error has occurred while processing the AOT >>> configuration file. Run with -Xlog:aot for details. >>> [0.074s][error][aot] archivedBootLayer not available, disabling full >>> module graph AOTCache creation is complete: app.aot 106397696 bytes | >>> >>> I provided the logs here: >>> https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt >>> (technically not the same run but it also has that error). >>> >>> >>> Yours, >>> Daniel Schmid -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Sat Jul 19 15:23:33 2025 From: duke at openjdk.org (duke) Date: Sat, 19 Jul 2025 15:23:33 GMT Subject: git: openjdk/leyden: premain: JDK-8357175 port Message-ID: <5c595884-a0b6-4a40-bb3e-1fd199d34a25@openjdk.org> Changeset: 513e2611 Branch: premain Author: Vladimir Kozlov Date: 2025-07-19 08:21:44 +0000 URL: https://git.openjdk.org/leyden/commit/513e26117af38b2f59dafbe354a21f41015e853c JDK-8357175 port ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp From duke at openjdk.org Sat Jul 19 15:33:58 2025 From: duke at openjdk.org (duke) Date: Sat, 19 Jul 2025 15:33:58 GMT Subject: git: openjdk/leyden: premain: JDK-8359788 port Message-ID: <95f29b1b-6b14-4ae1-aaac-dc5a63bea9ff@openjdk.org> Changeset: c4a3b55b Branch: premain Author: Vladimir Kozlov Date: 2025-07-19 08:32:02 +0000 URL: https://git.openjdk.org/leyden/commit/c4a3b55ba02e9492163d59a54029db70c92675ff JDK-8359788 port ! src/hotspot/share/oops/trainingData.hpp From duke at openjdk.org Sat Jul 19 21:33:03 2025 From: duke at openjdk.org (duke) Date: Sat, 19 Jul 2025 21:33:03 GMT Subject: git: openjdk/leyden: premain: JDK-8358738 port Message-ID: <3942223f-873c-45a4-b85f-4695f44999a3@openjdk.org> Changeset: 32ecf52a Branch: premain Author: Vladimir Kozlov Date: 2025-07-19 14:32:32 +0000 URL: https://git.openjdk.org/leyden/commit/32ecf52a137d25bf90eec4c0781545193a8a0a0b JDK-8358738 port ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/compiler/compilerDefinitions.hpp ! src/hotspot/share/compiler/compilerDefinitions.inline.hpp From duke at openjdk.org Sun Jul 20 00:23:27 2025 From: duke at openjdk.org (duke) Date: Sun, 20 Jul 2025 00:23:27 GMT Subject: git: openjdk/leyden: premain: JDK-8359646 port Message-ID: <7b2ed396-c5bd-49aa-91f5-3996e23e963a@openjdk.org> Changeset: 2e125a9e Branch: premain Author: Vladimir Kozlov Date: 2025-07-19 17:22:12 +0000 URL: https://git.openjdk.org/leyden/commit/2e125a9e508c9c4db8716207de2862e03e42146d JDK-8359646 port ! src/hotspot/share/code/aotCodeCache.cpp From duke at openjdk.org Sun Jul 20 16:43:15 2025 From: duke at openjdk.org (duke) Date: Sun, 20 Jul 2025 16:43:15 GMT Subject: git: openjdk/leyden: premain: JDK-8360942 port Message-ID: <5db61d07-96c8-40f0-a568-b34e8a984ae5@openjdk.org> Changeset: def9ba8f Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 09:41:25 +0000 URL: https://git.openjdk.org/leyden/commit/def9ba8f3f2e6c3564789c1c8b3fff9df7f2b21d JDK-8360942 port ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp From duke at openjdk.org Sun Jul 20 16:45:28 2025 From: duke at openjdk.org (duke) Date: Sun, 20 Jul 2025 16:45:28 GMT Subject: git: openjdk/leyden: premain: JDK-8358003 and JDK-8358580 port Message-ID: <06348f05-85a9-4797-9627-d6a3c8138238@openjdk.org> Changeset: 0fc4b927 Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 09:44:38 +0000 URL: https://git.openjdk.org/leyden/commit/0fc4b927ae49a73887ff536150f3fce310662c53 JDK-8358003 and JDK-8358580 port ! src/hotspot/share/oops/trainingData.cpp ! src/hotspot/share/oops/trainingData.hpp From duke at openjdk.org Sun Jul 20 19:13:27 2025 From: duke at openjdk.org (duke) Date: Sun, 20 Jul 2025 19:13:27 GMT Subject: git: openjdk/leyden: premain: 4 new changesets Message-ID: Changeset: 6c757999 Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 11:02:07 +0000 URL: https://git.openjdk.org/leyden/commit/6c75799963c5bfad83118191301ec8a682bcf013 JDK-8359373 port ! src/hotspot/cpu/aarch64/stubDeclarations_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/arm/stubDeclarations_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/ppc/stubDeclarations_ppc.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/stubDeclarations_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/stubDeclarations_s390.hpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/stubDeclarations_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/zero/stubDeclarations_zero.hpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubRoutines.cpp Changeset: 23006e74 Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 12:02:30 +0000 URL: https://git.openjdk.org/leyden/commit/23006e7409499339693df174d68c5a4a4a25d442 JDK-8361380 port ! src/hotspot/cpu/arm/stubDeclarations_arm.hpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/share/runtime/stubDeclarations.hpp Changeset: 7c222148 Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 12:09:47 +0000 URL: https://git.openjdk.org/leyden/commit/7c2221481c493a4835b2938b638a06511bdbcf50 JDK-8362250 port ! src/hotspot/cpu/arm/arm.ad Changeset: 91958019 Branch: premain Author: Vladimir Kozlov Date: 2025-07-20 12:11:11 +0000 URL: https://git.openjdk.org/leyden/commit/91958019e328f398d939ee52faaabd6e2baff477 Merge branch 'premain' of github.com:openjdk/leyden into premain From duke at openjdk.org Mon Jul 21 15:33:14 2025 From: duke at openjdk.org (duke) Date: Mon, 21 Jul 2025 15:33:14 GMT Subject: git: openjdk/leyden: premain: JDK-8358690 port Message-ID: Changeset: f9b40a79 Branch: premain Author: Vladimir Kozlov Date: 2025-07-21 08:31:42 +0000 URL: https://git.openjdk.org/leyden/commit/f9b40a7986a53b3bf1e284eea1c55e67d01e3324 JDK-8358690 port ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp From duke at openjdk.org Mon Jul 21 15:37:16 2025 From: duke at openjdk.org (duke) Date: Mon, 21 Jul 2025 15:37:16 GMT Subject: git: openjdk/leyden: premain: 8362518: [Leyden] assert(_ref_cnt > 0) failed: precond when run AOT tests with -Xcomp Message-ID: <66dc29db-29a1-4dcc-9f8f-1cc5f313d08b@openjdk.org> Changeset: f227d85e Branch: premain Author: Vladimir Kozlov Date: 2025-07-21 08:35:26 +0000 URL: https://git.openjdk.org/leyden/commit/f227d85e89356d2e17a691538139f003d85178f6 8362518: [Leyden] assert(_ref_cnt > 0) failed: precond when run AOT tests with -Xcomp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/code/codeBlob.cpp ! test/hotspot/jtreg/ProblemList-AotJdk.txt From iklam at openjdk.org Mon Jul 21 18:35:10 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 18:35:10 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... Message-ID: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> We should not AOT-compile indy call sites that cannot be archived in the resolved state. ------------- Commit messages: - 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... Changes: https://git.openjdk.org/leyden/pull/87/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=87&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8362558 Stats: 11 lines in 2 files changed: 9 ins; 1 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/87.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/87/head:pull/87 PR: https://git.openjdk.org/leyden/pull/87 From kvn at openjdk.org Mon Jul 21 18:48:02 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 21 Jul 2025 18:48:02 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... In-Reply-To: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 18:29:02 GMT, Ioi Lam wrote: > We should not AOT-compile indy call sites that cannot be archived in the resolved state. src/hotspot/share/ci/ciEnv.cpp line 837: > 835: Method* adapter = cpool->resolved_indy_entry_at(index)->method(); > 836: if (is_precompiled()) { > 837: ResolvedIndyEntry* indy_info = cpool()->resolved_indy_entry_at(index); Can move `indy_info` up and use it in `adapter = ` expression too? Do you need to use `()` for `cool()`? Other code does not use it. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2219982904 From asmehra at openjdk.org Mon Jul 21 19:13:51 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 21 Jul 2025 19:13:51 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe In-Reply-To: References: Message-ID: On Fri, 18 Jul 2025 20:46:17 GMT, Ioi Lam wrote: > This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. > > I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. > > Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. > > - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, Marked as reviewed by asmehra (Committer). @iklam there are arm compile failures likely due to some missing NOT_CDS_ macros. Otherwise this looks good to me. ------------- PR Review: https://git.openjdk.org/leyden/pull/86#pullrequestreview-3039364698 PR Comment: https://git.openjdk.org/leyden/pull/86#issuecomment-3098042847 From kvn at openjdk.org Mon Jul 21 19:55:37 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 21 Jul 2025 19:55:37 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... In-Reply-To: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 18:29:02 GMT, Ioi Lam wrote: > We should not AOT-compile indy call sites that cannot be archived in the resolved state. Minimal VM build failed: I think you missed #if INCLUDE_CDS ------------- PR Comment: https://git.openjdk.org/leyden/pull/87#issuecomment-3098320480 From iklam at openjdk.org Mon Jul 21 20:33:53 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 20:33:53 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2] In-Reply-To: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: > We should not AOT-compile indy call sites that cannot be archived in the resolved state. Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: @vnkozlov comments ------------- Changes: - all: https://git.openjdk.org/leyden/pull/87/files - new: https://git.openjdk.org/leyden/pull/87/files/ed48fbca..bfd56069 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=87&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=87&range=00-01 Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/87.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/87/head:pull/87 PR: https://git.openjdk.org/leyden/pull/87 From iklam at openjdk.org Mon Jul 21 20:37:02 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 20:37:02 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2] In-Reply-To: References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 18:45:24 GMT, Vladimir Kozlov wrote: >> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: >> >> @vnkozlov comments > > src/hotspot/share/ci/ciEnv.cpp line 837: > >> 835: Method* adapter = cpool->resolved_indy_entry_at(index)->method(); >> 836: if (is_precompiled()) { >> 837: ResolvedIndyEntry* indy_info = cpool()->resolved_indy_entry_at(index); > > Can move `indy_info` up and use it in `adapter = ` expression too? > > Do you need to use `()` for `cool()`? Other code does not use it. I changed `cpool()->` to `cpool->`. Do you mean this: if (!AOTConstantPoolResolver::is_resolution_deterministic(cpool(), cpool->resolved_indy_entry_at(index)->constant_pool_index())) { adapter = nullptr; } I think that will make the code hard to read as you see two "index" in a row. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220258848 From kvn at openjdk.org Mon Jul 21 20:48:02 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 21 Jul 2025 20:48:02 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2] In-Reply-To: References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 20:33:54 GMT, Ioi Lam wrote: >> src/hotspot/share/ci/ciEnv.cpp line 837: >> >>> 835: Method* adapter = cpool->resolved_indy_entry_at(index)->method(); >>> 836: if (is_precompiled()) { >>> 837: ResolvedIndyEntry* indy_info = cpool()->resolved_indy_entry_at(index); >> >> Can move `indy_info` up and use it in `adapter = ` expression too? >> >> Do you need to use `()` for `cool()`? Other code does not use it. > > I changed `cpool()->` to `cpool->`. > > Do you mean this: > > > if (!AOTConstantPoolResolver::is_resolution_deterministic(cpool(), > cpool->resolved_indy_entry_at(index)->constant_pool_index())) { > adapter = nullptr; > } > > > I think that will make the code hard to read as you see two "index" in a row. I ment to move up not down: ResolvedIndyEntry* indy_info = cpool->resolved_indy_entry_at(index); Method* adapter = indy_info->method(); #if INCLUDE_CDS if (is_precompiled() && !AOTConstantPoolResolver::is_resolution_deterministic(cpool(), indy_info->constant_pool_index())) { ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220284636 From iklam at openjdk.org Mon Jul 21 21:09:40 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 21:09:40 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2] In-Reply-To: References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: <54Ra4636B43B8yTeY-MowIOCFFCzzUT7feUm5zdhXTU=.1ee9a0ed-a054-4574-b990-8f08d6f47989@github.com> On Mon, 21 Jul 2025 20:44:59 GMT, Vladimir Kozlov wrote: >> I changed `cpool()->` to `cpool->`. >> >> Do you mean this: >> >> >> if (!AOTConstantPoolResolver::is_resolution_deterministic(cpool(), >> cpool->resolved_indy_entry_at(index)->constant_pool_index())) { >> adapter = nullptr; >> } >> >> >> I think that will make the code hard to read as you see two "index" in a row. > > I ment to move up not down: > > ResolvedIndyEntry* indy_info = cpool->resolved_indy_entry_at(index); > Method* adapter = indy_info->method(); > #if INCLUDE_CDS > if (is_precompiled() && !AOTConstantPoolResolver::is_resolution_deterministic(cpool(), indy_info->constant_pool_index())) { But `indy_info` is not used outside of that scope, so we shouldn't move it up. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220345256 From kvn at openjdk.org Mon Jul 21 21:20:02 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 21 Jul 2025 21:20:02 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2] In-Reply-To: <54Ra4636B43B8yTeY-MowIOCFFCzzUT7feUm5zdhXTU=.1ee9a0ed-a054-4574-b990-8f08d6f47989@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> <54Ra4636B43B8yTeY-MowIOCFFCzzUT7feUm5zdhXTU=.1ee9a0ed-a054-4574-b990-8f08d6f47989@github.com> Message-ID: <0rAgFmHL7tXZkmUSLQiG1dUYfAnV8QiH16ioZtc0bdU=.db8cb7af-a7ba-4071-97a5-3f9c1e56c665@github.com> On Mon, 21 Jul 2025 21:06:47 GMT, Ioi Lam wrote: >> I ment to move up not down: >> >> ResolvedIndyEntry* indy_info = cpool->resolved_indy_entry_at(index); >> Method* adapter = indy_info->method(); >> #if INCLUDE_CDS >> if (is_precompiled() && !AOTConstantPoolResolver::is_resolution_deterministic(cpool(), indy_info->constant_pool_index())) { > > But `indy_info` is not used outside of that scope, so we shouldn't move it up. What expression at the line #835 uses? Is it different?: Method* adapter = cpool->resolved_indy_entry_at(index)->method(); ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220363213 From iklam at openjdk.org Mon Jul 21 22:45:43 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 22:45:43 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v3] In-Reply-To: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: <4RNine-nmGrkQhh3gFdQHE5ZocONrvV-OeEK0qUUoFs=.57bda38c-26f1-4e00-a4b4-9793d766cf9a@github.com> > We should not AOT-compile indy call sites that cannot be archived in the resolved state. Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: @vnkozlov comments ------------- Changes: - all: https://git.openjdk.org/leyden/pull/87/files - new: https://git.openjdk.org/leyden/pull/87/files/bfd56069..ae2963f1 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=87&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=87&range=01-02 Stats: 9 lines in 1 file changed: 1 ins; 3 del; 5 mod Patch: https://git.openjdk.org/leyden/pull/87.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/87/head:pull/87 PR: https://git.openjdk.org/leyden/pull/87 From iklam at openjdk.org Mon Jul 21 22:45:43 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 21 Jul 2025 22:45:43 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v3] In-Reply-To: <0rAgFmHL7tXZkmUSLQiG1dUYfAnV8QiH16ioZtc0bdU=.db8cb7af-a7ba-4071-97a5-3f9c1e56c665@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> <54Ra4636B43B8yTeY-MowIOCFFCzzUT7feUm5zdhXTU=.1ee9a0ed-a054-4574-b990-8f08d6f47989@github.com> <0rAgFmHL7tXZkmUSLQiG1dUYfAnV8QiH16ioZtc0bdU=.db8cb7af-a7ba-4071-97a5-3f9c1e56c665@github.com> Message-ID: On Mon, 21 Jul 2025 21:16:33 GMT, Vladimir Kozlov wrote: >> But `indy_info` is not used outside of that scope, so we shouldn't move it up. > > What expression at the line #835 uses? Is it different?: > > Method* adapter = cpool->resolved_indy_entry_at(index)->method(); Oops, sorry I misunderstood. I updated the code as you suggested. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220506269 From kvn at openjdk.org Mon Jul 21 23:18:36 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 21 Jul 2025 23:18:36 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v3] In-Reply-To: <4RNine-nmGrkQhh3gFdQHE5ZocONrvV-OeEK0qUUoFs=.57bda38c-26f1-4e00-a4b4-9793d766cf9a@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> <4RNine-nmGrkQhh3gFdQHE5ZocONrvV-OeEK0qUUoFs=.57bda38c-26f1-4e00-a4b4-9793d766cf9a@github.com> Message-ID: On Mon, 21 Jul 2025 22:45:43 GMT, Ioi Lam wrote: >> We should not AOT-compile indy call sites that cannot be archived in the resolved state. > > Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: > > @vnkozlov comments Looks good. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/87#pullrequestreview-3040162233 From calvin.cheung at oracle.com Tue Jul 22 00:26:47 2025 From: calvin.cheung at oracle.com (Calvin Cheung) Date: Mon, 21 Jul 2025 17:26:47 -0700 Subject: Using CDS and AOT with the Eclipse IDE In-Reply-To: References: <2587ad42-543c-47d1-a99b-075ebf1ae80f@oracle.com> <8668e29d-a599-462b-afcd-b6ef07b0e80a@wwwmaster.at> Message-ID: Thanks for the -nosplash hint. Regarding the "Launch" button, that is from the "Select a directory as workspace" dialog box. After selecting the "do not ask again" checkbox, the dialog didn't popup again. On linux-x64 without the --add-module=ALL-SYSTEM, I saw an improvement of AOT over CDS by approx. 13%. Thanks! Calvin On 7/19/25 5:22 AM, Daniel Schmid wrote: > > I forgot to mention that you can add -nosplash to the CLI and it won't > show the splashscreen. You can also use -application to run a > specific application (and not show the Eclipse GUI at all, e.g. run > EJC from the CLI) but I don't that makes much sense in the context of > my experiments (I am interest in "normal" Eclipse startup time and not > startup of other applications that are part of the Eclipse IDE). > > Greetings, > Daniel > > On 19/07/2025 11:13, Daniel Schmid wrote: >> >> Hi Calvin, >> >> Thanks for the hint. Without --add-modules=ALL-SYSTEM, I am indeed >> getting rid of the error and there seems to be an improvement of AOT >> over CDS (though I don't have a proper test setup so all my results >> are very noisy). >> >> I wasn't using the "Launch" button in the Eclipse Window, I just ran >> the Eclipse binary from bash. I think if you are on Windows, you >> might need to run eclipsec.exe instead of eclipse.exe (or appand >> -console or something like that). Also, I didn't add these custom >> arguments to the eclipse.ini file but directly to the command line. >> Also on Windows, I think it might make a difference whether you are >> using java.exe, javaw.exe and jvm.dll in the -vm option. >> >> Yours, >> Daniel >> >> On 19/07/2025 03:38, Calvin Cheung wrote: >>> >>> Hi Daniel, >>> >>> Thanks for your experiments with CDS and AOT. >>> >>> From your AOT_logs_26ea.txt: >>> >>>> WARNING: Using incubator modules: jdk.incubator.vector >>>> [0.055s][info][aot] Not starting management agent during creation >>>> of AOT cache. >>>> Reading AOTConfiguration app.aotconf and writing AOTCache app.aot >>>> [0.057s][error][aot] An error has occurred while processing the AOT >>>> configuration file. Run with -Xlog:aot for details. >>>> [0.057s][error][aot] archivedBootLayer not available, disabling >>>> full module graph >>> >>> The jdk.incubator.vector incubator module is included. We currently >>> don't archive the boot layer if an incubator module is included in >>> the module configuration. The incubator is added because the >>> eclipse.ini file contains: >>> >>> --add-modules=ALL-SYSTEM >>> >>> I tried removing the above line from eclipse.ini and I don't see the >>> above error anymore. >>> >>> Can you give it a try? >>> >>> I also tried your method of measuring the eclipse startup time by >>> checking the line starting with "Application started in:" at the >>> terminal. I noticed the line won't show up until I click on the >>> "Launch" button on the eclipse window. Are you able to start eclipse >>> without any splash screen and GUI? >>> >>> Thanks! >>> Calvin >>> >>> >>> On 7/18/25 5:47 AM, Daniel Schmid wrote: >>>> >>>> Hi there, >>>> >>>> I made a few experiments with CDS and AOT archives on the Eclipse >>>> IDE and wanted to share my results here. >>>> I ran 4 Eclipse installations (my personal main Eclipse >>>> installation is in a comment further down) with AppCDS and >>>> -XX:AOTCache and I have written down my results here: >>>> https://github.com/eclipse-platform/eclipse.platform/discussions/2060 >>>> >>>> I think the Eclipse IDE is an interesting application to test as it >>>> is a fairly big codebase with many classes loaded at runtime (so it >>>> doesn't make it easy for Leyden's improvements) via OSGi. >>>> >>>> I have used the latest EA build of JDK 26 (26-ea+6-582). Should I >>>> use a different JDK build to test it? >>>> >>>> Essentially my findings (which are relevant to this mailing list) >>>> are the following: >>>> - There has been an error when creating the AOT archive but it was >>>> still created and it was usable. I want to make sure that the >>>> people here are aware of that error. To be honest, I did not >>>> expect?-XX:AOTCache to work that well with Eclipse. >>>> - While CDS seems to come with a noticeable improvement for Eclipse >>>> startup time, -XX:AOTCache seems to have similar startup times as >>>> CDS (not faster). This might be because of Eclipse's class loading >>>> shenanigans. >>>> - It worked with an agent attached (The Lombok tooling for Eclipse >>>> attaches an agent into the IDE, I think that's necessary to inject >>>> itself into the Eclipse Java Compiler). >>>> >>>> >>>> The error I got: >>>> >>>> |[0.074s][error][aot] An error has occurred while processing the >>>> AOT configuration file. Run with -Xlog:aot for details. >>>> [0.074s][error][aot] archivedBootLayer not available, disabling >>>> full module graph AOTCache creation is complete: app.aot 106397696 >>>> bytes | >>>> >>>> I provided the logs here: >>>> https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt >>>> (technically not the same run but it also has that error). >>>> >>>> >>>> Yours, >>>> Daniel Schmid -------------- next part -------------- An HTML attachment was scrubbed... URL: From iklam at openjdk.org Tue Jul 22 02:32:44 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 02:32:44 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v2] In-Reply-To: References: Message-ID: > This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. > > I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. > > Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. > > - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Fixed 32-bit builds - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe - Fixed white spaces - 8362657: Make tables used in AOT assembly phase GC-safe ------------- Changes: - all: https://git.openjdk.org/leyden/pull/86/files - new: https://git.openjdk.org/leyden/pull/86/files/123b766c..dbfdba9c Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=86&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=86&range=00-01 Stats: 857 lines in 59 files changed: 534 ins; 163 del; 160 mod Patch: https://git.openjdk.org/leyden/pull/86.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/86/head:pull/86 PR: https://git.openjdk.org/leyden/pull/86 From iklam at openjdk.org Tue Jul 22 03:47:10 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 03:47:10 GMT Subject: git: openjdk/leyden: premain: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... Message-ID: Changeset: 45288e04 Branch: premain Author: Ioi Lam Date: 2025-07-22 03:46:17 +0000 URL: https://git.openjdk.org/leyden/commit/45288e047583bd68ed91cdb604aa302830dec7bc 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... Reviewed-by: kvn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp From iklam at openjdk.org Tue Jul 22 03:49:37 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 03:49:37 GMT Subject: RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... In-Reply-To: References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 19:52:44 GMT, Vladimir Kozlov wrote: >> We should not AOT-compile indy call sites that cannot be archived in the resolved state. > > Minimal VM build failed: I think you missed #if INCLUDE_CDS Thanks @vnkozlov for the review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/87#issuecomment-3100707844 From iklam at openjdk.org Tue Jul 22 03:49:38 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 03:49:38 GMT Subject: Integrated: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... In-Reply-To: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> References: <-2Gqv02M1L6uDU-KGuyhugQ27flPQpIhxV_zXeEnVZ8=.f22ba466-5c56-4ebb-8467-56781936d748@github.com> Message-ID: On Mon, 21 Jul 2025 18:29:02 GMT, Ioi Lam wrote: > We should not AOT-compile indy call sites that cannot be archived in the resolved state. This pull request has now been integrated. Changeset: 45288e04 Author: Ioi Lam URL: https://git.openjdk.org/leyden/commit/45288e047583bd68ed91cdb604aa302830dec7bc Stats: 12 lines in 2 files changed: 9 ins; 1 del; 2 mod 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... Reviewed-by: kvn ------------- PR: https://git.openjdk.org/leyden/pull/87 From shade at openjdk.org Tue Jul 22 06:19:50 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 22 Jul 2025 06:19:50 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v2] In-Reply-To: References: Message-ID: <1AsNwLnpaETfENYllL5b7Hl4Cm0tbsJeDYh5XnwAFQA=.490fa808-6903-417a-b815-11933eabd110@github.com> On Tue, 22 Jul 2025 02:32:44 GMT, Ioi Lam wrote: >> This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. >> >> I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. >> >> Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. >> >> - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, > > Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: > > - Fixed 32-bit builds > - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe > - Fixed white spaces > - 8362657: Make tables used in AOT assembly phase GC-safe Not sure going for `OopHandle`-s is a right thing, since it introduces interesting leaks. See below. I think the alternative is to: a) make GC walk these collections as part of roots; b) maintain a separate collection that _only_ have `OopHandle`-ized oops as roots, leaving the maps holding the original `oop`-s (and allowing quieries with raw `oop`-s). src/hotspot/share/cds/heapShared.hpp line 389: > 387: > 388: static CachedOopInfo* get_cached_oop_info(oop orig_obj) { > 389: OopHandle oh(&orig_obj); `OopHandle`-s have no destructors, so this leaks? ------------- PR Review: https://git.openjdk.org/leyden/pull/86#pullrequestreview-3041305033 PR Review Comment: https://git.openjdk.org/leyden/pull/86#discussion_r2221333667 From iklam at openjdk.org Tue Jul 22 06:50:50 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 06:50:50 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v2] In-Reply-To: <1AsNwLnpaETfENYllL5b7Hl4Cm0tbsJeDYh5XnwAFQA=.490fa808-6903-417a-b815-11933eabd110@github.com> References: <1AsNwLnpaETfENYllL5b7Hl4Cm0tbsJeDYh5XnwAFQA=.490fa808-6903-417a-b815-11933eabd110@github.com> Message-ID: On Tue, 22 Jul 2025 06:11:28 GMT, Aleksey Shipilev wrote: >> Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: >> >> - Fixed 32-bit builds >> - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe >> - Fixed white spaces >> - 8362657: Make tables used in AOT assembly phase GC-safe > > src/hotspot/share/cds/heapShared.hpp line 389: > >> 387: >> 388: static CachedOopInfo* get_cached_oop_info(oop orig_obj) { >> 389: OopHandle oh(&orig_obj); > > `OopHandle`-s have no destructors, so this leaks? This only allocates a temporary `OopHandle` on the stack for the purpose of doing a look-up. The storage of this is allocated on the stack (the address of the local variable `obj`). So there's no leak here. OopHandle oh(&obj); return archived_object_cache()->get(oh) != nullptr; When an `OopHandle` is stored in the `archived_object_cache()`, we will allocate the storage from `Universe::vm_global()`. This storage should be freed when the `archived_object_cache()` is deleted, but we currently never delete that table, as we assume the VM will soon exit after AOT assembly is done. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/86#discussion_r2221395063 From shade at openjdk.org Tue Jul 22 09:00:42 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 22 Jul 2025 09:00:42 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v2] In-Reply-To: References: <1AsNwLnpaETfENYllL5b7Hl4Cm0tbsJeDYh5XnwAFQA=.490fa808-6903-417a-b815-11933eabd110@github.com> Message-ID: On Tue, 22 Jul 2025 06:47:49 GMT, Ioi Lam wrote: >> src/hotspot/share/cds/heapShared.hpp line 389: >> >>> 387: >>> 388: static CachedOopInfo* get_cached_oop_info(oop orig_obj) { >>> 389: OopHandle oh(&orig_obj); >> >> `OopHandle`-s have no destructors, so this leaks? > > This only allocates a temporary `OopHandle` on the stack for the purpose of doing a look-up. The storage of this is allocated on the stack (the address of the local variable `obj`). So there's no leak here. > > > OopHandle oh(&obj); > return archived_object_cache()->get(oh) != nullptr; > > > When an `OopHandle` is stored in the `archived_object_cache()`, we will allocate the storage from `Universe::vm_global()`. This storage should be freed when the `archived_object_cache()` is deleted, but we currently never delete that table, as we assume the VM will soon exit after AOT assembly is done. Oh, there is a special constructor, I missed that: https://github.com/openjdk/jdk/blob/ed70910b0f3e1b19d915ec13ac3434407d01bc5d/src/hotspot/share/oops/oopHandle.hpp#L47C1-L47C42 I thought we go through a normal allocation path that leaks the slots in relevant `OopStorage`. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/86#discussion_r2221799054 From shade at openjdk.org Tue Jul 22 12:54:55 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 22 Jul 2025 12:54:55 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v2] In-Reply-To: References: Message-ID: On Tue, 22 Jul 2025 02:32:44 GMT, Ioi Lam wrote: >> This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. >> >> I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. >> >> Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. >> >> - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, > > Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: > > - Fixed 32-bit builds > - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe > - Fixed white spaces > - 8362657: Make tables used in AOT assembly phase GC-safe OK, this looks fine. ------------- Marked as reviewed by shade (Committer). PR Review: https://git.openjdk.org/leyden/pull/86#pullrequestreview-3042866317 From iklam at openjdk.org Tue Jul 22 15:54:58 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 15:54:58 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v3] In-Reply-To: References: Message-ID: > This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. > > I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. > > Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. > > - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: - Fixed crash in runtime/cds/CDSMapTest.java with -XX:+UseZGC - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe - Fixed 32-bit builds - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe - Fixed white spaces - 8362657: Make tables used in AOT assembly phase GC-safe ------------- Changes: - all: https://git.openjdk.org/leyden/pull/86/files - new: https://git.openjdk.org/leyden/pull/86/files/dbfdba9c..017d1085 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=86&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=86&range=01-02 Stats: 15 lines in 3 files changed: 12 ins; 1 del; 2 mod Patch: https://git.openjdk.org/leyden/pull/86.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/86/head:pull/86 PR: https://git.openjdk.org/leyden/pull/86 From shade at openjdk.org Tue Jul 22 16:40:08 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 22 Jul 2025 16:40:08 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v3] In-Reply-To: References: Message-ID: On Tue, 22 Jul 2025 15:54:58 GMT, Ioi Lam wrote: >> This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. >> >> I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. >> >> Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. >> >> - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, > > Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: > > - Fixed crash in runtime/cds/CDSMapTest.java with -XX:+UseZGC > - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe > - Fixed 32-bit builds > - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe > - Fixed white spaces > - 8362657: Make tables used in AOT assembly phase GC-safe Marked as reviewed by shade (Committer). ------------- PR Review: https://git.openjdk.org/leyden/pull/86#pullrequestreview-3043892631 From iklam at openjdk.org Tue Jul 22 17:42:33 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 17:42:33 GMT Subject: git: openjdk/leyden: premain: 8362657: Make tables used in AOT assembly phase GC-safe Message-ID: Changeset: a529aa73 Branch: premain Author: Ioi Lam Date: 2025-07-22 17:41:17 +0000 URL: https://git.openjdk.org/leyden/commit/a529aa731d4daf2744d3ea5e94a112030c34c341 8362657: Make tables used in AOT assembly phase GC-safe Reviewed-by: kvn, asmehra, shade ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/archiveHeapWriter.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/cdsHeapVerifier.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp From iklam at openjdk.org Tue Jul 22 17:44:23 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 17:44:23 GMT Subject: RFR: 8362657: Make tables used in AOT assembly phase GC-safe [v3] In-Reply-To: References: Message-ID: On Fri, 18 Jul 2025 21:54:06 GMT, Vladimir Kozlov wrote: >> Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: >> >> - Fixed crash in runtime/cds/CDSMapTest.java with -XX:+UseZGC >> - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe >> - Fixed 32-bit builds >> - Merge branch 'premain' into 8362657-make-aot-assembly-tables-gc-safe >> - Fixed white spaces >> - 8362657: Make tables used in AOT assembly phase GC-safe > > Seems fine. Need second review. Thanks @vnkozlov @ashu-mehra @shipilev for the review ------------- PR Comment: https://git.openjdk.org/leyden/pull/86#issuecomment-3104044522 From iklam at openjdk.org Tue Jul 22 17:44:23 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 22 Jul 2025 17:44:23 GMT Subject: Integrated: 8362657: Make tables used in AOT assembly phase GC-safe In-Reply-To: References: Message-ID: On Fri, 18 Jul 2025 20:46:17 GMT, Ioi Lam wrote: > This fixes crashes when using `-Xlog:aot+map=trace,aot+map+oops=trace:file=aot.oops.txt:none:filesize=0` during the assembly phase. > > I basically changed a few raw `oop` pointers to `OopHandle`. I also simplified `ArchiveHeapWriter::is_marked_as_native_pointer()`. > > Note that for `HeapShared::archived_object_cache()`, I calculate the hashcode using the raw oop. This way, we can avoid calling `oopDesc::identity_hash()` for every archived oops. As a result, when we use this table after exiting the CDS safepoint, we must rehash it. See changes in `ArchiveBuilder::CDSMapLogger::log()`. > > - It might be alright to pre-calculate the identity hash of the archived oops in the assembly phase, but I think we should do that only if we find a reason to do so. We shouldn't do it just because it's convenient for implementing an internal table, This pull request has now been integrated. Changeset: a529aa73 Author: Ioi Lam URL: https://git.openjdk.org/leyden/commit/a529aa731d4daf2744d3ea5e94a112030c34c341 Stats: 146 lines in 8 files changed: 91 ins; 21 del; 34 mod 8362657: Make tables used in AOT assembly phase GC-safe Reviewed-by: kvn, asmehra, shade ------------- PR: https://git.openjdk.org/leyden/pull/86 From kvn at openjdk.org Wed Jul 23 20:00:42 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 23 Jul 2025 20:00:42 GMT Subject: RFR: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized Message-ID: Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. Tested tier1-4,tier8-comp ------------- Commit messages: - 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized Changes: https://git.openjdk.org/leyden/pull/88/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=88&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8362559 Stats: 27 lines in 9 files changed: 6 ins; 1 del; 20 mod Patch: https://git.openjdk.org/leyden/pull/88.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/88/head:pull/88 PR: https://git.openjdk.org/leyden/pull/88 From asmehra at openjdk.org Wed Jul 23 20:07:07 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 23 Jul 2025 20:07:07 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v4] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with four additional commits since the last revision: - Add test to check cpu feature incompatibility Signed-off-by: Ashutosh Mehra - Ignore CPU_HT when storing cpu features in AOTCodeCache Signed-off-by: Ashutosh Mehra - Fix formatting of log messages Signed-off-by: Ashutosh Mehra - Restore changes deleted by mistake Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/9018729b..3c662448 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=03 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=02-03 Stats: 170 lines in 4 files changed: 165 ins; 0 del; 5 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Wed Jul 23 22:07:32 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 23 Jul 2025 22:07:32 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v5] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits: - Merge branch 'premain' into aot-cache-feature-flags - Add test to check cpu feature incompatibility Signed-off-by: Ashutosh Mehra - Ignore CPU_HT when storing cpu features in AOTCodeCache Signed-off-by: Ashutosh Mehra - Fix formatting of log messages Signed-off-by: Ashutosh Mehra - Restore changes deleted by mistake Signed-off-by: Ashutosh Mehra - Use FormatBuffer to obtain cpu features names string Signed-off-by: Ashutosh Mehra - Merge branch 'premain' into aot-cache-feature-flags Signed-off-by: Ashutosh Mehra - Remove UseSSE and UseAVX checks Signed-off-by: Ashutosh Mehra - Merge branch 'premain' into aot-cache-feature-flags - Address review comments Signed-off-by: Ashutosh Mehra - ... and 1 more: https://git.openjdk.org/leyden/compare/a529aa73...5f872c11 ------------- Changes: https://git.openjdk.org/leyden/pull/84/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=04 Stats: 581 lines in 11 files changed: 413 ins; 29 del; 139 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Wed Jul 23 22:15:15 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 23 Jul 2025 22:15:15 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v5] In-Reply-To: References: Message-ID: On Wed, 23 Jul 2025 22:07:32 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits: > > - Merge branch 'premain' into aot-cache-feature-flags > - Add test to check cpu feature incompatibility > > Signed-off-by: Ashutosh Mehra > - Ignore CPU_HT when storing cpu features in AOTCodeCache > > Signed-off-by: Ashutosh Mehra > - Fix formatting of log messages > > Signed-off-by: Ashutosh Mehra > - Restore changes deleted by mistake > > Signed-off-by: Ashutosh Mehra > - Use FormatBuffer to obtain cpu features names string > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > > Signed-off-by: Ashutosh Mehra > - Remove UseSSE and UseAVX checks > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > - Address review comments > > Signed-off-by: Ashutosh Mehra > - ... and 1 more: https://git.openjdk.org/leyden/compare/a529aa73...5f872c11 I added a test to check cpu feature flag incompatibility. For now it is specific to x86_64. I also removed CPU_HT flag from the VM_Features stored in the AOTCodeCache, as this flag should not affect the instruction set used for code gen. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3110567612 From asmehra at openjdk.org Wed Jul 23 22:15:15 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 23 Jul 2025 22:15:15 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> References: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> Message-ID: On Fri, 18 Jul 2025 16:17:44 GMT, Vladimir Kozlov wrote: > src/hotspot/share/utilities/formatBuffer.hpp changes should be done separately in mainline. And then ported into premain branch. I am working on putting in mainline. In the meantime, should I remove the patch that introduced these changes and revert back to earlier implementation? ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3110574018 From kvn at openjdk.org Wed Jul 23 23:30:08 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 23 Jul 2025 23:30:08 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: References: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> Message-ID: On Wed, 23 Jul 2025 22:12:28 GMT, Ashutosh Mehra wrote: > should I remove the patch that introduced these changes and revert back to earlier implementation? It is fine to keep it since it will go into mainline. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3111231305 From duke at openjdk.org Thu Jul 24 14:59:56 2025 From: duke at openjdk.org (duke) Date: Thu, 24 Jul 2025 14:59:56 GMT Subject: git: openjdk/leyden: premain: AOT code caching fixes: Message-ID: <857b50cf-b4d8-4d51-9d63-5c0fc89cecb9@openjdk.org> Changeset: 24c18701 Branch: premain Author: Vladimir Kozlov Date: 2025-07-24 07:58:36 +0000 URL: https://git.openjdk.org/leyden/commit/24c187011bc04dd1b6a5dd64712681903603bea0 AOT code caching fixes: - added Xlog info when AOT code caching starts and finishsX - call CDSConfig::disable_dumping_aot_code() before we close AOT code cache: to avoid AOT compilation after cache is closed - small code reordering in AOTCodeAddressTable::init_extrs() - fixed Zero build on Aarch64 (relocation.hpp changes) - adjusted compiler threads count setting for AOT assembly phase - fixed merge mismatch: double call to TrainingData::initialize() ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/relocInfo.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/runtime/init.cpp From iklam at openjdk.org Thu Jul 24 15:28:22 2025 From: iklam at openjdk.org (Ioi Lam) Date: Thu, 24 Jul 2025 15:28:22 GMT Subject: RFR: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized In-Reply-To: References: Message-ID: On Wed, 23 Jul 2025 19:54:59 GMT, Vladimir Kozlov wrote: > Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. > > I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. > > Tested tier1-4,tier8-comp Looks good. ------------- Marked as reviewed by iklam (Committer). PR Review: https://git.openjdk.org/leyden/pull/88#pullrequestreview-3052166706 From kvn at openjdk.org Thu Jul 24 15:53:13 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 15:53:13 GMT Subject: RFR: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized In-Reply-To: References: Message-ID: On Thu, 24 Jul 2025 15:25:28 GMT, Ioi Lam wrote: >> Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. >> >> I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. >> >> Tested tier1-4,tier8-comp > > Looks good. Thank you @iklam for review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/88#issuecomment-3113988568 From shade at openjdk.org Thu Jul 24 16:01:18 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 24 Jul 2025 16:01:18 GMT Subject: RFR: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized In-Reply-To: References: Message-ID: On Wed, 23 Jul 2025 19:54:59 GMT, Vladimir Kozlov wrote: > Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. > > I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. > > Tested tier1-4,tier8-comp Looks reasonable. Cannot really see if we have caught all the places, but if tests are passing now, this is good. ------------- Marked as reviewed by shade (Committer). PR Review: https://git.openjdk.org/leyden/pull/88#pullrequestreview-3052279147 From kvn at openjdk.org Thu Jul 24 16:32:18 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 16:32:18 GMT Subject: git: openjdk/leyden: premain: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized Message-ID: <842f4312-d10f-4ad7-96af-540ec338aa0e@openjdk.org> Changeset: 2d6b3b12 Branch: premain Author: Vladimir Kozlov Date: 2025-07-24 16:30:31 +0000 URL: https://git.openjdk.org/leyden/commit/2d6b3b126c3b65c502cbce51da1d3b7dc6a5c321 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized Reviewed-by: iklam, shade ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.hpp From kvn at openjdk.org Thu Jul 24 16:35:20 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 16:35:20 GMT Subject: RFR: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized In-Reply-To: References: Message-ID: On Thu, 24 Jul 2025 15:58:10 GMT, Aleksey Shipilev wrote: >> Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. >> >> I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. >> >> Tested tier1-4,tier8-comp > > Looks reasonable. Cannot really see if we have caught all the places, but if tests are passing now, this is good. Thank you @shipilev for review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/88#issuecomment-3114104737 From kvn at openjdk.org Thu Jul 24 16:35:20 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 16:35:20 GMT Subject: Integrated: 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized In-Reply-To: References: Message-ID: On Wed, 23 Jul 2025 19:54:59 GMT, Vladimir Kozlov wrote: > Fix is proposed by @iklam: add check that we precompiling AOT code in C1 where we check for initialized klass. > > I renamed `is_compiled()` to `is_compile()` because we are in pricing of compiling. > > Tested tier1-4,tier8-comp This pull request has now been integrated. Changeset: 2d6b3b12 Author: Vladimir Kozlov URL: https://git.openjdk.org/leyden/commit/2d6b3b126c3b65c502cbce51da1d3b7dc6a5c321 Stats: 27 lines in 9 files changed: 6 ins; 1 del; 20 mod 8362559: [leyden] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized Reviewed-by: iklam, shade ------------- PR: https://git.openjdk.org/leyden/pull/88 From duke at openjdk.org Thu Jul 24 21:07:43 2025 From: duke at openjdk.org (duke) Date: Thu, 24 Jul 2025 21:07:43 GMT Subject: git: openjdk/leyden: premain: 8363978: [Leyden] Crash in C1 AOT compiled java.lang.Thread. method Message-ID: Changeset: 2c812df7 Branch: premain Author: Vladimir Kozlov Date: 2025-07-24 14:06:11 +0000 URL: https://git.openjdk.org/leyden/commit/2c812df78710301738b91bb9bf0f3d4fe4dd6b05 8363978: [Leyden] Crash in C1 AOT compiled java.lang.Thread. method ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp From duke at openjdk.org Thu Jul 24 21:12:20 2025 From: duke at openjdk.org (duke) Date: Thu, 24 Jul 2025 21:12:20 GMT Subject: git: openjdk/leyden: premain: JDK-8358217 port Message-ID: <1080cd3e-8a2a-4768-b1dd-5a1e7c6f5ed0@openjdk.org> Changeset: de2d1a87 Branch: premain Author: Vladimir Kozlov Date: 2025-07-24 14:10:49 +0000 URL: https://git.openjdk.org/leyden/commit/de2d1a8786ad532bcd781041b16789dc90d81d70 JDK-8358217 port ! test/jdk/jdk/incubator/vector/PreferredSpeciesTest.java From kvn at openjdk.org Thu Jul 24 21:45:14 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 21:45:14 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v3] In-Reply-To: References: <68ApUQhncPxZ4kKTiidZxcIRmyK2GDrSkC9jJOxHD1w=.f7d7a224-d8b1-4b9d-ac9f-ee2d80d7b509@github.com> Message-ID: On Wed, 23 Jul 2025 22:12:28 GMT, Ashutosh Mehra wrote: >> `src/hotspot/share/utilities/formatBuffer.hpp` changes should be done separately in mainline. And then ported into premain branch. > >> src/hotspot/share/utilities/formatBuffer.hpp changes should be done separately in mainline. And then ported into premain branch. > > I am working on putting in mainline. In the meantime, should I remove the patch that introduced these changes and revert back to earlier implementation? @ashu-mehra Look on `test/hotspot/jtreg/compiler/arraycopy/stress/TestStressArrayCopy.java` how to get CPU features using WB instead of running separate processes. Also add ` * @requires os.simpleArch == "x64"` if you want to run it only on x64. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3115069029 From kvn at openjdk.org Thu Jul 24 21:53:10 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 24 Jul 2025 21:53:10 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v5] In-Reply-To: References: Message-ID: On Wed, 23 Jul 2025 22:07:32 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits: > > - Merge branch 'premain' into aot-cache-feature-flags > - Add test to check cpu feature incompatibility > > Signed-off-by: Ashutosh Mehra > - Ignore CPU_HT when storing cpu features in AOTCodeCache > > Signed-off-by: Ashutosh Mehra > - Fix formatting of log messages > > Signed-off-by: Ashutosh Mehra > - Restore changes deleted by mistake > > Signed-off-by: Ashutosh Mehra > - Use FormatBuffer to obtain cpu features names string > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > > Signed-off-by: Ashutosh Mehra > - Remove UseSSE and UseAVX checks > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > - Address review comments > > Signed-off-by: Ashutosh Mehra > - ... and 1 more: https://git.openjdk.org/leyden/compare/a529aa73...5f872c11 I submitted leyden/premain testing for current 04 version. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3115084565 From duke at openjdk.org Fri Jul 25 01:21:06 2025 From: duke at openjdk.org (duke) Date: Fri, 25 Jul 2025 01:21:06 GMT Subject: git: openjdk/leyden: premain: Remove unused C3 Message-ID: Changeset: c5c838b7 Branch: premain Author: Vladimir Kozlov Date: 2025-07-24 18:20:18 +0000 URL: https://git.openjdk.org/leyden/commit/c5c838b7612f16312ede212cbe21c3b80502d436 Remove unused C3 ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp From asmehra at openjdk.org Fri Jul 25 14:27:55 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 25 Jul 2025 14:27:55 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v6] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with two additional commits since the last revision: - Add dianostic option AOTCodeCPUFeatureCheck to disable cpu feature check Signed-off-by: Ashutosh Mehra - Update cpu feature incompatibility test Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/5f872c11..3628a037 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=05 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=04-05 Stats: 278 lines in 4 files changed: 132 ins; 145 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Fri Jul 25 14:32:28 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 25 Jul 2025 14:32:28 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v7] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Fix whitespace issue Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/3628a037..a7f4a206 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=06 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=05-06 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Fri Jul 25 14:41:13 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 25 Jul 2025 14:41:13 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v5] In-Reply-To: References: Message-ID: On Thu, 24 Jul 2025 21:50:54 GMT, Vladimir Kozlov wrote: >> Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits: >> >> - Merge branch 'premain' into aot-cache-feature-flags >> - Add test to check cpu feature incompatibility >> >> Signed-off-by: Ashutosh Mehra >> - Ignore CPU_HT when storing cpu features in AOTCodeCache >> >> Signed-off-by: Ashutosh Mehra >> - Fix formatting of log messages >> >> Signed-off-by: Ashutosh Mehra >> - Restore changes deleted by mistake >> >> Signed-off-by: Ashutosh Mehra >> - Use FormatBuffer to obtain cpu features names string >> >> Signed-off-by: Ashutosh Mehra >> - Merge branch 'premain' into aot-cache-feature-flags >> >> Signed-off-by: Ashutosh Mehra >> - Remove UseSSE and UseAVX checks >> >> Signed-off-by: Ashutosh Mehra >> - Merge branch 'premain' into aot-cache-feature-flags >> - Address review comments >> >> Signed-off-by: Ashutosh Mehra >> - ... and 1 more: https://git.openjdk.org/leyden/compare/a529aa73...5f872c11 > > I submitted leyden/premain testing for current 04 version. @vnkozlov > Look on test/hotspot/jtreg/compiler/arraycopy/stress/TestStressArrayCopy.java how to get CPU features using WB instead of running separate processes. > > Also add * @requires os.simpleArch == "x64" if you want to run it only on x64. > Thanks for the pointers. I updated the tests as per your suggestion. I wanted to add a similar test for aarch64 and I picked up crc32 flag for that. But it turns out the command line option to disable this feature -XX:-UseCRC32 is not reflected in the `VM_Version::_features` bitmap. I think this should be treated as a bug and fixed in mainline. I have commented out the aarch64 specific test for now. I also adding a diagnostic option to disable cpu feature check. These changes should not affect your testing though. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3118169979 From kvn at openjdk.org Fri Jul 25 16:47:21 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 25 Jul 2025 16:47:21 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v7] In-Reply-To: References: Message-ID: On Fri, 25 Jul 2025 14:32:28 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Fix whitespace issue > > Signed-off-by: Ashutosh Mehra This looks good. My testing "passed" - I don't anything which could be caused by these changes. Please, before pushing it run performance testing with CPU features check and without it (you have flag now) to see if we hit bailouts (no AOT code usage) due to some bug. Thanks. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/84#pullrequestreview-3056159111 From duke at openjdk.org Fri Jul 25 16:51:45 2025 From: duke at openjdk.org (duke) Date: Fri, 25 Jul 2025 16:51:45 GMT Subject: git: openjdk/leyden: premain: JDK-8361752 port Message-ID: <930534e6-7778-49eb-a75d-a676b73740aa@openjdk.org> Changeset: 8c056af5 Branch: premain Author: Vladimir Kozlov Date: 2025-07-25 09:49:08 +0000 URL: https://git.openjdk.org/leyden/commit/8c056af56fec0155315934a6985a3859a6a338a6 JDK-8361752 port ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp From asmehra at openjdk.org Fri Jul 25 18:26:40 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 25 Jul 2025 18:26:40 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v8] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Fix incorrect return type Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/a7f4a206..0b744ac3 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=07 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=06-07 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From kvn at openjdk.org Fri Jul 25 19:11:13 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 25 Jul 2025 19:11:13 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v8] In-Reply-To: References: Message-ID: <8n34i11RqWYvrundXHVL14Ws_MUYy09yy1IqjmUs3vs=.771902b9-bc85-4400-bb00-2d67a2fbf1de@github.com> On Fri, 25 Jul 2025 18:26:40 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Fix incorrect return type > > Signed-off-by: Ashutosh Mehra Good. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/84#pullrequestreview-3056529295 From duke at openjdk.org Fri Jul 25 19:17:01 2025 From: duke at openjdk.org (duke) Date: Fri, 25 Jul 2025 19:17:01 GMT Subject: git: openjdk/leyden: premain: JDK-8363837 port Message-ID: Changeset: b12e8522 Branch: premain Author: Vladimir Kozlov Date: 2025-07-25 12:16:09 +0000 URL: https://git.openjdk.org/leyden/commit/b12e8522d24af9b33de6d558d8efc901a19c7589 JDK-8363837 port ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/arm/stubRoutines_arm.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/stubRoutines_ppc.hpp ! src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.hpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/zero/stubDeclarations_zero.hpp ! src/hotspot/cpu/zero/stubRoutines_zero.cpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp From asmehra at openjdk.org Fri Jul 25 19:33:10 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 25 Jul 2025 19:33:10 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v7] In-Reply-To: References: Message-ID: On Fri, 25 Jul 2025 16:44:29 GMT, Vladimir Kozlov wrote: > Please, before pushing it run performance testing with CPU features check and without it (you have flag now) to see if we hit bailouts (no AOT code usage) due to some bug. @vnkozlov I ran spring and quarkus getting started tests with and without `AOTCodeCPUFeatureCheck` and didn't notice any change in behavior. Is that what you were suggesting? ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3120093501 From kvn at openjdk.org Fri Jul 25 20:41:08 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 25 Jul 2025 20:41:08 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v8] In-Reply-To: References: Message-ID: <00yWIh92rHlkqKl0SF7EIGV3L0kCL3A853WYkFPSJH8=.ca8f10c4-bc76-4214-ad2d-5dd6466336d4@github.com> On Fri, 25 Jul 2025 18:26:40 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Fix incorrect return type > > Signed-off-by: Ashutosh Mehra Yes, thank you for testing that. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3120276153 From duke at openjdk.org Sun Jul 27 05:21:33 2025 From: duke at openjdk.org (duke) Date: Sun, 27 Jul 2025 05:21:33 GMT Subject: git: openjdk/leyden: premain: Major cleanup of AOT code caching Message-ID: Changeset: 392fbbb1 Branch: premain Author: Vladimir Kozlov Date: 2025-07-26 22:19:55 +0000 URL: https://git.openjdk.org/leyden/commit/392fbbb1859cd71521cb915b601a65cf59ba495b Major cleanup of AOT code caching - Removed support for incremental update AOT code cache - Simplified code to support only new workflow - Updated logging to include AOT and Preload tags - Renamed some flags and methods ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/code/aotCodeCache.cpp ! src/hotspot/share/code/aotCodeCache.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compilationLog.cpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/compiler/compiler_globals.hpp ! src/hotspot/share/compiler/precompiler.cpp ! src/hotspot/share/compiler/precompiler.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/c2compiler.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/threads.cpp From duke at openjdk.org Mon Jul 28 04:04:00 2025 From: duke at openjdk.org (duke) Date: Mon, 28 Jul 2025 04:04:00 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 157 new changesets Message-ID: <1bb735e0-dc1c-4cef-95a4-cb1b84a7cc57@openjdk.org> Changeset: 5cf672e7 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-14 20:23:38 +0000 URL: https://git.openjdk.org/leyden/commit/5cf672e7784b9a9a82f29977a072b162cc240fd1 8359053: Implement JEP 504 - Remove the Applet API Reviewed-by: aivanov, kizune, kcr, achung, serb ! src/demo/share/jfc/J2Ddemo/java2d/RunWindow.java ! src/demo/share/jfc/J2Ddemo/java2d/Tools.java ! src/demo/share/jfc/SwingSet2/SwingSet2.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameUI.java ! src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/DnDUtilities.m ! src/java.desktop/share/classes/com/sun/java/swing/SwingUtilities3.java ! src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java - src/java.desktop/share/classes/java/applet/Applet.java - src/java.desktop/share/classes/java/applet/AppletContext.java - src/java.desktop/share/classes/java/applet/AppletStub.java - src/java.desktop/share/classes/java/applet/AudioClip.java - src/java.desktop/share/classes/java/applet/package-info.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Container.java ! src/java.desktop/share/classes/java/awt/Dialog.java ! src/java.desktop/share/classes/java/awt/EventQueue.java ! src/java.desktop/share/classes/java/awt/Frame.java ! src/java.desktop/share/classes/java/awt/GraphicsEnvironment.java ! src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java ! src/java.desktop/share/classes/java/awt/Polygon.java ! src/java.desktop/share/classes/java/awt/SystemTray.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/Window.java ! src/java.desktop/share/classes/java/awt/doc-files/FocusSpec.html ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html - src/java.desktop/share/classes/java/beans/AppletInitializer.java ! src/java.desktop/share/classes/java/beans/Beans.java ! src/java.desktop/share/classes/java/beans/DesignMode.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java ! src/java.desktop/share/classes/javax/imageio/spi/IIORegistry.java ! src/java.desktop/share/classes/javax/swing/BufferStrategyPaintManager.java - src/java.desktop/share/classes/javax/swing/JApplet.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/javax/swing/JEditorPane.java ! src/java.desktop/share/classes/javax/swing/JOptionPane.java ! src/java.desktop/share/classes/javax/swing/JRootPane.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/javax/swing/JViewport.java ! src/java.desktop/share/classes/javax/swing/KeyboardManager.java ! src/java.desktop/share/classes/javax/swing/PopupFactory.java ! src/java.desktop/share/classes/javax/swing/RepaintManager.java ! src/java.desktop/share/classes/javax/swing/RootPaneContainer.java ! src/java.desktop/share/classes/javax/swing/SwingPaintEventDispatcher.java ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java ! src/java.desktop/share/classes/javax/swing/Timer.java ! src/java.desktop/share/classes/javax/swing/ToolTipManager.java ! src/java.desktop/share/classes/javax/swing/UIManager.java - src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletColor16.gif - src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletColor32.gif - src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletMono16.gif - src/java.desktop/share/classes/javax/swing/beaninfo/images/JAppletMono32.gif - src/java.desktop/share/classes/javax/swing/doc-files/JRootPane-1.gif + src/java.desktop/share/classes/javax/swing/doc-files/JRootPane-1.svg ! src/java.desktop/share/classes/javax/swing/package-info.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java ! src/java.desktop/share/classes/module-info.java ! src/java.desktop/share/classes/sun/awt/AppContext.java ! src/java.desktop/share/classes/sun/awt/EmbeddedFrame.java ! src/java.desktop/share/classes/sun/awt/SunToolkit.java ! src/java.desktop/share/classes/sun/awt/util/PerformanceLogger.java ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/java.desktop/unix/classes/sun/awt/X11/XWindow.java ! src/java.desktop/windows/classes/sun/awt/windows/WEmbeddedFrame.java ! src/java.desktop/windows/native/libawt/windows/awt_Dialog.h ! src/java.desktop/windows/native/libawt/windows/awt_GDIObject.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/GraphApplet.java - test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/GraphPanel.java - test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/Node.java - test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/ilayout.java - test/hotspot/jtreg/vmTestbase/jit/misctests/fpustack/layout.java ! test/hotspot/jtreg/vmTestbase/jit/removal_candidates.txt - test/jdk/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java - test/jdk/java/awt/applet/Applet/AppletFlipBuffer.java - test/jdk/java/awt/applet/Applet/HeadlessApplet.java ! test/jdk/java/beans/Introspector/4520754/Test4520754.java ! test/jdk/java/beans/Performance/TestIntrospector.java ! test/jdk/java/beans/PropertyChangeSupport/Test4682386.java ! test/jdk/javax/sound/sampled/Clip/AudioContentHandlers.java ! test/jdk/javax/sound/sampled/Clip/AutoCloseTimeCheck.java ! test/jdk/javax/sound/sampled/Clip/DataPusherThreadCheck.java - test/jdk/javax/swing/Headless/HeadlessJApplet.java Changeset: f36147b3 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-14 22:53:45 +0000 URL: https://git.openjdk.org/leyden/commit/f36147b3263662229e9a0ec712b9748711d2d85d 8356942: invokeinterface?Throws?AbstractMethodError?Instead of?IncompatibleClassChangeError Reviewed-by: coleenp, iklam ! src/hotspot/share/oops/klassVtable.cpp ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ConflictingDefaultsTest.java Changeset: 0acd065b Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-14 23:35:05 +0000 URL: https://git.openjdk.org/leyden/commit/0acd065bf5a75090b84c28b28856a62d86c52791 8361909: ConstantPoolBuilder::loadableConstantEntry and constantValueEntry should throw NPE Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java ! test/jdk/jdk/classfile/ConstantDescSymbolsTest.java Changeset: 25e509b0 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-15 05:14:44 +0000 URL: https://git.openjdk.org/leyden/commit/25e509b0db4f35b3b8fbfeb7ec84cc0e0fed89d1 8362097: JFR: Active Settings view broken Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini Changeset: 40d159d4 Branch: hermetic-java-runtime Author: Jan Lahoda Date: 2025-07-15 06:13:45 +0000 URL: https://git.openjdk.org/leyden/commit/40d159d4a9718d8db0aadf66b322583cd5246d0c 8362116: System.in.read() etc. don't accept input once immediate Ctrl+D pressed in JShell Reviewed-by: liach, cstein ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java ! src/jdk.jshell/share/classes/jdk/jshell/JShell.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/Util.java + src/jdk.jshell/share/classes/jdk/jshell/execution/impl/RestartableInputStream.java ! test/langtools/jdk/jshell/InputUITest.java ! test/langtools/jdk/jshell/UITesting.java Changeset: 18c2e40d Branch: hermetic-java-runtime Author: Alexander Zvegintsev Date: 2025-07-15 06:21:48 +0000 URL: https://git.openjdk.org/leyden/commit/18c2e40de75f974858aeb453892e4c7c8d5aa90e 8354415: [Ubuntu25.04] api/java_awt/GraphicsDevice/indexTGF.html#SetDisplayMode - setDisplayMode_REFRESH_RATE_UNKNOWN fails: Height is different on vnc Reviewed-by: honkar, kizune ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! src/java.desktop/unix/native/common/awt/awt_GraphicsEnv.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: e5ab2107 Branch: hermetic-java-runtime Author: Hannes Greule Committer: Tobias Hartmann Date: 2025-07-15 06:28:03 +0000 URL: https://git.openjdk.org/leyden/commit/e5ab210713f76c5307287bd97ce63f9e22d0ab8e 8359678: C2: assert(static_cast(result) == thing) caused by ReverseBytesNode::Value() Reviewed-by: mhaessig, dlong, thartmann ! src/hotspot/share/opto/subnode.cpp + test/hotspot/jtreg/compiler/c2/gvn/ReverseBytesConstantsHelper.jasm ! test/hotspot/jtreg/compiler/c2/gvn/ReverseBytesConstantsTests.java Changeset: bf225c20 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-15 07:18:15 +0000 URL: https://git.openjdk.org/leyden/commit/bf225c201f00f3a478b51c3cf045759b66899684 8361959: [GCC static analyzer] java_props_md.c leak of 'temp' variable is reported Reviewed-by: shade, kbarrett, rriggs ! src/java.base/unix/native/libjava/java_props_md.c Changeset: c9ecc826 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-15 07:51:45 +0000 URL: https://git.openjdk.org/leyden/commit/c9ecc826668575678f11578a67f125d430ebffad 8362162: Use bool for caller of os::must_commit_stack_guard_pages() Reviewed-by: shade, kbarrett ! src/hotspot/share/runtime/stackOverflow.cpp Changeset: 9697e5bf Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-15 09:03:56 +0000 URL: https://git.openjdk.org/leyden/commit/9697e5bf74bc7d7fbdf76eed42b8de3c05d69acc 8362151: Remove unnecessary ClassLoaderDataGraph friend classes Reviewed-by: coleenp, shade ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp Changeset: c70258ca Branch: hermetic-java-runtime Author: Johannes Bechberger Date: 2025-07-15 10:58:02 +0000 URL: https://git.openjdk.org/leyden/commit/c70258ca1cd074392b5bf844bf6f7b80601f45cc 8358619: Fix interval recomputation in CPU Time Profiler Reviewed-by: jbachorik, mgronlun ! src/hotspot/share/jfr/jni/jfrJniMethod.cpp ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp ! src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/CPUThrottleSetting.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/TimespanRate.java ! test/jdk/jdk/jfr/event/profiling/TestCPUTimeAndExecutionSample.java Changeset: 563e8762 Branch: hermetic-java-runtime Author: Raffaello Giulietti Date: 2025-07-15 13:21:35 +0000 URL: https://git.openjdk.org/leyden/commit/563e8762464fd1b291eb18f5234c1655386cc8dd 8358540: Enhance MathUtils in view of FloatingDecimal enhancements Reviewed-by: darcy ! src/java.base/share/classes/jdk/internal/math/DoubleToDecimal.java ! src/java.base/share/classes/jdk/internal/math/FloatToDecimal.java ! src/java.base/share/classes/jdk/internal/math/FloatingDecimal.java ! src/java.base/share/classes/jdk/internal/math/MathUtils.java ! test/jdk/jdk/internal/math/ToDecimal/java.base/jdk/internal/math/DoubleToDecimalChecker.java ! test/jdk/jdk/internal/math/ToDecimal/java.base/jdk/internal/math/FloatToDecimalChecker.java ! test/jdk/jdk/internal/math/ToDecimal/java.base/jdk/internal/math/MathUtilsChecker.java ! test/jdk/jdk/internal/math/ToDecimal/java.base/jdk/internal/math/ToDecimalChecker.java Changeset: d2082c58 Branch: hermetic-java-runtime Author: Johannes Bechberger Date: 2025-07-15 14:23:11 +0000 URL: https://git.openjdk.org/leyden/commit/d2082c58ff086eb37c6211a8d1b813cdfedc2259 8358621: Reduce busy waiting in worse case at the synchronization point returning from native in CPU Time Profiler Reviewed-by: shade, jbachorik, egahlin ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp Changeset: b65fdf5a Branch: hermetic-java-runtime Author: Ian Graves Date: 2025-07-15 14:33:37 +0000 URL: https://git.openjdk.org/leyden/commit/b65fdf5af0a5e1cf0d66d7551c6df63e8d07c5fa 8358768: [vectorapi] Make VectorOperators.SUADD an Associative Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/gen-template.sh + test/jdk/jdk/incubator/vector/templates/Kernel-SaturatingBinary-Masked-op-associative.template + test/jdk/jdk/incubator/vector/templates/Kernel-SaturatingBinary-op-associative.template + test/jdk/jdk/incubator/vector/templates/Unit-SaturatingBinary-Masked-op-associative.template + test/jdk/jdk/incubator/vector/templates/Unit-SaturatingBinary-op-associative.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template Changeset: 820263e4 Branch: hermetic-java-runtime Author: Daniel Lund?n Date: 2025-07-15 15:37:27 +0000 URL: https://git.openjdk.org/leyden/commit/820263e48abf3ddce9506eb19872871aa3ea8b50 8360701: Add bailout when the register allocator interference graph grows unreasonably large Reviewed-by: mhaessig, thartmann ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/ifg.cpp Changeset: 38af17d0 Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-07-15 17:27:17 +0000 URL: https://git.openjdk.org/leyden/commit/38af17d078d164b6550ecba329d46d5a8de77cd1 8356807: Change log_info(cds) to `MetaspaceShared::report_loading_error()` Reviewed-by: matsaave, iklam ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! test/hotspot/jtreg/runtime/cds/ServiceLoaderTest.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java Changeset: 401af27b Branch: hermetic-java-runtime Author: Xueming Shen Date: 2025-07-15 17:57:13 +0000 URL: https://git.openjdk.org/leyden/commit/401af27b9dbc701eb48e5bc685d3ad058e0de3bc 8360459: UNICODE_CASE and character class with non-ASCII range does not match ASCII char Reviewed-by: naoto ! make/ToolsJdk.gmk + make/jdk/src/classes/build/tools/generatecharacter/CaseFolding.java ! make/modules/java.base/gensrc/GensrcRegex.gmk ! src/java.base/share/classes/java/util/regex/Pattern.java + src/java.base/share/classes/jdk/internal/util/regex/CaseFolding.java.template + src/java.base/share/data/unicodedata/CaseFolding.txt + test/jdk/java/util/regex/CaseFoldingTest.java ! test/jdk/java/util/regex/TestCases.txt ! test/jdk/lib/testlibrary/java/lang/UCDFiles.java Changeset: eefbfdce Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-07-15 18:15:16 +0000 URL: https://git.openjdk.org/leyden/commit/eefbfdce315237eeec4aceceb476d86314304e81 8361587: AssertionError in File.listFiles() when path is empty and -esa is enabled Reviewed-by: alanb ! src/java.base/share/classes/java/io/File.java ! test/jdk/java/io/File/EmptyPath.java Changeset: 6fc032de Branch: hermetic-java-runtime Author: Sergey Bylokhov Date: 2025-07-15 20:28:19 +0000 URL: https://git.openjdk.org/leyden/commit/6fc032de2c19853f3fa4f57659dc8559b516d7c5 8358468: Enhance code consistency: java.desktop/macos Reviewed-by: prr, azvegint ! src/java.desktop/macosx/classes/apple/laf/JRSUIConstants.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIFocus.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIState.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIStateFactory.java ! src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java ! src/java.desktop/macosx/classes/com/apple/eawt/Application.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/MacQuitResponse.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppDockIconHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppEventHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/_AppMiscHandlers.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/FullScreenEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureHandler.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/MagnificationEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/RotationEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/SwipeEvent.java ! src/java.desktop/macosx/classes/com/apple/eio/FileManager.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonRadioUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonToggleUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxRendererInternal.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaEditorPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileView.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFocus.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFocusHandler.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFonts.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaGroupBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaHighlighter.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaIcon.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaImageFactory.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameManager.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLabelUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaListUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBarBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuItemUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaNativeResources.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaOptionPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPainter.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPanelUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaPopupMenuUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaProgressBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaRootPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSliderUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSpinnerUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSplitPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTableUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextAreaUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldBorder.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldSearch.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolBarUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaToolTipUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTreeUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaUtilControlSize.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaUtils.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuBar.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuItem.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenPopupFactory.java ! src/java.desktop/macosx/classes/sun/awt/PlatformGraphicsInfo.java ! src/java.desktop/macosx/classes/sun/font/CCharToGlyphMapper.java ! src/java.desktop/macosx/classes/sun/font/CCompositeGlyphMapper.java ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/macosx/classes/sun/font/CFontConfiguration.java ! src/java.desktop/macosx/classes/sun/font/CFontManager.java ! src/java.desktop/macosx/classes/sun/font/CStrike.java ! src/java.desktop/macosx/classes/sun/font/CStrikeDisposer.java ! src/java.desktop/macosx/classes/sun/font/NativeFont.java ! src/java.desktop/macosx/classes/sun/font/NativeStrike.java ! src/java.desktop/macosx/classes/sun/java2d/CRenderer.java ! src/java.desktop/macosx/classes/sun/java2d/CompositeCRenderer.java ! src/java.desktop/macosx/classes/sun/java2d/DataBufferNIOInt.java ! src/java.desktop/macosx/classes/sun/java2d/IntegerNIORaster.java ! src/java.desktop/macosx/classes/sun/java2d/MacOSFlags.java ! src/java.desktop/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLBlitLoops.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLBufImgOps.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLContext.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLDrawImage.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLLayer.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLMaskBlit.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLMaskFill.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLPaints.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLRenderQueue.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLRenderer.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLSurfaceDataProxy.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLTextRenderer.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLVolatileSurfaceManager.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java ! src/java.desktop/macosx/classes/sun/lwawt/LWKeyboardFocusManagerPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/LWLightweightFramePeer.java ! src/java.desktop/macosx/classes/sun/lwawt/LWMouseInfoPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibleText.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CCheckboxMenuItem.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CCustomCursor.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CDataTransferer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CFileDialog.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethod.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformLWComponent.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformLWView.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CSystemTray.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/macosx/classes/sun/print/PlatformPrinterJobProxy.java Changeset: 9bef2d16 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-15 20:33:24 +0000 URL: https://git.openjdk.org/leyden/commit/9bef2d1610647dec18f9e81cbac3dddbbf99dd6d 8361640: JFR: RandomAccessFile::readLine emits events for each character Reviewed-by: rriggs, alanb, mgronlun ! src/java.base/share/classes/java/io/RandomAccessFile.java Changeset: 5fd2b7d6 Branch: hermetic-java-runtime Author: Bradford Wetmore Date: 2025-07-15 22:45:43 +0000 URL: https://git.openjdk.org/leyden/commit/5fd2b7d61af073e0fa1f7702b71988371372b598 8353925: Remove Sun Microsystems JCE Code Signing Root CA Reviewed-by: mullan, valeriep ! test/jdk/javax/crypto/SecretKeyFactory/P1.jar ! test/jdk/javax/crypto/SecretKeyFactory/P2.jar Changeset: a5c9bc70 Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-07-16 00:29:15 +0000 URL: https://git.openjdk.org/leyden/commit/a5c9bc70324693e9d0b25bb2c51b91dfc750c453 8358004: Delete applications/scimark/Scimark.java test Reviewed-by: syan, coleenp - test/hotspot/jtreg/applications/scimark/Scimark.java Changeset: 1d8cca2b Branch: hermetic-java-runtime Author: Volkan Yazici Committer: bchristi Date: 2025-02-06 11:49:15 +0000 URL: https://git.openjdk.org/leyden/commit/1d8cca2b84215533a5f0ba97a6c9d3f17d810f4c 8345625: Better HTTP connections Reviewed-by: skoivu, rhalade, ahgross, dfuchs, jpai, aefimov ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java + src/java.base/share/classes/sun/net/util/ProxyUtil.java ! src/java.base/share/classes/sun/net/www/http/HttpClient.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/Handler.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! src/java.net.http/share/classes/jdk/internal/net/http/websocket/OpeningHandshake.java Changeset: 017dc093 Branch: hermetic-java-runtime Author: Volkan Yazici Committer: bchristi Date: 2025-02-10 09:50:45 +0000 URL: https://git.openjdk.org/leyden/commit/017dc093ac18e0ed3418a96a10bc80ae38c8d5db 8349551: Failures in tests after JDK-8345625 Reviewed-by: jpai, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java Changeset: db3f6eab Branch: hermetic-java-runtime Author: Phil Race Committer: bchristi Date: 2025-02-21 17:59:18 +0000 URL: https://git.openjdk.org/leyden/commit/db3f6eabb559f370e0f1593f1ec202a65f096025 8348989: Better Glyph drawing Reviewed-by: mschoene, psadhukhan, jdv, rhalade ! src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m Changeset: d3429ada Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Committer: bchristi Date: 2025-02-24 06:50:42 +0000 URL: https://git.openjdk.org/leyden/commit/d3429ada8fc6184bc5285b299c5a5c533ba6bd00 8349111: Enhance Swing supports Reviewed-by: rhalade, jdv, prr ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/share/classes/javax/swing/border/TitledBorder.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java Changeset: a56cd371 Branch: hermetic-java-runtime Author: Christian Hagedorn Committer: bchristi Date: 2025-03-03 09:29:11 +0000 URL: https://git.openjdk.org/leyden/commit/a56cd371a2c497e4323756f8b8a08a0bba059bf2 8349584: Improve compiler processing Reviewed-by: rhalade, ahgross, epeter, thartmann ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/subnode.cpp Changeset: 5ad102ca Branch: hermetic-java-runtime Author: Kevin Driver Committer: bchristi Date: 2025-04-01 18:30:12 +0000 URL: https://git.openjdk.org/leyden/commit/5ad102ca3f822c32979a1ce04a173585850b46e1 8349594: Enhance TLS protocol support Reviewed-by: rhalade, ahgross, wetmore, jnimeh ! src/java.base/share/classes/sun/security/ssl/CertificateMessage.java ! src/java.base/share/classes/sun/security/ssl/CertificateVerify.java ! src/java.base/share/classes/sun/security/ssl/Finished.java Changeset: 7db8bff9 Branch: hermetic-java-runtime Author: Darragh Clarke Committer: bchristi Date: 2025-04-17 13:11:59 +0000 URL: https://git.openjdk.org/leyden/commit/7db8bff9e19132c58f60ac2d34fce33573a7e3e8 8350991: Improve HTTP client header handling Reviewed-by: rhalade, dfuchs, michaelm ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! test/jdk/java/net/httpclient/DigestEchoClient.java Changeset: 2eaddd5b Branch: hermetic-java-runtime Author: Phil Race Committer: bchristi Date: 2025-05-05 18:37:32 +0000 URL: https://git.openjdk.org/leyden/commit/2eaddd5b0a18d762ced7fea845ffa1a9e675e095 8355884: [macos] java/awt/Frame/I18NTitle.java fails on MacOS Reviewed-by: kcr, dmarkov, aivanov, honkar, kizune ! src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m Changeset: 413c6bd0 Branch: hermetic-java-runtime Author: Phil Race Committer: bchristi Date: 2025-06-23 18:49:26 +0000 URL: https://git.openjdk.org/leyden/commit/413c6bd040de49610f5dd4b103ef59493d542303 8360147: Better Glyph drawing redux Reviewed-by: rhalade, ahgross, psadhukhan, jdv ! src/java.desktop/macosx/native/libawt_lwawt/font/CGGlyphImages.m Changeset: 5ddeb567 Branch: hermetic-java-runtime Author: Brent Christian Date: 2025-07-16 03:57:54 +0000 URL: https://git.openjdk.org/leyden/commit/5ddeb56759203dd5399dc2e0e722356340021b5c Merge Reviewed-by: jpai, liach ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java Changeset: bdd37b0e Branch: hermetic-java-runtime Author: Dingli Zhang Committer: SendaoYan Date: 2025-07-16 05:36:12 +0000 URL: https://git.openjdk.org/leyden/commit/bdd37b0e5eaa984e2ad2e9010af37dcd612cc05e 8361836: RISC-V: Relax min vector length to 32-bit for short vectors Reviewed-by: fyang, fjiang ! src/hotspot/cpu/riscv/riscv.ad ! test/hotspot/jtreg/compiler/vectorapi/reshape/utils/TestCastMethods.java Changeset: e1b2229b Branch: hermetic-java-runtime Author: Guanqiang Han Committer: SendaoYan Date: 2025-07-16 05:44:24 +0000 URL: https://git.openjdk.org/leyden/commit/e1b2229b0b1fe8560fcb1d6fc2cf01d69ed711ac 8358592: Assert in Assembler::ptest due to missing SSE42 support Reviewed-by: kvn ! src/hotspot/cpu/x86/vm_version_x86.cpp + test/hotspot/jtreg/compiler/arguments/TestUseSSE42IntrinsicsWithLowLevelSSE.java Changeset: 6e368e0c Branch: hermetic-java-runtime Author: Joe Darcy Date: 2025-07-16 05:48:19 +0000 URL: https://git.openjdk.org/leyden/commit/6e368e0c696bc9b2118014937aa2e091ea662985 8362207: Add more test cases for possible double-rounding in fma Reviewed-by: rgiulietti, syan ! test/jdk/java/lang/Math/FusedMultiplyAddTests.java ! test/jdk/jdk/incubator/vector/BasicFloat16ArithTests.java Changeset: cbb3d23e Branch: hermetic-java-runtime Author: Richard Reingruber Date: 2025-07-16 06:12:07 +0000 URL: https://git.openjdk.org/leyden/commit/cbb3d23e19a8a893bf2fbda03e7bda4f4b7a59a6 8361827: [TESTBUG] serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java throws OutOfMemoryError Reviewed-by: clanger, syan ! test/hotspot/jtreg/serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java Changeset: 27c58c06 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-16 07:01:16 +0000 URL: https://git.openjdk.org/leyden/commit/27c58c06cf2a20db58b41329762f146f984ff440 8362271: G1: Improve G1CollectorState::clearing_bitmap name Reviewed-by: sangheki ! src/hotspot/share/gc/g1/g1CollectorState.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: fd2ee084 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-16 07:20:15 +0000 URL: https://git.openjdk.org/leyden/commit/fd2ee0844a8b96491787c318f2eb6fe4d8fd75c2 8361705: Clean up KlassCleaningTask Reviewed-by: shade, ayang ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp Changeset: b85440d0 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-16 07:21:52 +0000 URL: https://git.openjdk.org/leyden/commit/b85440d085e8f17908d2e8bd0fee87fce84a74a0 8361888: [GCC static analyzer] ProcessImpl_md.c Java_java_lang_ProcessImpl_forkAndExec error: use of uninitialized value '*(ChildStuff *)p.mode Reviewed-by: rriggs, syan ! src/java.base/unix/native/libjava/ProcessImpl_md.c Changeset: 805f1dee Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Daniel Lund?n Date: 2025-07-16 07:44:57 +0000 URL: https://git.openjdk.org/leyden/commit/805f1deebcf465ba10672a829f0a8c3e11716f9d 8342941: IGV: Add various new graph dumps during loop opts Reviewed-by: chagedorn, dlunden ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/phasetype.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java ! test/hotspot/jtreg/compiler/predicates/assertion/TestTemplateWithoutOpaqueLoopNodes.java ! test/hotspot/jtreg/compiler/splitif/TestSplitDivisionThroughPhi.java Changeset: 9f7dc19f Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Christian Hagedorn Date: 2025-07-16 07:48:21 +0000 URL: https://git.openjdk.org/leyden/commit/9f7dc19ffded4608dd2c1ef1e4eacfa0d0a199ea 8353276: C2: simplify PhaseMacroExpand::opt_bits_test Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp Changeset: 6b4a5ef1 Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Christian Hagedorn Date: 2025-07-16 07:57:21 +0000 URL: https://git.openjdk.org/leyden/commit/6b4a5ef105ee548627a53e2b983eab7972e33669 8358641: C1 option -XX:+TimeEachLinearScan is broken Reviewed-by: chagedorn, thartmann ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/c1/c1_LinearScan.hpp ! src/hotspot/share/c1/c1_globals.hpp Changeset: b787ad6f Branch: hermetic-java-runtime Author: Maurizio Cimadamore Date: 2025-07-16 09:55:08 +0000 URL: https://git.openjdk.org/leyden/commit/b787ad6f690df5c82a1efc5ccac658a9238ff201 8361401: Warnings for use of Sun APIs should not be mandatory Reviewed-by: jlahoda, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! test/langtools/tools/javac/options/system/SystemSunProprietary.java ! test/langtools/tools/lib/toolbox/JavacTask.java Changeset: 5e4a2ead Branch: hermetic-java-runtime Author: Aggelos Biboudis Date: 2025-07-16 10:52:26 +0000 URL: https://git.openjdk.org/leyden/commit/5e4a2ead714814cb4eb90ca88debc226f9c75864 8357653: Inner classes of type parameters emitted as raw types in signatures 8357472: NPE in Types.containsType for type variable used as a qualifier Co-authored-by: Maurizio Cimadamore Reviewed-by: mcimadamore, vromero, liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/T8357472.java + test/langtools/tools/javac/T8357653.java + test/langtools/tools/javac/T8357653b.java Changeset: 6ed81641 Branch: hermetic-java-runtime Author: Boris Ulasevich Date: 2025-07-16 11:58:34 +0000 URL: https://git.openjdk.org/leyden/commit/6ed81641b101658fbbd35445b6dd74ec17fc20f3 8362250: ARM32: forward_exception_entry missing return address Reviewed-by: shade ! src/hotspot/cpu/arm/arm.ad Changeset: 70c1ff7e Branch: hermetic-java-runtime Author: Jasmine Karthikeyan Date: 2025-07-16 12:59:55 +0000 URL: https://git.openjdk.org/leyden/commit/70c1ff7e1505eee11b2a9acd9e94a39cd2c9a932 8362171: C2 fails with unexpected node in SuperWord truncation: ModI Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/superword.cpp ! test/hotspot/jtreg/compiler/vectorization/TestSubwordTruncation.java Changeset: 770d2b41 Branch: hermetic-java-runtime Author: David Beaumont Committer: Chen Liang Date: 2025-07-16 14:31:53 +0000 URL: https://git.openjdk.org/leyden/commit/770d2b41d13a8a5815735c355187a476eeb9de22 8361076: Add benchmark for ImageReader in preparation for Valhalla changes Reviewed-by: rriggs, liach, ihse ! make/test/BuildMicrobenchmark.gmk + test/micro/org/openjdk/bench/jdk/internal/jrtfs/ImageReaderBenchmark.java Changeset: 10ae6029 Branch: hermetic-java-runtime Author: Gerard Ziemski Date: 2025-07-16 15:27:29 +0000 URL: https://git.openjdk.org/leyden/commit/10ae6029444c1381f7b1b3dcb6b6f32a4ae57efa 8362276: NMT tests should have locks for the entire tests Reviewed-by: shade, coleenp ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: 8193856a Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-07-16 16:02:44 +0000 URL: https://git.openjdk.org/leyden/commit/8193856af8546332bfa180cb45154a4093b4fd2c 8362336: Revert changes in metaspaceShared.cpp done via JDK-8356807 Reviewed-by: iklam ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: 3b44d7bf Branch: hermetic-java-runtime Author: William Kemper Date: 2025-07-16 17:30:42 +0000 URL: https://git.openjdk.org/leyden/commit/3b44d7bfa4d78e3ec715fce1863e052852f33180 8360288: Shenandoah crash at size_given_klass in op_degenerated Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Changeset: 20b5f097 Branch: hermetic-java-runtime Author: Andrey Turbanov Date: 2025-07-16 21:04:24 +0000 URL: https://git.openjdk.org/leyden/commit/20b5f097773043068ce732e0fa30c2726273e40a 8357226: Remove unnecessary List.indexOf from RepaintManager.removeInvalidComponent Reviewed-by: azvegint, serb ! src/java.desktop/share/classes/javax/swing/RepaintManager.java Changeset: a65d9532 Branch: hermetic-java-runtime Author: Serguei Spitsyn Date: 2025-07-17 01:29:40 +0000 URL: https://git.openjdk.org/leyden/commit/a65d9532ed454a0f70b1009181a25b23a38ccd4b 8309399: JVMTI spec needs to clarify when OPAQUE_FRAME is thrown for reasons other than a native method Reviewed-by: cjplummer ! src/hotspot/share/prims/jvmti.xml Changeset: bc72f476 Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-17 04:01:24 +0000 URL: https://git.openjdk.org/leyden/commit/bc72f476d1281dae2adb2322004c9880c1a6b66c 8362088: CompressedKlassPointers::encode should be const correct Reviewed-by: dholmes ! src/hotspot/share/oops/compressedKlass.hpp ! src/hotspot/share/oops/compressedKlass.inline.hpp Changeset: be0161a8 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-07-17 06:31:34 +0000 URL: https://git.openjdk.org/leyden/commit/be0161a8e63096f3a21ce6ea1e055ee1c4ed63ad 8362429: AssertionError in File.listFiles(FileFilter | FilenameFilter) Reviewed-by: alanb ! src/java.base/share/classes/java/io/File.java ! test/jdk/java/io/File/EmptyPath.java Changeset: 18190519 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-17 07:11:03 +0000 URL: https://git.openjdk.org/leyden/commit/18190519e73705281adf3f94d710d000e75b1729 8362390: AIX make fails in awt_GraphicsEnv.c Reviewed-by: prr, serb, clanger ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 3fd89be6 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-07-17 10:45:46 +0000 URL: https://git.openjdk.org/leyden/commit/3fd89be6d1a51b6fc99f4c0b5daba7a4bd64a08e 8362284: RISC-V: cleanup NativeMovRegMem Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.hpp Changeset: 1a6cbe42 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-17 11:21:00 +0000 URL: https://git.openjdk.org/leyden/commit/1a6cbe421facab0de1c7162f2762258664338814 8361639: JFR: Incorrect top frame for I/O events Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/events/FileReadEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileWriteEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/events/SocketReadEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/events/SocketWriteEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java + test/jdk/jdk/jfr/event/io/TestIOTopFrame.java Changeset: 1cde536b Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-17 11:24:40 +0000 URL: https://git.openjdk.org/leyden/commit/1cde536b98f2ebde0c18c65dcbf26254ed402776 8361868: [GCC static analyzer] complains about missing calloc - NULL checks in p11_util.c Reviewed-by: lucy, stuefe ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c Changeset: bc9ece96 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-17 12:12:16 +0000 URL: https://git.openjdk.org/leyden/commit/bc9ece9698cf13c9df3b2282bfcae2458a767713 8361204: Parallel: Skip visiting per-thread nmethods during young GC Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/parallel/psScavenge.cpp Changeset: cb9358b5 Branch: hermetic-java-runtime Author: Ivan Walulya Date: 2025-07-17 12:22:55 +0000 URL: https://git.openjdk.org/leyden/commit/cb9358b5618c0c222f02bc77c9a6e42d30564f34 8362278: G1: Consolidate functions for recording pause start time Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp Changeset: 1d73f884 Branch: hermetic-java-runtime Author: Beno?t Maillard Committer: Manuel H?ssig Date: 2025-07-17 12:39:46 +0000 URL: https://git.openjdk.org/leyden/commit/1d73f8842a6aa0fae7c7960eb5720447a1224792 8358573: Remove the -XX:-InstallMethods debug flag Reviewed-by: dlong, thartmann, shade ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_globals.hpp Changeset: 365660e6 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-07-17 13:45:24 +0000 URL: https://git.openjdk.org/leyden/commit/365660e667704d000eafe9179dc3dec315fb6415 8356975: Provide alternative way to generate preview API docs 8355933: Change section title for permanent APIs affected by preview features Reviewed-by: liach ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PreviewListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/PreviewAPIListBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java + test/langtools/jdk/javadoc/doclet/testPreviewTag/TestPreviewTag.java + test/langtools/jdk/javadoc/doclet/testPreviewTag/api/OtherApi.java + test/langtools/jdk/javadoc/doclet/testPreviewTag/api/PreviewApi.java + test/langtools/jdk/javadoc/doclet/testPreviewTag/taglet/PreviewFeature.java + test/langtools/jdk/javadoc/doclet/testPreviewTag/taglet/PreviewNote.java Changeset: ea774b74 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-17 13:47:57 +0000 URL: https://git.openjdk.org/leyden/commit/ea774b74e819e6db607204c05fd1c8f57d508213 8347052: Update java man page documentation to reflect current state of the UseNUMA flag Reviewed-by: drwhite, ayang ! src/java.base/share/man/java.md Changeset: dc08cf01 Branch: hermetic-java-runtime Author: Pooja-DP <148474762+Pooja-DP at users.noreply.github.com> Committer: Roger Riggs Date: 2025-07-17 13:53:01 +0000 URL: https://git.openjdk.org/leyden/commit/dc08cf016eaa4bc333c47b3e7264bf1eae6d330a 8361697: Remove duplicate message in MainResources.properties Reviewed-by: rriggs, asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties Changeset: 5ed72775 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-17 13:55:47 +0000 URL: https://git.openjdk.org/leyden/commit/5ed72775a775d6c96be6de7d9540dc0a80cdd67b 8361404: Parallel: Group all class unloading logc at the end of marking phase Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: 2b11a289 Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-07-17 16:19:52 +0000 URL: https://git.openjdk.org/leyden/commit/2b11a28997ad7ca424ad5595f9a7c7a9af530727 8362306: HotSpotJVMCIRuntime.getMirror can crash Reviewed-by: gdub, never, cslucas ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: bd55d7a4 Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-07-17 16:25:40 +0000 URL: https://git.openjdk.org/leyden/commit/bd55d7a49514da9fa4de0d4a372956e21deab4d2 8362203: assert(state == nullptr || state->get_thread_oop() != nullptr) failed: incomplete state Reviewed-by: sspitsyn, amenkov ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! test/hotspot/jtreg/serviceability/jvmti/StartPhase/AllowedFunctions/AllowedFunctions.java Changeset: cab51596 Branch: hermetic-java-runtime Author: Archie Cobbs Date: 2025-07-18 01:43:49 +0000 URL: https://git.openjdk.org/leyden/commit/cab515962b6940b50b975b12c8f5e99d0430f694 8361424: Eliminate Log methods mandatoryWarning() and mandatoryNote() Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacMessager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/AbstractLog.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/WarningAggregator.java Changeset: 04c0b130 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-18 02:35:09 +0000 URL: https://git.openjdk.org/leyden/commit/04c0b130f09c093797895cc928fe020d7e584cb9 8362565: ProblemList jdk/jfr/event/io/TestIOTopFrame.java Reviewed-by: egahlin ! test/jdk/ProblemList.txt Changeset: a23987fe Branch: hermetic-java-runtime Author: Abhishek Kumar Date: 2025-07-18 06:13:06 +0000 URL: https://git.openjdk.org/leyden/commit/a23987fecbddeea9828a9443dddd7bf8f9f0d05d 8361283: [Accessibility,macOS,VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS Reviewed-by: asemenov, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/TabButtonAccessibility.m + test/jdk/javax/accessibility/JTabbedPane/AccessibleTabbedPaneRoleTest.java Changeset: 4e0b0358 Branch: hermetic-java-runtime Author: Abhishek Kumar Date: 2025-07-18 06:13:26 +0000 URL: https://git.openjdk.org/leyden/commit/4e0b03580d3764e06ec65493143e80c291fa3fbb 8338282: javax/swing/JMenuBar/TestMenuMnemonicLinuxAndMac.java test failed on macOS and Ubuntu Reviewed-by: tr, dnguyen, serb ! test/jdk/javax/swing/JMenuBar/TestMenuMnemonicLinuxAndMac.java Changeset: 7da274de Branch: hermetic-java-runtime Author: Shawn M Emery Committer: Jaikiran Pai Date: 2025-07-18 10:02:25 +0000 URL: https://git.openjdk.org/leyden/commit/7da274ded4a36c6314702b687fcafcda80ae08c4 8361961: Typo in ProtectionDomain.implies Reviewed-by: mullan, jpai, hchao ! src/java.base/share/classes/java/security/ProtectionDomain.java Changeset: 6949e345 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-18 13:48:44 +0000 URL: https://git.openjdk.org/leyden/commit/6949e345757b010790b2a6f5a975fc1c6bd0e8c6 8362592: Remove unused argument in nmethod::oops_do Reviewed-by: zgu ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/shared/gcBehaviours.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp Changeset: 9dc62825 Branch: hermetic-java-runtime Author: Jorn Vernee Date: 2025-07-18 14:54:10 +0000 URL: https://git.openjdk.org/leyden/commit/9dc62825b5e7300542d22df0b87b79116f3562d3 8362169: Pointer passed to upcall may get wrong scope Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! test/jdk/java/foreign/TestUpcallStructScope.java ! test/jdk/java/foreign/libTestUpcallStructScope.c Changeset: 30d20036 Branch: hermetic-java-runtime Author: Roger Riggs Date: 2025-07-18 16:40:28 +0000 URL: https://git.openjdk.org/leyden/commit/30d20036987c9d68eb76b1e0401821386a76bb07 8357380: java/lang/StringBuilder/RacingSBThreads.java times out with C1 Reviewed-by: jpai ! test/jdk/java/lang/StringBuilder/RacingSBThreads.java Changeset: 60c29ff5 Branch: hermetic-java-runtime Author: Jan Kratochvil Committer: Vladimir Kozlov Date: 2025-07-18 17:13:25 +0000 URL: https://git.openjdk.org/leyden/commit/60c29ff57b22fa7c0bedb38316067e8e1988a24b 8362524: Fix confusing but harmless typos in x86 CPU Features Reviewed-by: kbarrett, kvn ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: a3843e8e Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-07-18 18:38:26 +0000 URL: https://git.openjdk.org/leyden/commit/a3843e8e6e189447e554759c3ba672530f8c7329 8361751: Test sun/tools/jcmd/TestJcmdSanity.java timed out on Windows Reviewed-by: cjplummer, dholmes, sspitsyn ! test/jdk/sun/tools/jcmd/JcmdBase.java Changeset: 03230f85 Branch: hermetic-java-runtime Author: Alexander Matveev Date: 2025-07-18 20:44:20 +0000 URL: https://git.openjdk.org/leyden/commit/03230f8565a4eea41ce13827165b6bbff5eaec68 8351073: [macos] jpackage produces invalid Java runtime DMG bundles Reviewed-by: asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/CodesignConfig.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java + src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBundle.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacFromParams.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPackagingPipeline.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/model/MacApplication.java = src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/ApplicationRuntime-Info.plist.template ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources.properties ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/Runtime-Info.plist.template ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/FromParams.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/PackagingPipeline.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/model/Package.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/macosx/SigningPackageFromTwoStepAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTwoStepTest.java + test/jdk/tools/jpackage/macosx/SigningRuntimeImagePackageTest.java Changeset: 9334fe2e Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-18 21:30:21 +0000 URL: https://git.openjdk.org/leyden/commit/9334fe2eca05e852875ed6aad42b5094a32e9b15 8361725: Do not load Java agent with "-Xshare:dump -XX:+AOTClassLinking" Reviewed-by: matsaave, ccheung ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/prims/jvmtiAgentList.cpp ! src/hotspot/share/prims/jvmtiAgentList.hpp ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/JavaAgent.java ! test/hotspot/jtreg/runtime/cds/appcds/aotCache/JavaAgentTransformer.java Changeset: d83346dc Branch: hermetic-java-runtime Author: John R Rose Committer: Ioi Lam Date: 2025-07-18 21:31:42 +0000 URL: https://git.openjdk.org/leyden/commit/d83346dcff0824575d580ec421476c0ea5c6e783 8345836: Stable annotation documentation is incomplete Reviewed-by: liach ! src/java.base/share/classes/jdk/internal/vm/annotation/Stable.java Changeset: ceb51d44 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-19 02:05:17 +0000 URL: https://git.openjdk.org/leyden/commit/ceb51d44449977ecc142f6af03f93162b98adaf6 8362829: Exclude CDS test cases after JDK-8361725 Reviewed-by: ccheung ! test/hotspot/jtreg/TEST.groups Changeset: ee0bcc55 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-07-19 13:26:37 +0000 URL: https://git.openjdk.org/leyden/commit/ee0bcc55269e92e999862ae5c63ffad7a600f6cc 8362379: Test serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java should mark as /native Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java Changeset: 441dbde2 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-19 15:09:28 +0000 URL: https://git.openjdk.org/leyden/commit/441dbde2c3c915ffd916e39a5b4a91df5620d7f3 8362556: New test jdk/jfr/event/io/TestIOTopFrame.java is failing on all platforms Reviewed-by: mgronlun, shade ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java ! test/jdk/ProblemList.txt Changeset: 9609f57c Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-21 06:04:17 +0000 URL: https://git.openjdk.org/leyden/commit/9609f57cef684d2f44d3e12a3522811a3c0776f4 8361752: Double free in CompileQueue::delete_all after JDK-8357473 Reviewed-by: kvn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 62a58062 Branch: hermetic-java-runtime Author: Beno?t Maillard Committer: Tobias Hartmann Date: 2025-07-21 07:37:31 +0000 URL: https://git.openjdk.org/leyden/commit/62a58062e5f3d0a723608d98d2412ea779f73897 8361700: Missed optimization in PhaseIterGVN for mask and shift patterns due to missing notification in PhaseIterGVN::add_users_of_use_to_worklist Reviewed-by: thartmann, mchevalier, mhaessig, jkarthikeyan ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestMaskAndRShiftReorder.java Changeset: 37b70707 Branch: hermetic-java-runtime Author: Francesco Andreuzzi Committer: Aleksey Shipilev Date: 2025-07-21 08:43:30 +0000 URL: https://git.openjdk.org/leyden/commit/37b70707bd9d4c1eb2db6ed438b5f4f5b49fa202 8362587: Sort share/oops includes Reviewed-by: shade, dholmes ! src/hotspot/share/oops/compressedOops.cpp ! src/hotspot/share/oops/compressedOops.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/fieldInfo.cpp ! src/hotspot/share/oops/fieldStreams.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceOop.hpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/markWord.inline.hpp ! src/hotspot/share/oops/metadata.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodCounters.cpp ! src/hotspot/share/oops/methodCounters.hpp ! src/hotspot/share/oops/objArrayOop.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/oopCast.inline.hpp ! src/hotspot/share/oops/oopHandle.inline.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/oops/trainingData.cpp ! src/hotspot/share/oops/trainingData.hpp ! src/hotspot/share/oops/typeArrayOop.hpp ! src/hotspot/share/oops/typeArrayOop.inline.hpp ! test/hotspot/jtreg/sources/TestIncludesAreSorted.java Changeset: 1bd683b5 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-21 09:21:48 +0000 URL: https://git.openjdk.org/leyden/commit/1bd683b5884e65a03d564976a9d9220ad0893776 8362582: GHA: Increase bundle retention time to deal with infra overload better Reviewed-by: goetz, jwaters, clanger ! .github/actions/build-jtreg/action.yml ! .github/actions/upload-bundles/action.yml Changeset: 8f1bb59e Branch: hermetic-java-runtime Author: Shaojin Wen Date: 2025-07-21 09:37:56 +0000 URL: https://git.openjdk.org/leyden/commit/8f1bb59e1a0137fe9a5d4477971d21e645735b4d 8357913: Add `@Stable` to BigInteger and BigDecimal Reviewed-by: rgiulietti, liach ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/BigInteger.java Changeset: 13bab09b Branch: hermetic-java-runtime Author: Lei Zhu Committer: Albert Mingkun Yang Date: 2025-07-21 09:59:52 +0000 URL: https://git.openjdk.org/leyden/commit/13bab09bffc411dde324599c2e15852ef4b53d55 8362532: Test gc/g1/plab/* duplicate command-line options Reviewed-by: tschatzl, ayang ! test/hotspot/jtreg/gc/g1/plab/TestPLABEvacuationFailure.java ! test/hotspot/jtreg/gc/g1/plab/lib/PLABUtils.java Changeset: 1b94a346 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-07-21 10:35:43 +0000 URL: https://git.openjdk.org/leyden/commit/1b94a3466e7bb3815c0caeeeebff6018b6440455 8362836: JFR: Broken pipe in jdk/jfr/event/io/TestIOTopFrame.java Reviewed-by: mgronlun ! test/jdk/jdk/jfr/event/io/TestIOTopFrame.java Changeset: fd7f78a5 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-07-21 11:10:20 +0000 URL: https://git.openjdk.org/leyden/commit/fd7f78a5351a5b00bc9a3173e7671afe2d1e6fe4 8362493: Cleanup CodeBuffer::copy_relocations_to Reviewed-by: mhaessig, kvn ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 644e400c Branch: hermetic-java-runtime Author: Lei Zhu Committer: Matthias Baesken Date: 2025-07-21 12:24:49 +0000 URL: https://git.openjdk.org/leyden/commit/644e400cd1f8a80df01b4f1755450f86709485f4 8362611: [GCC static analyzer] memory leak in ps_core.c core_handle_note Reviewed-by: dholmes, mbaesken ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c Changeset: 15b5b54a Branch: hermetic-java-runtime Author: Dingli Zhang Committer: Hamlin Li Date: 2025-07-21 13:34:24 +0000 URL: https://git.openjdk.org/leyden/commit/15b5b54ac707ba0d4e473fd6eb02c38a8efe705c 8357694: RISC-V: Several IR verification tests fail when vlen=128 Reviewed-by: mhaessig, fyang, mli ! test/hotspot/jtreg/compiler/c2/irTests/TestIfMinMax.java ! test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java ! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Long.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java Changeset: f8c8bcf4 Branch: hermetic-java-runtime Author: David Briemann Committer: Christoph Langer Date: 2025-07-21 15:48:06 +0000 URL: https://git.openjdk.org/leyden/commit/f8c8bcf4fd31509fdb40d32e8e16ba4fba1f987d 8362602: Add test.timeout.factor to CompileFactory to avoid test timeouts Reviewed-by: mhaessig, mbaesken, clanger ! test/hotspot/jtreg/compiler/lib/compile_framework/Compile.java Changeset: 9dd93c6a Branch: hermetic-java-runtime Author: Andrew Haley Date: 2025-07-21 17:05:50 +0000 URL: https://git.openjdk.org/leyden/commit/9dd93c6a2c5fb4c3a9f2a063a7ab402f9292ad03 8361497: Scoped Values: orElse and orElseThrow do not access the cache Reviewed-by: alanb ! src/java.base/share/classes/java/lang/ScopedValue.java ! test/micro/org/openjdk/bench/java/lang/ScopedValues.java Changeset: 48ba9d41 Branch: hermetic-java-runtime Author: Koushik Thirupattur Committer: Anthony Scarpino Date: 2025-07-21 19:30:03 +0000 URL: https://git.openjdk.org/leyden/commit/48ba9d415f64b55fed2e0ae2f7e3f50b7d8c82f6 8349946: Cipher javadoc could describe AEAD reuse better Reviewed-by: ascarpino ! src/java.base/share/classes/javax/crypto/Cipher.java Changeset: b8da9695 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-21 19:51:56 +0000 URL: https://git.openjdk.org/leyden/commit/b8da9695f0cc049d6a07a7382afce4d22f8b2b1c 8362659: Remove sun.print.PrintJob2D.finalize() Reviewed-by: serb ! src/java.desktop/share/classes/sun/print/PrintJob2D.java Changeset: 523993e9 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-21 21:00:43 +0000 URL: https://git.openjdk.org/leyden/commit/523993e9e8edc8dc84667ee3311a708b8b5da59c 8362291: [macOS] Remove finalize method in CGraphicsEnvironment.java Reviewed-by: bchristi, serb, kizune ! src/java.desktop/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m ! src/java.desktop/share/classes/sun/java2d/Disposer.java Changeset: 3acdba38 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-21 21:02:47 +0000 URL: https://git.openjdk.org/leyden/commit/3acdba38cec95ced2b2dd6a183c9b5d22dcc4b26 8362557: [macOS] Remove CFont.finalize() Reviewed-by: serb, psadhukhan, kizune ! src/java.desktop/macosx/classes/sun/font/CFont.java Changeset: eceb3bbc Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-21 21:03:17 +0000 URL: https://git.openjdk.org/leyden/commit/eceb3bbc80aae5d99155218f755725041edbb8ab 8362452: [macOS] Remove CPrinterJob.finalize() Reviewed-by: serb, psadhukhan, kizune ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m Changeset: 7d7d308d Branch: hermetic-java-runtime Author: Sergey Bylokhov Date: 2025-07-22 00:38:28 +0000 URL: https://git.openjdk.org/leyden/commit/7d7d308d9ab6f06ebdab0f5967a5bfc007d4217f 8362572: Delete the usage of "sun.java2d.reftype" from the sun.java2d.Disposer Reviewed-by: prr, aivanov ! src/java.desktop/share/classes/sun/java2d/Disposer.java Changeset: 0385975f Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-22 00:39:01 +0000 URL: https://git.openjdk.org/leyden/commit/0385975f44fbe9d199677754ff5006bc5784b9c5 8356941: AbstractMethodError in HotSpot Due to Incorrect Handling of Private Method Reviewed-by: coleenp, heidinga ! src/hotspot/share/classfile/defaultMethods.cpp ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java Changeset: 699b8112 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-07-22 01:05:35 +0000 URL: https://git.openjdk.org/leyden/commit/699b8112f8da7ceef2aa2a3ddb326aee88b29f8c 8362834: Several runtime/Thread tests should mark as /native Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionOnMonitorEnter.java ! test/hotspot/jtreg/runtime/Thread/AsyncExceptionTest.java ! test/hotspot/jtreg/runtime/Thread/TestBreakSignalThreadDump.java Changeset: dccb1782 Branch: hermetic-java-runtime Author: Yadong Wang Date: 2025-07-22 01:23:37 +0000 URL: https://git.openjdk.org/leyden/commit/dccb1782ec35d1ee95220a237aef29ddfc292cbd 8361892: AArch64: Incorrect matching rule leading to improper oop instruction encoding Reviewed-by: shade, adinn ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: c68697e1 Branch: hermetic-java-runtime Author: Koushik Thirupattur Committer: Anthony Scarpino Date: 2025-07-22 02:48:11 +0000 URL: https://git.openjdk.org/leyden/commit/c68697e1786fac37402b729d05a47b2f6296a86c 8362957: Fix jdk/javadoc/doccheck/checks/jdkCheckHtml.java (docs) failure Reviewed-by: ascarpino ! src/java.base/share/classes/javax/crypto/Cipher.java Changeset: f1556611 Branch: hermetic-java-runtime Author: Roland Westrelin Date: 2025-07-22 08:35:36 +0000 URL: https://git.openjdk.org/leyden/commit/f155661151fc25cde3be17878aeb24056555961c 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops Co-authored-by: Maurizio Cimadamore Co-authored-by: Christian Hagedorn Reviewed-by: chagedorn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/compiler/c2/irTests/TestLongRangeChecks.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortLoopLostLimit.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortRunningIntLoopWithLongChecksPredicates.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortRunningLongCountedLoop.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortRunningLongCountedLoopPredicatesClone.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortRunningLongCountedLoopScaleOverflow.java + test/hotspot/jtreg/compiler/longcountedloops/TestShortRunningLongCountedLoopVectorization.java + test/hotspot/jtreg/compiler/longcountedloops/TestStressShortRunningLongCountedLoop.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java + test/micro/org/openjdk/bench/java/lang/foreign/HeapMismatchManualLoopTest.java Changeset: ed70910b Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-07-22 08:48:07 +0000 URL: https://git.openjdk.org/leyden/commit/ed70910b0f3e1b19d915ec13ac3434407d01bc5d 8347901: C2 should remove unused leaf / pure runtime calls Reviewed-by: thartmann, vlivanov ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/divnode.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse2.cpp Changeset: ac141c2f Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-07-22 09:06:02 +0000 URL: https://git.openjdk.org/leyden/commit/ac141c2fa1d818858e7a12a50837bb282282ecac 8359419: AArch64: Relax min vector length to 32-bit for short vectors Reviewed-by: aph, fgao, bkilambi, dlunden ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java ! test/hotspot/jtreg/compiler/vectorapi/reshape/utils/TestCastMethods.java ! test/hotspot/jtreg/compiler/vectorization/TestFloatConversionsVector.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java ! test/micro/org/openjdk/bench/jdk/incubator/vector/VectorFPtoIntCastOperations.java + test/micro/org/openjdk/bench/vm/compiler/VectorTwoShorts.java Changeset: ce028362 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-22 13:29:07 +0000 URL: https://git.openjdk.org/leyden/commit/ce02836232f8c20dc5cb10f0fcf6538563d0d4bd 8363229: Parallel: Remove develop flag GCExpandToAllocateDelayMillis Reviewed-by: shade, tschatzl ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp Changeset: d714b5d3 Branch: hermetic-java-runtime Author: Sean Mullan Date: 2025-07-22 15:13:06 +0000 URL: https://git.openjdk.org/leyden/commit/d714b5d3dad58f7f6550d7a95fdc2b3f964a4129 8356557: Update CodeSource::implies API documentation and deprecate java.net.SocketPermission class for removal Reviewed-by: jpai ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/security/CodeSource.java ! test/jdk/java/security/CodeSource/Implies.java Changeset: ea6674fe Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-07-22 17:25:00 +0000 URL: https://git.openjdk.org/leyden/commit/ea6674fec8702eea481afa7ca7e522cbacd53841 8315131: Clarify VarHandle set/get access on 32-bit platforms Reviewed-by: rgiulietti, mcimadamore, jrose, shade, psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: aae99022 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-07-22 20:17:31 +0000 URL: https://git.openjdk.org/leyden/commit/aae9902234d36049ec99a2f50934c526dd6235eb 8360555: Archive all unnamed modules in CDS full module graph Reviewed-by: coleenp, vlivanov ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/cdsProtectionDomain.cpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderDataShared.hpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/packageEntry.hpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/memory/universe.cpp ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java Changeset: 5540a785 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-07-22 20:23:20 +0000 URL: https://git.openjdk.org/leyden/commit/5540a7859b3ae0faf6b6c7f50e53ff611b253a9f 8360416: Incorrect l10n test case in sun/security/tools/keytool/i18n.java Reviewed-by: weijun, rhalade ! test/jdk/sun/security/tools/keytool/i18n.java Changeset: 016694bf Branch: hermetic-java-runtime Author: DarraghConway Committer: Mark Sheppard Date: 2025-07-22 21:59:11 +0000 URL: https://git.openjdk.org/leyden/commit/016694bf74f6920f850330e353df9fd03458cca1 8360411: [TEST] open/test/jdk/java/io/File/MaxPathLength.java Refactor extract method to encapsulate Windows specific test logic Reviewed-by: msheppar ! test/jdk/java/io/File/MaxPathLength.java Changeset: 4994bd59 Branch: hermetic-java-runtime Author: Srinivas Vamsi Parasa Committer: Sandhya Viswanathan Date: 2025-07-22 22:37:45 +0000 URL: https://git.openjdk.org/leyden/commit/4994bd594299e91e804438692e068b1c5dd5cc02 8359965: Enable paired pushp and popp instruction usage for APX enabled CPUs Reviewed-by: sviswanathan, vpaprotski ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/c2_stubGenerator_x86_64_string.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/icache_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_aes.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_cos.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_ghash.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_kyber.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly1305.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_sha3.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_sin.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64_tan.cpp Changeset: 79f9d8d8 Branch: hermetic-java-runtime Author: Y. Srinivas Ramakrishna Date: 2025-07-23 00:23:20 +0000 URL: https://git.openjdk.org/leyden/commit/79f9d8d832a589b74cc014289ef84a1efe529468 8350050: Shenandoah: Disable and purge allocation pacing support Reviewed-by: wkemper, shade, kdnilsen ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahController.cpp ! src/hotspot/share/gc/shenandoah/shenandoahController.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp - src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp - src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/generational/TestConcurrentEvac.java - test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java Changeset: 0735dc27 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-07-23 00:36:35 +0000 URL: https://git.openjdk.org/leyden/commit/0735dc27c71de46896afd2f0f608319304a3d549 8362846: Windows error reporting for dll_load doesn't check for a null buffer 8362954: Missing error buffer null check in os::dll_load on Linux/BSD Reviewed-by: mgronlun, kbarrett ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 5160cfb4 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-23 07:12:12 +0000 URL: https://git.openjdk.org/leyden/commit/5160cfb49634cc4a1568c200bc5c17ddbe83c2f7 8362889: [GCC static analyzer] leak in libstringPlatformChars.c Reviewed-by: rriggs, dholmes ! test/jdk/java/lang/String/nativeEncoding/libstringPlatformChars.c Changeset: ceb0c0fc Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-23 07:49:11 +0000 URL: https://git.openjdk.org/leyden/commit/ceb0c0fc39c17793d13fff74e69f22ef07ec2c0f 8360941: [ubsan] MemRegion::end() shows runtime error: applying non-zero offset 8388608 to null pointer Co-authored-by: Kim Barrett Co-authored-by: Thomas Stuefe Reviewed-by: kbarrett, lucy ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp Changeset: 9f796da3 Branch: hermetic-java-runtime Author: Wang Haomin Committer: Jasmine Karthikeyan Date: 2025-07-23 08:08:05 +0000 URL: https://git.openjdk.org/leyden/commit/9f796da3774b2e2f92dca178fdccd93989919256 8362972: C2 fails with unexpected node in SuperWord truncation: IsFiniteF, IsFiniteD Reviewed-by: thartmann, jkarthikeyan ! src/hotspot/share/opto/superword.cpp Changeset: e6ac956a Branch: hermetic-java-runtime Author: Feilong Jiang Date: 2025-07-23 09:35:26 +0000 URL: https://git.openjdk.org/leyden/commit/e6ac956a7ac613b916c0dbfda7e57856c1b8a83c 8360520: RISC-V: C1: Fix primitive array clone intrinsic regression after JDK-8333154 Reviewed-by: fyang, galder, dlong ! src/hotspot/cpu/riscv/c1_LIRGenerator_riscv.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp Changeset: 06f9ff04 Branch: hermetic-java-runtime Author: Weijun Wang Date: 2025-07-23 12:24:28 +0000 URL: https://git.openjdk.org/leyden/commit/06f9ff047f1d1e832d7379f9750237749479b020 8356997: /etc/krb5.conf parser should not forbid include/includedir directives after sections Reviewed-by: valeriep ! src/java.security.jgss/share/classes/sun/security/krb5/Config.java + test/jdk/sun/security/krb5/config/DuplicatedIncludes.java + test/jdk/sun/security/krb5/config/IncludeRandom.java + test/jdk/sun/security/krb5/config/IncludeSameKey.java Changeset: b02c1256 Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-07-23 13:31:15 +0000 URL: https://git.openjdk.org/leyden/commit/b02c1256768bc9983d4dba899cd19219e11a380a 8350896: Integer/Long.compress gets wrong type from CompressBitsNode::Value Co-authored-by: Emanuel Peter Reviewed-by: thartmann ! src/hotspot/share/opto/intrinsicnode.cpp + test/hotspot/jtreg/compiler/c2/gvn/TestBitCompressValueTransform.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: 743c8212 Branch: hermetic-java-runtime Author: Evgeny Astigeevich Date: 2025-07-23 13:51:49 +0000 URL: https://git.openjdk.org/leyden/commit/743c821289a6562972364b5dcce8dd29a786264a 8362193: Re-work MacOS/AArch64 SpinPause to handle SB Reviewed-by: shade, aph ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/spin_wait_aarch64.cpp ! src/hotspot/cpu/aarch64/spin_wait_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp + test/hotspot/gtest/aarch64/test_spin_pause.cpp + test/hotspot/jtreg/gtest/TestSpinPauseAArch64.java Changeset: 38cd860d Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-07-23 14:48:49 +0000 URL: https://git.openjdk.org/leyden/commit/38cd860daa9504bbe5add8c2d045d78c75fb7e38 8363816: Refactor array name creation Reviewed-by: shade, ccheung, dholmes ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.hpp Changeset: e6ebefaa Branch: hermetic-java-runtime Author: Anthony Scarpino Date: 2025-07-23 15:24:38 +0000 URL: https://git.openjdk.org/leyden/commit/e6ebefaa404daa4160bdc1c5d9c954c040e2c0c2 8333857: Test sun/security/ssl/SSLSessionImpl/ResumeChecksServer.java failed: Existing session was used Reviewed-by: hchao ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksClient.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksServer.java Changeset: 594c080b Branch: hermetic-java-runtime Author: Kevin Rushforth Committer: Iris Clark Date: 2025-07-23 15:46:47 +0000 URL: https://git.openjdk.org/leyden/commit/594c080b2bde81a48ecccda85ac765218fc93856 8359760: Remove the jdk.jsobject module Reviewed-by: rriggs, iris, alanb ! bin/unshuffle_list.txt ! make/conf/docs-modules.conf ! make/conf/module-loader-map.conf - src/jdk.jsobject/share/classes/module-info.java - src/jdk.jsobject/share/classes/netscape/javascript/JSException.java - src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java - src/jdk.jsobject/share/classes/netscape/javascript/package-info.java - test/hotspot/jtreg/applications/ctw/modules/jdk_jsobject.java ! test/jdk/jdk/modules/etc/UpgradeableModules.java - test/jdk/tools/sincechecker/modules/jdk.jsobject/JdkJsobjectCheckSince.java ! test/langtools/jdk/javadoc/doclet/testModules/jdk/element-list ! test/langtools/jdk/javadoc/doclet/testRecordTypes/jdk17/element-list Changeset: 03e9ea16 Branch: hermetic-java-runtime Author: Edoardo Patti Committer: Justin Lu Date: 2025-07-23 16:31:14 +0000 URL: https://git.openjdk.org/leyden/commit/03e9ea169b7e45ae3c2ac23b5fe73d39ae57506f 8358530: Properties#list should warn against non-String values Reviewed-by: jlu, liach ! src/java.base/share/classes/java/util/Properties.java Changeset: 2292246f Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-07-23 17:02:31 +0000 URL: https://git.openjdk.org/leyden/commit/2292246f8c11f735f50e2046ec6606e89289e9f5 8350621: Code cache stops scheduling GC Co-authored-by: Thomas Schatzl Co-authored-by: Alexandre Jacob Reviewed-by: kbarrett, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectorState.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/gcCause.hpp + test/hotspot/jtreg/gc/g1/TestCodeCacheUnloadDuringConcCycle.java Changeset: ad510fb2 Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-23 20:09:36 +0000 URL: https://git.openjdk.org/leyden/commit/ad510fb25e47098d136515c355164e5177c5b419 8338977: Parallel: Improve heap resizing heuristics Reviewed-by: zgu, gli, iwalulya - src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.cpp - src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/parallel/parallelArguments.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.cpp ! src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.hpp - src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.cpp - src/hotspot/share/gc/parallel/psGCAdaptivePolicyCounters.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/shared/adaptiveSizePolicy.cpp ! src/hotspot/share/gc/shared/adaptiveSizePolicy.hpp - src/hotspot/share/gc/shared/gcOverheadChecker.cpp - src/hotspot/share/gc/shared/gcOverheadChecker.hpp ! src/hotspot/share/gc/shared/gcPolicyCounters.cpp ! src/hotspot/share/gc/shared/gcPolicyCounters.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap - test/hotspot/gtest/gc/parallel/test_psAdaptiveSizePolicy.cpp ! test/hotspot/jtreg/gc/parallel/TestDynShrinkHeap.java Changeset: 2da0cdad Branch: hermetic-java-runtime Author: Ao Qi Committer: Vladimir Kozlov Date: 2025-07-24 01:33:38 +0000 URL: https://git.openjdk.org/leyden/commit/2da0cdadb898efb9af827374368471102bfe0ccd 8363895: Minimal build fails with slowdebug builds after JDK-8354887 Reviewed-by: kvn, shade ! src/hotspot/share/code/aotCodeCache.hpp Changeset: b746701e Branch: hermetic-java-runtime Author: Dingli Zhang Committer: Fei Yang Date: 2025-07-24 01:37:33 +0000 URL: https://git.openjdk.org/leyden/commit/b746701e5769a7a5a1e7900ddfdd285706ac5fe1 8363898: RISC-V: TestRangeCheckHoistingScaledIV.java fails after JDK-8355293 when running without RVV Reviewed-by: fyang, mli, syan ! test/hotspot/jtreg/compiler/rangechecks/TestRangeCheckHoistingScaledIV.java Changeset: fc803844 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-07-24 01:47:58 +0000 URL: https://git.openjdk.org/leyden/commit/fc8038441daebc717fedaeb107e37bf216d542d3 8359827: Test runtime/Thread/ThreadCountLimit.java need loop increasing the limit Co-authored-by: David Holmes Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/Thread/ThreadCountLimit.java Changeset: 0ba2942c Branch: hermetic-java-runtime Author: Feilong Jiang Date: 2025-07-24 02:21:53 +0000 URL: https://git.openjdk.org/leyden/commit/0ba2942c6e7aadc3d091c40f6bd8d9f7502f5f76 8362838: RISC-V: Incorrect matching rule leading to improper oop instruction encoding Reviewed-by: fyang, yadongwang ! src/hotspot/cpu/riscv/riscv.ad Changeset: 7a22b76b Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-24 05:09:31 +0000 URL: https://git.openjdk.org/leyden/commit/7a22b76b73e6a6906f191e59b7d2da238b401935 8362591: Wrong argument warning when heap size larger than coops threshold Reviewed-by: dholmes ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SysDictCrash.java Changeset: ed9066bd Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-24 05:59:24 +0000 URL: https://git.openjdk.org/leyden/commit/ed9066bdf48c2d9925aea745951531ebf4af35a8 8361478: GHA: Use MSYS2 from GHA runners Reviewed-by: jwaters, ihse ! .github/actions/get-msys2/action.yml Changeset: 67e93281 Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-07-24 09:21:57 +0000 URL: https://git.openjdk.org/leyden/commit/67e93281a4f9e76419f1d6e05099ecf2214ebbfd 8363357: Remove unused flag VerifyAdapterCalls Reviewed-by: chagedorn, thartmann ! src/hotspot/share/runtime/globals.hpp Changeset: 2f1aed2a Branch: hermetic-java-runtime Author: Ayush Rigal Committer: Mark Sheppard Date: 2025-07-24 14:57:33 +0000 URL: https://git.openjdk.org/leyden/commit/2f1aed2a165259a873636792cff7c9de4e1f334e 8361423: Add IPSupport::printPlatformSupport to java/net/NetworkInterface/IPv4Only.java Reviewed-by: jpai ! test/jdk/java/net/NetworkInterface/IPv4Only.java Changeset: 84776309 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-07-24 15:53:29 +0000 URL: https://git.openjdk.org/leyden/commit/8477630970b61e3178abd7ac812ed97e181e2684 8360679: Shenandoah: AOT saved adapter calls into broken GC barrier stub Reviewed-by: kvn, adinn, aph ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 4e53a9d9 Branch: hermetic-java-runtime Author: Rui Li Committer: Paul Hohensee Date: 2025-07-24 18:34:26 +0000 URL: https://git.openjdk.org/leyden/commit/4e53a9d9dfe7a1ac7c3d7402e5ca3a3d3fcbb709 8357818: Shenandoah doesn't use shared API for printing heap before/after GC Reviewed-by: wkemper, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp Changeset: 971ea23c Branch: hermetic-java-runtime Author: Phil Race Date: 2025-07-24 20:53:22 +0000 URL: https://git.openjdk.org/leyden/commit/971ea23c95764e11ed234f657eb28ba7c51862c5 8362289: [macOS] Remove finalize method in JRSUIControls.java Reviewed-by: bchristi, serb ! src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java Changeset: ac9e5102 Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-25 06:40:37 +0000 URL: https://git.openjdk.org/leyden/commit/ac9e51023fc34a82b795950a109af2397826adaa 8320836: jtreg gtest runs should limit heap size Reviewed-by: dholmes, cslucas ! test/hotspot/jtreg/gtest/GTestWrapper.java Changeset: 52155dbb Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-25 07:22:34 +0000 URL: https://git.openjdk.org/leyden/commit/52155dbbb0107c5077a6be7edfd91d4311411fc3 8364082: jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java Eden should be placed first in young Reviewed-by: dholmes ! test/jdk/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java Changeset: f79bd54b Branch: hermetic-java-runtime Author: Alan Bateman Date: 2025-07-25 08:11:55 +0000 URL: https://git.openjdk.org/leyden/commit/f79bd54bbb9f5748e437346d34702608f7b67019 8362882: Update SubmissionPublisher() specification to reflect use of ForkJoinPool.asyncCommonPool() Reviewed-by: jpai, dl ! src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java Changeset: 518d5f4b Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-25 08:26:57 +0000 URL: https://git.openjdk.org/leyden/commit/518d5f4bbb78ae35db793d7fd15b3cd35c881664 8361871: [GCC static analyzer] complains about use of uninitialized value ckpObject in p11_util.c Reviewed-by: lucy ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c Changeset: 41c94eed Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-07-25 11:34:37 +0000 URL: https://git.openjdk.org/leyden/commit/41c94eed37aad570229ee2c5fb51d9e5d0378a40 8363910: Avoid tuning for Power10 CPUs on Linux ppc64le when gcc < 10 is used Reviewed-by: stuefe ! make/autoconf/flags-cflags.m4 Changeset: 06fdb61e Branch: hermetic-java-runtime Author: Sean Mullan Date: 2025-07-25 12:55:39 +0000 URL: https://git.openjdk.org/leyden/commit/06fdb61e1cdc9abf9ac4fa62fd63992d298baffa 8361964: Remove outdated algorithms from requirements and add PBES2 algorithms Reviewed-by: hchao ! src/java.base/share/classes/java/security/AlgorithmParameters.java ! src/java.base/share/classes/javax/crypto/Cipher.java ! src/java.base/share/classes/javax/crypto/KeyGenerator.java ! src/java.base/share/classes/javax/crypto/Mac.java ! src/java.base/share/classes/javax/crypto/SecretKeyFactory.java Changeset: 75ff7e15 Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-07-25 13:34:30 +0000 URL: https://git.openjdk.org/leyden/commit/75ff7e15fe0d22149e5b8c5ccf3b702d8dc9b3fa 8361712: Improve ShenandoahAsserts printing Reviewed-by: rkennke, asmehra ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/oops/compressedKlass.hpp ! src/hotspot/share/oops/compressedKlass.inline.hpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/oops/test_compressedKlass.cpp Changeset: 9e209fef Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-07-25 14:50:55 +0000 URL: https://git.openjdk.org/leyden/commit/9e209fef86fe75fb09734c9112fd1d8490c22413 8364110: Remove unused methods in GCCause Reviewed-by: kbarrett ! src/hotspot/share/gc/shared/gcCause.hpp Changeset: 89fe586e Branch: hermetic-java-runtime Author: Vladimir Kozlov Date: 2025-07-25 16:47:09 +0000 URL: https://git.openjdk.org/leyden/commit/89fe586edd5044923a2ce86f8cc5bf16004ac0b5 8363837: Make StubRoutines::crc_table_adr() into platform-specific method Reviewed-by: adinn, yzheng ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/arm/stubRoutines_arm.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/stubRoutines_ppc.hpp ! src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.cpp ! src/hotspot/cpu/riscv/stubRoutines_riscv.hpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.cpp ! src/hotspot/cpu/s390/stubRoutines_s390.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/zero/stubDeclarations_zero.hpp ! src/hotspot/cpu/zero/stubRoutines_zero.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp Changeset: e756c0db Branch: hermetic-java-runtime Author: William Kemper Date: 2025-07-25 17:59:46 +0000 URL: https://git.openjdk.org/leyden/commit/e756c0dbbb7d99df0751d71726b173e4eabcc903 8361726: Shenandoah: More detailed evacuation instrumentation Reviewed-by: ysr, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp Changeset: d288ca28 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-07-26 02:17:13 +0000 URL: https://git.openjdk.org/leyden/commit/d288ca28be7bfba3abe9f54cefbe53e73c25707e 8358048: java/net/httpclient/HttpsTunnelAuthTest.java incorrectly calls Thread::stop Reviewed-by: djelinski, alanb, vyazici ! test/jdk/java/net/httpclient/HttpsTunnelAuthTest.java Changeset: de59da27 Branch: hermetic-java-runtime Author: Michael McMahon Date: 2025-07-26 22:22:36 +0000 URL: https://git.openjdk.org/leyden/commit/de59da27a60bd0afaf8deaf6d4a3d743a4f59db8 8362581: Timeouts in java/nio/channels/SocketChannel/OpenLeak.java on UNIX Reviewed-by: jpai, alanb, djelinski ! src/java.base/share/classes/jdk/internal/util/Exceptions.java Changeset: 8fcbb110 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-07-27 01:19:06 +0000 URL: https://git.openjdk.org/leyden/commit/8fcbb110e9941af5fe162c6affff36e0bf652bda 8362855: Test java/net/ipv6tests/TcpTest.java should report SkippedException when there no ia4addr or ia6addr Reviewed-by: jpai ! test/jdk/java/net/ipv6tests/TcpTest.java Changeset: 3263361a Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-07-27 06:44:09 +0000 URL: https://git.openjdk.org/leyden/commit/3263361a28c7e8c02734cb94bc9576e9f3ba5b50 8360981: Remove use of Thread.stop in test/jdk/java/net/Socket/DeadlockTest.java Reviewed-by: alanb ! test/jdk/java/net/Socket/DeadlockTest.java Changeset: 4189fcba Branch: hermetic-java-runtime Author: Yuri Gaevsky Committer: Feilong Jiang Date: 2025-07-27 14:54:52 +0000 URL: https://git.openjdk.org/leyden/commit/4189fcbac40943f3b26c3a01938837b4e4762285 8362596: RISC-V: Improve _vectorizedHashCode intrinsic Reviewed-by: fyang, fjiang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp Changeset: 2056fe60 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-07-27 20:53:50 +0000 URL: https://git.openjdk.org/leyden/commit/2056fe609060fd4a0f8a80392fa75ed16aaf4456 Merge branch 'master' into hermetic-java-runtime ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/unix/native/libjava/ProcessImpl_md.c ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/unix/native/libjava/ProcessImpl_md.c ! src/java.desktop/share/classes/sun/font/SunFontManager.java From asmehra at openjdk.org Mon Jul 28 14:37:59 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 28 Jul 2025 14:37:59 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v9] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits: - Merge branch 'premain' into aot-cache-feature-flags - Fix incorrect return type Signed-off-by: Ashutosh Mehra - Fix whitespace issue Signed-off-by: Ashutosh Mehra - Add dianostic option AOTCodeCPUFeatureCheck to disable cpu feature check Signed-off-by: Ashutosh Mehra - Update cpu feature incompatibility test Signed-off-by: Ashutosh Mehra - Merge branch 'premain' into aot-cache-feature-flags - Add test to check cpu feature incompatibility Signed-off-by: Ashutosh Mehra - Ignore CPU_HT when storing cpu features in AOTCodeCache Signed-off-by: Ashutosh Mehra - Fix formatting of log messages Signed-off-by: Ashutosh Mehra - Restore changes deleted by mistake Signed-off-by: Ashutosh Mehra - ... and 6 more: https://git.openjdk.org/leyden/compare/392fbbb1...c9b8349c ------------- Changes: https://git.openjdk.org/leyden/pull/84/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=08 Stats: 568 lines in 12 files changed: 400 ins; 29 del; 139 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Mon Jul 28 16:30:12 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 28 Jul 2025 16:30:12 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v9] In-Reply-To: References: Message-ID: On Mon, 28 Jul 2025 14:37:59 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits: > > - Merge branch 'premain' into aot-cache-feature-flags > - Fix incorrect return type > > Signed-off-by: Ashutosh Mehra > - Fix whitespace issue > > Signed-off-by: Ashutosh Mehra > - Add dianostic option AOTCodeCPUFeatureCheck to disable cpu feature check > > Signed-off-by: Ashutosh Mehra > - Update cpu feature incompatibility test > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > - Add test to check cpu feature incompatibility > > Signed-off-by: Ashutosh Mehra > - Ignore CPU_HT when storing cpu features in AOTCodeCache > > Signed-off-by: Ashutosh Mehra > - Fix formatting of log messages > > Signed-off-by: Ashutosh Mehra > - Restore changes deleted by mistake > > Signed-off-by: Ashutosh Mehra > - ... and 6 more: https://git.openjdk.org/leyden/compare/392fbbb1...c9b8349c I see some failures on macos-aarch64 in GHA testing: - tier1: `jdk/java/lang/Thread/virtual/stress/PingPong.java` and `java/lang/Thread/virtual/stress/Skynet.java#default` failing with time outs on macos-aarch64 - tier2: `java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java` - tier3: `java/foreign/TestConcurrentClose.java` They all fail due to timeouts. Has anyone seen these failures before? I don't think these can be related to my changes. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3128042662 From ioi.lam at oracle.com Mon Jul 28 17:51:28 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Mon, 28 Jul 2025 10:51:28 -0700 Subject: Please review and improve JDK-8362173: Upgrade AOT Cache logging to support viewing and browsing contents and usage In-Reply-To: <22585b4f-41b9-4fe6-a7f6-fad4efe581e6@redhat.com> References: <22585b4f-41b9-4fe6-a7f6-fad4efe581e6@redhat.com> Message-ID: <16ae2450-02cd-4471-8b9b-e5e919911b8e@oracle.com> I have created a draft PR for JDK-8362566: Use -Xlog:aot+map to print contents of existing AOT cache - https://github.com/openjdk/jdk/pull/26514 It's more involved than I expected, but I got most of the mechanics to work. I will clean it up so we will have a single version of the logging code that works in both the assembly phase and production run. This PR makes it possible to call the various XXX::print_on() functions in the metadata types, so we can see more detailed information (to be implemented in JDK-8363440). Here's an example for ConstantPool: 0x0000000800539cb0: @@ ConstantPool????? 1000 java.lang.Object {constant pool} ?- flags: 0x6 on_stack ?- holder: 0x00000008000f8798 ?- cache: 0x00000008003a8a20 ?- resolved_references: 0x0000000000000000 ?- reference_map: 0x0000000800539c40 ?- resolved_klasses: 0x00000008003a89c0 ?- cp length: 115 ?-?? 1 : Unresolved Class : 'java/lang/StringBuilder' ?-?? 2 : Utf8 : 'java/lang/StringBuilder' ?-?? 3 : Method : klass_index=1 name_and_type_index=4 ?-?? 4 : NameAndType : name_index=5 signature_index=6 ?-?? 5 : Utf8 : '' ?-?? 6 : Utf8 : '()V' ?-?? 7 : Method : klass_index=8 name_and_type_index=9 ?-?? 8 : Class : 'java/lang/Object' {0x00000008000f8798} ?-?? 9 : NameAndType : name_index=11 signature_index=12 ?-? 10 : Utf8 : 'java/lang/Object' Thanks - Ioi On 7/14/25 7:50 AM, Andrew Dinn wrote: > Hi Mat/Team, > > Following discussion in last week's dev team meeting I have raised an > umbrella JIRA https://bugs.openjdk.org/browse/JDK-8362173 to cover > work that addresses the problem of making it AOT Cache content visible > to users as well as providing some coherent account of how content is > selected, generated and consumed. > > There are several discussion points that I mentioned on the JIRA which > everyone is invited to comment on -- tags to use, keywords to employ > to label messages, object naming, data formats etc. We should try at > least achieve some basic level of agreement on them in the next week > or two. > > Mat, the JIRA proposes initially pursuing the idea you suggested you > of modifying the code that loads and validates AOT cache during a > production run to also provide a comprehensive log message 'audit' of > all cache content. If you are still able to pursue that task then > please raise and assign to yourself a sub-task under the above JIRA to > cover that work. > > Mat, I'd also like to introduce you to Maria Arias de Reyna (in cc) > who just returned from maternity leave and attended last week's > meeting. Maria wrote most of the Quarkus blog post on Leyden we > published last year and was, at that time, adapting the AOT log > processing tool provided by te Spring boot team. She would be very > interested in taking this further to cover analyzng and summarizing > the 'audit' message content and enabling users to search and browse > the set of cache elements it describes. So, please say hello to her > and do keep her up to date with any progress you are able to make on > the audit logging side. > > Thanks! > > regards, > > > Andrew Dinn > ----------- > From kvn at openjdk.org Mon Jul 28 21:08:11 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 28 Jul 2025 21:08:11 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v9] In-Reply-To: References: Message-ID: On Mon, 28 Jul 2025 16:27:48 GMT, Ashutosh Mehra wrote: > I see some failures on macos-aarch64 in GHA testing: > > * tier1: `jdk/java/lang/Thread/virtual/stress/PingPong.java` and `java/lang/Thread/virtual/stress/Skynet.java#default` failing with time outs on macos-aarch64 > * tier2: `java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java` > * tier3: `java/foreign/TestConcurrentClose.java` > > They all fail due to timeouts. Has anyone seen these failures before? I don't think these can be related to my changes. I see timeout only for this test.in latest testing of premain: - runtime/Monitor/ConcurrentDeflation.java My latest testing of your changes showed timeouts: - tier1 the same as you see and java/util/concurrent/BlockingQueue/SingleProducerMultipleConsumerLoops.java - tier3: several serviceability/jvmti/stress/StackTrace tests ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3129886581 From kvn at openjdk.org Mon Jul 28 21:08:12 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 28 Jul 2025 21:08:12 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v9] In-Reply-To: References: Message-ID: On Mon, 28 Jul 2025 14:37:59 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits: > > - Merge branch 'premain' into aot-cache-feature-flags > - Fix incorrect return type > > Signed-off-by: Ashutosh Mehra > - Fix whitespace issue > > Signed-off-by: Ashutosh Mehra > - Add dianostic option AOTCodeCPUFeatureCheck to disable cpu feature check > > Signed-off-by: Ashutosh Mehra > - Update cpu feature incompatibility test > > Signed-off-by: Ashutosh Mehra > - Merge branch 'premain' into aot-cache-feature-flags > - Add test to check cpu feature incompatibility > > Signed-off-by: Ashutosh Mehra > - Ignore CPU_HT when storing cpu features in AOTCodeCache > > Signed-off-by: Ashutosh Mehra > - Fix formatting of log messages > > Signed-off-by: Ashutosh Mehra > - Restore changes deleted by mistake > > Signed-off-by: Ashutosh Mehra > - ... and 6 more: https://git.openjdk.org/leyden/compare/392fbbb1...c9b8349c Let me test your changes again with latest premain. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3129889232 From asmehra at openjdk.org Tue Jul 29 12:04:22 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 12:04:22 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 8 Jul 2025 10:52:37 GMT, Andrew Dinn wrote: >> It can be a future extension but Leyden may also find useful an equivalent of `-XX:CPUFeatures=generic` so that you can store the data on any machine and restore it also on any machine - limiting the CPU feature set in all runs to some reasonable minimum. > >> It can be a future extension but Leyden may also find useful an equivalent of -XX:CPUFeatures=generic so that you can store the data on any machine and restore it also on any machine - limiting the CPU feature set in all runs to some reasonable minimum. > > We have discussed such an option in dev team meetings. We are still considering what would be the most useful and/or usable model. I think I have missed changes for macos-aarch64 combination. I think I need to update `os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp` for macos-aarch64, right @adinn @vnkozlov ? ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3132155930 From adinn at openjdk.org Tue Jul 29 13:27:21 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Tue, 29 Jul 2025 13:27:21 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 12:01:26 GMT, Ashutosh Mehra wrote: > I think I need to update os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp for ?macos-aarch64, right Yes, there may well be things that need changing in bsd_aarch64 vm version code. However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3132533489 From asmehra at openjdk.org Tue Jul 29 13:41:22 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 13:41:22 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 13:24:31 GMT, Andrew Dinn wrote: >> I think I have missed changes for macos-aarch64 combination. I think I need to update `os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp` for macos-aarch64, right @adinn @vnkozlov ? > >> I think I need to update os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp for ?macos-aarch64, right > > Yes, there may well be things that need changing in bsd_aarch64 vm version code. However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. > > Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . @adinn > However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. I didn't follow your comment. Did you mean there is code that applies to Apple silicon but not to aarch64? > Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . Yeah I am surprised I didn't get any failures to indicate the missing changes. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3132586759 From adinn at openjdk.org Tue Jul 29 13:58:25 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Tue, 29 Jul 2025 13:58:25 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 13:38:43 GMT, Ashutosh Mehra wrote: >>> I think I need to update os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp for ?macos-aarch64, right >> >> Yes, there may well be things that need changing in bsd_aarch64 vm version code. However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. >> >> Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . > > @adinn >> However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. > > I didn't follow your comment. Did you mean there is code that applies to Apple silicon but not to aarch64? > >> Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . > > Yeah I am surprised I didn't get any failures to indicate the missing changes. @ashu-mehra I was merely indicating that the changes you made in vm_version_linux_aarch64.cpp are not simply able to be reapplied to vm_version_bsd_aarch64.cpp because the latter file checks things very differently. In particular, it bypasses a lot of the hardware checks on the assumption that this must be apple hardware (perhaps a questionable thing to rely on). ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3132650061 From asmehra at openjdk.org Tue Jul 29 16:29:37 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 16:29:37 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v10] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Add changes missed for vm_version_bsd_aarch64.cpp Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/c9b8349c..688a5a58 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=09 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=08-09 Stats: 10 lines in 1 file changed: 4 ins; 0 del; 6 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Tue Jul 29 16:48:16 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 16:48:16 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 13:55:27 GMT, Andrew Dinn wrote: > I was merely indicating that the changes you made in vm_version_linux_aarch64.cpp are not simply able to be reapplied to vm_version_bsd_aarch64.cpp because the latter file checks things very differently. > In particular, it bypasses a lot of the hardware checks on the assumption that this must be apple hardware (perhaps a questionable thing to rely on). Right, I see what you are saying. It just sets some of the features unconditionally. But whether it is correct or not shouldn't affect this PR. I don't intend to change any of that behavior. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3133290675 From asmehra at openjdk.org Tue Jul 29 18:23:40 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 18:23:40 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v11] In-Reply-To: References: Message-ID: > This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. > AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). > > It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. > I came across this when I did the assembly run with -XX:UseAVX=0 option. Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Fix missing closing parenthesis Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/84/files - new: https://git.openjdk.org/leyden/pull/84/files/688a5a58..fff8cd11 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=10 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=09-10 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/84.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84 PR: https://git.openjdk.org/leyden/pull/84 From asmehra at openjdk.org Tue Jul 29 19:45:22 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 19:45:22 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v11] In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 18:23:40 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Fix missing closing parenthesis > > Signed-off-by: Ashutosh Mehra It seems vm_version_bsd_aarch64.cpp changes fixed the macos-aarch64 timeout failures. No test failed this time. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3133811277 From asmehra at openjdk.org Tue Jul 29 20:25:15 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 29 Jul 2025 20:25:15 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 13:55:27 GMT, Andrew Dinn wrote: >> @adinn >>> However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. >> >> I didn't follow your comment. Did you mean there is code that applies to Apple silicon but not to aarch64? >> >>> Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . >> >> Yeah I am surprised I didn't get any failures to indicate the missing changes. > > @ashu-mehra I was merely indicating that the changes you made in vm_version_linux_aarch64.cpp are not simply able to be reapplied to vm_version_bsd_aarch64.cpp because the latter file checks things very differently. > > In particular, it bypasses a lot of the hardware checks on the assumption that this must be apple hardware (perhaps a questionable thing to rely on). @adinn @vnkozlov does this look good to go? ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3133940820 From kvn at openjdk.org Tue Jul 29 22:23:15 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Tue, 29 Jul 2025 22:23:15 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 13:55:27 GMT, Andrew Dinn wrote: >> @adinn >>> However it assumes a lot of things fromthe (current) fact that this must be Apple silicon so things do not match that closely. >> >> I didn't follow your comment. Did you mean there is code that applies to Apple silicon but not to aarch64? >> >>> Interesting that none of the macos gate tests failed even though you changed nothing in this file . . . >> >> Yeah I am surprised I didn't get any failures to indicate the missing changes. > > @ashu-mehra I was merely indicating that the changes you made in vm_version_linux_aarch64.cpp are not simply able to be reapplied to vm_version_bsd_aarch64.cpp because the latter file checks things very differently. > > In particular, it bypasses a lot of the hardware checks on the assumption that this must be apple hardware (perhaps a questionable thing to rely on). > @adinn @vnkozlov does this look good to go? May be we should wait when #26515 is finalized to use in these changes. Meanwhile I can re-submit testing with latest changes and see if timeouts indeed gone. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3134235190 From kvn at openjdk.org Wed Jul 30 03:11:53 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 30 Jul 2025 03:11:53 GMT Subject: RFR: Store cpu features in AOTCodeCache header [v11] In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 18:23:40 GMT, Ashutosh Mehra wrote: >> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64. >> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64). >> >> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table. >> I came across this when I did the assembly run with -XX:UseAVX=0 option. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Fix missing closing parenthesis > > Signed-off-by: Ashutosh Mehra My testing passed - no unusual timeouts now. Good. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3134717919 From asmehra at openjdk.org Wed Jul 30 17:13:21 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 30 Jul 2025 17:13:21 GMT Subject: RFR: Store cpu features in AOTCodeCache header In-Reply-To: References: Message-ID: On Tue, 29 Jul 2025 22:20:23 GMT, Vladimir Kozlov wrote: > May be we should wait when #26515 is finalized to use in these changes. Makes sense. I will wait for the mainline PR to be in. ------------- PR Comment: https://git.openjdk.org/leyden/pull/84#issuecomment-3137184653 From asmehra at openjdk.org Wed Jul 30 21:21:26 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 30 Jul 2025 21:21:26 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically Message-ID: Without this fix: [assembly phase] $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 ... [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread .. With this fix, these threads are only in the production phase, not in the assembly phase. ------------- Commit messages: - 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically Changes: https://git.openjdk.org/leyden/pull/89/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=89&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8364372 Stats: 6 lines in 3 files changed: 1 ins; 3 del; 2 mod Patch: https://git.openjdk.org/leyden/pull/89.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/89/head:pull/89 PR: https://git.openjdk.org/leyden/pull/89 From kvn at openjdk.org Wed Jul 30 22:04:12 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 30 Jul 2025 22:04:12 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically In-Reply-To: References: Message-ID: <1olMKVbJu54E_prtUzt6Pmi_vuqTQOeyLuj8VVKNV2w=.a3ff0de2-e14e-4b2e-8492-9f542166ea79@github.com> On Wed, 30 Jul 2025 21:15:03 GMT, Ashutosh Mehra wrote: > Without this fix: > > [assembly phase] > $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 > ... > [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread > [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread > .. > > With this fix, these threads are only in the production phase, not in the assembly phase. src/hotspot/share/cds/cdsConfig.cpp line 798: > 796: FLAG_SET_ERGO_IF_DEFAULT(AOTReplayTraining, true); > 797: AOTCodeCache::enable_caching(); > 798: FLAG_SET_ERGO_IF_DEFAULT(UseAOTCodeLoadThread, true); I think you need to it switch off in other cases if it is specified on command line. src/hotspot/share/code/aotCodeCache.cpp line 232: > 230: > 231: bool AOTCodeCache::is_code_load_thread_on() { > 232: return UseAOTCodeLoadThread; Please keep `&& AOTCodeCaching` because it could be disabled on command line. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/89#discussion_r2243941872 PR Review Comment: https://git.openjdk.org/leyden/pull/89#discussion_r2243935856 From shade at openjdk.org Thu Jul 31 12:07:10 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 31 Jul 2025 12:07:10 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically In-Reply-To: References: Message-ID: On Wed, 30 Jul 2025 21:15:03 GMT, Ashutosh Mehra wrote: > Without this fix: > > [assembly phase] > $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 > ... > [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread > [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread > .. > > With this fix, these threads are only in the production phase, not in the assembly phase. This makes sense, thanks. Address Vladimir's comments, and we are good to go. ------------- PR Review: https://git.openjdk.org/leyden/pull/89#pullrequestreview-3075117474 From asmehra at openjdk.org Thu Jul 31 14:01:38 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 31 Jul 2025 14:01:38 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically [v2] In-Reply-To: References: Message-ID: > Without this fix: > > [assembly phase] > $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 > ... > [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread > [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread > .. > > With this fix, these threads are only in the production phase, not in the assembly phase. Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Review comments Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/89/files - new: https://git.openjdk.org/leyden/pull/89/files/42e044f2..894a675b Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=89&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=89&range=00-01 Stats: 4 lines in 2 files changed: 3 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/89.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/89/head:pull/89 PR: https://git.openjdk.org/leyden/pull/89 From asmehra at openjdk.org Thu Jul 31 14:04:15 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 31 Jul 2025 14:04:15 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically [v2] In-Reply-To: References: Message-ID: On Thu, 31 Jul 2025 14:01:38 GMT, Ashutosh Mehra wrote: >> Without this fix: >> >> [assembly phase] >> $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 >> ... >> [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread >> [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread >> .. >> >> With this fix, these threads are only in the production phase, not in the assembly phase. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Review comments > > Signed-off-by: Ashutosh Mehra I also wonder why we set `AOTReplayTraining` to true in assembly phase in `cdsConfig.cpp`? https://github.com/openjdk/leyden/blob/392fbbb1859cd71521cb915b601a65cf59ba495b/src/hotspot/share/cds/cdsConfig.cpp#L790 Isn't replay training only required in a production run? ------------- PR Comment: https://git.openjdk.org/leyden/pull/89#issuecomment-3140098164 From asmehra at openjdk.org Thu Jul 31 18:33:17 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 31 Jul 2025 18:33:17 GMT Subject: RFR: 8364372: [Leyden] Set UseAOTCodeLoadThread ergonomically [v2] In-Reply-To: References: Message-ID: On Thu, 31 Jul 2025 14:01:38 GMT, Ashutosh Mehra wrote: >> Without this fix: >> >> [assembly phase] >> $ java -Xlog:jit+thread=debug -XX:AOTMode=create -XX:AOTCache=jbench.aot -XX:AOTConfiguration=jbench.aotconf -cp JavacBench.jar JavacBench 100 >> ... >> [0.317s][debug][jit,thread] Added initial compiler thread C1 AOT code caching CompilerThread >> [0.317s][debug][jit,thread] Added initial compiler thread C2 AOT code caching CompilerThread >> .. >> >> With this fix, these threads are only in the production phase, not in the assembly phase. > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Review comments > > Signed-off-by: Ashutosh Mehra @vnkozlov I have addressed your comments. Please review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/89#issuecomment-3140958090