From iklam at openjdk.org Sun Mar 2 05:44:21 2025 From: iklam at openjdk.org (Ioi Lam) Date: Sun, 2 Mar 2025 05:44:21 GMT Subject: RFR: Added -XX:AOTInitTestClass flag; added a test case for archived WeakReference Message-ID: [JDK-8341587](https://bugs.openjdk.org/browse/JDK-8341587) allows Soft/Weak `Reference` objects to be stored in the AOT cache. Currently Soft/Weak references are used only for supporting method handles. However, we need to make sure that the support for cached Reference is correctly implemented: 1. When we add other types of objects to the AOT cache that use `Reference` objects (e.g., [JDK-8351005](https://bugs.openjdk.org/browse/JDK-8351005) "Revert back to SoftReference for Class::reflectionData"), they should work as expected. 2. The cached `Reference` objects used by the method handles implementation (such as those used by `MethodType.internTable`) should not be unnecessarily coupled with unrelated Reference (e.g., via the `Reference::link` field due to operations in `java.lang.ref.ReferenceQueue` or `java.lang.ref.Finalizer`). Otherwise, this could cause unrelated objects to be unintentionally stored in the AOT cache. 3. `java.lang.ref.Cleaner` should work as expected during both the AOT assembly phase and production run. 4. Finalization should work as expected during both the AOT assembly phase and production run. This RFE adds a mechanism to test the behavior of `Reference` in the AOT cache so that we can determine if the current support for Reference objects in Leyden is good enough for upstreaming to the mainline. This RFE doesn't not test everything as listed above cases. Some additional test cases may be added by a subsequent REF. I have observed the following: **[A]** Cached `WeakReference` objects seem to be supported by the GC in the production run. See `testWeakReferenceCollection()`: if a referent is no longer reachable, `ref.get()` returns `null`. **[B]** Case (2) doesn't seem to be a concern: `testQueue()` shows that the assembly phase won't accidentally find unrelated `WeakReference` objects even if they share the same queue as a `WeakReference` that's destined to be cached. See comments in `testQueue()` for more details. **[C]** `MethodType.internTable` is a `ReferencedKeySet` that internally uses `WeakReference` to automatically remove elements that are no longer referenced. However, with `grep -n referent.*null cds.oops.txt` in the test's output directory, we can see a few `WeakReferenceKeys` whose `referent` has been collected, but we didn't remove these keys from the `internTable` at `(0xfffcd3e1)`: 0x00000007ffe6b2e8: @@ Object jdk.internal.util.WeakReferenceKey - klass: 'jdk/internal/util/WeakReferenceKey' 0x00000008002f9ad8 - fields (4 words): - private 'referent' 'Ljava/lang/Object;' @12 null - volatile 'queue' 'Ljava/lang/ref/ReferenceQueue;' @16 0x00000007ffe6afb0 (0xfffcd5f6) java.lang.ref.ReferenceQueue - volatile 'next' 'Ljava/lang/ref/Reference;' @20 null - private transient 'discovered' 'Ljava/lang/ref/Reference;' @24 0x00000007ffe6b308 (0xfffcd661) jdk.internal.util.WeakReferenceKey - private final 'hashcode' 'I' @28 52198401 (0x031c7c01) 0x00000007ffe6afb0: @@ Object (0xfffcd5f6) java.lang.ref.ReferenceQueue - klass: 'java/lang/ref/ReferenceQueue' 0x000000080014f178 - fields (4 words): - private volatile 'head' 'Ljava/lang/ref/Reference;' @12 null - private 'queueLength' 'J' @16 0 (0x0000000000000000) - private final 'lock' 'Ljava/lang/ref/ReferenceQueue$Lock;' @24 0x00000007ffee0c78 (0xfffdc18f) java.lang.ref.ReferenceQueue$Lock 0x00000007ffe69f08: @@ Object (0xfffcd3e1) jdk.internal.util.ReferencedKeyMap - klass: 'jdk/internal/util/ReferencedKeyMap' 0x00000008002f7298 - fields (3 words): - private final 'isSoft' 'Z' @12 false (0x00) - private final 'map' 'Ljava/util/Map;' @16 0x00000007ffe69f20 (0xfffcd3e4) java.util.concurrent.ConcurrentHashMap - private final 'stale' 'Ljava/lang/ref/ReferenceQueue;' @20 0x00000007ffe6afb0 (0xfffcd5f6) java.lang.ref.ReferenceQueue The `(0xfffcd65d) WeakReferenceKey` should have been added to the `ReferencedKeyMap::stale` queue, but we can see that the queue is empty. We can see a few non-null `Reference::discovered` field in `cds.oops.txt`. These are waiting for the `Reference$ReferenceHandler` thread to move them onto the target `ReferenceQueue.` However, take a look at the following two lines in the `WeakReferenceTestApp.aot.log` file from the test's output directory: The `Reference$ReferenceHandler` thread is disabled in the assembly phase. [0.137s][info ][cds] JVM_StartThread() ignored: java.lang.ref.Reference$ReferenceHandler [0.137s][info ][cds] JVM_StartThread() ignored: java.lang.ref.Finalizer$FinalizerThread There are two reasons that we run only a single Java thread during the assembly phase: - Historically, we wanted the contents of the CDS archive deterministic. Concurrently executing Java threads made this very difficult, so we basically hijacked `Thread::start()` to disallow the launching of new Java threads. - Right before we enter a safepoint to dump the AOT cache, we execute a small amount of Java code (in the main Java thread) to clean up global states. Concurrent Java threads may step on these clean up operations. Maybe we can enable multiple Java threads for Leyden - With new Leyden optimizations such as profiling and AOT compilation, the AOT cache is no longer deterministic anyway. It will be exceedingly difficult to get deterministic contents. - As @shipilev mentioned offline, we may need a way for the GC to tell us that it "has finished all (concurrent) work". At that point, we can wait for the ReferenceHandler/FinalizerThread to become quiescent before we start the global clean up operations. We need to restrict these operations such that they won't cause additional GCs, etc. Also, we need to call `jdk.internal.util.ReferencedKeyMap::removeStaleReferences()` during the global clean up: public void removeStaleReferences() { while (true) { Object key = stale.poll(); if (key == null) { break; } map.remove(key); } } ------------- Commit messages: - Added -XX:AOTInitTestClass flag; added a test case for archived WeakReference Changes: https://git.openjdk.org/leyden/pull/45/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=45&range=00 Stats: 353 lines in 6 files changed: 351 ins; 0 del; 2 mod Patch: https://git.openjdk.org/leyden/pull/45.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/45/head:pull/45 PR: https://git.openjdk.org/leyden/pull/45 From iklam at openjdk.org Sun Mar 2 05:53:12 2025 From: iklam at openjdk.org (Ioi Lam) Date: Sun, 2 Mar 2025 05:53:12 GMT Subject: RFR: 8341587: [premain] Support Soft/Weak Reference in AOT cache [v5] In-Reply-To: <1CDhT56TpZELvE8RL89YLmlBeaQa27yBfPe0O6E3jPU=.90c8cc08-5942-47ec-8680-c55c5a847e86@github.com> References: <1CDhT56TpZELvE8RL89YLmlBeaQa27yBfPe0O6E3jPU=.90c8cc08-5942-47ec-8680-c55c5a847e86@github.com> Message-ID: On Fri, 21 Feb 2025 16:44:27 GMT, Mat Carter wrote: >> Add support to the AOT cache for References (soft, weak and phantom) >> Remove the workarounds that were added because References weren't supported >> >> Confirmed from logs that References are stored in the cache correctly >> >> All demos run successfully on osx > > Mat Carter has updated the pull request incrementally with one additional commit since the last revision: > > remove a whitespace I did some investigation and created #45 to add some test cases for cached WeakReferences. ------------- PR Comment: https://git.openjdk.org/leyden/pull/41#issuecomment-2692572900 From vladimir.kozlov at oracle.com Tue Mar 4 01:56:02 2025 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 3 Mar 2025 17:56:02 -0800 Subject: Result: New leyden Committer: Aleksey Shipilev Message-ID: <4e1d23e4-0c40-410f-a7d5-5b306d892bdf@oracle.com> Voting for Aleksey Shipilev [1] is now closed. Yes: 8 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Thanks, Vladimir Kozlov [1] https://mail.openjdk.org/pipermail/leyden-dev/2025-February/001418.html From iklam at openjdk.org Tue Mar 4 02:08:22 2025 From: iklam at openjdk.org (Ioi Lam) Date: Tue, 4 Mar 2025 02:08:22 GMT Subject: git: openjdk/leyden: premain: Update README.md to describe JEP 483 workflow instead of "CacheDataStore" workflow; added test EndTrainingOnMethodEntry.java Message-ID: Changeset: efca2b07 Branch: premain Author: Ioi Lam Date: 2025-03-03 18:04:39 +0000 URL: https://git.openjdk.org/leyden/commit/efca2b07c45c9fc69eff83457e4fd07e1a51365e Update README.md to describe JEP 483 workflow instead of "CacheDataStore" workflow; added test EndTrainingOnMethodEntry.java ! README.md ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/metaspaceShared.cpp + test/hotspot/jtreg/runtime/cds/appcds/leyden/EndTrainingOnMethodEntry.java From henryjen at openjdk.org Tue Mar 4 03:01:44 2025 From: henryjen at openjdk.org (Henry Jen) Date: Tue, 4 Mar 2025 03:01:44 GMT Subject: RFR: 8347755: Support static library in jmod Message-ID: This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. ------------- Commit messages: - Fix julong format on MacOS - Add --static-libs to jmod Changes: https://git.openjdk.org/leyden/pull/46/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8347755 Stats: 95 lines in 6 files changed: 79 ins; 0 del; 16 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From duke at openjdk.org Tue Mar 4 04:11:22 2025 From: duke at openjdk.org (duke) Date: Tue, 4 Mar 2025 04:11:22 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 45 new changesets Message-ID: <6353a71e-1be6-40a3-a92a-2fe06b916025@openjdk.org> Changeset: 0a4c5a8a Branch: hermetic-java-runtime Author: Kelvin Nilsen Date: 2025-02-27 23:10:16 +0000 URL: https://git.openjdk.org/leyden/commit/0a4c5a8a483b23ec8c534054187c44f986d137bb 8347804: GenShen: Crash with small GCCardSizeInBytes and small Java heap Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp ! test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java Changeset: ab4b0ef9 Branch: hermetic-java-runtime Author: Kelvin Nilsen Date: 2025-02-27 23:23:40 +0000 URL: https://git.openjdk.org/leyden/commit/ab4b0ef9242a4cd964fbcf2d1f3d370234c09408 8350889: GenShen: Break out of infinite loop of old GC cycles Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp Changeset: 2af76de0 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-02-28 07:36:35 +0000 URL: https://git.openjdk.org/leyden/commit/2af76de05a50dee052307b8b82055a4787e96df9 8350683: Non-C2 / minimal JVM crashes in the build on ppc64 platforms Co-authored-by: Martin Doerr Reviewed-by: mdoerr, amitkumar ! src/hotspot/cpu/ppc/compiledIC_ppc.cpp Changeset: eada1ea8 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-02-28 09:05:42 +0000 URL: https://git.openjdk.org/leyden/commit/eada1ea8d21c4811834e20ca467e136580d6cd0a 8350855: RISC-V: print offset by assert of patch_offset_in_conditional_branch Reviewed-by: fyang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: ac76d8d6 Branch: hermetic-java-runtime Author: Johan Sj?len Date: 2025-02-28 09:48:17 +0000 URL: https://git.openjdk.org/leyden/commit/ac76d8d63ff7b06a3c116559712a8b48f8acfa20 8350824: New async logging gtest StallingModePreventsDroppedMessages fails Reviewed-by: mbaesken, dholmes ! test/hotspot/gtest/logging/test_asynclog.cpp ! test/hotspot/jtreg/runtime/logging/StressAsyncUL.java Changeset: 2019f445 Branch: hermetic-java-runtime Author: Ivan Bereziuk Committer: Ludvig Janiuk Date: 2025-02-28 13:46:17 +0000 URL: https://git.openjdk.org/leyden/commit/2019f44539db0e19d92eeb1b4e80b74a6de3276c 8343832: Enhance test summary with number of skipped tests Co-authored-by: Magnus Ihse Bursie Reviewed-by: ihse, erikj ! make/RunTests.gmk Changeset: d6c4be67 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-02-28 14:16:52 +0000 URL: https://git.openjdk.org/leyden/commit/d6c4be672f6348f8ed985416ed90d0447f5d5bb3 8350758: G1: Use actual last prediction in accumulated survivor rate prediction too Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp Changeset: e98df71d Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-02-28 17:08:25 +0000 URL: https://git.openjdk.org/leyden/commit/e98df71d9c5120fbb73a4c2f49863775fe5db781 8348028: Unable to run gtests with CDS enabled Reviewed-by: dholmes, iklam, ihse ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp Changeset: 197004f4 Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-02-28 18:13:53 +0000 URL: https://git.openjdk.org/leyden/commit/197004f4c621d7ab4c8b9e48362973eaa18156a4 8350820: OperatingSystemMXBean CpuLoad() methods return -1.0 on Windows Reviewed-by: kevinw, jwaters ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: 3a7d9868 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-02-28 19:37:36 +0000 URL: https://git.openjdk.org/leyden/commit/3a7d98687849ba0625fed2b516f4103ee8d27e41 8350646: Calendar.Builder.build() Throws ArrayIndexOutOfBoundsException Reviewed-by: naoto ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! test/jdk/java/util/Calendar/Builder/BuilderTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java Changeset: fb659eba Branch: hermetic-java-runtime Author: Volkan Yazici Committer: Michael McMahon Date: 2025-02-28 19:38:25 +0000 URL: https://git.openjdk.org/leyden/commit/fb659eba028f793f7efb844d42024e903c1d0c5f 8350915: [JMH] test SocketChannelConnectionSetup failed for 2 threads config Reviewed-by: michaelm ! test/micro/org/openjdk/bench/java/net/SocketChannelConnectionSetup.java Changeset: c7fa499b Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-02-28 20:01:17 +0000 URL: https://git.openjdk.org/leyden/commit/c7fa499bf5023a3f16bb3742d2ba3cd74f2b41bd 8350118: Simplify the layout access VarHandle Reviewed-by: mcimadamore, jvernee, erikj ! make/modules/java.base/gensrc/GensrcScopedMemoryAccess.gmk ! make/modules/java.base/gensrc/GensrcVarHandles.gmk ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java + src/java.base/share/classes/java/lang/invoke/SegmentVarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarHandleGuards.java - src/java.base/share/classes/java/lang/invoke/VarHandleSegmentViewBase.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandleSegmentView.java.template ! src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! src/java.base/share/classes/jdk/internal/foreign/Utils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! src/java.base/share/classes/jdk/internal/invoke/MhUtil.java ! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template ! test/jdk/java/foreign/TestAccessModes.java Changeset: a87dd1a7 Branch: hermetic-java-runtime Author: Alexander Matveev Date: 2025-02-28 20:22:23 +0000 URL: https://git.openjdk.org/leyden/commit/a87dd1a75f78cf872df49bea83ba48af8acfa2fd 8347139: [macos] Test tools/jpackage/share/InOutPathTest.java failed: "execution error: Finder got an error: AppleEvent timed out." Reviewed-by: asemenyuk ! test/jdk/tools/jpackage/share/IconTest.java ! test/jdk/tools/jpackage/share/InOutPathTest.java Changeset: 6b719eee Branch: hermetic-java-runtime Author: Alisen Chung Date: 2025-02-28 21:22:20 +0000 URL: https://git.openjdk.org/leyden/commit/6b719eeebc346fd4655fc718d7d033b3ebf54d9e 8348596: Update FreeType to 2.13.3 Reviewed-by: azvegint, dnguyen, prr ! src/java.desktop/share/legal/freetype.md ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftconfig.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftheader.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/integer-types.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/mac-support.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/public-macros.h ! src/java.desktop/share/native/libfreetype/include/freetype/freetype.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftadvanc.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbbox.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbdf.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbitmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftcid.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftcolor.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h ! src/java.desktop/share/native/libfreetype/include/freetype/fterrdef.h ! src/java.desktop/share/native/libfreetype/include/freetype/fterrors.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftfntfmt.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftgasp.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftglyph.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftgzip.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftincrem.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlcdfil.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlist.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmac.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmodapi.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmoderr.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftparams.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsizes.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsnames.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftstroke.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h ! src/java.desktop/share/native/libfreetype/include/freetype/fttrigon.h ! src/java.desktop/share/native/libfreetype/include/freetype/fttypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/autohint.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/cffotypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/cfftypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdebug.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftgloadr.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmemory.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftobjs.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftpsprop.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftrfork.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftserv.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftstream.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/fttrace.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftvalid.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/psaux.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/pshints.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svbdf.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svcfftl.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svcid.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svfntfmt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svgldict.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svgxval.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svkern.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svotval.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpfr.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpostnm.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svprop.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpsinfo.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svsfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svttcmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svtteng.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svttglyf.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svwinfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/sfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/svginterface.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/wofftypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/otsvg.h ! src/java.desktop/share/native/libfreetype/include/freetype/t1tables.h ! src/java.desktop/share/native/libfreetype/include/freetype/ttnameid.h ! src/java.desktop/share/native/libfreetype/include/freetype/tttables.h ! src/java.desktop/share/native/libfreetype/include/freetype/tttags.h ! src/java.desktop/share/native/libfreetype/include/ft2build.h ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.c ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.cin ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.h ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.hin ! src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c ! src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h ! src/java.desktop/share/native/libfreetype/src/autofit/afcover.h ! src/java.desktop/share/native/libfreetype/src/autofit/afdummy.c ! src/java.desktop/share/native/libfreetype/src/autofit/afdummy.h ! src/java.desktop/share/native/libfreetype/src/autofit/aferrors.h ! src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c ! src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h ! src/java.desktop/share/native/libfreetype/src/autofit/afhints.c ! src/java.desktop/share/native/libfreetype/src/autofit/afhints.h ! src/java.desktop/share/native/libfreetype/src/autofit/afindic.c ! src/java.desktop/share/native/libfreetype/src/autofit/afindic.h ! src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c ! src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h ! src/java.desktop/share/native/libfreetype/src/autofit/afloader.c ! src/java.desktop/share/native/libfreetype/src/autofit/afloader.h ! src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c ! src/java.desktop/share/native/libfreetype/src/autofit/afmodule.h ! src/java.desktop/share/native/libfreetype/src/autofit/afranges.c ! src/java.desktop/share/native/libfreetype/src/autofit/afranges.h ! src/java.desktop/share/native/libfreetype/src/autofit/afscript.h ! src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c ! src/java.desktop/share/native/libfreetype/src/autofit/afshaper.h ! src/java.desktop/share/native/libfreetype/src/autofit/afstyles.h ! src/java.desktop/share/native/libfreetype/src/autofit/aftypes.h ! src/java.desktop/share/native/libfreetype/src/autofit/afws-decl.h ! src/java.desktop/share/native/libfreetype/src/autofit/afws-iter.h ! src/java.desktop/share/native/libfreetype/src/base/ftadvanc.c ! src/java.desktop/share/native/libfreetype/src/base/ftbase.h ! src/java.desktop/share/native/libfreetype/src/base/ftbbox.c ! src/java.desktop/share/native/libfreetype/src/base/ftbitmap.c ! src/java.desktop/share/native/libfreetype/src/base/ftcalc.c ! src/java.desktop/share/native/libfreetype/src/base/ftcid.c ! src/java.desktop/share/native/libfreetype/src/base/ftcolor.c ! src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c ! src/java.desktop/share/native/libfreetype/src/base/ftdebug.c ! src/java.desktop/share/native/libfreetype/src/base/ftfntfmt.c ! src/java.desktop/share/native/libfreetype/src/base/ftfstype.c ! src/java.desktop/share/native/libfreetype/src/base/ftgasp.c ! src/java.desktop/share/native/libfreetype/src/base/ftgloadr.c ! src/java.desktop/share/native/libfreetype/src/base/ftglyph.c ! src/java.desktop/share/native/libfreetype/src/base/ftinit.c ! src/java.desktop/share/native/libfreetype/src/base/ftlcdfil.c ! src/java.desktop/share/native/libfreetype/src/base/ftmac.c ! src/java.desktop/share/native/libfreetype/src/base/ftmm.c ! src/java.desktop/share/native/libfreetype/src/base/ftobjs.c ! src/java.desktop/share/native/libfreetype/src/base/ftoutln.c ! src/java.desktop/share/native/libfreetype/src/base/ftpatent.c ! src/java.desktop/share/native/libfreetype/src/base/ftpsprop.c ! src/java.desktop/share/native/libfreetype/src/base/ftrfork.c ! src/java.desktop/share/native/libfreetype/src/base/ftsnames.c ! src/java.desktop/share/native/libfreetype/src/base/ftstream.c ! src/java.desktop/share/native/libfreetype/src/base/ftstroke.c ! src/java.desktop/share/native/libfreetype/src/base/ftsynth.c ! src/java.desktop/share/native/libfreetype/src/base/ftsystem.c ! src/java.desktop/share/native/libfreetype/src/base/fttrigon.c ! src/java.desktop/share/native/libfreetype/src/base/fttype1.c ! src/java.desktop/share/native/libfreetype/src/base/ftutil.c ! src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c ! src/java.desktop/share/native/libfreetype/src/cff/cffcmap.h ! src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c ! src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.h ! src/java.desktop/share/native/libfreetype/src/cff/cfferrs.h ! src/java.desktop/share/native/libfreetype/src/cff/cffgload.c ! src/java.desktop/share/native/libfreetype/src/cff/cffgload.h ! src/java.desktop/share/native/libfreetype/src/cff/cffload.c ! src/java.desktop/share/native/libfreetype/src/cff/cffload.h ! src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c ! src/java.desktop/share/native/libfreetype/src/cff/cffobjs.h ! src/java.desktop/share/native/libfreetype/src/cff/cffparse.c ! src/java.desktop/share/native/libfreetype/src/cff/cffparse.h ! src/java.desktop/share/native/libfreetype/src/cff/cfftoken.h ! src/java.desktop/share/native/libfreetype/src/cid/ciderrs.h ! src/java.desktop/share/native/libfreetype/src/cid/cidgload.c ! src/java.desktop/share/native/libfreetype/src/cid/cidgload.h ! src/java.desktop/share/native/libfreetype/src/cid/cidload.c ! src/java.desktop/share/native/libfreetype/src/cid/cidload.h ! src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c ! src/java.desktop/share/native/libfreetype/src/cid/cidobjs.h ! src/java.desktop/share/native/libfreetype/src/cid/cidparse.c ! src/java.desktop/share/native/libfreetype/src/cid/cidparse.h ! src/java.desktop/share/native/libfreetype/src/cid/cidriver.c ! src/java.desktop/share/native/libfreetype/src/cid/cidriver.h ! src/java.desktop/share/native/libfreetype/src/cid/cidtoken.h ! src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c ! src/java.desktop/share/native/libfreetype/src/psaux/afmparse.h ! src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c ! src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.h ! src/java.desktop/share/native/libfreetype/src/psaux/psauxerr.h ! src/java.desktop/share/native/libfreetype/src/psaux/psauxmod.c ! src/java.desktop/share/native/libfreetype/src/psaux/psauxmod.h ! src/java.desktop/share/native/libfreetype/src/psaux/psblues.c ! src/java.desktop/share/native/libfreetype/src/psaux/psconv.c ! src/java.desktop/share/native/libfreetype/src/psaux/psconv.h ! src/java.desktop/share/native/libfreetype/src/psaux/psft.c ! src/java.desktop/share/native/libfreetype/src/psaux/psft.h ! src/java.desktop/share/native/libfreetype/src/psaux/psintrp.c ! src/java.desktop/share/native/libfreetype/src/psaux/psobjs.c ! src/java.desktop/share/native/libfreetype/src/psaux/psobjs.h ! src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c ! src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.h ! src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c ! src/java.desktop/share/native/libfreetype/src/psaux/t1decode.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshglob.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshglob.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshnterr.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.h ! src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c ! src/java.desktop/share/native/libfreetype/src/psnames/psmodule.h ! src/java.desktop/share/native/libfreetype/src/psnames/psnamerr.h ! src/java.desktop/share/native/libfreetype/src/psnames/pstables.h ! src/java.desktop/share/native/libfreetype/src/raster/ftmisc.h ! src/java.desktop/share/native/libfreetype/src/raster/ftraster.c ! src/java.desktop/share/native/libfreetype/src/raster/ftraster.h ! src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c ! src/java.desktop/share/native/libfreetype/src/raster/ftrend1.h ! src/java.desktop/share/native/libfreetype/src/raster/rasterrs.h ! src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c ! src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sferrors.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmapc.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttkern.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttkern.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttload.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.h ! src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c ! src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c ! src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmerrs.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.h ! src/java.desktop/share/native/libfreetype/src/truetype/tterrors.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgload.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h ! src/java.desktop/share/native/libfreetype/src/type1/t1afm.c ! src/java.desktop/share/native/libfreetype/src/type1/t1afm.h ! src/java.desktop/share/native/libfreetype/src/type1/t1driver.c ! src/java.desktop/share/native/libfreetype/src/type1/t1driver.h ! src/java.desktop/share/native/libfreetype/src/type1/t1errors.h ! src/java.desktop/share/native/libfreetype/src/type1/t1gload.c ! src/java.desktop/share/native/libfreetype/src/type1/t1gload.h ! src/java.desktop/share/native/libfreetype/src/type1/t1load.c ! src/java.desktop/share/native/libfreetype/src/type1/t1load.h ! src/java.desktop/share/native/libfreetype/src/type1/t1objs.c ! src/java.desktop/share/native/libfreetype/src/type1/t1objs.h ! src/java.desktop/share/native/libfreetype/src/type1/t1parse.c ! src/java.desktop/share/native/libfreetype/src/type1/t1parse.h ! src/java.desktop/share/native/libfreetype/src/type1/t1tokens.h Changeset: 3c72c04d Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-02-28 22:37:41 +0000 URL: https://git.openjdk.org/leyden/commit/3c72c04de7a43d265dae7160fe53baaaa8ae6f73 8350818: Improve OperatingSystemMXBean cpu load tests to not accept -1.0 by default Reviewed-by: kevinw ! test/jdk/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java ! test/jdk/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java Changeset: 785e7b47 Branch: hermetic-java-runtime Author: Mikael Vidstedt Date: 2025-02-28 23:34:07 +0000 URL: https://git.openjdk.org/leyden/commit/785e7b47e05a4c6a2b28a16221fbeaa74db4db7d 8350819: Ignore core files Reviewed-by: erikj, dholmes ! .gitignore ! make/conf/jib-profiles.js Changeset: 157e5ad4 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-02 03:43:46 +0000 URL: https://git.openjdk.org/leyden/commit/157e5ad4a3abc7aea9ec2ec3d2381e42101990b8 8350916: Remove misleading warning "Cannot dump shared archive while using shared archive" Reviewed-by: ccheung ! src/hotspot/share/cds/cdsConfig.cpp Changeset: 0a1eea11 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-03-02 23:36:27 +0000 URL: https://git.openjdk.org/leyden/commit/0a1eea112d9f709bac32908f216b8598e918ed33 8345492: Fix -Wzero-as-null-pointer-constant warnings in adlc code Reviewed-by: kvn, dlong ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/formssel.hpp Changeset: d48ddfe4 Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-03-03 02:22:15 +0000 URL: https://git.openjdk.org/leyden/commit/d48ddfe49a4e0b07949912d3c91d6f4737658b3e 8350748: VectorAPI: Method "checkMaskFromIndexSize" should be force inlined Reviewed-by: psandoz ! 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: 93c87845 Branch: hermetic-java-runtime Author: Amit Kumar Date: 2025-03-03 03:12:37 +0000 URL: https://git.openjdk.org/leyden/commit/93c878455bfffc07f115f9e20ee11b20186eb2be 8350716: [s390] intrinsify Thread.currentThread() Reviewed-by: lucy, mdoerr ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp Changeset: 3657e92e Branch: hermetic-java-runtime Author: Jasmine Karthikeyan Date: 2025-03-03 05:18:55 +0000 URL: https://git.openjdk.org/leyden/commit/3657e92ead1e678942fcb272e77c3867eb5aa13e 8349637: Integer.numberOfLeadingZeros outputs incorrectly in certain cases Reviewed-by: thartmann, qamai, jbhateja ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java + test/hotspot/jtreg/compiler/vectorization/TestVectorZeroCount.java Changeset: 717c4997 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-03-03 06:41:59 +0000 URL: https://git.openjdk.org/leyden/commit/717c4997a2ba4df4e7c66db9efc6b9b4d5336424 8351014: ProblemList the com/sun/management/OperatingSystemMXBean cpuLoad tests on Windows Reviewed-by: lmesnik ! test/jdk/ProblemList.txt Changeset: b054d24d Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-03 07:48:12 +0000 URL: https://git.openjdk.org/leyden/commit/b054d24df55a73bae70c784f6e75b3eb56d4be8b 8350584: Check the usage of LOG_PLEASE Reviewed-by: stuefe ! test/hotspot/gtest/metaspace/test_clms.cpp ! test/hotspot/gtest/metaspace/test_metaspacearena.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp Changeset: 4109c73a Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-03-03 09:32:54 +0000 URL: https://git.openjdk.org/leyden/commit/4109c73a78c424d409e9fdd96913a772467666c8 8349523: Unused runtime calls to drem/frem should be removed Reviewed-by: thartmann, kvn, chagedorn ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/divnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 8b0468fa Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-03-03 12:08:18 +0000 URL: https://git.openjdk.org/leyden/commit/8b0468faf1c38f2d1d887ab92b76dfff625482ef 8315488: Remove outdated and unused ciReplay support from SA Reviewed-by: kvn, cjplummer, yzheng ! src/hotspot/cpu/aarch64/vmStructs_aarch64.hpp ! src/hotspot/cpu/arm/vmStructs_arm.hpp ! src/hotspot/cpu/ppc/vmStructs_ppc.hpp ! src/hotspot/cpu/riscv/vmStructs_riscv.hpp ! src/hotspot/cpu/s390/vmStructs_s390.hpp ! src/hotspot/cpu/x86/vmStructs_x86.hpp ! src/hotspot/cpu/zero/vmStructs_zero.hpp ! src/hotspot/os/aix/vmStructs_aix.hpp ! src/hotspot/os/bsd/vmStructs_bsd.hpp ! src/hotspot/os/linux/vmStructs_linux.hpp ! src/hotspot/os/windows/vmStructs_windows.hpp ! src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp ! src/hotspot/os_cpu/bsd_aarch64/vmStructs_bsd_aarch64.hpp ! src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp ! src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp ! src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp ! src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp ! src/hotspot/os_cpu/linux_riscv/vmStructs_linux_riscv.hpp ! src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp ! src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp ! src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp ! src/hotspot/os_cpu/windows_aarch64/vmStructs_windows_aarch64.hpp ! src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/ci/ciClassList.hpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciObjectFactory.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/optoreg.hpp ! src/hotspot/share/opto/regalloc.hpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/vmStructs.cpp - src/jdk.hotspot.agent/doc/cireplay.html ! src/jdk.hotspot.agent/doc/clhsdb.html ! src/jdk.hotspot.agent/doc/index.html ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/c1/Runtime1.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciArrayKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciBaseObject.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciConstant.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciEnv.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciField.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciInstance.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciInstanceKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMetadata.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethod.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethodData.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObject.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObjectFactory.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciSymbol.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciType.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Metadata.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block_Array.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block_List.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallDynamicJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallRuntimeNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallStaticJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Compile.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CompilerPhaseType.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/HaltNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/InlineTree.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/JVMState.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/LoopNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallRuntimeNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallStaticJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachIfNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachReturnNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachSafePointNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MultiNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node_Array.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node_List.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Phase.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhaseRegAlloc.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhiNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/ProjNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/RegionNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/RootNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/SafePointNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/TypeNode.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMReg.java ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/compiler/ciReplay/SABase.java - test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java - test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java Changeset: 30b0c609 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-03 12:31:33 +0000 URL: https://git.openjdk.org/leyden/commit/30b0c6098028cce63e65bd9d563973f2774fa74d 8350956: Fix repetitions of the word "the" in compiler component comments Reviewed-by: rcastanedalo ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/vectorization.hpp Changeset: f47232ad Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-03 13:57:57 +0000 URL: https://git.openjdk.org/leyden/commit/f47232ad7129e40bdc433525a66de2ca6657f211 8350954: Fix repetitions of the word "the" in gc component comments Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zUncoloredRoot.hpp Changeset: db69ec9e Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-03-03 14:39:19 +0000 URL: https://git.openjdk.org/leyden/commit/db69ec9e583791d359c5c0acb504c7f01e963e3b 8344009: Improve compiler memory statistics Reviewed-by: rcastanedalo, asmehra ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp + src/hotspot/share/compiler/compilationMemStatInternals.hpp + src/hotspot/share/compiler/compilationMemStatInternals.inline.hpp ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilationMemoryStatistic.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/compilerThread.cpp ! src/hotspot/share/compiler/compilerThread.hpp ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/memory/resourceArea.hpp ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/vectorization.hpp ! src/hotspot/share/opto/vtransform.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/utilities/vmError.cpp ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java ! test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java Changeset: 4a51c61b Branch: hermetic-java-runtime Author: Afshin Zafari Date: 2025-03-03 15:39:35 +0000 URL: https://git.openjdk.org/leyden/commit/4a51c61b2cfa396dace2ca21d819b5f363c9b6b5 8350567: NMT: update VMATree::register_mapping to copy the existing tag of the region Reviewed-by: jsjolen, stuefe ! src/hotspot/share/nmt/vmatree.cpp ! test/hotspot/gtest/nmt/test_vmatree.cpp Changeset: 67dfdfa6 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-03-03 15:53:47 +0000 URL: https://git.openjdk.org/leyden/commit/67dfdfa6ea829fcd1ecac0df8211b591ad15f859 8350623: Fix -Wzero-as-null-pointer-constant warnings in nsk native test utilities Reviewed-by: coleenp ! test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.cpp Changeset: c988d7d6 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-03-03 15:55:07 +0000 URL: https://git.openjdk.org/leyden/commit/c988d7d6476807bf71a977dc771017915b708ca3 8350767: Fix -Wzero-as-null-pointer-constant warnings in nsk jni stress tests Reviewed-by: coleenp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp Changeset: 3602c8cf Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-03 16:51:56 +0000 URL: https://git.openjdk.org/leyden/commit/3602c8cfd805d2e5ae07685145b91bf2c20e255a 8350955: Fix repetitions of the word "the" in runtime component comments Reviewed-by: coleenp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/runtime/objectMonitor.hpp Changeset: 7c187b5d Branch: hermetic-java-runtime Author: Xiaolong Peng Committer: Paul Hohensee Date: 2025-03-03 17:20:54 +0000 URL: https://git.openjdk.org/leyden/commit/7c187b5d81a653b87fc498101ad9e2d99b72efc6 8338737: Shenandoah: Reset marking bitmaps after the cycle Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: bb70896e Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-03 17:36:31 +0000 URL: https://git.openjdk.org/leyden/commit/bb70896e356536477cfb770096fb769485edc55b 8350903: Remove explicit libjvm.so dependency for libVThreadEventTest Reviewed-by: dholmes, alanb ! make/test/JtregNativeHotspot.gmk ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadEventTest/libVThreadEventTest.cpp Changeset: 79880e56 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-03 18:28:28 +0000 URL: https://git.openjdk.org/leyden/commit/79880e56375a1c17ec6ad29bb0ab01868bc956ff 8351033: RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction! Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp Changeset: e1fc14fa Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-03 18:29:36 +0000 URL: https://git.openjdk.org/leyden/commit/e1fc14fa17e78fef712b5635ee53d10d6d2bb50e 8350940: RISC-V: remove unnecessary assert_different_registers in minmax_fp Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: f53de920 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-03 18:30:43 +0000 URL: https://git.openjdk.org/leyden/commit/f53de9208cf5f841ddf80ef9c6073fa61f68fa59 8350931: RISC-V: remove unnecessary src register for fp_sqrt_d/f Reviewed-by: fyang ! src/hotspot/cpu/riscv/riscv.ad Changeset: e470f474 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-03 18:31:56 +0000 URL: https://git.openjdk.org/leyden/commit/e470f474ee2176eecc211ec8e99cccc941104c68 8350095: RISC-V: Refactor string_compare Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! test/hotspot/jtreg/compiler/intrinsics/string/TestStringIntrinsics.java Changeset: c4b516df Branch: hermetic-java-runtime Author: Calvin Cheung Date: 2025-03-03 18:49:11 +0000 URL: https://git.openjdk.org/leyden/commit/c4b516dfe7c5a5fddd4d9c97a21f5f36bf845646 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled Co-authored-by: Ioi Lam Reviewed-by: iklam, matsaave ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassLinker.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/AOTClassLinkingVMOptions.java Changeset: 768b0241 Branch: hermetic-java-runtime Author: Vladimir Ivanov Committer: Derek White Date: 2025-03-03 21:05:19 +0000 URL: https://git.openjdk.org/leyden/commit/768b02410f1b53ac95d6014f152be84c89eb33ab 8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 Reviewed-by: xgong, drwhite, sviswanathan ! test/micro/org/openjdk/bench/jdk/incubator/vector/IndexInRangeBenchmark.java Changeset: 99fb350b Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-03-03 21:25:11 +0000 URL: https://git.openjdk.org/leyden/commit/99fb350bf65f9469c8097ddebcc6742255435a88 8350654: (fs) Files.createTempDirectory should say something about the default file permissions when no file attributes specified Reviewed-by: alanb ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 3a8a432c Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-04 00:41:39 +0000 URL: https://git.openjdk.org/leyden/commit/3a8a432c05999fe478b94de75b416404b5a515d2 8349094: GenShen: Race between control and regulator threads may violate assertions Reviewed-by: ysr, kdnilsen ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! 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/shenandoahGenerationalControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: 96613cc5 Branch: hermetic-java-runtime Author: Joe Wang Date: 2025-03-04 03:49:17 +0000 URL: https://git.openjdk.org/leyden/commit/96613cc53842bc744e220e5bf7d91e92d0769a8e 8349516: StAXStream2SAX.handleCharacters() fails on empty CDATA Reviewed-by: naoto ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ValidationTest.java Changeset: 7c173fde Branch: hermetic-java-runtime Author: Xiaolong Peng Date: 2025-03-04 03:56:16 +0000 URL: https://git.openjdk.org/leyden/commit/7c173fde4274a798f299876492a2cd833eee9fdd 8351077: Shenandoah: Update comments in ShenandoahConcurrentGC::op_reset_after_collect Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp Changeset: 4b3c07b9 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-03 20:02:07 +0000 URL: https://git.openjdk.org/leyden/commit/4b3c07b95fbeb9798933dc725d7c6302db9b2068 Merge branch 'master' into hermetic-java-runtime ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/runtime/globals.hpp ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/runtime/globals.hpp From henryjen at openjdk.org Tue Mar 4 04:20:48 2025 From: henryjen at openjdk.org (Henry Jen) Date: Tue, 4 Mar 2025 04:20:48 GMT Subject: RFR: 8347755: Support static library in jmod [v2] In-Reply-To: References: Message-ID: > This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. > > The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. > > Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. Henry Jen has updated the pull request incrementally with one additional commit since the last revision: Use JULONG_FORMAT_X to suit various platforms ------------- Changes: - all: https://git.openjdk.org/leyden/pull/46/files - new: https://git.openjdk.org/leyden/pull/46/files/bfd37c0a..fc47dee8 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From alanb at openjdk.org Tue Mar 4 10:11:27 2025 From: alanb at openjdk.org (Alan Bateman) Date: Tue, 4 Mar 2025 10:11:27 GMT Subject: RFR: 8347755: Support static library in jmod [v2] In-Reply-To: References: Message-ID: On Tue, 4 Mar 2025 04:20:48 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > Use JULONG_FORMAT_X to suit various platforms test/jdk/tools/jmod/JmodTest.java line 959: > 957: } > 958: > 959: static void assertMagic(Path file, int minorVersion) throws IOException { testLibs and testStaticLibs checking the magic number is good, just might be better to have the two call assertMagic with both the expected major and minor version rather than just the minor version. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1979081747 From alanb at openjdk.org Tue Mar 4 10:14:16 2025 From: alanb at openjdk.org (Alan Bateman) Date: Tue, 4 Mar 2025 10:14:16 GMT Subject: RFR: 8347755: Support static library in jmod [v2] In-Reply-To: References: Message-ID: On Tue, 4 Mar 2025 04:20:48 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > Use JULONG_FORMAT_X to suit various platforms The updates to the JMOD format and jmod tool looks good, as is bumping the version when the JMOD includes a static-libs section. Doesn't have to be this PR but jmod.md will need to be updated if the overall feature is eventually proposed for main line. ------------- PR Review: https://git.openjdk.org/leyden/pull/46#pullrequestreview-2656793519 From henryjen at openjdk.org Tue Mar 4 16:08:36 2025 From: henryjen at openjdk.org (Henry Jen) Date: Tue, 4 Mar 2025 16:08:36 GMT Subject: RFR: 8347755: Support static library in jmod [v3] In-Reply-To: References: Message-ID: > This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. > > The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. > > Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. Henry Jen has updated the pull request incrementally with one additional commit since the last revision: Update jmod.md ------------- Changes: - all: https://git.openjdk.org/leyden/pull/46/files - new: https://git.openjdk.org/leyden/pull/46/files/fc47dee8..42923fb1 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=01-02 Stats: 4 lines in 1 file changed: 4 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From henryjen at openjdk.org Tue Mar 4 16:23:36 2025 From: henryjen at openjdk.org (Henry Jen) Date: Tue, 4 Mar 2025 16:23:36 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: Message-ID: > This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. > > The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. > > Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. Henry Jen has updated the pull request incrementally with one additional commit since the last revision: support major version validation ------------- Changes: - all: https://git.openjdk.org/leyden/pull/46/files - new: https://git.openjdk.org/leyden/pull/46/files/42923fb1..95a037b8 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=03 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=02-03 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From henryjen at openjdk.org Tue Mar 4 16:23:36 2025 From: henryjen at openjdk.org (Henry Jen) Date: Tue, 4 Mar 2025 16:23:36 GMT Subject: RFR: 8347755: Support static library in jmod [v2] In-Reply-To: References: Message-ID: <6Us55mnDecUeJ7t6qg-5kllEKAQVf5cUNz0DzIa9O6A=.ef2a0f01-0313-4e9b-b8cf-1aa02b28400e@github.com> On Tue, 4 Mar 2025 10:11:55 GMT, Alan Bateman wrote: > Doesn't have to be this PR but jmod.md will need to be updated if the overall feature is eventually proposed for main line. Also CSR would be needed. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2698218693 From iklam at openjdk.org Wed Mar 5 04:44:06 2025 From: iklam at openjdk.org (Ioi Lam) Date: Wed, 5 Mar 2025 04:44:06 GMT Subject: git: openjdk/leyden: premain: Refactored support for unregistered classes in the JEP 483 workflow Message-ID: <4848bc78-8d22-426c-91b4-033bbe65da40@openjdk.org> Changeset: 213559e0 Branch: premain Author: Ioi Lam Date: 2025-03-04 20:40:41 +0000 URL: https://git.openjdk.org/leyden/commit/213559e07455b2279ceac42a4227ba79cecc977b Refactored support for unregistered classes in the JEP 483 workflow ! src/hotspot/share/cds/aotLinkedClassBulkLoader.cpp ! src/hotspot/share/cds/aotLinkedClassBulkLoader.hpp ! src/hotspot/share/cds/finalImageRecipes.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/BulkLoaderTest.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/SimpleCusty.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java From sgehwolf at openjdk.org Wed Mar 5 13:38:09 2025 From: sgehwolf at openjdk.org (Severin Gehwolf) Date: Wed, 5 Mar 2025 13:38:09 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: Message-ID: On Tue, 4 Mar 2025 16:23:36 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > support major version validation src/java.base/share/classes/jdk/internal/jmod/JmodFile.java line 195: > 193: } else { > 194: os.write(JMOD_MAGIC_NO_STATIC_LIB); > 195: } This conditionality seems a bit strange. Isn't the idea for the magic to be changed when the format got extended to do more things? I.e. shouldn't this be micro version `0x01` in both cases? Then when dealing with version JMOD `1.1` version you'd be checking if static-libs is there. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1981396924 From henryjen at openjdk.org Wed Mar 5 15:28:26 2025 From: henryjen at openjdk.org (Henry Jen) Date: Wed, 5 Mar 2025 15:28:26 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: Message-ID: On Wed, 5 Mar 2025 13:29:35 GMT, Severin Gehwolf wrote: >> Henry Jen has updated the pull request incrementally with one additional commit since the last revision: >> >> support major version validation > > src/java.base/share/classes/jdk/internal/jmod/JmodFile.java line 195: > >> 193: } else { >> 194: os.write(JMOD_MAGIC_NO_STATIC_LIB); >> 195: } > > This conditionality seems a bit strange. Isn't the idea for the magic to be changed when the format got extended to do more things? I.e. shouldn't this be micro version `0x01` in both cases? Then when dealing with version JMOD `1.1` version you'd be checking if static-libs is there. The idea is without static lib, it's essential the same as the old format, using the old version so that old tools can be used if static is not included. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1981636419 From iklam at openjdk.org Wed Mar 5 17:10:04 2025 From: iklam at openjdk.org (Ioi Lam) Date: Wed, 5 Mar 2025 17:10:04 GMT Subject: git: openjdk/leyden: premain: Improved test case: EndTrainingOnMethodEntry.java Message-ID: <62e2d9f9-f3ff-4eba-93c3-2ade83553829@openjdk.org> Changeset: 8204ccbc Branch: premain Author: Ioi Lam Date: 2025-03-05 09:07:30 +0000 URL: https://git.openjdk.org/leyden/commit/8204ccbc0161306295d6c433e0048f7bba8c9041 Improved test case: EndTrainingOnMethodEntry.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/EndTrainingOnMethodEntry.java From iklam at openjdk.org Thu Mar 6 06:22:38 2025 From: iklam at openjdk.org (Ioi Lam) Date: Thu, 6 Mar 2025 06:22:38 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: Changeset: 9c12b65a Branch: premain Author: Ioi Lam Date: 2025-03-05 14:01:03 +0000 URL: https://git.openjdk.org/leyden/commit/9c12b65af2472fd8357f63a4a207cca96bbef863 Remove training data support from dynamic archive; various clean up to reduce diffs with mainline ! src/hotspot/share/cds/aotClassLinker.cpp ! src/hotspot/share/cds/aotLinkedClassBulkLoader.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cds_globals.hpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/runtime/threads.cpp Changeset: b884eba1 Branch: premain Author: Ioi Lam Date: 2025-03-05 17:10:48 +0000 URL: https://git.openjdk.org/leyden/commit/b884eba17cc33b05c5f0087c529c03bf3994b844 Cleaned up the handle of regenerated classes ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/java.base/share/classes/jdk/internal/misc/CDS.java + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/RegeneratedClassesInDynamicArchive.java From ihse at openjdk.org Thu Mar 6 15:21:09 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Thu, 6 Mar 2025 15:21:09 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: Message-ID: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> On Wed, 5 Mar 2025 15:25:49 GMT, Henry Jen wrote: >> src/java.base/share/classes/jdk/internal/jmod/JmodFile.java line 195: >> >>> 193: } else { >>> 194: os.write(JMOD_MAGIC_NO_STATIC_LIB); >>> 195: } >> >> This conditionality seems a bit strange. Isn't the idea for the magic to be changed when the format got extended to do more things? I.e. shouldn't this be micro version `0x01` in both cases? Then when dealing with version JMOD `1.1` version you'd be checking if static-libs is there. > > The idea is without static lib, it's essential the same as the old format, using the old version so that old tools can be used if static is not included. I thought the idea was that the jmod format was left intentionally undefined, to not think you could rely on anything else than the corresponding JDK tools to process it? That would mean backwards compatibility should not be a concern. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1983551278 From alanb at openjdk.org Thu Mar 6 16:50:16 2025 From: alanb at openjdk.org (Alan Bateman) Date: Thu, 6 Mar 2025 16:50:16 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> References: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> Message-ID: On Thu, 6 Mar 2025 15:18:55 GMT, Magnus Ihse Bursie wrote: >> The idea is without static lib, it's essential the same as the old format, using the old version so that old tools can be used if static is not included. > > I thought the idea was that the jmod format was left intentionally undefined, to not think you could rely on anything else than the corresponding JDK tools to process it? That would mean backwards compatibility should not be a concern. (Just to be clear, this is about the JMOD format, not the jimage format. The jimage format is JDK internal and we are free to change it from release to release, even build to build, without compatibility concerns.) You are right that the JMOD format is not documented but care is required when rev'ing the format because there are JDK tools that produce and consume this format. It should be possible for a project to produce a module in JMOD format with the `jmod` tool from JDK N, and put the package module on the module path when creating a run-time image with JDK N+1 `jlink`. So what Henry has looks right. It means the `jmod` tool will produce a 1.0 format when creating a package module that doesn't have static libs, and a JMOD in the new format when the module has static libs. This seems preferable to adding a `--release` option. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1983719080 From ioi.lam at oracle.com Thu Mar 6 20:22:52 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Thu, 6 Mar 2025 12:22:52 -0800 Subject: Alternative ways to mark the end of a training run Message-ID: <4774e8a1-a80f-4700-91b5-fece2ef3b5b9@oracle.com> With JEP 483 [1], the profiling data (AOT config file) are captured when the training run exits. In the Leyden repo, we have implemented a mechanism [2] to? capture the profiler data at an earlier point. Excerpt from [2]: === It may be difficult for users to run to normal completion for all training runs - some may prefer to only record data until the application framework has started or prior to some method being invoked. This RFE is to track other possible triggers for CDS data to be collected and / or for the _assembly phase_ to being. (a) JCMD: a new jcmd can be developed to attach to a running JVM and signal the training run has ended. For classic CDS, this may be the point at which the classlist is dumped to the file. For premain CDS, this may trigger the start of the assembly phase and the creation of the CDS archive. (b) API: a new Leyden-specific API may be created that allows developers to indicate programatically the point at which the training run should end. This could be as simple as a static method `Leyden.endTraining()` or something that exposes more state such as the name of the CDS file. Details TBD based on need. (c) Commandline: a new option could specify when to trigger the end of the training run. ie: `-XX:CDSEndTrainingOnEntry=org.foo.bar.someMethod`. This can be extended beyond single entry to also include a counted entry ie: the 1000 time this method is entered. === As of today, (a) and (c) have been implemented in the Leyden repo. We have received positive feedback from developers who found this mechanism to be useful and are requesting for similar features in the JDK mainline. I think now will be a good time to have a wider discussion with the community about: - The use case and requirements for such a mechanism - The solution space -- besides the 3 options listed above, are there other approaches? Pros & cons? For example, an API might be more precise. However, many apps are built with 3rd libraries that cannot be modified easily, so an external mechanism would be preferable. JCMD might be least intrusive, but it's timing dependent and may not be available (in containers, etc). -------------------------------------- [1] https://openjdk.org/jeps/483 [2] https://bugs.openjdk.org/browse/JDK-8335358 -------------- next part -------------- An HTML attachment was scrubbed... URL: From iklam at openjdk.org Fri Mar 7 03:03:16 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 7 Mar 2025 03:03:16 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: <3fe5d455-848b-4758-964f-dfc98aaf62a3@openjdk.org> Changeset: 46c825ab Branch: premain Author: Ioi Lam Date: 2025-03-05 22:53:57 +0000 URL: https://git.openjdk.org/leyden/commit/46c825ab7abdb9864679a3c127d50aa803101ec6 Make pet clinic test run faster ! test/hotspot/jtreg/runtime/cds/appcds/applications/SpringPetClinic.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: bbac8f2d Branch: premain Author: Ioi Lam Date: 2025-03-06 17:38:03 +0000 URL: https://git.openjdk.org/leyden/commit/bbac8f2d845aa6408182ca3ff9ce60b5ca6e0390 8351100: [leyden] -XX:AOTEndTrainingOnMethodEntry crashes with large count ! src/hotspot/share/cds/metaspaceShared.cpp + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/TrainingRun.java ! test/hotspot/jtreg/runtime/cds/appcds/leyden/EndTrainingOnMethodEntry.java From duke at openjdk.org Fri Mar 7 20:19:09 2025 From: duke at openjdk.org (duke) Date: Fri, 7 Mar 2025 20:19:09 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 56 new changesets Message-ID: <384491ec-0aab-4237-9138-71b91b3f39b7@openjdk.org> Changeset: d9b98f72 Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-03-04 04:27:24 +0000 URL: https://git.openjdk.org/leyden/commit/d9b98f72c29f9cf8828fbd33799378bc6b9bfc08 8350771: Fix -Wzero-as-null-pointer-constant warning in nsk/monitoring ThreadController utility Reviewed-by: dholmes ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp Changeset: b6e2d66c Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-04 05:23:16 +0000 URL: https://git.openjdk.org/leyden/commit/b6e2d66cc4c100d6604ce3edd25e04d459ed1ef1 8351087: Combine scratch object tables in heapShared.cpp Reviewed-by: ccheung ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/memory/universe.cpp Changeset: 4fc72b8e Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-04 05:23:30 +0000 URL: https://git.openjdk.org/leyden/commit/4fc72b8e4b22db2aa3217afb5b8c30d496589eb8 8351082: Remove dead code for estimating CDS archive size Reviewed-by: ccheung ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 1f10ffba Branch: hermetic-java-runtime Author: Axel Boldt-Christmas Date: 2025-03-04 07:30:10 +0000 URL: https://git.openjdk.org/leyden/commit/1f10ffba88119caab169b1fc43ccfd143e3b85a6 8350851: ZGC: Reduce size of ZAddressOffsetMax scaling data structures Reviewed-by: eosterlund, jsikstro ! src/hotspot/share/gc/z/zIndexDistributor.hpp ! src/hotspot/share/gc/z/zIndexDistributor.inline.hpp ! src/hotspot/share/gc/z/zMemory.cpp ! src/hotspot/share/gc/z/zMemory.hpp ! src/hotspot/share/gc/z/zPageTable.cpp ! src/hotspot/share/gc/z/zPageTable.hpp ! src/hotspot/share/gc/z/zPageTable.inline.hpp ! src/hotspot/share/gc/z/zVirtualMemory.cpp ! src/hotspot/share/gc/z/zVirtualMemory.hpp ! src/hotspot/share/gc/z/zVirtualMemory.inline.hpp Changeset: fae37aaa Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-04 10:27:52 +0000 URL: https://git.openjdk.org/leyden/commit/fae37aaae8b36fd74309b84fa1fdf017c7d932ed 8345627: [REDO] Use gcc12 -ftrivial-auto-var-init=pattern in debug builds Reviewed-by: erikj, kbarrett ! make/autoconf/flags-cflags.m4 ! make/hotspot/lib/CompileGtest.gmk ! make/modules/jdk.incubator.vector/Lib.gmk ! test/lib/jdk/test/lib/jvmti/jvmti_common.hpp Changeset: 7ee89a53 Branch: hermetic-java-runtime Author: Andrew Dinn Date: 2025-03-04 12:18:56 +0000 URL: https://git.openjdk.org/leyden/commit/7ee89a53014bc3509271a81c62c91646f891e546 8350893: Use generated names for hand generated opto runtime blobs Reviewed-by: kvn ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/ppc/runtime_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp Changeset: 8073914a Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-03-04 12:32:23 +0000 URL: https://git.openjdk.org/leyden/commit/8073914af7d4ddd7bbd93d75104c7637e38a7ad9 8350974: The os_cpu VM_STRUCTS, VM_TYPES, etc have no declarations and should be removed Reviewed-by: kvn, dholmes - src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp - src/hotspot/os_cpu/bsd_aarch64/vmStructs_bsd_aarch64.hpp - src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp - src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp - src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp - src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp - src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp - src/hotspot/os_cpu/linux_riscv/vmStructs_linux_riscv.hpp - src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp - src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp - src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp - src/hotspot/os_cpu/windows_aarch64/vmStructs_windows_aarch64.hpp - src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 3230894b Branch: hermetic-java-runtime Author: Ferenc Rakoczi Committer: Andrew Dinn Date: 2025-03-04 14:41:35 +0000 URL: https://git.openjdk.org/leyden/commit/3230894bdd8ab4183b83ad4c942eb6acad4acce6 8348561: Add aarch64 intrinsics for ML-DSA Reviewed-by: adinn ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubDeclarations_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/java.base/share/classes/sun/security/provider/ML_DSA.java ! src/java.base/share/classes/sun/security/provider/SHA3Parallel.java ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: 216f113f Branch: hermetic-java-runtime Author: Alexander Zvegintsev Date: 2025-03-04 15:42:03 +0000 URL: https://git.openjdk.org/leyden/commit/216f113f8b377054bcfccf875ab29e967164d8ab 8344892: beans/finder/MethodFinder.findMethod incorrectly returns null Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/com/sun/beans/finder/MethodFinder.java Changeset: 6a31aaeb Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-04 16:22:28 +0000 URL: https://git.openjdk.org/leyden/commit/6a31aaeb00b6c37e2e19c5f2759c4aa9ed87f25a 8350594: Misleading warning about install dir for DMG packaging Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources.properties ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/share/InstallDirTest.java Changeset: daf0213a Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-03-04 16:58:15 +0000 URL: https://git.openjdk.org/leyden/commit/daf0213abc2c860246564b361061dbda9bd9982f 8350924: javax/swing/JMenu/4213634/bug4213634.java fails Reviewed-by: aivanov, tr ! test/jdk/javax/swing/JMenu/4213634/bug4213634.java Changeset: 4aa4b464 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-04 16:59:19 +0000 URL: https://git.openjdk.org/leyden/commit/4aa4b46440dcdb0c7707cc145171a45a9f895c07 8351154: Use -ftrivial-auto-var-init=pattern for clang too Reviewed-by: kbarrett, erikj ! make/autoconf/flags-cflags.m4 Changeset: 5b8d3491 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-03-04 17:08:54 +0000 URL: https://git.openjdk.org/leyden/commit/5b8d3491bf685a64b72b0ae763697353d09f61a1 4745837: Make grouping usage during parsing apparent in relevant NumberFormat methods Reviewed-by: naoto ! src/java.base/share/classes/java/text/NumberFormat.java Changeset: fe806caa Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-04 17:11:59 +0000 URL: https://git.openjdk.org/leyden/commit/fe806caa160b2d550db273af17dc08270f143819 8350605: assert(!heap->is_uncommit_in_progress()) failed: Cannot uncommit bitmaps while resetting them Reviewed-by: kdnilsen, ysr ! src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.hpp Changeset: 55987925 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-04 17:39:55 +0000 URL: https://git.openjdk.org/leyden/commit/55987925fd8ba5d7782934194141fe425a9041be 8351064: JFR: Consistent timestamps Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java Changeset: 0753376b Branch: hermetic-java-runtime Author: Weijun Wang Date: 2025-03-04 19:32:33 +0000 URL: https://git.openjdk.org/leyden/commit/0753376b0c3d0d98e3db14d26020b23822176557 8297531: sun/security/krb5/MicroTime.java fails with "Exception: What? only 100 musec precision?" Reviewed-by: mullan, abarashev ! test/jdk/sun/security/krb5/MicroTime.java Changeset: a21302bb Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-03-04 20:10:57 +0000 URL: https://git.openjdk.org/leyden/commit/a21302bb3244b85dd9809c42d1c0fd502bd677cc 8351036: [JVMCI] value not an s2: -32776 Reviewed-by: yzheng, dlong ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java Changeset: 3e86b3a8 Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-04 20:30:52 +0000 URL: https://git.openjdk.org/leyden/commit/3e86b3a879c7a425e7c689142cb1f0fdd4f679ed 8350013: Add a test for JDK-8150442 Reviewed-by: almatvee + test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/PackageTestTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java + test/jdk/tools/jpackage/resources/fail-os-condition.wxf + test/jdk/tools/jpackage/windows/WinOSConditionTest.java Changeset: 29de20db Branch: hermetic-java-runtime Author: Alexander Zvegintsev Date: 2025-03-04 20:55:45 +0000 URL: https://git.openjdk.org/leyden/commit/29de20dbc22e0b68698a1b9cb1241ae5861a6b9a 8280991: [XWayland] No displayChanged event after setDisplayMode call Reviewed-by: honkar, prr ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/FullscreenWindowProps/FullscreenWindowProps.java ! test/jdk/java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java Changeset: 38b4d46c Branch: hermetic-java-runtime Author: Cesar Soares Lucas Committer: William Kemper Date: 2025-03-04 21:44:40 +0000 URL: https://git.openjdk.org/leyden/commit/38b4d46c1ff3701d75ff8347e5edbb01acd9b512 8351081: Off-by-one error in ShenandoahCardCluster Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp Changeset: 20ea218c Branch: hermetic-java-runtime Author: Dean Long Date: 2025-03-04 23:10:52 +0000 URL: https://git.openjdk.org/leyden/commit/20ea218ce52f79704445acfe2d4a3dc9d04e86d2 8336042: Caller/callee param size mismatch in deoptimization causes crash Co-authored-by: Richard Reingruber Reviewed-by: pchilanomate, rrich, vlivanov, never ! src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp ! src/hotspot/cpu/arm/abstractInterpreter_arm.cpp ! src/hotspot/cpu/ppc/abstractInterpreter_ppc.cpp ! src/hotspot/cpu/riscv/abstractInterpreter_riscv.cpp ! src/hotspot/cpu/s390/abstractInterpreter_s390.cpp ! src/hotspot/cpu/x86/abstractInterpreter_x86.cpp ! src/hotspot/share/interpreter/bytecode.hpp ! src/hotspot/share/interpreter/bytecode.inline.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/vframeArray.cpp + test/hotspot/jtreg/compiler/jsr292/MHDeoptTest.java Changeset: 62fa33a8 Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-03-05 01:34:15 +0000 URL: https://git.openjdk.org/leyden/commit/62fa33a8704aef9fd08a8221f4fde217ab749dfc 8351158: Incorrect APX EGPR register save ordering Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp Changeset: b1a21b56 Branch: hermetic-java-runtime Author: Fei Yang Date: 2025-03-05 02:17:22 +0000 URL: https://git.openjdk.org/leyden/commit/b1a21b563e3ae13fa5c409a4f0c04686c3f5b34a 8351101: RISC-V: C2: Small improvement to MacroAssembler::revb Reviewed-by: fjiang, mli ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: 75f028b4 Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-05 10:01:26 +0000 URL: https://git.openjdk.org/leyden/commit/75f028b46b245bdcbde8391af69020befda66b7d 8348657: compiler/loopopts/superword/TestEquivalentInvariants.java timed out Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/TestEquivalentInvariants.java Changeset: de29ef3b Branch: hermetic-java-runtime Author: Sergey Chernyshev Committer: Dmitry Chuyko Date: 2025-03-05 10:32:36 +0000 URL: https://git.openjdk.org/leyden/commit/de29ef3bf3a029f99f340de9f093cd20544217fd 8343191: Cgroup v1 subsystem fails to set subsystem path Co-authored-by: Severin Gehwolf Reviewed-by: sgehwolf, mbaesken ! src/hotspot/os/linux/cgroupUtil_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1SubsystemController.java ! test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp + test/hotspot/jtreg/containers/docker/TestMemoryWithSubgroups.java ! test/jdk/jdk/internal/platform/cgroup/CgroupV1SubsystemControllerTest.java ! test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java + test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.java Changeset: a88e8cd0 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-05 12:30:09 +0000 URL: https://git.openjdk.org/leyden/commit/a88e8cd0d2a444187208b41875b9da45daadad6a 8350952: Remove some non present files from OPT_SPEED_SRC list Reviewed-by: dholmes, clanger ! make/hotspot/lib/JvmFeatures.gmk Changeset: 062b7c73 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-05 12:55:33 +0000 URL: https://git.openjdk.org/leyden/commit/062b7c7348453e6a96c311082b112291913dc1d9 8351115: Test AOTClassLinkingVMOptions.java fails after JDK-8348322 Reviewed-by: dholmes, iklam ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/AOTClassLinkingVMOptions.java Changeset: caaf4098 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-05 12:57:56 +0000 URL: https://git.openjdk.org/leyden/commit/caaf4098452476d981183ad4302b76b9c883a72b 8350546: Several java/net/InetAddress tests fails UnknownHostException Reviewed-by: dfuchs, myankelevich ! test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java ! test/jdk/java/net/InetAddress/getOriginalHostName.java Changeset: ea9e3cfe Branch: hermetic-java-runtime Author: Serhiy Sachkov Committer: Mark Sheppard Date: 2025-03-05 16:16:58 +0000 URL: https://git.openjdk.org/leyden/commit/ea9e3cfe03b5284ef0edc6f0eb92fcb6ffd62725 8281511: java/net/ipv6tests/UdpTest.java fails with checkTime failed Reviewed-by: dfuchs ! test/jdk/java/net/ipv6tests/TcpTest.java ! test/jdk/java/net/ipv6tests/Tests.java ! test/jdk/java/net/ipv6tests/UdpTest.java Changeset: 61d9ab97 Branch: hermetic-java-runtime Author: Xiaolong Peng Committer: Aleksey Shipilev Date: 2025-03-05 16:35:46 +0000 URL: https://git.openjdk.org/leyden/commit/61d9ab9717783e5bb0faa555f794499d0e5b3fdb 8350854: Include thread counts in safepoint logging Reviewed-by: shade, dholmes ! src/hotspot/share/runtime/safepoint.cpp Changeset: 661bd5bf Branch: hermetic-java-runtime Author: Archie Cobbs Date: 2025-03-05 17:32:59 +0000 URL: https://git.openjdk.org/leyden/commit/661bd5bfe883a7449c6949c9f4bd6b5d82d20e10 8343478: Remove unnecessary @SuppressWarnings annotations (core-libs) Reviewed-by: darcy, asemenyuk, joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/io/FileDescriptor.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDate.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/ComparableTimSort.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/LinkedHashSet.java ! src/java.base/share/classes/java/util/List.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/PrimitiveIterator.java ! src/java.base/share/classes/java/util/PropertyResourceBundle.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/ReverseOrderDequeView.java ! src/java.base/share/classes/java/util/ReverseOrderListView.java ! src/java.base/share/classes/java/util/ReverseOrderSortedMapView.java ! src/java.base/share/classes/java/util/ReverseOrderSortedSetView.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/java/util/Spliterator.java ! src/java.base/share/classes/java/util/TreeMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/java.base/share/classes/java/util/concurrent/Executors.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/stream/AbstractPipeline.java ! src/java.base/share/classes/java/util/stream/DoublePipeline.java ! src/java.base/share/classes/java/util/stream/IntPipeline.java ! src/java.base/share/classes/java/util/stream/LongPipeline.java ! src/java.base/share/classes/java/util/stream/Node.java ! src/java.base/share/classes/java/util/stream/Nodes.java ! src/java.base/share/classes/java/util/stream/ReferencePipeline.java ! src/java.base/share/classes/java/util/stream/SpinedBuffer.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/NativeImageBuffer.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileStore.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java ! src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/Parser.java ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/text/DictionaryBasedBreakIterator.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java ! src/java.naming/share/classes/javax/naming/Name.java ! src/java.naming/share/classes/javax/naming/directory/Attribute.java ! src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java ! src/java.rmi/share/classes/java/rmi/server/RemoteRef.java ! src/java.rmi/share/classes/java/rmi/server/ServerRef.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Skel.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/java.sql/share/classes/java/sql/Date.java ! src/java.sql/share/classes/java/sql/Time.java ! src/java.sql/share/classes/java/sql/Timestamp.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXEventWriter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringComparable.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogReader.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundlerParamInfo.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/ClassReader.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/ClassWriter.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/tree/MethodNode.java Changeset: 6012e8d2 Branch: hermetic-java-runtime Author: Archie Cobbs Date: 2025-03-05 17:33:54 +0000 URL: https://git.openjdk.org/leyden/commit/6012e8d2505af786bd4f17cf56b1e81a102485d4 8350808: Small typos in JShell method SnippetEvent.toString() Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/SnippetEvent.java + test/langtools/jdk/jshell/SnippetEventToStringTest.java Changeset: c3b48196 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-03-05 18:12:26 +0000 URL: https://git.openjdk.org/leyden/commit/c3b48196af40356a8251b42db13e02ed905c2139 8351074: Disallow null prefix and suffix in DecimalFormat Reviewed-by: naoto ! src/java.base/share/classes/java/text/DecimalFormat.java + test/jdk/java/text/Format/DecimalFormat/AffixTest.java Changeset: 11a37c82 Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-03-05 19:28:39 +0000 URL: https://git.openjdk.org/leyden/commit/11a37c829c12d064874416a7b242596cf23972e5 8351165: Remove unused includes from vmStructs Reviewed-by: kbarrett ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/memory/resourceArea.hpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintStatics.java Changeset: 107ee878 Branch: hermetic-java-runtime Author: Nicole Xu Date: 2025-03-06 01:40:24 +0000 URL: https://git.openjdk.org/leyden/commit/107ee878d66f4006f102c1fd12af3bf156a25757 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException Co-authored-by: Jatin Bhateja Reviewed-by: jbhateja, xgong ! test/micro/org/openjdk/bench/jdk/incubator/vector/MaskedLogicOpts.java Changeset: 4bb3d814 Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-06 01:41:22 +0000 URL: https://git.openjdk.org/leyden/commit/4bb3d81479c1bbe2c6fc7b5234d0f1b6897be117 8351138: Running subset of gtests gets error printing result information Reviewed-by: erikj ! make/RunTests.gmk Changeset: 3626ac35 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-03-06 06:22:18 +0000 URL: https://git.openjdk.org/leyden/commit/3626ac35b34650dc64938af63ea21f9f4e011fe4 8204868: java/util/zip/ZipFile/TestCleaner.java still fails with "cleaner failed to clean zipfile." Reviewed-by: lancea ! test/jdk/java/util/zip/ZipFile/TestCleaner.java Changeset: e82031ec Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-06 06:48:42 +0000 URL: https://git.openjdk.org/leyden/commit/e82031ec1a8ae2478f83d009594d512a13fdb77e 8350756: C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionRemoveUselessSlowLoop.java Changeset: 5c552a9d Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-06 07:00:44 +0000 URL: https://git.openjdk.org/leyden/commit/5c552a9d64c8116161cb9ef4c777e75a2602a75b 8349358: [JMH] Cannot access class jdk.internal.vm.ContinuationScope Reviewed-by: alanb - test/micro/org/openjdk/bench/loom/obsolete/FreezeAndThaw.java - test/micro/org/openjdk/bench/loom/obsolete/OneShot.java - test/micro/org/openjdk/bench/loom/obsolete/Oscillation.java Changeset: 649ef779 Branch: hermetic-java-runtime Author: Stefan Karlsson Date: 2025-03-06 07:42:16 +0000 URL: https://git.openjdk.org/leyden/commit/649ef77951d420512e385ee3c792ced80276a30a 8323158: HotSpot Style Guide should specify more include ordering Reviewed-by: kbarrett, stuefe, dholmes, kvn ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 40f150d3 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-06 08:10:23 +0000 URL: https://git.openjdk.org/leyden/commit/40f150d3e50caf44fa4a31b79fbcd234142803ce 8330936: [ubsan] exclude function BilinearInterp and ShapeSINextSpan in libawt java2d from ubsan checks Reviewed-by: clanger, prr ! src/java.desktop/share/native/libawt/java2d/loops/TransformHelper.c ! src/java.desktop/share/native/libawt/java2d/pipe/ShapeSpanIterator.c Changeset: 7a5acb9b Branch: hermetic-java-runtime Author: Fredrik Bredberg Date: 2025-03-06 09:08:32 +0000 URL: https://git.openjdk.org/leyden/commit/7a5acb9be17cd54bbd0abf2524386b981dd5ac04 8343840: Rewrite the ObjectMonitor lists Reviewed-by: dholmes, coleenp, pchilanomate, yzheng ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: cfab88b1 Branch: hermetic-java-runtime Author: Andrew Dinn Date: 2025-03-06 10:11:44 +0000 URL: https://git.openjdk.org/leyden/commit/cfab88b1a2351a187bc1be153be96ca983a7776c 8351256: Improve printing of runtime call stub names in disassember output Reviewed-by: kvn ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/relocInfo.cpp Changeset: 8f8a879d Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-03-06 12:26:53 +0000 URL: https://git.openjdk.org/leyden/commit/8f8a879de03add68e385f2610863d3b4ddd86df7 8350939: Revisit Windows PDH buffer size calculation for OperatingSystemMXBean Reviewed-by: dholmes, lmesnik, sspitsyn ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: 93f22607 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-03-06 17:11:40 +0000 URL: https://git.openjdk.org/leyden/commit/93f226078e1e1cee5f17b4866f4712326bffa5b2 8351294: (fs) Minor verbiage correction for Files.createTemp{Directory,File} Reviewed-by: alanb ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 08929134 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-03-06 17:11:53 +0000 URL: https://git.openjdk.org/leyden/commit/08929134b3533362133139c4e964b1b28de6ebfb 8351086: (fc) Make java/nio/channels/FileChannel/BlockDeviceSize.java test manual Reviewed-by: msheppar ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: a23fb0af Branch: hermetic-java-runtime Author: Alisen Chung Date: 2025-03-06 21:24:44 +0000 URL: https://git.openjdk.org/leyden/commit/a23fb0af65f491ef655ba114fcc8032a09a55213 8348110: Update LCMS to 2.17 Reviewed-by: honkar, prr, dnguyen ! src/java.desktop/share/legal/lcms.md ! src/java.desktop/share/native/liblcms/cmsalpha.c ! src/java.desktop/share/native/liblcms/cmscam02.c ! src/java.desktop/share/native/liblcms/cmscgats.c ! src/java.desktop/share/native/liblcms/cmscnvrt.c ! src/java.desktop/share/native/liblcms/cmserr.c ! src/java.desktop/share/native/liblcms/cmsgamma.c ! src/java.desktop/share/native/liblcms/cmsgmt.c ! src/java.desktop/share/native/liblcms/cmshalf.c ! src/java.desktop/share/native/liblcms/cmsintrp.c ! src/java.desktop/share/native/liblcms/cmsio0.c ! src/java.desktop/share/native/liblcms/cmsio1.c ! src/java.desktop/share/native/liblcms/cmslut.c ! src/java.desktop/share/native/liblcms/cmsmd5.c ! src/java.desktop/share/native/liblcms/cmsmtrx.c ! src/java.desktop/share/native/liblcms/cmsnamed.c ! src/java.desktop/share/native/liblcms/cmsopt.c ! src/java.desktop/share/native/liblcms/cmspack.c ! src/java.desktop/share/native/liblcms/cmspcs.c ! src/java.desktop/share/native/liblcms/cmsplugin.c ! src/java.desktop/share/native/liblcms/cmsps2.c ! src/java.desktop/share/native/liblcms/cmssamp.c ! src/java.desktop/share/native/liblcms/cmssm.c ! src/java.desktop/share/native/liblcms/cmstypes.c ! src/java.desktop/share/native/liblcms/cmsvirt.c ! src/java.desktop/share/native/liblcms/cmswtpnt.c ! src/java.desktop/share/native/liblcms/cmsxform.c ! src/java.desktop/share/native/liblcms/lcms2.h ! src/java.desktop/share/native/liblcms/lcms2_internal.h ! src/java.desktop/share/native/liblcms/lcms2_plugin.h Changeset: 7c9a7840 Branch: hermetic-java-runtime Author: Justin Lu Date: 2025-03-06 22:54:24 +0000 URL: https://git.openjdk.org/leyden/commit/7c9a7840ea75a9a7df3f240d063e9833f535e6ec 8351223: Update localized resources in keytool and jarsigner Reviewed-by: weijun ! src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java Changeset: 7314efc9 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-03-07 03:48:49 +0000 URL: https://git.openjdk.org/leyden/commit/7314efc9483c5db6ecccd9215c04d78818e6a9a2 8351377: Fix the ProblemList for com/sun/management/OperatingSystemMXBean cpuLoad tests on AIX Reviewed-by: darcy ! test/jdk/ProblemList.txt Changeset: 4066f33a Branch: hermetic-java-runtime Author: Afshin Zafari Date: 2025-03-07 09:06:12 +0000 URL: https://git.openjdk.org/leyden/commit/4066f33a0b9a080d87acd60056b3dbfc9348ab5e 8350565: NMT: remaining memory flag/type to be replaced with memory tag Reviewed-by: gziemski, jsjolen ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/mallocTracker.inline.hpp ! src/hotspot/share/nmt/memBaseline.cpp ! src/hotspot/share/nmt/memBaseline.hpp ! src/hotspot/share/nmt/memReporter.cpp ! src/hotspot/share/nmt/memReporter.hpp ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/memoryFileTracker.cpp ! src/hotspot/share/nmt/memoryFileTracker.hpp ! src/hotspot/share/nmt/nmtCommon.cpp ! src/hotspot/share/nmt/nmtCommon.hpp ! src/hotspot/share/nmt/nmtUsage.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/nmt/vmatree.hpp ! test/hotspot/gtest/nmt/test_nmt_memoryfiletracker.cpp Changeset: 155697fc Branch: hermetic-java-runtime Author: SendaoYan Date: 2025-03-07 09:13:06 +0000 URL: https://git.openjdk.org/leyden/commit/155697fc0ed69f1b4f871b00fe67685177bad59a 8349623: [ASAN] Gtest os_linux.glibc_mallinfo_wrapper_vm fails Reviewed-by: stuefe ! test/hotspot/gtest/runtime/test_os_linux.cpp Changeset: 54fe643e Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-03-07 13:56:23 +0000 URL: https://git.openjdk.org/leyden/commit/54fe643e783befb4d215c68e4b1fed351d470435 8347433: Deprecate XML interchange in java.management/javax/management/modelmbean/DescriptorSupport for removal Reviewed-by: sspitsyn, dfuchs ! src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java ! src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/java.management/share/classes/javax/management/modelmbean/XMLParseException.java Changeset: 7c22b814 Branch: hermetic-java-runtime Author: Vladimir Ivanov Date: 2025-03-07 16:12:55 +0000 URL: https://git.openjdk.org/leyden/commit/7c22b814d670deda6c2bb93b1e150975c27a165f 8350811: [JMH] test foreign.StrLenTest failed with StringIndexOutOfBoundsException for size=451 Reviewed-by: jbhateja, vpaprotski, mcimadamore ! test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java ! test/micro/org/openjdk/bench/java/lang/foreign/ToCStringTest.java ! test/micro/org/openjdk/bench/java/lang/foreign/ToJavaStringTest.java Changeset: 5cd4fe63 Branch: hermetic-java-runtime Author: Anthony Scarpino Date: 2025-03-07 17:14:03 +0000 URL: https://git.openjdk.org/leyden/commit/5cd4fe63768715ec7be32e248e05e611ea9b557d 8348309: MultiNST tests need more debugging and timing Reviewed-by: hchao, mullan ! test/jdk/javax/net/ssl/templates/TLSBase.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java Changeset: f6a8db28 Branch: hermetic-java-runtime Author: Vladimir Kozlov Date: 2025-03-07 19:19:03 +0000 URL: https://git.openjdk.org/leyden/commit/f6a8db289e5366845f9518fce7a98538017e9570 8348261: assert(n->is_Mem()) failed: memory node required Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/escape.cpp Changeset: 688721f7 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-07 12:11:52 +0000 URL: https://git.openjdk.org/leyden/commit/688721f7cc749933cbb0de69a3377b98a6c6cd24 Merge branch 'master' into hermetic-java-runtime ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java From iklam at openjdk.org Sat Mar 8 01:54:07 2025 From: iklam at openjdk.org (Ioi Lam) Date: Sat, 8 Mar 2025 01:54:07 GMT Subject: git: openjdk/leyden: premain: Updated benchmark data to JDK 24+36-3646 vs Leyden bbac8f2d845aa6408182ca3ff9ce60b5ca6e0390 Message-ID: <7bb61c35-ea26-498f-9b1c-fdbabb336b25@openjdk.org> Changeset: 7d9eefbe Branch: premain Author: Ioi Lam Date: 2025-03-07 17:51:38 +0000 URL: https://git.openjdk.org/leyden/commit/7d9eefbec7a3008523616251c8a2acb174ff04a4 Updated benchmark data to JDK 24+36-3646 vs Leyden bbac8f2d845aa6408182ca3ff9ce60b5ca6e0390 ! README.md + test/hotspot/jtreg/premain/bench_data/bench.20250307.txt ! test/hotspot/jtreg/premain/helidon-quickstart-se/Makefile ! test/hotspot/jtreg/premain/lib/Bench.gmk ! test/hotspot/jtreg/premain/lib/DemoSupport.gmk ! test/hotspot/jtreg/premain/micronaut-first-app/Makefile ! test/hotspot/jtreg/premain/quarkus-getting-started/Makefile ! test/hotspot/jtreg/premain/spring-boot-getting-started/Makefile ! test/hotspot/jtreg/premain/spring-petclinic/Makefile From duke at openjdk.org Sat Mar 8 19:23:13 2025 From: duke at openjdk.org (Ethan McCue) Date: Sat, 8 Mar 2025 19:23:13 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> Message-ID: On Thu, 6 Mar 2025 16:47:39 GMT, Alan Bateman wrote: >> I thought the idea was that the jmod format was left intentionally undefined, to not think you could rely on anything else than the corresponding JDK tools to process it? That would mean backwards compatibility should not be a concern. > > (Just to be clear, this is about the JMOD format, not the jimage format. The jimage format is JDK internal and we are free to change it from release to release, even build to build, without compatibility concerns.) > > You are right that the JMOD format is not documented but care is required when rev'ing the format because there are JDK tools that produce and consume this format. It should be possible for a project to produce a module in JMOD format with the `jmod` tool from JDK N, and put the package module on the module path when creating a run-time image with JDK N+1 `jlink`. So what Henry has looks right. It means the `jmod` tool will produce a 1.0 format when creating a package module that doesn't have static libs, and a JMOD in the new format when the module has static libs. This seems preferable to adding a `--release` option. I guess its worth asking how would the format evolve in the future if more than `/static-lib` were added? Just as a strawman: say `/docs` and `/sources` were added in some sequence. Would this grow to say if () { // 1.0 } else if () { // 1.1 } else { // 1.2 } What if `/sources` (and corresponding generation of `src.zip`) were added first and `/docs` second? if () { // 1.0 } else if () { // 1.1 } else if () { // 1.2 } else { // 1.3 } Or would, at that point, versioning move to be closer to what is done for classfiles. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1986138478 From duke at openjdk.org Sat Mar 8 23:46:01 2025 From: duke at openjdk.org (duke) Date: Sat, 8 Mar 2025 23:46:01 GMT Subject: git: openjdk/leyden: premain: Remove UseConcurrentTrainingReplay Message-ID: <35490e5f-8c4d-4e71-8351-c8d722b0d91b@openjdk.org> Changeset: 2fb45524 Branch: premain Author: Igor Veresov Date: 2025-03-08 15:43:22 +0000 URL: https://git.openjdk.org/leyden/commit/2fb45524645ad8d5a804709857cc49af1afcb7f3 Remove UseConcurrentTrainingReplay ! src/hotspot/share/cds/aotLinkedClassBulkLoader.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/compiler_globals.hpp ! src/hotspot/share/runtime/java.cpp From alanb at openjdk.org Sun Mar 9 08:11:08 2025 From: alanb at openjdk.org (Alan Bateman) Date: Sun, 9 Mar 2025 08:11:08 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> Message-ID: <7bs4aPIKSPU2_lQOIuZfCbOGouAubh4Ru3ODvsublcA=.abd622d5-9173-4e84-88e5-4dcccc15d4e7@github.com> On Sat, 8 Mar 2025 19:20:13 GMT, Ethan McCue wrote: > I guess its worth asking how would the format evolve in the future if more than `/static-lib` were added? Unlike the JAR format, the JMOD format requires an update when new sections are added. We don't need to get hung up on any of the details around this now, most of the work to support this will be in jlink, not the jmod tool. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1986247305 From sgehwolf at openjdk.org Mon Mar 10 09:34:08 2025 From: sgehwolf at openjdk.org (Severin Gehwolf) Date: Mon, 10 Mar 2025 09:34:08 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: <7bs4aPIKSPU2_lQOIuZfCbOGouAubh4Ru3ODvsublcA=.abd622d5-9173-4e84-88e5-4dcccc15d4e7@github.com> References: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> <7bs4aPIKSPU2_lQOIuZfCbOGouAubh4Ru3ODvsublcA=.abd622d5-9173-4e84-88e5-4dcccc15d4e7@github.com> Message-ID: On Sun, 9 Mar 2025 08:08:33 GMT, Alan Bateman wrote: >> I guess its worth asking how would the format evolve in the future if more than `/static-lib` were added? Just as a strawman: say `/docs` and `/sources` were added in some sequence. Would this grow to say >> >> >> if () { >> // 1.0 >> } >> else if () { >> // 1.1 >> } >> else { >> // 1.2 >> } >> >> >> What if `/sources` (and corresponding generation of `src.zip`) were added first and `/docs` second? >> >> >> if () { >> // 1.0 >> } >> else if () { >> // 1.1 >> } >> else if () { >> // 1.2 >> } >> else { >> // 1.3 >> } >> >> >> Or would, at that point, versioning move to be closer to what is done for classfiles. > >> I guess its worth asking how would the format evolve in the future if more than `/static-lib` were added? > > Unlike the JAR format, the JMOD format requires an update when new sections are added. We don't need to get hung up on any of the details around this now, most of the work to support this will be in jlink, not the jmod tool. I'm ok with this for the leyden branch. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1986918228 From ihse at openjdk.org Mon Mar 10 13:04:03 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Mon, 10 Mar 2025 13:04:03 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed Message-ID: I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. ------------- Commit messages: - Revert build changes that are no longer needed. Also revert some non-relevant differences with mainline. Changes: https://git.openjdk.org/leyden/pull/47/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=47&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8351493 Stats: 27 lines in 8 files changed: 0 ins; 26 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/47.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/47/head:pull/47 PR: https://git.openjdk.org/leyden/pull/47 From ihse at openjdk.org Mon Mar 10 13:04:04 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Mon, 10 Mar 2025 13:04:04 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed In-Reply-To: References: Message-ID: On Thu, 6 Mar 2025 15:38:52 GMT, Magnus Ihse Bursie wrote: > I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. > > With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. There were a lot of build failures on GHA, but that seem to be the cause for the hermetic-java-runtime branch even without this patch. ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2704596137 From ihse at openjdk.org Mon Mar 10 13:38:30 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Mon, 10 Mar 2025 13:38:30 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: > I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. > > With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Also remove added extra line ------------- Changes: - all: https://git.openjdk.org/leyden/pull/47/files - new: https://git.openjdk.org/leyden/pull/47/files/a526a533..553f0629 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=47&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=47&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/47.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/47/head:pull/47 PR: https://git.openjdk.org/leyden/pull/47 From duke at openjdk.org Tue Mar 11 23:48:41 2025 From: duke at openjdk.org (duke) Date: Tue, 11 Mar 2025 23:48:41 GMT Subject: git: openjdk/leyden: premain: Remove redundant and early compiles Message-ID: <0aa39e55-c2e7-4893-a342-8276f535577d@openjdk.org> Changeset: 7cf21c3e Branch: premain Author: Igor Veresov Date: 2025-03-11 16:44:06 +0000 URL: https://git.openjdk.org/leyden/commit/7cf21c3e7cbd821642a4272e92481636b5a308f9 Remove redundant and early compiles ! src/hotspot/share/compiler/compilationPolicy.cpp From sebastien.deleuze at broadcom.com Wed Mar 12 14:47:16 2025 From: sebastien.deleuze at broadcom.com (Sebastien Deleuze) Date: Wed, 12 Mar 2025 15:47:16 +0100 Subject: Alternative ways to mark the end of a training run In-Reply-To: <4774e8a1-a80f-4700-91b5-fece2ef3b5b9@oracle.com> References: <4774e8a1-a80f-4700-91b5-fece2ef3b5b9@oracle.com> Message-ID: Those 3 alternatives make sense from my POV and look complementary: - JCMD could be used by sysops and for testing. - API could potentially be used by a Spring Boot actuator [1] exposing a secured endpoint allowing to trigger the end of a training run. - Commandline could be useful for platforms wanting to provide AOT cache support with the knowledge of the frameworks used. For example, it could be used to specify `-XX:CDSEndTrainingOnEntry=org.springframework.web.servlet.DispatcherServlet#doService` after 10000 invocations. If that's a new capability, would it make sense to only expose it via `-XX:AOTEndTrainingOnEntry` instead of `-XX:CDSEndTrainingOnEntry` to avoid too many options and some confusion? Providing those capabilities will be very important when AOT profiles and AOT compiled methods will be available as they could allow target use cases where the production environment is used to get profiling data (will be the most popular use case IMO), and you would typically want to dump the profiling data without killing the instance. That said, it could maybe ease integrators' work to support those capabilities earlier than AOT profiles and AOT compiled methods, if that makes sense with the current feature set. For example, it could allow platforms and frameworks to be "Leyden-ready" with a Java 25 minimal requirement if we consider those JCMD/API/Commandline as a subset of "Leyden public API". AOT profiles and AOT compiled methods support could come later and be almost an implementation detail from platforms and frameworks POV. Since the creation of an AOT cache with Spring Petclinic was pretty long and resource consuming last time I tried, I am wondering if it could be possible to provide an option to control what kind of output we expect at the end of the training run. Generating directly the CDS/AOT archive makes sense, but on production it could be potentially too resource consuming and would produce too many side effects. Like the JEP 483 differentiates the AOT configuration recorded (app.aotconf) from the cache (app.aot), would it be possible with AOT profiles and AOT compiled methods to optionally generate an intermediate format that would be fast to generate at the end of the training, and defer the more involved creation of the archive at a later point (keeping the constraints of same OS, Java version and classpath)? On Thu, Mar 6, 2025 at 9:23?PM wrote: > With JEP 483 [1], the profiling data (AOT config file) are captured when > the training run exits. In the Leyden repo, we have implemented a mechanism > [2] to capture the profiler data at an earlier point. Excerpt from [2]: > > > === > > It may be difficult for users to run to normal completion for all training > runs - some may prefer to only record data until the application framework > has started or prior to some method being invoked. > > This RFE is to track other possible triggers for CDS data to be collected > and / or for the _assembly phase_ to being. > > (a) JCMD: a new jcmd can be developed to attach to a running JVM and > signal the training run has ended. For classic CDS, this may be the point > at which the classlist is dumped to the file. For premain CDS, this may > trigger the start of the assembly phase and the creation of the CDS archive. > > (b) API: a new Leyden-specific API may be created that allows developers > to indicate programatically the point at which the training run should end. > This could be as simple as a static method `Leyden.endTraining()` or > something that exposes more state such as the name of the CDS file. Details > TBD based on need. > > (c) Commandline: a new option could specify when to trigger the end of the > training run. ie: `-XX:CDSEndTrainingOnEntry=org.foo.bar.someMethod`. This > can be extended beyond single entry to also include a counted entry ie: the > 1000 time this method is entered. > > === > > > As of today, (a) and (c) have been implemented in the Leyden repo. We have > received positive feedback from developers who found this mechanism to be > useful and are requesting for similar features in the JDK mainline. > > I think now will be a good time to have a wider discussion with the > community about: > > - The use case and requirements for such a mechanism > > - The solution space -- besides the 3 options listed above, are there > other approaches? Pros & cons? > > For example, an API might be more precise. However, many apps are built > with 3rd libraries that cannot be modified easily, so an external mechanism > would be preferable. JCMD might be least intrusive, but it's timing > dependent and may not be available (in containers, etc). > > > -------------------------------------- > > [1] https://openjdk.org/jeps/483 > > [2] https://bugs.openjdk.org/browse/JDK-8335358 > -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jrose at openjdk.org Wed Mar 12 20:52:17 2025 From: jrose at openjdk.org (John R Rose) Date: Wed, 12 Mar 2025 20:52:17 GMT Subject: RFR: 8351004: [leyden] Add test cases for cached Reference objects In-Reply-To: References: Message-ID: On Sun, 2 Mar 2025 05:32:47 GMT, Ioi Lam wrote: > [JDK-8341587](https://bugs.openjdk.org/browse/JDK-8341587) allows Soft/Weak `Reference` objects to be stored in the AOT cache. Currently Soft/Weak references are used only for supporting method handles. However, we need to make sure that the support for cached Reference is correctly implemented: > > 1. When we add other types of objects to the AOT cache that use `Reference` objects (e.g., [JDK-8351005](https://bugs.openjdk.org/browse/JDK-8351005) "Revert back to SoftReference for Class::reflectionData"), they should work as expected. > 2. The cached `Reference` objects used by the method handles implementation (such as those used by `MethodType.internTable`) should not be unnecessarily coupled with unrelated Reference (e.g., via the `Reference::link` field due to operations in `java.lang.ref.ReferenceQueue` or `java.lang.ref.Finalizer`). Otherwise, this could cause unrelated objects to be unintentionally stored in the AOT cache. > 3. `java.lang.ref.Cleaner` should work as expected during both the AOT assembly phase and production run. > 4. Finalization should work as expected during both the AOT assembly phase and production run. > > This RFE adds a flag (`-XX:AOTInitTestClass=...`, available **only** in debug builds) to store arbitrary heap objects into the AOT cache. With this flag, we can the behavior of `Reference` in the AOT cache so that we can determine if the current support for Reference objects in Leyden is good enough for upstreaming to the mainline. > > This RFE doesn't not test everything as listed above cases. Some additional test cases may be added by a subsequent commit. > > I have observed the following: > > **[A]** Cached `WeakReference` objects seem to be supported by the GC in the production run. See `testWeakReferenceCollection()`: if a referent is no longer reachable, `ref.get()` returns `null`. > > **[B]** Case (2) doesn't seem to be a concern: `testQueue()` shows that the assembly phase won't accidentally find unrelated `WeakReference` objects even if they share the same queue as a `WeakReference` that's destined to be cached. See comments in `testQueue()` for more details. > > **[C]** `MethodType.internTable` is a `ReferencedKeySet` that internally uses `WeakReference` to automatically remove elements that are no longer referenced. However, with `grep -n referent.*null cds.oops.txt` in the test's output directory, we can see a few `WeakReferenceKeys` whose `referent` has been collected, but we didn't remove these keys from the `internTable` at `(0xfffcd3e1)`... This is excellent work. I agree that we must be cautious about executing arbitrary code in the assembly phase, and that includes reference queue logic. That said, I think we can largely trust what the reference queues are doing here, and therefore benefit from their work. The big goal here is to disallow arbitrary user-defined code in the assembly phase. A secondary goal (which helps use learn how to meet the big goal) is keeping tight control on which JDK-defined code gets run. Both those goals suggest that the problem is not running reference queue threads, but rather the problem is restricting what happens when a cleaner or finalizer runs. While the assembly phase is running, I think it would be good to "watch carefully" in the reference processor code (which we trust) for attempts to execute finalizers or cleaners which are not on our "OK list" of cleaners and finalizers. Even if JDK code defines them, if they would surprise us, the surprise needs to be conveyed in the form of an error, saying "hey, I know this is JDK logic, but you didn't list it as OK to run". Can we install such a test in the RQ code? Find the class responsible, and ask if it is on our short list of trusted RQ handler classes? ------------- PR Comment: https://git.openjdk.org/leyden/pull/45#issuecomment-2719093091 From jrose at openjdk.org Wed Mar 12 21:06:15 2025 From: jrose at openjdk.org (John R Rose) Date: Wed, 12 Mar 2025 21:06:15 GMT Subject: RFR: 8351004: [leyden] Add test cases for cached Reference objects In-Reply-To: References: Message-ID: On Sun, 2 Mar 2025 05:32:47 GMT, Ioi Lam wrote: > [JDK-8341587](https://bugs.openjdk.org/browse/JDK-8341587) allows Soft/Weak `Reference` objects to be stored in the AOT cache. Currently Soft/Weak references are used only for supporting method handles. However, we need to make sure that the support for cached Reference is correctly implemented: > > 1. When we add other types of objects to the AOT cache that use `Reference` objects (e.g., [JDK-8351005](https://bugs.openjdk.org/browse/JDK-8351005) "Revert back to SoftReference for Class::reflectionData"), they should work as expected. > 2. The cached `Reference` objects used by the method handles implementation (such as those used by `MethodType.internTable`) should not be unnecessarily coupled with unrelated Reference (e.g., via the `Reference::link` field due to operations in `java.lang.ref.ReferenceQueue` or `java.lang.ref.Finalizer`). Otherwise, this could cause unrelated objects to be unintentionally stored in the AOT cache. > 3. `java.lang.ref.Cleaner` should work as expected during both the AOT assembly phase and production run. > 4. Finalization should work as expected during both the AOT assembly phase and production run. > > This RFE adds a flag (`-XX:AOTInitTestClass=...`, available **only** in debug builds) to store arbitrary heap objects into the AOT cache. With this flag, we can the behavior of `Reference` in the AOT cache so that we can determine if the current support for Reference objects in Leyden is good enough for upstreaming to the mainline. > > This RFE doesn't not test everything as listed above cases. Some additional test cases may be added by a subsequent commit. > > I have observed the following: > > **[A]** Cached `WeakReference` objects seem to be supported by the GC in the production run. See `testWeakReferenceCollection()`: if a referent is no longer reachable, `ref.get()` returns `null`. > > **[B]** Case (2) doesn't seem to be a concern: `testQueue()` shows that the assembly phase won't accidentally find unrelated `WeakReference` objects even if they share the same queue as a `WeakReference` that's destined to be cached. See comments in `testQueue()` for more details. > > **[C]** `MethodType.internTable` is a `ReferencedKeySet` that internally uses `WeakReference` to automatically remove elements that are no longer referenced. However, with `grep -n referent.*null cds.oops.txt` in the test's output directory, we can see a few `WeakReferenceKeys` whose `referent` has been collected, but we didn't remove these keys from the `internTable` at `(0xfffcd3e1)`... Marked as reviewed by jrose (Committer). That said, I think this PR can be pushed, even with the FIXMEs. You might need to open a second tracking bug for the remaining work. That remaining work may include my suggestion, of adding error-detection logic in the reference queue processors defined by the JDK. ------------- PR Review: https://git.openjdk.org/leyden/pull/45#pullrequestreview-2679861096 PR Comment: https://git.openjdk.org/leyden/pull/45#issuecomment-2719121828 From iklam at openjdk.org Thu Mar 13 05:32:17 2025 From: iklam at openjdk.org (Ioi Lam) Date: Thu, 13 Mar 2025 05:32:17 GMT Subject: git: openjdk/leyden: premain: 8351004: [leyden] Add test cases for cached Reference objects Message-ID: <44ae326a-9418-4631-840c-9644dc24adf5@openjdk.org> Changeset: 5c84acf6 Branch: premain Author: Ioi Lam Date: 2025-03-13 05:30:53 +0000 URL: https://git.openjdk.org/leyden/commit/5c84acf69bc2dbcec0a62893f65b0653c837e848 8351004: [leyden] Add test cases for cached Reference objects Reviewed-by: jrose ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassInitializer.hpp ! src/hotspot/share/cds/cds_globals.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/metaspaceShared.cpp + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/WeakReferenceTest.java From iklam at openjdk.org Thu Mar 13 05:33:14 2025 From: iklam at openjdk.org (Ioi Lam) Date: Thu, 13 Mar 2025 05:33:14 GMT Subject: RFR: 8351004: [leyden] Add test cases for cached Reference objects In-Reply-To: References: Message-ID: On Wed, 12 Mar 2025 21:03:04 GMT, John R Rose wrote: >> [JDK-8341587](https://bugs.openjdk.org/browse/JDK-8341587) allows Soft/Weak `Reference` objects to be stored in the AOT cache. Currently Soft/Weak references are used only for supporting method handles. However, we need to make sure that the support for cached Reference is correctly implemented: >> >> 1. When we add other types of objects to the AOT cache that use `Reference` objects (e.g., [JDK-8351005](https://bugs.openjdk.org/browse/JDK-8351005) "Revert back to SoftReference for Class::reflectionData"), they should work as expected. >> 2. The cached `Reference` objects used by the method handles implementation (such as those used by `MethodType.internTable`) should not be unnecessarily coupled with unrelated Reference (e.g., via the `Reference::link` field due to operations in `java.lang.ref.ReferenceQueue` or `java.lang.ref.Finalizer`). Otherwise, this could cause unrelated objects to be unintentionally stored in the AOT cache. >> 3. `java.lang.ref.Cleaner` should work as expected during both the AOT assembly phase and production run. >> 4. Finalization should work as expected during both the AOT assembly phase and production run. >> >> This RFE adds a flag (`-XX:AOTInitTestClass=...`, available **only** in debug builds) to store arbitrary heap objects into the AOT cache. With this flag, we can the behavior of `Reference` in the AOT cache so that we can determine if the current support for Reference objects in Leyden is good enough for upstreaming to the mainline. >> >> This RFE doesn't not test everything as listed above cases. Some additional test cases may be added by a subsequent commit. >> >> I have observed the following: >> >> **[A]** Cached `WeakReference` objects seem to be supported by the GC in the production run. See `testWeakReferenceCollection()`: if a referent is no longer reachable, `ref.get()` returns `null`. >> >> **[B]** Case (2) doesn't seem to be a concern: `testQueue()` shows that the assembly phase won't accidentally find unrelated `WeakReference` objects even if they share the same queue as a `WeakReference` that's destined to be cached. See comments in `testQueue()` for more details. >> >> **[C]** `MethodType.internTable` is a `ReferencedKeySet` that internally uses `WeakReference` to automatically remove elements that are no longer referenced. However, with `grep -n referent.*null cds.oops.txt` in the test's output directory, we can see a few `WeakReferenceKeys` whose `referent` has been collected, but we didn't remove these keys from... > > That said, I think this PR can be pushed, even with the FIXMEs. You might need to open a second tracking bug for the remaining work. That remaining work may include my suggestion, of adding error-detection logic in the reference queue processors defined by the JDK. Thanks @rose00 for the review. I will try to work on the ReferenceQueue processing in a future RFE. ------------- PR Comment: https://git.openjdk.org/leyden/pull/45#issuecomment-2720031681 From iklam at openjdk.org Thu Mar 13 05:33:14 2025 From: iklam at openjdk.org (Ioi Lam) Date: Thu, 13 Mar 2025 05:33:14 GMT Subject: Integrated: 8351004: [leyden] Add test cases for cached Reference objects In-Reply-To: References: Message-ID: On Sun, 2 Mar 2025 05:32:47 GMT, Ioi Lam wrote: > [JDK-8341587](https://bugs.openjdk.org/browse/JDK-8341587) allows Soft/Weak `Reference` objects to be stored in the AOT cache. Currently Soft/Weak references are used only for supporting method handles. However, we need to make sure that the support for cached Reference is correctly implemented: > > 1. When we add other types of objects to the AOT cache that use `Reference` objects (e.g., [JDK-8351005](https://bugs.openjdk.org/browse/JDK-8351005) "Revert back to SoftReference for Class::reflectionData"), they should work as expected. > 2. The cached `Reference` objects used by the method handles implementation (such as those used by `MethodType.internTable`) should not be unnecessarily coupled with unrelated Reference (e.g., via the `Reference::link` field due to operations in `java.lang.ref.ReferenceQueue` or `java.lang.ref.Finalizer`). Otherwise, this could cause unrelated objects to be unintentionally stored in the AOT cache. > 3. `java.lang.ref.Cleaner` should work as expected during both the AOT assembly phase and production run. > 4. Finalization should work as expected during both the AOT assembly phase and production run. > > This RFE adds a flag (`-XX:AOTInitTestClass=...`, available **only** in debug builds) to store arbitrary heap objects into the AOT cache. With this flag, we can the behavior of `Reference` in the AOT cache so that we can determine if the current support for Reference objects in Leyden is good enough for upstreaming to the mainline. > > This RFE doesn't not test everything as listed above cases. Some additional test cases may be added by a subsequent commit. > > I have observed the following: > > **[A]** Cached `WeakReference` objects seem to be supported by the GC in the production run. See `testWeakReferenceCollection()`: if a referent is no longer reachable, `ref.get()` returns `null`. > > **[B]** Case (2) doesn't seem to be a concern: `testQueue()` shows that the assembly phase won't accidentally find unrelated `WeakReference` objects even if they share the same queue as a `WeakReference` that's destined to be cached. See comments in `testQueue()` for more details. > > **[C]** `MethodType.internTable` is a `ReferencedKeySet` that internally uses `WeakReference` to automatically remove elements that are no longer referenced. However, with `grep -n referent.*null cds.oops.txt` in the test's output directory, we can see a few `WeakReferenceKeys` whose `referent` has been collected, but we didn't remove these keys from the `internTable` at `(0xfffcd3e1)`... This pull request has now been integrated. Changeset: 5c84acf6 Author: Ioi Lam URL: https://git.openjdk.org/leyden/commit/5c84acf69bc2dbcec0a62893f65b0653c837e848 Stats: 353 lines in 6 files changed: 351 ins; 0 del; 2 mod 8351004: [leyden] Add test cases for cached Reference objects Reviewed-by: jrose ------------- PR: https://git.openjdk.org/leyden/pull/45 From ioi.lam at oracle.com Thu Mar 13 05:43:00 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Wed, 12 Mar 2025 22:43:00 -0700 Subject: Alternative ways to mark the end of a training run In-Reply-To: References: <4774e8a1-a80f-4700-91b5-fece2ef3b5b9@oracle.com> Message-ID: <2233233d-1b19-4109-b85b-28dbea8a3cf7@oracle.com> Hi Sebastien, Thank you for providing your insights! Please see my response in-line: On 3/12/25 7:47 AM, Sebastien Deleuze wrote: > Those 3 alternatives make sense from my POV and look complementary: > ?- JCMD could be used by sysops and for testing. > ?- API could potentially be used by a Spring Boot actuator [1] > exposing a secured endpoint allowing to trigger the end of a training run. > ?- Commandline could be useful for platforms wanting to provide AOT > cache support with the knowledge of the frameworks used. For example, > it could be used to specify > `-XX:CDSEndTrainingOnEntry=org.springframework.web.servlet.DispatcherServlet#doService` > after 10000 invocations. > > If that's a new capability, would it make sense to only expose it via > `-XX:AOTEndTrainingOnEntry` instead of `-XX:CDSEndTrainingOnEntry` to > avoid too many options and some confusion? > Sorry I cut-and-pasted the text from the bug report without updating it to use the new "AOT" terminology. In the Leyden repo, this option is already changed to -XX:AOTEndTrainingOnMethodEntry. > Providing those capabilities will be very important when AOT profiles > and AOT compiled methods will be available as they could allow target > use cases where the production environment is used to get profiling > data (will be the most popular use case IMO), and you would typically > want to dump the profiling data without killing the instance. That > said, it could maybe ease integrators' work to support those > capabilities earlier than AOT profiles and AOT compiled methods, if > that makes sense with the current feature set. For example, it could > allow platforms and frameworks to be "Leyden-ready" with a Java 25 > minimal requirement if we consider those JCMD/API/Commandline as a > subset of "Leyden public API". AOT profiles and AOT compiled methods > support could come later and be almost an implementation detail from > platforms and frameworks POV. > > Since the creation of an AOT cache with Spring Petclinic was pretty > long and resource consuming last time I tried, I am wondering if it > could be possible to provide an option to control what kind of output > we expect at the end of the training run. Generating directly the > CDS/AOT archive makes sense, but on production it could be potentially > too resource consuming and would produce too many side effects. Like > the JEP 483 differentiates the AOT configuration recorded > (app.aotconf) from the cache (app.aot), would it be possible with AOT > profiles and AOT compiled methods to optionally generate an > intermediate format that would be fast to generate at the end of the > training, and defer the more involved creation of the archive at a > later point (keeping the constraints of same OS, Java version and > classpath)? > We plan to support the intermediate form (app.aotconf) going forward, so you will be able to record that on a small host. This file can be transferred to a bigger development host to create the final AOT cache (with metadata, profiles and compiled methods). Thanks - Ioi > On Thu, Mar 6, 2025 at 9:23?PM wrote: > > With JEP 483 [1], the profiling data (AOT config file) are > captured when the training run exits. In the Leyden repo, we have > implemented a mechanism [2] to? capture the profiler data at an > earlier point. Excerpt from [2]: > > > === > > It may be difficult for users to run to normal completion for all > training runs - some may prefer to only record data until the > application framework has started or prior to some method being > invoked. > > This RFE is to track other possible triggers for CDS data to be > collected and / or for the _assembly phase_ to being. > > (a) JCMD: a new jcmd can be developed to attach to a running JVM > and signal the training run has ended. For classic CDS, this may > be the point at which the classlist is dumped to the file. For > premain CDS, this may trigger the start of the assembly phase and > the creation of the CDS archive. > > (b) API: a new Leyden-specific API may be created that allows > developers to indicate programatically the point at which the > training run should end. This could be as simple as a static > method `Leyden.endTraining()` or something that exposes more state > such as the name of the CDS file. Details TBD based on need. > > (c) Commandline: a new option could specify when to trigger the > end of the training run. ie: > `-XX:CDSEndTrainingOnEntry=org.foo.bar.someMethod`. This can be > extended beyond single entry to also include a counted entry ie: > the 1000 time this method is entered. > > === > > > As of today, (a) and (c) have been implemented in the Leyden repo. > We have received positive feedback from developers who found this > mechanism to be useful and are requesting for similar features in > the JDK mainline. > > I think now will be a good time to have a wider discussion with > the community about: > > - The use case and requirements for such a mechanism > > - The solution space -- besides the 3 options listed above, are > there other approaches? Pros & cons? > > For example, an API might be more precise. However, many apps are > built with 3rd libraries that cannot be modified easily, so an > external mechanism would be preferable. JCMD might be least > intrusive, but it's timing dependent and may not be available (in > containers, etc). > > > -------------------------------------- > > [1] https://openjdk.org/jeps/483 > > [2] https://bugs.openjdk.org/browse/JDK-8335358 > > > This electronic communication and the information and any files > transmitted with it, or attached to it, are confidential and are > intended solely for the use of the individual or entity to whom it is > addressed and may contain information that is confidential, legally > privileged, protected by privacy laws, or otherwise restricted from > disclosure to anyone else. If you are not the intended recipient or > the person responsible for delivering the e-mail to the intended > recipient, you are hereby notified that any use, copying, > distributing, dissemination, forwarding, printing, or copying of this > e-mail is strictly prohibited. If you received this e-mail in error, > please return the e-mail to the sender, delete it from your computer, > and destroy any printed copy of it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From shade at openjdk.org Thu Mar 13 16:48:30 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 16:48:30 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped Message-ID: This is clearly visible in compilation logs: 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, which is really expected, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. `decompile_count()` is only updated by C2, so we can just check it directly. Additional testing: - [x] Ad-hoc benchmarks - [x] Linux x86_64 server fastdebug, `runtime/cds` ------------- Commit messages: - Cleanup - Fix Changes: https://git.openjdk.org/leyden/pull/48/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8351965 Stats: 8 lines in 1 file changed: 8 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From shade at openjdk.org Thu Mar 13 16:48:30 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 16:48:30 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: <63rFaUokAlwS-idcZhmqIE2ZT0CdVstqX-n6jCqosS0=.3348f51f-355b-47bc-b548-bfe3a6775323@github.com> On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, which is really expected, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Some benchmark data. Not the improvement in `User` time. `JavacBenchApp 1` Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -Xms64m -Xmx8g -XX:+UseSerialGC -cp JavacBenchApp.jar -XX:AOTCache=app.aot JavacBenchApp 1 # Before Time (mean ? ?): 185.0 ms ? 2.8 ms [User: 413.9 ms, System: 71.5 ms] Range (min ? max): 179.8 ms ? 191.2 ms 30 runs # After Time (mean ? ?): 182.0 ms ? 2.1 ms [User: 352.7 ms, System: 69.5 ms] Range (min ? max): 176.7 ms ? 185.8 ms 30 runs ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2721949661 From kvn at openjdk.org Thu Mar 13 16:53:28 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 13 Mar 2025 16:53:28 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: <2CwdI11uxXh2Motezlgxn4T2aeXq9Lnph_tl63MbkQg=.a9d3d750-094b-4782-81a3-ccad0fb3cd12@github.com> On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > That method trapped _at the same bci_, which is really expected Why it is expected? Going back to Interpreter or C1 code should load class and next AOT code should not trap. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2721971184 From shade at openjdk.org Thu Mar 13 17:11:10 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 17:11:10 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: <2CwdI11uxXh2Motezlgxn4T2aeXq9Lnph_tl63MbkQg=.a9d3d750-094b-4782-81a3-ccad0fb3cd12@github.com> References: <2CwdI11uxXh2Motezlgxn4T2aeXq9Lnph_tl63MbkQg=.a9d3d750-094b-4782-81a3-ccad0fb3cd12@github.com> Message-ID: On Thu, 13 Mar 2025 16:50:49 GMT, Vladimir Kozlov wrote: > > That method trapped _at the same bci_, which is really expected > > Why it is expected? Going back to Interpreter or C1 code should load class and next AOT code should not trap. This is what I thought when digging through it: if there is a free-standing uncommon trap without clinit barrier on rare branch, maybe we would see the same uncommon trap from both AOT versions, whether preloaded or not preloaded. Let me dump the assembly and see what is actually going on. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2722033874 From vlivanov at openjdk.org Thu Mar 13 17:30:11 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Thu, 13 Mar 2025 17:30:11 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, which is really expected, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` I don't know whether it is a good heuristic for a general case. How much does it improve the behavior? Most likely, repeated deoptimizations happen because compiled code happens to arrive much earlier than it happened during training run. (Unless training run suffered from the very same deoptimizations.) So, IMO the question boils down to whether it is beneficial to unconditionally reprofile/recompile or continue using AOTed code hoping for the best. Also, there was a deoptimization which may already let interpreter fix some of the trap causes. Another point: I believe MDO should include archived data, so decompile count may report higher number than actually observed during current run. Also, don't we try to avoid uncommon traps in preloaded code these days? So, a trap in preloaded code means there's something C2 can't get rid of. ------------- PR Review: https://git.openjdk.org/leyden/pull/48#pullrequestreview-2682842878 PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2722099516 From shade at openjdk.org Thu Mar 13 17:30:11 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 17:30:11 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, which is really expected, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Here are the snippets of `AP4` and `A4` versions: [0.051s][debug ][deoptimization] cid= 294 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x000070d873e3f4dc relative_pc=0x00000000000003bc === AP 4 code: [Verified Entry Point] 0x000070d873e3f130: mov %eax,-0x14000(%rsp) 0x000070d873e3f137: push %rbp 0x000070d873e3f138: sub $0x40,%rsp 0x000070d873e3f13c: cmpl $0x0,0x20(%r15) 0x000070d873e3f144: jne 0x000070d873e3f8e3 0x000070d873e3f14a: mov %rsi,%rcx 0x000070d873e3f14d: mov 0x14(%rsi),%r10d 0x000070d873e3f151: mov 0x8(%r12,%r10,8),%r8d ; implicit exception: dispatches to 0x000070d873e3f888 0x000070d873e3f156: cmp $0x2ff628,%r8d ; {metadata('java/util/HashMap')} 0x000070d873e3f15d: jne 0x000070d873e3f5fc 0x000070d873e3f163: shl $0x3,%r10 0x000070d873e3f167: mov 0x24(%r10),%r11d 0x000070d873e3f16b: test %r11d,%r11d 0x000070d873e3f16e: je 0x000070d873e3f4b7 ; <--- branch to trap handler ... 0x000070d873e3f4b6: ret 0x000070d873e3f4b7: mov %rdx,%r10 0x000070d873e3f4ba: movzbl 0x10(%rcx),%r11d 0x000070d873e3f4bf: test %r11d,%r11d 0x000070d873e3f4c2: jne 0x000070d873e3f670 0x000070d873e3f4c8: mov $0x28,%esi 0x000070d873e3f4cd: mov %rcx,%rbp 0x000070d873e3f4d0: mov %r10,(%rsp) 0x000070d873e3f4d4: vzeroupper 0x000070d873e3f4d7: call 0x000070d873633340 ; ImmutableOopMap {rbp=Oop [0]=Oop } ;*new {reexecute=0 rethrow=0 return_oop=0} ; - com.sun.tools.javac.util.StringNameTable::fromString at 28 (line 70) ; {runtime_call UncommonTrapBlob} === A4 code: Compiled method (c2) 97 1861 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) 106 W0.1 Q46.3 C0.0 1582 A [0.107s][debug ][deoptimization] cid=1861 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x000070d873e9d8e0 relative_pc=0x0000000000000360 [Verified Entry Point] 0x000070d873e9d590: mov %eax,-0x14000(%rsp) 0x000070d873e9d597: push %rbp 0x000070d873e9d598: sub $0x40,%rsp 0x000070d873e9d59c: cmpl $0x0,0x20(%r15) 0x000070d873e9d5a4: jne 0x000070d873e9dbd3 0x000070d873e9d5aa: mov %rsi,%r11 0x000070d873e9d5ad: mov 0x14(%rsi),%r8d 0x000070d873e9d5b1: mov 0x8(%r12,%r8,8),%r10d ; implicit exception: dispatches to 0x000070d873e9db78 0x000070d873e9d5b6: cmp $0x2ff628,%r10d ; {metadata('java/util/HashMap')} 0x000070d873e9d5bd: jne 0x000070d873e9d9de 0x000070d873e9d5c3: lea (%r12,%r8,8),%r10 0x000070d873e9d5c7: mov 0x24(%r10),%eax 0x000070d873e9d5cb: test %eax,%eax 0x000070d873e9d5cd: je 0x000070d873e9d8ba ; <--- branch to trap handler ... 0x000070d873e9d8b9: ret 0x000070d873e9d8ba: mov %rdx,%r10 0x000070d873e9d8bd: movzbl 0x10(%r11),%r8d 0x000070d873e9d8c2: test %r8d,%r8d 0x000070d873e9d8c5: jne 0x000070d873e9da24 0x000070d873e9d8cb: mov $0x28,%esi 0x000070d873e9d8d0: mov %r11,%rbp 0x000070d873e9d8d3: mov %r10,(%rsp) 0x000070d873e9d8d7: nop 0x000070d873e9d8d8: vzeroupper 0x000070d873e9d8db: call 0x000070d873633340 ; ImmutableOopMap {rbp=Oop [0]=Oop } ;*new {reexecute=0 rethrow=0 return_oop=0} ; - com.sun.tools.javac.util.StringNameTable::fromString at 28 (line 70) ; {runtime_call UncommonTrapBlob} ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2722092964 From shade at openjdk.org Thu Mar 13 17:44:24 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 17:44:24 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 17:27:32 GMT, Vladimir Ivanov wrote: > Also, don't we try to avoid uncommon traps in preloaded code these days? So, a trap in preloaded code means there's something C2 can't get rid of. I look at it separately, and there are some traps in `ciTypeFlow`, for example, which I don't yet know how to disable in preload compilations. I don't think it is impossible -- probably throwing in more clinit barriers there -- but it would take time. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2722161708 From duke at openjdk.org Thu Mar 13 17:45:49 2025 From: duke at openjdk.org (duke) Date: Thu, 13 Mar 2025 17:45:49 GMT Subject: git: openjdk/leyden: premain: Remove excessive checks during persisted MDO install Message-ID: <7bb2b20b-7c91-47a6-8f23-7fdb5fd9738c@openjdk.org> Changeset: d9c3566b Branch: premain Author: Igor Veresov Date: 2025-03-13 10:40:12 +0000 URL: https://git.openjdk.org/leyden/commit/d9c3566bf7060c8c8531f4660f81a33e6b65ee36 Remove excessive checks during persisted MDO install ! src/hotspot/share/oops/method.cpp From henryjen at openjdk.org Thu Mar 13 17:46:43 2025 From: henryjen at openjdk.org (Henry Jen) Date: Thu, 13 Mar 2025 17:46:43 GMT Subject: RFR: 8347755: Support static library in jmod [v5] In-Reply-To: References: Message-ID: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> > This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. > > The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. > > Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. Henry Jen 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 seven additional commits since the last revision: - Merge - Support `make static-jmods` to create static jmods - support major version validation - Update jmod.md - Use JULONG_FORMAT_X to suit various platforms - Fix julong format on MacOS - Add --static-libs to jmod ------------- Changes: - all: https://git.openjdk.org/leyden/pull/46/files - new: https://git.openjdk.org/leyden/pull/46/files/95a037b8..242e9e7a Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=04 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=03-04 Stats: 25322 lines in 856 files changed: 10200 ins; 10637 del; 4485 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From henryjen at openjdk.org Thu Mar 13 17:46:43 2025 From: henryjen at openjdk.org (Henry Jen) Date: Thu, 13 Mar 2025 17:46:43 GMT Subject: RFR: 8347755: Support static library in jmod [v4] In-Reply-To: References: <-6KGtjKI7HQXgXk_eZegamslWPHr-5H9O--pbQG2Lrw=.38b5ec9f-ffe1-4434-90b0-b36cd7e5274d@github.com> <7bs4aPIKSPU2_lQOIuZfCbOGouAubh4Ru3ODvsublcA=.abd622d5-9173-4e84-88e5-4dcccc15d4e7@github.com> Message-ID: On Mon, 10 Mar 2025 09:31:17 GMT, Severin Gehwolf wrote: >>> I guess its worth asking how would the format evolve in the future if more than `/static-lib` were added? >> >> Unlike the JAR format, the JMOD format requires an update when new sections are added. We don't need to get hung up on any of the details around this now, most of the work to support this will be in jlink, not the jmod tool. > > I'm ok with this for the leyden branch. I am thinking just to support -1 version. So 1.2 jmod can produce 1.2 with latest feature and 1.1 for previous version. Anyway, as Alan pointed out, we don't need to figure this out right now. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1994038253 From shade at openjdk.org Thu Mar 13 17:52:03 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Thu, 13 Mar 2025 17:52:03 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 17:25:06 GMT, Vladimir Ivanov wrote: > I don't know whether it is a good heuristic for a general case. How much does it improve the behavior? *A lot*: https://github.com/openjdk/leyden/pull/48#issuecomment-2721949661 But I am following up on @vnkozlov's question, since it does not make sense to me why we are trapping the second time... ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2722213232 From henryjen at openjdk.org Thu Mar 13 17:58:04 2025 From: henryjen at openjdk.org (Henry Jen) Date: Thu, 13 Mar 2025 17:58:04 GMT Subject: RFR: 8347755: Support static library in jmod [v5] In-Reply-To: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> References: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> Message-ID: On Thu, 13 Mar 2025 17:46:43 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen 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 seven additional commits since the last revision: > > - Merge > - Support `make static-jmods` to create static jmods > - support major version validation > - Update jmod.md > - Use JULONG_FORMAT_X to suit various platforms > - Fix julong format on MacOS > - Add --static-libs to jmod Latest commit to support creating of static-jmods with `make static-jmods`, thanks @magicus for help. Result on MacOS, ls -l build/macosx-x86_64-server-release/images/static-jmods total 184152 -rw-r--r-- 1 hjen staff 21778174 Mar 13 10:35 java.base.jmod -rw-r--r-- 1 hjen staff 140500 Mar 13 10:35 java.compiler.jmod -rw-r--r-- 1 hjen staff 58934 Mar 13 10:35 java.datatransfer.jmod -rw-r--r-- 1 hjen staff 16688299 Mar 13 10:35 java.desktop.jmod -rw-r--r-- 1 hjen staff 68824 Mar 13 10:35 java.instrument.jmod ... -rw-r--r-- 1 hjen staff 49946 Mar 13 10:35 jdk.xml.dom.jmod -rw-r--r-- 1 hjen staff 112583 Mar 13 10:35 jdk.zipfs.jmod ./build/macosx-x86_64-server-release/jdk/bin/jmod list build/macosx-x86_64-server-release/images/static-jmods/java.base.jmod | grep static-lib static-lib/libjava.a static-lib/libjimage.a static-lib/libjli.a static-lib/libjsig.a static-lib/libnet.a static-lib/libnio.a static-lib/libosxsecurity.a static-lib/libsyslookup.a static-lib/libverify.a static-lib/libzip.a static-lib/module-included-libs.txt ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2722247186 From jiangli at openjdk.org Thu Mar 13 18:32:01 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Thu, 13 Mar 2025 18:32:01 GMT Subject: RFR: 8347755: Support static library in jmod [v5] In-Reply-To: References: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> Message-ID: <1iI31rjkEuVKfAiK6tGJiEy4WtEp1KjsDRJygIBzicg=.e273200f-b259-47dd-bd7e-dd01cd04fc49@github.com> On Thu, 13 Mar 2025 17:55:01 GMT, Henry Jen wrote: > ./build/macosx-x86_64-server-release/jdk/bin/jmod list build/macosx-x86_64-server-release/images/static-jmods/java.base.jmod | grep static-lib > static-lib/libjava.a > static-lib/libjimage.a > static-lib/libjli.a > static-lib/libjsig.a > static-lib/libnet.a > static-lib/libnio.a > static-lib/libosxsecurity.a > static-lib/libsyslookup.a > static-lib/libverify.a > static-lib/libzip.a > static-lib/module-included-libs.txt I think `libjvm.a` should be included in java.base.jmod as well. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2722343210 From henryjen at openjdk.org Fri Mar 14 02:12:07 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 02:12:07 GMT Subject: RFR: 8347755: Support static library in jmod [v5] In-Reply-To: <1iI31rjkEuVKfAiK6tGJiEy4WtEp1KjsDRJygIBzicg=.e273200f-b259-47dd-bd7e-dd01cd04fc49@github.com> References: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> <1iI31rjkEuVKfAiK6tGJiEy4WtEp1KjsDRJygIBzicg=.e273200f-b259-47dd-bd7e-dd01cd04fc49@github.com> Message-ID: On Thu, 13 Mar 2025 18:29:19 GMT, Jiangli Zhou wrote: > I think `libjvm.a` should be included in java.base.jmod as well. You are right. Looks libjvm.a is not build as a dependency, and I didn't try to copy that file either. Looks to me, it is only built for static launcher, I'll try to add that for java.base-static-jmod. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2723149831 From iklam at openjdk.org Fri Mar 14 03:44:20 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 14 Mar 2025 03:44:20 GMT Subject: git: openjdk/leyden: premain: added test case for 8352001: AOT cache should not contain classes injected into built-in class loaders Message-ID: Changeset: 280e3865 Branch: premain Author: Ioi Lam Date: 2025-03-13 20:42:13 +0000 URL: https://git.openjdk.org/leyden/commit/280e3865a3bfdc9d891e2c9980453841787bac70 added test case for 8352001: AOT cache should not contain classes injected into built-in class loaders + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/FakeCodeLocation.java From henryjen at openjdk.org Fri Mar 14 04:42:49 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 04:42:49 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: > This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. > > The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. > > Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. Henry Jen has updated the pull request incrementally with one additional commit since the last revision: Add hotspot static libs to java.base-static-jmod ------------- Changes: - all: https://git.openjdk.org/leyden/pull/46/files - new: https://git.openjdk.org/leyden/pull/46/files/242e9e7a..0a16f914 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=05 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=46&range=04-05 Stats: 15 lines in 2 files changed: 15 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/46.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/46/head:pull/46 PR: https://git.openjdk.org/leyden/pull/46 From henryjen at openjdk.org Fri Mar 14 04:42:51 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 04:42:51 GMT Subject: RFR: 8347755: Support static library in jmod [v5] In-Reply-To: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> References: <25bwtowbLv4ccXA1N1DaFgmBsPqbqW8cTh6n_Or6zJg=.e1899a43-abed-4bfa-9e9c-996a5dec36f3@github.com> Message-ID: On Thu, 13 Mar 2025 17:46:43 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen 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 seven additional commits since the last revision: > > - Merge > - Support `make static-jmods` to create static jmods > - support major version validation > - Update jmod.md > - Use JULONG_FORMAT_X to suit various platforms > - Fix julong format on MacOS > - Add --static-libs to jmod Verified with `make java.base-static-jmod`, and libjvm.a is included. ./build/macosx-x86_64-server-release/jdk/bin/jmod list build/macosx-x86_64-server-release/images/static-jmods/java.base.jmod | grep static-lib static-lib/libjava.a static-lib/libjimage.a static-lib/libjli.a static-lib/libjsig.a static-lib/libjvm.a static-lib/libnet.a static-lib/libnio.a static-lib/libosxsecurity.a static-lib/libsyslookup.a static-lib/libverify.a static-lib/libzip.a static-lib/module-included-libs.txt ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2723458595 From shade at openjdk.org Fri Mar 14 09:20:08 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Fri, 14 Mar 2025 09:20:08 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` OK, look through this. Java code: @Override public Name fromString(String string) { Name name = nameMap.get(string); if (name == null) { if (intern) { string = string.intern(); } name = new NameImpl(this, string); // <--- TRAPS HERE nameMap.put(string, name); } return name; } Relevant bytecode: public com.sun.tools.javac.util.Name fromString(java.lang.String); descriptor: (Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; flags: (0x0001) ACC_PUBLIC Code: stack=4, locals=3, args_size=2 0: aload_0 1: getfield #21 // Field nameMap:Ljava/util/HashMap; 4: aload_1 5: invokevirtual #29 // Method java/util/HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object; 8: checkcast #33 // class com/sun/tools/javac/util/Name 11: astore_2 12: aload_2 13: ifnonnull 48 16: aload_0 17: getfield #25 // Field intern:Z 20: ifeq 28 23: aload_1 24: invokevirtual #35 // Method java/lang/String.intern:()Ljava/lang/String; 27: astore_1 28: new #40 // class com/sun/tools/javac/util/StringNameTable$NameImpl <---- TRAPS HERE 31: dup 32: aload_0 33: aload_1 34: invokespecial #42 // Method com/sun/tools/javac/util/StringNameTable$NameImpl."":(Lcom/sun/tools/javac/util/StringNameTable;Ljava/lang/String;)V AP 4 code: # Traps later here: 26 55 W0.0 Q20.7 C0.0 379 [0.056s][debug ][deoptimization] cid= 291 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007037e802ff10 relative_pc=0x0000000000000670 Compiled method (c2) 43 291 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) ... # this: rsi:rsi = 'com/sun/tools/javac/util/StringNameTable' # parm0: rdx:rdx = 'java/lang/String' [Entry Point] # {method} {0x00000008006848b0} 'fromString' '(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;' in 'com/sun/tools/javac/util/StringNameTable' # this: rsi:rsi = 'com/sun/tools/javac/util/StringNameTable' # parm0: rdx:rdx = 'java/lang/String' # [sp+0x50] (sp of caller) 0x00007037e802f8a2: mov 0x8(%rsi),%r10d 0x00007037e802f8a6: cmp 0x8(%rax),%r10d 0x00007037e802f8aa: jne 0x00007037e7851d40 ; {runtime_call Shared Runtime ic_miss_blob} [Verified Entry Point] 0x00007037e802f8b0: mov %eax,-0x14000(%rsp) 0x00007037e802f8b7: push %rbp 0x00007037e802f8b8: sub $0x40,%rsp 0x00007037e802f8bc: cmpl $0x0,0x20(%r15) 0x00007037e802f8c4: jne 0x00007037e80301fe ; method entry is over 0x00007037e802f8ca: mov %rsi,%r14 ; %rsi, %r14 is now "this" 0x00007037e802f8cd: mov 0x14(%rsi),%r10d ; %r10 is "this.nameMap" 0x00007037e802f8d1: mov 0x8(%r10),%r8d ; type-check %r10 is java/util/HashMap 0x00007037e802f8d5: cmp $0x2ff6c8,%r8d ; {metadata('java/util/HashMap')} 0x00007037e802f8dc: jne 0x00007037e802fe8a 0x00007037e802f8e2: mov 0x24(%r10),%r11d ; inlined HashMap.get: 0x00007037e802f8e6: test %r11d,%r11d ; HashMap.table == null? 0x00007037e802f8e9: je 0x00007037e802fdd6 ; YES, so nameMap.get returns null, jump to slow path ... 0x00007037e802fdd6: mov %rdx,%r10 0x00007037e802fdd9: movzbl 0x10(%r14),%r11d ; %r14 is still "this", checking "this.intern" 0x00007037e802fdde: test %r11d,%r11d ; (intern == false)? 0x00007037e802fde1: je 0x00007037e802fefc ; YES, go uncommon trap ... 0x00007037e802fefc: mov $0x28,%esi 0x00007037e802ff01: mov %r14,%rbp 0x00007037e802ff04: mov %r10,(%rsp) 0x00007037e802ff08: vzeroupper 0x00007037e802ff0b: call 0x00007037e7823dc0 ; ImmutableOopMap {rbp=Oop [0]=Oop } ;*new {reexecute=0 rethrow=0 return_oop=0} ; - com.sun.tools.javac.util.StringNameTable::fromString at 28 (line 70) ; {runtime_call UncommonTrapBlob} 0x00007037e802ff10: nopl 0x6000808(%rax,%rax,1) ; {post_call_nop} I checked that `A4` code follows the same pattern, not showing it here for brevity. Note that none of this code checked the class init state at runtime. _So_, `A4` does not know to check if class was loaded, and just unconditionally traps. It would not help to remove traps in preload code, and it does not matter that interpreter loaded the class after the first deopt. A4 would trap regardless. This is why this proposed heuristics works: if we trapped from AP4, we are likely to trap from a similar code shape in A4. I guess the better fix would be to make sure both AP4 and A4 versions are compiled with clinit-barriers everywhere? ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2724108777 From ihse at openjdk.org Fri Mar 14 10:03:28 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 10:03:28 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 04:42:49 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > Add hotspot static libs to java.base-static-jmod `static-lib/module-included-libs.txt` should not be included. It is a built-time support file. I guess this happens since you re-used an existing directory structure that was only used for build support files before. The proper fix is to make sure this file ends up in a different directory. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2724209876 From shade at openjdk.org Fri Mar 14 12:27:02 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Fri, 14 Mar 2025 12:27:02 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` $ ./run-leyden.sh # Before Generated source code for 10001 classes and compiled them in 19221 ms AOTConfiguration recorded: app.aotconf real 0m20.195s user 0m51.408s sys 0m1.466s Reading AOTConfiguration app.aotconf and writing AOTCache app.aot AOTCache creation is complete: app.aot real 0m25.396s ; <--- no parallelism user 0m25.212s sys 0m0.696s # After Generated source code for 10001 classes and compiled them in 19320 ms AOTConfiguration recorded: app.aotconf real 0m20.228s user 0m50.004s sys 0m1.419s Reading AOTConfiguration app.aotconf and writing AOTCache app.aot AOTCache creation is complete: app.aot real 0m3.672s ; <--- 6.6x parallelism user 0m24.634s sys 0m0.715s ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2724524224 From shade at openjdk.org Fri Mar 14 12:27:02 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Fri, 14 Mar 2025 12:27:02 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation Message-ID: For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. Additional testing: - [x] Ad-hoc precompilation tests - [x] Linux x86_64 server fastdebug, `runtime/cds` ------------- Commit messages: - Call CompileBroker not CompilerTask - Fix - Fix Changes: https://git.openjdk.org/leyden/pull/49/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=49&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8352042 Stats: 123 lines in 8 files changed: 65 ins; 44 del; 14 mod Patch: https://git.openjdk.org/leyden/pull/49.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/49/head:pull/49 PR: https://git.openjdk.org/leyden/pull/49 From henryjen at openjdk.org Fri Mar 14 15:12:20 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 15:12:20 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 10:00:00 GMT, Magnus Ihse Bursie wrote: > `static-lib/module-included-libs.txt` should not be included. It is a built-time support file. I guess this happens since you re-used an existing directory structure that was only used for build support files before. The proper fix is to make sure this file ends up in a different directory. I didn't particularly filter-out or move this file because I wonder if this file serve as a manifest. Otherwise, we could do something like how we process other folders like modules_libs. `jmod --exclude` could be a solution as well. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2724987885 From jiangli at openjdk.org Fri Mar 14 17:51:12 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Fri, 14 Mar 2025 17:51:12 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 04:42:49 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > Add hotspot static libs to java.base-static-jmod make/CreateJmods.gmk line 104: > 102: endif > 103: > 104: # Copy hotspot libs, currently only libjvm.a I just realized that we also need the launcher's `main.o` in the static `java.base.jmod`. Creating a `liblauncher.a` with the `main.o` and including the `liblauncher.a` in `java.base.jmod` seems to be cleaner than including `main.o` directly in the jmod. When jlinking the final image for the application, if user doesn't provide customized launcher, `liblauncher.a` is used with other needed JDK/VM static libraries for linking the executable using the native linker (e.g. `ld`). If customized launcher is used, the object file(s) or the static library for the customized launcher is then used when linking the executable. `liblauncher.a` is not used in that case. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996018727 From ihse at openjdk.org Fri Mar 14 18:35:30 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 18:35:30 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 15:09:11 GMT, Henry Jen wrote: > I didn't particularly filter-out or move this file because I wonder if this file serve as a manifest. No, it doesn't, it's just an implementation specific detail of the build system. > Otherwise, we could do something like how we process other folders like modules_libs. `jmod --exclude` could be a solution as well. No, no. We should just don't mix temporary support files with the proper output files. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2725402561 From ihse at openjdk.org Fri Mar 14 18:35:30 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 18:35:30 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 04:42:49 GMT, Henry Jen wrote: >> This PR add --static-libs option to the jmod tool, it's basically mirroring --libs option to support adding a new section of static archive into the jmod file under the new section `static-lib`. >> >> The JMOD magic header contains a MAJOR and MINOR version, we bump up the MINOR version if the --static-libs option is specified; otherwise, keep the MINOR version as 1. This allow created JMOD file without the newly supported static-lib section to continue be consumed by earlier version of jmod tool. >> >> Also fix the formatting for _hermetic_jdk_jimage_offset, which is a julong(uint64_t) as unsigned long long on MacOS, thus need to use %llu. > > Henry Jen has updated the pull request incrementally with one additional commit since the last revision: > > Add hotspot static libs to java.base-static-jmod However, regarding manifests, there *is* one thing that really should be included with the static libs, and that is a `pkg-config` file, that tells the end users what linker flags to use to be able to properly use the static libraries. I have been planning to add this to the static-jdk-image but never gotten around to it. (Can't find the JBS number now either.) But I guess that there is no real conflict between that and this PR; if I just plop the file down alongside the .a files, it will be automatically picked up by jmod. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2725408153 From henryjen at openjdk.org Fri Mar 14 18:35:30 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 18:35:30 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: <4COSSZ-9JS087gZMFWbwLOCwZz0ucyenzzUtHzhRU80=.60db27cc-dc22-49bc-b2a6-109c0f76bf66@github.com> On Fri, 14 Mar 2025 18:01:35 GMT, Magnus Ihse Bursie wrote: > > I didn't particularly filter-out or move this file because I wonder if this file serve as a manifest. > > No, it doesn't, it's just an implementation specific detail of the build system. > I know the original intention of this is not for that. What I am asking is if we should have such a manifest or hints for user? Similar to pkg-config. > > Otherwise, we could do something like how we process other folders like modules_libs. `jmod --exclude` could be a solution as well. > > No, no. We should just don't mix temporary support files with the proper output files. That I agree. ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2725414257 From ihse at openjdk.org Fri Mar 14 18:35:30 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 18:35:30 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: <4COSSZ-9JS087gZMFWbwLOCwZz0ucyenzzUtHzhRU80=.60db27cc-dc22-49bc-b2a6-109c0f76bf66@github.com> References: <4COSSZ-9JS087gZMFWbwLOCwZz0ucyenzzUtHzhRU80=.60db27cc-dc22-49bc-b2a6-109c0f76bf66@github.com> Message-ID: On Fri, 14 Mar 2025 18:07:05 GMT, Henry Jen wrote: > Similar to pkg-config. Maybe we just wrote past each other here... As I said, my plan is to actually include a pkg-config file. This is a canonical way to describe exactly what is needed to utilize a library. There is no reason to do "something almost like pkg-config but not actually pkg-config". :-) ------------- PR Comment: https://git.openjdk.org/leyden/pull/46#issuecomment-2725420077 From ihse at openjdk.org Fri Mar 14 18:35:31 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 18:35:31 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 17:48:30 GMT, Jiangli Zhou wrote: >> Henry Jen has updated the pull request incrementally with one additional commit since the last revision: >> >> Add hotspot static libs to java.base-static-jmod > > make/CreateJmods.gmk line 104: > >> 102: endif >> 103: >> 104: # Copy hotspot libs, currently only libjvm.a > > I just realized that we also need the launcher's `main.o` in the static `java.base.jmod`. Creating a `liblauncher.a` with the `main.o` and including the `liblauncher.a` in `java.base.jmod` seems to be cleaner than including `main.o` directly in the jmod. > > When jlinking the final image for the application, if user doesn't provide customized launcher, `liblauncher.a` is used with other needed JDK/VM static libraries for linking the executable using the native linker (e.g. `ld`). If customized launcher is used, the object file(s) or the static library for the customized launcher is then used when linking the executable. `liblauncher.a` is not used in that case. Should we really, though? That includes a `main` function. If the user wants to use the static libs from the jmod to create their own application, that will cause a symbol conflict. Sorry @jianglizhou, I did not properly read the second part of your suggestion, to create a `liblauncher.o` out of `main.o`. Well, tbh, this is just JDK-8351367 all over again. If we should include "optional" libraries in the jmods, we need to figure out first how to handle them. How should they be marked/classified as optional or required? How should the user tell jlink to include or exclude them? If we do get a good answer to that question, then we can introduce an optional `liblauncher.a` as well alongside `libjsig.a`. But until then, we should just stay clear of "optional" static libraries. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996034651 PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996053235 From henryjen at openjdk.org Fri Mar 14 18:35:31 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 18:35:31 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 18:00:26 GMT, Magnus Ihse Bursie wrote: >> make/CreateJmods.gmk line 104: >> >>> 102: endif >>> 103: >>> 104: # Copy hotspot libs, currently only libjvm.a >> >> I just realized that we also need the launcher's `main.o` in the static `java.base.jmod`. Creating a `liblauncher.a` with the `main.o` and including the `liblauncher.a` in `java.base.jmod` seems to be cleaner than including `main.o` directly in the jmod. >> >> When jlinking the final image for the application, if user doesn't provide customized launcher, `liblauncher.a` is used with other needed JDK/VM static libraries for linking the executable using the native linker (e.g. `ld`). If customized launcher is used, the object file(s) or the static library for the customized launcher is then used when linking the executable. `liblauncher.a` is not used in that case. > > Should we really, though? That includes a `main` function. If the user wants to use the static libs from the jmod to create their own application, that will cause a symbol conflict. I think that worth a discussion, IIRC, the most needed processing should be in libjli already. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996036735 From ihse at openjdk.org Fri Mar 14 18:35:31 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Fri, 14 Mar 2025 18:35:31 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: <0Bant0o8qR4_Ib4SVNjNgxjmlPT_FSuFbbree4r8mZw=.9fc4a88f-959e-4585-9381-8d17211caa2f@github.com> On Fri, 14 Mar 2025 18:02:17 GMT, Henry Jen wrote: >> Should we really, though? That includes a `main` function. If the user wants to use the static libs from the jmod to create their own application, that will cause a symbol conflict. > > I think that worth a discussion, IIRC, the most needed processing should be in libjli already. Yes, main.c is basically a thin wrapper that parses command line arguments and calls `JLI_Launch`. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996047658 From jiangli at openjdk.org Fri Mar 14 19:23:09 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Fri, 14 Mar 2025 19:23:09 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 18:14:04 GMT, Magnus Ihse Bursie wrote: >> make/CreateJmods.gmk line 104: >> >>> 102: endif >>> 103: >>> 104: # Copy hotspot libs, currently only libjvm.a >> >> I just realized that we also need the launcher's `main.o` in the static `java.base.jmod`. Creating a `liblauncher.a` with the `main.o` and including the `liblauncher.a` in `java.base.jmod` seems to be cleaner than including `main.o` directly in the jmod. >> >> When jlinking the final image for the application, if user doesn't provide customized launcher, `liblauncher.a` is used with other needed JDK/VM static libraries for linking the executable using the native linker (e.g. `ld`). If customized launcher is used, the object file(s) or the static library for the customized launcher is then used when linking the executable. `liblauncher.a` is not used in that case. > > Sorry @jianglizhou, I did not properly read the second part of your suggestion, to create a `liblauncher.o` out of `main.o`. Well, tbh, this is just JDK-8351367 all over again. If we should include "optional" libraries in the jmods, we need to figure out first how to handle them. How should they be marked/classified as optional or required? How should the user tell jlink to include or exclude them? If we do get a good answer to that question, then we can introduce an optional `liblauncher.a` as well alongside `libjsig.a`. But until then, we should just stay clear of "optional" static libraries. I think for common cases, there would be no C/C++ `main()` function provided from user code with Java applications. The JDK `java` launcher's `main()` is the C/C++ entry point. So we do need to provide a static library with the C/C++ `main` function for linking the executable. With the customized launcher cases, the C/C++ `main()` is implemented by the customized launcher. Then, the JDK provided `main` entry point is not needed. @magicus, yes, this involves with the optional static library in the jmods, as you pointed out. I think for C/C++ `main`, supporting that is necessary. An alternative is to require Java application implement C/C++ `main()`. That doesn't seem to be an applaudable approach. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996151267 From duke at openjdk.org Fri Mar 14 19:43:35 2025 From: duke at openjdk.org (duke) Date: Fri, 14 Mar 2025 19:43:35 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 98 new changesets Message-ID: <9d58132b-0a2a-4bf6-84dd-adb0e3fd5f69@openjdk.org> Changeset: 8ed6c1d7 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-03-07 20:35:36 +0000 URL: https://git.openjdk.org/leyden/commit/8ed6c1d7ee3c9914092e7d45087ef61553371b70 8350607: Consolidate MethodHandles::zero into MethodHandles::constant Reviewed-by: jrose, redestad, jvernee ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/SimpleMethodHandle.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: 4e67ac41 Branch: hermetic-java-runtime Author: Vladimir Ivanov Committer: Derek White Date: 2025-03-07 20:38:25 +0000 URL: https://git.openjdk.org/leyden/commit/4e67ac41365ecd0c7e919d77e359f77ea602feb9 8350909: [JMH] test ThreadOnSpinWaitShared failed for 2 threads config Reviewed-by: jbhateja, drwhite ! test/micro/org/openjdk/bench/java/lang/ThreadOnSpinWaitSharedCounter.java Changeset: 76e0f30b Branch: hermetic-java-runtime Author: Eric Caspole Date: 2025-03-07 21:30:11 +0000 URL: https://git.openjdk.org/leyden/commit/76e0f30b15efda86cbb974bbc764ac3fb3f0f054 8350460: org.openjdk.bench.vm.floatingpoint.DremFrem JMH fails with -ea Reviewed-by: liach, darcy ! test/micro/org/openjdk/bench/vm/floatingpoint/DremFrem.java Changeset: 7ec2e148 Branch: hermetic-java-runtime Author: Daniel Gredler Committer: SendaoYan Date: 2025-03-08 12:26:46 +0000 URL: https://git.openjdk.org/leyden/commit/7ec2e14897e6dea0c7864a617ded0e33adf792f7 8349932: PSPrinterJob sometimes generates unnecessary PostScript commands Reviewed-by: achung, prr ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java + test/jdk/javax/print/PostScriptLeanTest.java Changeset: a90f323d Branch: hermetic-java-runtime Author: Xiaolong Peng Committer: SendaoYan Date: 2025-03-08 12:28:34 +0000 URL: https://git.openjdk.org/leyden/commit/a90f323d05f1c90767823b8729b124de0bead265 8349705: java.net.URI.scanIPv4Address throws unnecessary URISyntaxException Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/URI.java Changeset: 4e1367e3 Branch: hermetic-java-runtime Author: Cesar Soares Lucas Date: 2025-03-08 14:01:28 +0000 URL: https://git.openjdk.org/leyden/commit/4e1367e34be724a0f84069100854c38333610714 8343468: GenShen: Enable relocation of remembered set card tables Reviewed-by: shade, kdnilsen, wkemper ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/ci/ciUtilities.cpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 857c5371 Branch: hermetic-java-runtime Author: Martin Doerr Date: 2025-03-09 16:15:26 +0000 URL: https://git.openjdk.org/leyden/commit/857c53718957283766f6566e5519ab5911cf9f3c 8351456: Build failure with --disable-jvm-feature-shenandoahgc after 8343468 Reviewed-by: kvn, syan ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/riscv/riscv.ad Changeset: 84f71dd6 Branch: hermetic-java-runtime Author: Daniel Jeli?ski Date: 2025-03-10 07:52:11 +0000 URL: https://git.openjdk.org/leyden/commit/84f71dd6247bbaca508e0a6f04c5b201a1974266 8349849: PKCS11 SunTlsKeyMaterial crashes when used with TLS1.2 TlsKeyMaterialParameterSpec Reviewed-by: wetmore, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java + test/jdk/sun/security/pkcs11/tls/TestKeyMaterialMisuse.java Changeset: 08872623 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-10 07:54:17 +0000 URL: https://git.openjdk.org/leyden/commit/088726238664985ebf2bc60deca96f22245e9ce3 8344301: Refine stylesheet for API docs Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/link.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search-page.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessH1/AccessH1.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: 18931d05 Branch: hermetic-java-runtime Author: Joachim Kern Date: 2025-03-10 09:05:58 +0000 URL: https://git.openjdk.org/leyden/commit/18931d05877a69c9d35ac0706d61f9db03875afc 8351399: AIX: clang pollutes the burned-in library search paths of the generated executables / Second try with a better solution than JDK8348663 Reviewed-by: stuefe, mdoerr, ihse ! make/autoconf/basic.m4 ! make/autoconf/flags-ldflags.m4 - make/scripts/aix/ld.sh Changeset: 19b9f11c Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-10 09:44:42 +0000 URL: https://git.openjdk.org/leyden/commit/19b9f11c2ec37ef115c14adcfc31161786d46e95 8351392: C2 crash: failed: Expected Bool, but got OpaqueMultiversioning Reviewed-by: thartmann, kvn, vlivanov, chagedorn ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/opaquenode.hpp ! test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionRemoveUselessSlowLoop.java Changeset: 783eda9f Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-10 10:21:54 +0000 URL: https://git.openjdk.org/leyden/commit/783eda9f54a6e17771c637ff5cac5e30d1facde9 8350266: [PPC64] Interpreter: intrinsify Thread.currentThread() Reviewed-by: mdoerr, rrich ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Changeset: f61f520e Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-10 10:22:17 +0000 URL: https://git.openjdk.org/leyden/commit/f61f520e699e3eb5104c9467ec8269b837da74db 8350325: [PPC64] ConvF2HFIdealizationTests timeouts on Power8 Reviewed-by: mdoerr, clanger ! test/hotspot/jtreg/compiler/c2/irTests/ConvF2HFIdealizationTests.java Changeset: ec683a18 Branch: hermetic-java-runtime Author: Daniel Fuchs Date: 2025-03-10 10:41:47 +0000 URL: https://git.openjdk.org/leyden/commit/ec683a18bcd8a8282989ba97238899d6375f43c8 8351419: java.net.http: Cleanup links in HttpResponse and module-info API doc comments Reviewed-by: michaelm, vyazici ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! src/java.net.http/share/classes/module-info.java Changeset: 99547c5b Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-03-10 11:03:28 +0000 URL: https://git.openjdk.org/leyden/commit/99547c5b254807580e0a5238b95d55d38181f4fc 8346825: [JVMCI] Remove NativeImageReinitialize annotation Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/InitTimer.java - src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/NativeImageReinitialize.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/Cleaner.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodData.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCI.java Changeset: fb0efbe8 Branch: hermetic-java-runtime Author: Axel Boldt-Christmas Date: 2025-03-10 11:53:36 +0000 URL: https://git.openjdk.org/leyden/commit/fb0efbe87403fa2f1263c9b916db1a3a3b037eeb 8333578: Fix uses of overaligned types induced by ZCACHE_ALIGNED Reviewed-by: stefank, kbarrett ! src/hotspot/share/gc/z/zArguments.cpp Changeset: 64caf085 Branch: hermetic-java-runtime Author: Axel Boldt-Christmas Date: 2025-03-10 11:53:50 +0000 URL: https://git.openjdk.org/leyden/commit/64caf085344dcd5fc5185ed5882439249e239d50 8350572: ZGC: Enhance z_verify_safepoints_are_blocked interactions with VMError Reviewed-by: eosterlund, stefank ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 4867a4c8 Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-10 12:09:16 +0000 URL: https://git.openjdk.org/leyden/commit/4867a4c89e99e3ba7fdd9f44e926c82216804167 8351280: Mark Assertion Predicates useless instead of replacing them by a constant directly Reviewed-by: epeter, roland ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp Changeset: e90b6bdb Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-10 13:28:42 +0000 URL: https://git.openjdk.org/leyden/commit/e90b6bdb875315de6b962e2c7d36606d9a593eb9 8350638: Make keyboard navigation more usable in API docs Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTree.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testConstantValuesPage/TestConstantValuesPage.java ! test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServicesLink.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSpecTag/TestSpecTag.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: d90b79a2 Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-03-10 14:54:50 +0000 URL: https://git.openjdk.org/leyden/commit/d90b79a2bd2f8bb6e50aa32aafe47748ef6ebeff 8351046: Rename ObjectMonitor functions Reviewed-by: stefank, fbredberg ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 32f2c2d8 Branch: hermetic-java-runtime Author: Naoto Sato Date: 2025-03-10 16:13:50 +0000 URL: https://git.openjdk.org/leyden/commit/32f2c2d80894552b8c5329cfa51c7e836314901f 8351017: ChronoUnit.MONTHS.between() not giving correct result when date is in February Reviewed-by: scolebourne, rriggs ! src/java.base/share/classes/java/time/temporal/TemporalUnit.java Changeset: 6b84bdef Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-03-10 16:15:23 +0000 URL: https://git.openjdk.org/leyden/commit/6b84bdef3b203e62cebd77705ef5b3e081302c28 8350007: Add usage message to the javadoc executable Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/langtools/tools/javac/options/JavadocIgnoreSymbolFile.java Changeset: b40be225 Branch: hermetic-java-runtime Author: Daniel Lund?n Date: 2025-03-10 16:18:02 +0000 URL: https://git.openjdk.org/leyden/commit/b40be22512a8d3b3350fef8d6668d80134a6f1a6 8333393: PhaseCFG::insert_anti_dependences can fail to raise LCAs and to add necessary anti-dependence edges Co-authored-by: Roberto Casta?eda Lozano Co-authored-by: Christian Hagedorn Co-authored-by: Tobias Hartmann Co-authored-by: Emanuel Peter Co-authored-by: Quan Anh Mai Reviewed-by: rcastanedalo, chagedorn, epeter ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/codegen/TestGCMLoadPlacement.java Changeset: 8450ae90 Branch: hermetic-java-runtime Author: Mikael Vidstedt Date: 2025-03-10 16:31:39 +0000 URL: https://git.openjdk.org/leyden/commit/8450ae902ee012b6447015b24369eee85c091ec5 8351440: Link with -reproducible on macOS Reviewed-by: erikj, ihse ! make/autoconf/flags-ldflags.m4 Changeset: 7999091e Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-10 17:22:26 +0000 URL: https://git.openjdk.org/leyden/commit/7999091e3e976fe62d859d508bf649b6ec7bc94e 8351555: Help section added in JDK-8350638 uses invalid HTML Reviewed-by: liach, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java Changeset: dbdbbd47 Branch: hermetic-java-runtime Author: Harshitha Onkar Date: 2025-03-10 17:47:54 +0000 URL: https://git.openjdk.org/leyden/commit/dbdbbd473061d7e8077ed07ccc6b03065a8c2ffc 8348597: Update HarfBuzz to 10.4.0 Reviewed-by: erikj, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/colrv1-closure.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/CPAL/CPAL.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/svg/svg.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Anchor.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Common.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/types.hh + src/java.desktop/share/native/libharfbuzz/OT/Var/VARC/VARC.hh + src/java.desktop/share/native/libharfbuzz/OT/Var/VARC/coord-setter.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh - src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh - src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh ! src/java.desktop/share/native/libharfbuzz/OT/name/name.hh ! src/java.desktop/share/native/libharfbuzz/UPDATING.txt ! src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-ankr-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-bsln-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-feat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-just-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-kerx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-opbd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-ltag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-dict-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff2-interp-cs.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-config.hh ! src/java.desktop/share/native/libharfbuzz/hb-cplusplus.hh + src/java.desktop/share/native/libharfbuzz/hb-decycler.hh ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-draw.h ! src/java.desktop/share/native/libharfbuzz/hb-draw.hh ! src/java.desktop/share/native/libharfbuzz/hb-face-builder.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.hh ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-ft.h + src/java.desktop/share/native/libharfbuzz/hb-geometry.hh ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh ! src/java.desktop/share/native/libharfbuzz/hb-limits.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-face-table-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-hhea-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-kern-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-jstf-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-maxp-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hebrew.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh + src/java.desktop/share/native/libharfbuzz/hb-ot-var-varc-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-paint-extents.hh ! src/java.desktop/share/native/libharfbuzz/hb-paint.h ! src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh ! src/java.desktop/share/native/libharfbuzz/hb-repacker.hh ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-style.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc + src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-iup.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh + src/java.desktop/share/native/libharfbuzz/hb-subset-serialize.h ! src/java.desktop/share/native/libharfbuzz/hb-subset.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset.h ! src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-utf.hh ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: 73465b98 Branch: hermetic-java-runtime Author: jeremy Committer: Phil Race Date: 2025-03-10 18:32:15 +0000 URL: https://git.openjdk.org/leyden/commit/73465b9866da8e97e557d6ad80a95568ada3ee01 8160327: Support for thumbnails present in APP1 marker for JPEG Reviewed-by: prr + src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/ExifMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/JpegExifThumbnailTest.java + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/SV650.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/bad-timestamp.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/corrupt-magic-number.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/jfif-and-exif.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/malicious-looping-IFD.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/plastic-wrap.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/uncompressed-exif-thumbnail.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/unusual-ImageFileDirectory.jpeg Changeset: 8d8bd0c4 Branch: hermetic-java-runtime Author: Fernando Guallini Committer: Rajan Halade Date: 2025-03-10 19:51:16 +0000 URL: https://git.openjdk.org/leyden/commit/8d8bd0c4b3bfdc7670bba03b01b0a00dac9f9825 8349492: Update sun/security/pkcs12/KeytoolOpensslInteropTest.java to use a recent Openssl version Reviewed-by: rhalade ! test/jdk/sun/security/pkcs12/KeytoolOpensslInteropTest.java ! test/lib/jdk/test/lib/security/OpensslArtifactFetcher.java Changeset: ffa63409 Branch: hermetic-java-runtime Author: Roger Riggs Date: 2025-03-10 23:05:19 +0000 URL: https://git.openjdk.org/leyden/commit/ffa63409884e9a2d41f5223ab5962980edbb008c 8351567: Jar Manifest test ValueUtf8Coding produces misleading diagnostic output Reviewed-by: lancea, bpb, iris ! test/jdk/java/util/jar/Manifest/ValueUtf8Coding.java Changeset: f984c2b3 Branch: hermetic-java-runtime Author: Brian Burkhalter Date: 2025-03-10 23:58:12 +0000 URL: https://git.openjdk.org/leyden/commit/f984c2b32d7a1420f93424e1d48f06dfbca659e9 8351505: (fs) Typo in the documentation of java.nio.file.spi.FileSystemProvider.getFileSystem() Reviewed-by: alanb, lancea, iris ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Changeset: 59282092 Branch: hermetic-java-runtime Author: Kuai Wei Committer: Shaojin Wen Date: 2025-03-11 02:07:19 +0000 URL: https://git.openjdk.org/leyden/commit/5928209280e7a655a22f11bc03eae32a4e99756c 8347405: MergeStores with reverse bytes order value Co-authored-by: Richard Reingruber Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/memnode.cpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 8a5ed47f Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-11 06:49:58 +0000 URL: https://git.openjdk.org/leyden/commit/8a5ed47f00d74d4eb0d2b8027fb92ff2f5c30163 8350148: Native stack overflow when writing Java heap objects into AOT cache Reviewed-by: iveresov, matsaave ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp Changeset: 4cf63160 Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-11 07:10:31 +0000 URL: https://git.openjdk.org/leyden/commit/4cf63160ad575d49dbe70f128cd36aba22b8f2ff 8351414: C2: MergeStores must happen after RangeCheck smearing Reviewed-by: chagedorn, qamai ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phasetype.hpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java Changeset: cd9f1d3d Branch: hermetic-java-runtime Author: Abhishek Kumar Date: 2025-03-11 09:05:04 +0000 URL: https://git.openjdk.org/leyden/commit/cd9f1d3d921531511a7552807d099d5d3cce01a6 8286204: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS Reviewed-by: honkar, kizune, asemenov ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java + test/jdk/javax/accessibility/TestJSpinnerAccessibility.java Changeset: 0de2cddf Branch: hermetic-java-runtime Author: Alan Bateman Date: 2025-03-11 11:26:47 +0000 URL: https://git.openjdk.org/leyden/commit/0de2cddf3a7be23f67af93972875af1235f3107e 8351458: (ch) Move preClose to UnixDispatcher Reviewed-by: bpb, jpai ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/NativeDispatcher.java ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/DatagramDispatcher.java ! src/java.base/unix/classes/sun/nio/ch/SinkChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/SocketDispatcher.java ! src/java.base/unix/classes/sun/nio/ch/SourceChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/UnixDispatcher.java ! src/java.base/windows/classes/sun/nio/ch/DatagramDispatcher.java ! src/java.base/windows/classes/sun/nio/ch/SocketDispatcher.java Changeset: 83de3404 Branch: hermetic-java-runtime Author: Boris Ulasevich Date: 2025-03-11 12:33:36 +0000 URL: https://git.openjdk.org/leyden/commit/83de34041eacdf987988364487712c79bbb4c235 8343789: Move mutable nmethod data out of CodeCache Reviewed-by: kvn, dlong ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java Changeset: af9af7e9 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-11 12:51:22 +0000 URL: https://git.openjdk.org/leyden/commit/af9af7e90f7dab5adc7b89b76eb978d269e863de 8351145: RISC-V: only enable some crypto intrinsic when AvoidUnalignedAccess == false Reviewed-by: fyang, rehn ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: b957e5ed Branch: hermetic-java-runtime Author: Harald Eilertsen Date: 2025-03-11 15:11:10 +0000 URL: https://git.openjdk.org/leyden/commit/b957e5ed1a8b77e01aad1bb574e4914131cdbfa6 8351322: Parameterize link option for pthreads Reviewed-by: erikj, ihse, dholmes ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.template ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.sctp/Lib.gmk ! make/test/JtregNativeHotspot.gmk Changeset: 0ad9a104 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-11 15:27:36 +0000 URL: https://git.openjdk.org/leyden/commit/0ad9a104e2fed2dd80494cec22e9d9332d37821b 8351146: JFR: JavaMonitorInflate event should default to no threshold and be disabled Reviewed-by: coleenp, egahlin ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: 030c85de Branch: hermetic-java-runtime Author: Richard Reingruber Date: 2025-03-11 15:54:49 +0000 URL: https://git.openjdk.org/leyden/commit/030c85de1376123615e804f98084cb3723205819 8350106: [PPC] Avoid ticks_unknown_not_Java AsyncGetCallTrace() if JavaFrameAnchor::_last_Java_pc not set Reviewed-by: mdoerr ! src/hotspot/os_cpu/aix_ppc/javaThread_aix_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/javaThread_linux_ppc.cpp Changeset: da2b4f07 Branch: hermetic-java-runtime Author: Mikael Vidstedt Date: 2025-03-11 16:02:25 +0000 URL: https://git.openjdk.org/leyden/commit/da2b4f0749dffc99fa42c7311fbc74231af273bd 8351606: Use build_platform for graphviz dependency Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: cef36931 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-11 19:38:29 +0000 URL: https://git.openjdk.org/leyden/commit/cef369317570f95ac70aac6ceea88a0042ca2b45 8351656: Problemlist gc/TestAllocHumongousFragment#generational Reviewed-by: xpeng, wkemper ! test/hotspot/jtreg/ProblemList.txt Changeset: e71f3274 Branch: hermetic-java-runtime Author: Chen Liang Date: 2025-03-11 19:51:47 +0000 URL: https://git.openjdk.org/leyden/commit/e71f3274a9de4006bc8cdfe4ba1bd12a8867a11a 8351045: ClassValue::remove cannot ensure computation observes up-to-date state Reviewed-by: rriggs, jrose ! src/java.base/share/classes/java/lang/ClassValue.java ! test/jdk/java/lang/invoke/ClassValueTest.java Changeset: 9a494181 Branch: hermetic-java-runtime Author: Artur Barashev Committer: Weijun Wang Date: 2025-03-11 20:07:10 +0000 URL: https://git.openjdk.org/leyden/commit/9a49418138b93bc8ed8879be5c9b9b9c85ef47e1 8345940: Migrate security-related resources from Java classes to properties files Reviewed-by: jlu, weijun, erikj ! make/modules/java.base/Gensrc.gmk ! make/modules/jdk.jartool/Gensrc.gmk ! src/java.base/share/classes/sun/security/tools/keytool/Main.java - src/java.base/share/classes/sun/security/tools/keytool/Resources.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_HK.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_es.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_fr.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_it.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ko.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_pt_BR.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_sv.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_TW.properties - src/java.base/share/classes/sun/security/util/AuthResources.java - src/java.base/share/classes/sun/security/util/AuthResources_de.java - src/java.base/share/classes/sun/security/util/AuthResources_es.java - src/java.base/share/classes/sun/security/util/AuthResources_fr.java - src/java.base/share/classes/sun/security/util/AuthResources_it.java - src/java.base/share/classes/sun/security/util/AuthResources_ja.java - src/java.base/share/classes/sun/security/util/AuthResources_ko.java - src/java.base/share/classes/sun/security/util/AuthResources_pt_BR.java - src/java.base/share/classes/sun/security/util/AuthResources_sv.java - src/java.base/share/classes/sun/security/util/AuthResources_zh_CN.java - src/java.base/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/java.base/share/classes/sun/security/util/LocalizedMessage.java - src/java.base/share/classes/sun/security/util/Resources.java ! src/java.base/share/classes/sun/security/util/ResourcesMgr.java - src/java.base/share/classes/sun/security/util/Resources_de.java - src/java.base/share/classes/sun/security/util/Resources_es.java - src/java.base/share/classes/sun/security/util/Resources_fr.java - src/java.base/share/classes/sun/security/util/Resources_it.java - src/java.base/share/classes/sun/security/util/Resources_ja.java - src/java.base/share/classes/sun/security/util/Resources_ko.java - src/java.base/share/classes/sun/security/util/Resources_pt_BR.java - src/java.base/share/classes/sun/security/util/Resources_sv.java - src/java.base/share/classes/sun/security/util/Resources_zh_CN.java - src/java.base/share/classes/sun/security/util/Resources_zh_TW.java + src/java.base/share/classes/sun/security/util/resources/auth.properties + src/java.base/share/classes/sun/security/util/resources/auth_de.properties + src/java.base/share/classes/sun/security/util/resources/auth_es.properties + src/java.base/share/classes/sun/security/util/resources/auth_fr.properties + src/java.base/share/classes/sun/security/util/resources/auth_it.properties + src/java.base/share/classes/sun/security/util/resources/auth_ja.properties + src/java.base/share/classes/sun/security/util/resources/auth_ko.properties + src/java.base/share/classes/sun/security/util/resources/auth_pt_BR.properties + src/java.base/share/classes/sun/security/util/resources/auth_sv.properties + src/java.base/share/classes/sun/security/util/resources/auth_zh_CN.properties + src/java.base/share/classes/sun/security/util/resources/auth_zh_TW.properties + src/java.base/share/classes/sun/security/util/resources/security.properties + src/java.base/share/classes/sun/security/util/resources/security_de.properties + src/java.base/share/classes/sun/security/util/resources/security_es.properties + src/java.base/share/classes/sun/security/util/resources/security_fr.properties + src/java.base/share/classes/sun/security/util/resources/security_it.properties + src/java.base/share/classes/sun/security/util/resources/security_ja.properties + src/java.base/share/classes/sun/security/util/resources/security_ko.properties + src/java.base/share/classes/sun/security/util/resources/security_pt_BR.properties + src/java.base/share/classes/sun/security/util/resources/security_sv.properties + src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties + src/java.base/share/classes/sun/security/util/resources/security_zh_TW.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! test/jdk/sun/security/util/Resources/Usages.java ! test/jdk/sun/security/util/Resources/customSysClassLoader/MessageFormatting.java Changeset: 64464eab Branch: hermetic-java-runtime Author: Coleen Phillimore Date: 2025-03-11 20:32:21 +0000 URL: https://git.openjdk.org/leyden/commit/64464eab6291ee498fe677e90bcb8980fe8a9a3c 8351673: Clean up a case of if (LockingMode == LM_LIGHTWEIGHT) in a legacy-only locking mode function Reviewed-by: pchilanomate ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 1dd9cf10 Branch: hermetic-java-runtime Author: Karm Michal Babacek Date: 2025-03-11 21:16:14 +0000 URL: https://git.openjdk.org/leyden/commit/1dd9cf1018f33af34f1f822cb0d1dc706353bbdf 8349099: java/awt/Headless/HeadlessMalfunctionTest.java fails on CI with Compilation error Reviewed-by: aivanov, sgehwolf, prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Headless/HeadlessMalfunctionAgent.java ! test/jdk/java/awt/Headless/HeadlessMalfunctionTest.java Changeset: 4412c079 Branch: hermetic-java-runtime Author: Jaikiran Pai Date: 2025-03-12 06:55:04 +0000 URL: https://git.openjdk.org/leyden/commit/4412c079fccefbb235b22651206089f5bac47d18 8351639: Improve debuggability of test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java test Reviewed-by: jlahoda ! test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java Changeset: 1d147ccb Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-12 07:20:48 +0000 URL: https://git.openjdk.org/leyden/commit/1d147ccb4cfcb1da23664ac941e56ac542a7ac61 8351484: Race condition in max stats in MonitorList::add Reviewed-by: pchilanomate, zgu ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! test/hotspot/gtest/runtime/test_synchronizer.cpp Changeset: 1fe45265 Branch: hermetic-java-runtime Author: Manuel H?ssig Committer: Tobias Hartmann Date: 2025-03-12 08:43:58 +0000 URL: https://git.openjdk.org/leyden/commit/1fe45265e446eeca5dc496085928ce20863a3172 8350194: Last 2 parameters of ReturnNode::ReturnNode are swapped in the declaration Reviewed-by: thartmann, epeter ! src/hotspot/share/opto/callnode.hpp Changeset: 4be502ea Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-12 10:22:44 +0000 URL: https://git.openjdk.org/leyden/commit/4be502ea38b37d5fb532b64e5b82363805bfe657 8350642: Interpreter: Upgrade CountBytecodes to 64 bit on 64 bit platforms Reviewed-by: lmesnik, mdoerr, shade ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/runtime/interpreter/CountBytecodesTest.java Changeset: 84f87dd4 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-12 12:21:28 +0000 URL: https://git.openjdk.org/leyden/commit/84f87dd4e96bbea42b482a3a23383c8894a40868 8351665: Remove unused UseNUMA in os_aix.cpp Reviewed-by: mdoerr, jkern ! src/hotspot/os/aix/os_aix.cpp Changeset: 95b66d5a Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-03-12 12:31:37 +0000 URL: https://git.openjdk.org/leyden/commit/95b66d5a43a77b257a097afe5df369f92769abd2 8351700: Remove code conditional on BarrierSetNMethod being null Reviewed-by: shade, eosterlund, never ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/g1/g1NMethodClosure.cpp ! src/hotspot/share/gc/shared/barrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/memory/iterator.cpp Changeset: 3b189e0e Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-12 13:24:42 +0000 URL: https://git.openjdk.org/leyden/commit/3b189e0e78c867b75e984bfaabc92d12b9ff2b9e 8351345: [IR Framework] Improve reported disabled IR verification messages Reviewed-by: chagedorn, epeter ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java Changeset: a21fa463 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-12 14:40:43 +0000 URL: https://git.openjdk.org/leyden/commit/a21fa463c4f8d067c18c09a072f3cdfa772aea5e 8351309: test/hotspot/jtreg/runtime/posixSig/TestPosixSig.java fails on static-jdk Reviewed-by: manc, ihse, stuefe ! make/modules/java.base/Lib.gmk Changeset: f16a7426 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-12 15:53:54 +0000 URL: https://git.openjdk.org/leyden/commit/f16a74260f329ccef51faa2e375bce5947057a49 8351626: Update remaining icons to SVG format Reviewed-by: nbenalla, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/glass.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/glass.svg + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/left.svg + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/right.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/x.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/x.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Entity.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testFonts/TestFonts.java ! test/langtools/jdk/javadoc/doclet/testPassthruFiles/TestPassThruFiles.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 23716967 Branch: hermetic-java-runtime Author: Rajan Halade Date: 2025-03-12 17:19:41 +0000 URL: https://git.openjdk.org/leyden/commit/2371696781edc040d8fa8133c78b284a2e3de1ed 8303770: Remove Baltimore root certificate expiring in May 2025 Reviewed-by: shade, mullan - src/java.base/share/data/cacerts/baltimorecybertrustca ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 02c850fc Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-12 17:20:16 +0000 URL: https://git.openjdk.org/leyden/commit/02c850fca87372173eadba18dfa0231df33bebb0 8350982: -server|-client causes fatal exception on static JDK Reviewed-by: iklam, alanb ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndHeapDump.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndLoadKlass.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNonExactAllocate.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNullableLoads.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndPointerComparisons.java ! test/hotspot/jtreg/compiler/escapeAnalysis/TestIterativeEA.java ! test/hotspot/jtreg/compiler/escapeAnalysis/TestReduceAllocationAndNonReduciblePhi.java ! test/hotspot/jtreg/compiler/inlining/InlineBimorphicVirtualCallAfterMorphismChanged.java ! test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxIntrinsics.java ! test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithG1.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithParallel.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithSerial.java ! test/hotspot/jtreg/runtime/CDSCompressedKPtrs/XShareAuto.java Changeset: db531bf7 Branch: hermetic-java-runtime Author: Nizar Benalla Date: 2025-03-12 18:56:58 +0000 URL: https://git.openjdk.org/leyden/commit/db531bf7df517eb6a07080aceb2a88a3b90d5e94 8351881: Tidy complains about missing "alt" attribute Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java Changeset: 895f64a1 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-12 19:25:08 +0000 URL: https://git.openjdk.org/leyden/commit/895f64a18d7c752332ef9255c0b118bf25bdbb90 8351142: Add JFR monitor deflation and statistics events Reviewed-by: egahlin, dholmes, lmesnik ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/runtime/lightweightSynchronizer.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/runtime/TestJavaMonitorDeflateEvent.java + test/jdk/jdk/jfr/event/runtime/TestJavaMonitorStatisticsEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 930455b5 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-12 19:45:31 +0000 URL: https://git.openjdk.org/leyden/commit/930455b59608b547017c9649efeb6bd381340c34 8351640: Print reason for making method not entrant Co-authored-by: Vladimir Ivanov Reviewed-by: vlivanov, kvn ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java Changeset: cdf7632f Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-12 20:12:53 +0000 URL: https://git.openjdk.org/leyden/commit/cdf7632f8a85611077a27c91ad928ed8ea116f95 8351444: Shenandoah: Class Unloading may encounter recycled oops Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 5502ce73 Branch: hermetic-java-runtime Author: Chris Plummer Date: 2025-03-12 20:39:38 +0000 URL: https://git.openjdk.org/leyden/commit/5502ce733e77efa9f40116dd0e34d4d2333a48dc 8351699: Problem list com/sun/jdi/JdbStopInNotificationThreadTest.java with ZGC Reviewed-by: amenkov ! test/jdk/ProblemList-zgc.txt Changeset: a347ecde Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-12 20:42:41 +0000 URL: https://git.openjdk.org/leyden/commit/a347ecdedc098bd23598ba6acf28d77db01be066 8350905: Shenandoah: Releasing a WeakHandle's referent may extend its lifetime Reviewed-by: shade, ysr ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 41cc049f Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-03-13 03:36:50 +0000 URL: https://git.openjdk.org/leyden/commit/41cc049f425e0b7c90ad3870102366a836eb2209 8350840: C2: x64 Assembler::vpcmpeqq assert: failed: XMM register should be 0-15 Reviewed-by: sviswanathan, kvn ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! test/jdk/ProblemList.txt Changeset: a7ad4144 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-13 04:57:43 +0000 URL: https://git.openjdk.org/leyden/commit/a7ad4144c8663ed54b9b22cad5fc677273ae9e5c 8351327: -XX:AOTMode=record interferes with application execution Reviewed-by: shade, kvn, matsaave ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/metaspaceShared.cpp + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/TrainingRun.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: 0e7d460e Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-13 08:12:38 +0000 URL: https://git.openjdk.org/leyden/commit/0e7d460e4f95cb0209f9b815fe8c9846de4c9b7e 8351662: [Test] RISC-V: enable bunch of IR test Reviewed-by: fyang, rehn, tonyp ! test/hotspot/jtreg/compiler/c2/irTests/RotateLeftNodeIntIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/RotateLeftNodeLongIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVecCountingDownLoop.java ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVectorization2DArray.java ! test/hotspot/jtreg/compiler/c2/irTests/TestIRAbs.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMinMaxIdentities.java ! test/hotspot/jtreg/compiler/c2/irTests/TestPhiDuplicatedConversion.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeTypeConversion.java ! test/hotspot/jtreg/compiler/vectorization/TestAutoVecIntMinMax.java ! test/hotspot/jtreg/compiler/vectorization/TestBufferVectorization.java ! test/hotspot/jtreg/compiler/vectorization/TestOptionVectorizeIR.java ! test/hotspot/jtreg/compiler/vectorization/TestPopulateIndex.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayCopyTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopControlFlowTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/StripMinedLoopTest.java Changeset: 6241d096 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-13 08:12:56 +0000 URL: https://git.openjdk.org/leyden/commit/6241d09657fdd2bbd4f02cf6361df8bd07216147 8351861: RISC-V: add simple assert at arrays_equals_v Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp Changeset: a33b1f7f Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-13 08:16:53 +0000 URL: https://git.openjdk.org/leyden/commit/a33b1f7f640e0a9e76d2a686734e472a87d809bf 8345298: RISC-V: Add riscv backend for Float16 operations - scalar Reviewed-by: rehn, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! test/hotspot/jtreg/compiler/c2/irTests/ConvF2HFIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/MulHFNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestFloat16ScalarOperations.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java Changeset: 86860cac Branch: hermetic-java-runtime Author: Casper Norrbin Committer: Albert Mingkun Yang Date: 2025-03-13 09:35:59 +0000 URL: https://git.openjdk.org/leyden/commit/86860cac044e6f464732753670b14a80c1fef438 8346916: [REDO] align_up has potential overflow Reviewed-by: ayang, kbarrett, dlong ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/utilities/align.hpp ! test/hotspot/gtest/utilities/test_align.cpp Changeset: c18494d3 Branch: hermetic-java-runtime Author: Jeremy Wood Date: 2025-03-13 10:08:49 +0000 URL: https://git.openjdk.org/leyden/commit/c18494d3c9eebd9d97d95fbca712d59ccab2f124 8351108: ImageIO.write(..) fails with exception when writing JPEG with IndexColorModel Reviewed-by: aivanov, prr, azvegint ! src/java.desktop/share/classes/javax/imageio/ImageTypeSpecifier.java + test/jdk/javax/imageio/plugins/jpeg/JpegWriterWriteNonOpaqueIndexColorModelTest.java Changeset: 9c003314 Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Roberto Casta?eda Lozano Date: 2025-03-13 11:02:44 +0000 URL: https://git.openjdk.org/leyden/commit/9c00331465fe83e491f6dd1e6df4df1fb790f2fc 8330469: C2: Remove or change "PrintOpto && VerifyLoopOptimizations" as printing code condition Reviewed-by: chagedorn, rcastanedalo ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/split_if.cpp Changeset: 4c5956d7 Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-13 11:14:52 +0000 URL: https://git.openjdk.org/leyden/commit/4c5956d7481e043c35f5dc78f095516288a00a2e 8350866: [x86] Add C1 intrinsics for CRC32-C Reviewed-by: mdoerr, kvn ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/opto/library_call.cpp Changeset: 375722f4 Branch: hermetic-java-runtime Author: Fei Yang Date: 2025-03-13 12:06:17 +0000 URL: https://git.openjdk.org/leyden/commit/375722f4ab62865c45d8d76f01dc9c7209be57c8 8351839: RISC-V: Fix base offset calculation introduced in JDK-8347489 Reviewed-by: mli, fjiang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: c3db6671 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-13 12:41:57 +0000 URL: https://git.openjdk.org/leyden/commit/c3db667156f7e6b7d05c76370973b9f2db9f0d55 8351542: LIBMANAGEMENT_OPTIMIZATION remove special optimization settings Reviewed-by: ihse, kevinw ! make/modules/java.management/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: 82eb7806 Branch: hermetic-java-runtime Author: Sean Mullan Date: 2025-03-13 12:43:04 +0000 URL: https://git.openjdk.org/leyden/commit/82eb78069ffbaf66ae479d41d850d5999055e0e1 8351349: GSSUtil.createSubject has outdated access control context and policy related text Reviewed-by: weijun ! src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java Changeset: 7e3bc81e Branch: hermetic-java-runtime Author: Joel Sikstr?m Date: 2025-03-13 13:21:57 +0000 URL: https://git.openjdk.org/leyden/commit/7e3bc81e885071352fceab01015d7deef067a27a 8351216: ZGC: Store NUMA node count Reviewed-by: tschatzl, sjohanss, eosterlund ! src/hotspot/os/bsd/gc/z/zNUMA_bsd.cpp ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/windows/gc/z/zNUMA_windows.cpp ! src/hotspot/share/gc/z/zNUMA.cpp ! src/hotspot/share/gc/z/zNUMA.hpp ! src/hotspot/share/gc/z/zNUMA.inline.hpp ! src/hotspot/share/gc/z/zPageCache.cpp Changeset: 4e51a8c9 Branch: hermetic-java-runtime Author: Galder Zamarre?o Date: 2025-03-13 13:53:54 +0000 URL: https://git.openjdk.org/leyden/commit/4e51a8c9ad4e5345d05cf32ce1e82b7158f80e93 8307513: C2: intrinsify Math.max(long,long) and Math.min(long,long) Reviewed-by: roland, epeter, chagedorn, darcy ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/java.base/share/classes/java/lang/Math.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMinMaxIdentities.java + test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxInlining.java + test/hotspot/jtreg/compiler/loopopts/superword/MinMaxRed_Long.java + test/micro/org/openjdk/bench/java/lang/MinMaxVector.java Changeset: 37ec7962 Branch: hermetic-java-runtime Author: Thomas Stuefe Date: 2025-03-13 16:08:08 +0000 URL: https://git.openjdk.org/leyden/commit/37ec796255ae857588a5c7e0d572407dd81cbec9 8351500: G1: NUMA migrations cause crashes in region allocation Reviewed-by: rkennke, sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1Allocator.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 0ff1c083 Branch: hermetic-java-runtime Author: Henry Jen Date: 2025-03-13 16:44:06 +0000 URL: https://git.openjdk.org/leyden/commit/0ff1c0832e7d2ca70f344e933d86a5d16fdcabe0 8349984: (jdeps) jdeps can use String.repeat instead of String.replaceAll Reviewed-by: alanb ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageResourcesTree.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java Changeset: 771e160d Branch: hermetic-java-runtime Author: Harald Eilertsen Date: 2025-03-13 16:54:54 +0000 URL: https://git.openjdk.org/leyden/commit/771e160da4daa98bfe37bf1acba65454c088910c 8351323: Parameterize compiler and linker flags for iconv Reviewed-by: ihse, erikj ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.template ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.instrument/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk Changeset: b50fe9b8 Branch: hermetic-java-runtime Author: Rajat Mahajan Committer: Alexey Ivanov Date: 2025-03-13 17:09:17 +0000 URL: https://git.openjdk.org/leyden/commit/b50fe9b8cc39730d3339e45a83b365ab3dd8a5da 8280818: Expand bug8033699.java to iterate over all LaFs Reviewed-by: dnguyen, aivanov, honkar, abhiscxk ! test/jdk/javax/swing/JRadioButton/8033699/bug8033699.java Changeset: 03ef79cf Branch: hermetic-java-runtime Author: Eric Caspole Date: 2025-03-13 18:32:15 +0000 URL: https://git.openjdk.org/leyden/commit/03ef79cf05bdcfc3bb126d004f8f039fb2f4ba9f 8346470: Improve WriteBarrier JMH to have old-to-young refs Reviewed-by: tschatzl ! test/micro/org/openjdk/bench/vm/compiler/WriteBarrier.java Changeset: 248c373b Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-13 19:21:11 +0000 URL: https://git.openjdk.org/leyden/commit/248c373b5b066b6b3eaa5a7461f30733f30b0a13 8351266: JFR: -XX:StartFlightRecording:report-on-exit Reviewed-by: mgronlun ! src/java.base/share/man/java.md ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdQuery.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdView.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/QueryRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/Configuration.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/QueryPrinter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/query/Report.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/ViewPrinter.java + test/jdk/jdk/jfr/startupargs/TestStartReportOnExit.java Changeset: cd1be917 Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-03-13 20:05:49 +0000 URL: https://git.openjdk.org/leyden/commit/cd1be9175714186b8881a4d08628fdfcc9382bbc 8319055: JCMD should not buffer the whole output of commands Reviewed-by: stuefe, jsjolen ! src/hotspot/os/posix/attachListener_posix.cpp ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/attachListener.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java + test/hotspot/jtreg/serviceability/attach/AttachAPIv2/StreamingOutputTest.java ! test/hotspot/jtreg/serviceability/dcmd/compiler/CodeHeapAnalyticsParams.java Changeset: aa047ee0 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-03-13 20:13:29 +0000 URL: https://git.openjdk.org/leyden/commit/aa047ee02472c65297cc8a153458e634c5e4f350 8319192: Remove javax.swing.plaf.synth.SynthLookAndFeel.load(URL url) Reviewed-by: azvegint, tr ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Changeset: 3da5e3fe Branch: hermetic-java-runtime Author: Gennadiy Krivoshein Date: 2025-03-13 20:27:13 +0000 URL: https://git.openjdk.org/leyden/commit/3da5e3fe10350f9bf0ff8c6b8d9aad3f50646364 8349350: Unable to print using InputSlot and OutputBin print attributes at the same time Reviewed-by: prr, kizune, psadhukhan ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java ! src/java.desktop/unix/classes/sun/print/UnixPrintJob.java + test/jdk/javax/print/PrintExecCmdOptionTest.java + test/jdk/javax/print/UnixPrintJobOptionsTest.java Changeset: 7fc776e2 Branch: hermetic-java-runtime Author: Daniel Gredler Committer: Phil Race Date: 2025-03-13 20:27:27 +0000 URL: https://git.openjdk.org/leyden/commit/7fc776e2ace920a3b1b319c021e6d3d440305b5e 8270265: LineBreakMeasurer calculates incorrect line breaks with zero-width characters Reviewed-by: achung, prr ! src/java.desktop/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/java.desktop/share/native/libfontmanager/HBShaper.c ! src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c ! src/java.desktop/share/native/libfontmanager/hb-jdk-p.h ! src/java.desktop/share/native/libfontmanager/hb-jdk.h ! test/jdk/java/awt/font/TextLayout/FormatCharAdvanceTest.java Changeset: be36b234 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-13 21:06:00 +0000 URL: https://git.openjdk.org/leyden/commit/be36b234319f1ed89ea4f4ee29471b01c1dc89f2 8351778: JIT compiler fails when running -XX:AOTMode=create Reviewed-by: shade, kvn, vlivanov ! src/hotspot/share/classfile/symbolTable.cpp Changeset: 04544064 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-03-13 22:29:42 +0000 URL: https://git.openjdk.org/leyden/commit/0454406417701341dafa0d733cd480c145673d32 8351987: ProblemList the failing JFR streaming tests on macOS Reviewed-by: egahlin ! test/jdk/ProblemList.txt Changeset: a7a09f69 Branch: hermetic-java-runtime Author: Anjian-Wen Committer: Fei Yang Date: 2025-03-14 05:53:04 +0000 URL: https://git.openjdk.org/leyden/commit/a7a09f69abc6c4730599d3de9067c2fde75c5172 8349632: RISC-V: Add Zfa?fminm/fmaxm Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: e3c29c9e Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-14 07:46:46 +0000 URL: https://git.openjdk.org/leyden/commit/e3c29c9e6cff7648952c0ba359b0763a0ea8da18 8351556: Optimize Location.locationFor/isModuleOrientedLocation Reviewed-by: liach, jlahoda ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/java.compiler/share/classes/javax/tools/StandardLocation.java + test/langtools/tools/javac/api/location/LocationFor.java + test/micro/org/openjdk/bench/javax/tools/LocationFor.java + test/micro/org/openjdk/bench/javax/tools/LocationProps.java Changeset: 65c5282f Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-14 12:13:18 +0000 URL: https://git.openjdk.org/leyden/commit/65c5282f4b83343062571736b7d34ddb147ea39c 8351938: C2: Print compilation bailouts with PrintCompilation compile command Reviewed-by: epeter, thartmann, kvn, galder ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 86b24339 Branch: hermetic-java-runtime Author: Tobias Hartmann Date: 2025-03-14 12:46:18 +0000 URL: https://git.openjdk.org/leyden/commit/86b24339dc05422f61e10023f97a9013e2c03a15 8352050: Problem list compiler/ciReplay/* test until JDK-8349191 is fixed Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 985ca127 Branch: hermetic-java-runtime Author: Fei Yang Date: 2025-03-14 13:44:29 +0000 URL: https://git.openjdk.org/leyden/commit/985ca1270e8d9bc041e50c2e9dd22bfeb0113e6e 8352011: RISC-V: Two IR tests fail after JDK-8351662 Reviewed-by: syan, mli ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVecCountingDownLoop.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeTypeConversion.java Changeset: 712a70c5 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-14 15:07:29 +0000 URL: https://git.openjdk.org/leyden/commit/712a70c5c44ac1fe916ceb1fff854d689b79b126 8318220: RISC-V: C2 ReverseI 8318221: RISC-V: C2 ReverseL Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_b.ad ! src/hotspot/cpu/riscv/vm_version_riscv.hpp + test/hotspot/jtreg/compiler/c2/riscv64/TestIntegerReverse.java + test/hotspot/jtreg/compiler/c2/riscv64/TestLongReverse.java + test/hotspot/jtreg/compiler/lib/golden/GoldenReverse.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: 7f428041 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-14 16:25:23 +0000 URL: https://git.openjdk.org/leyden/commit/7f42804148fca3fb6ff669c35c4086c9fafc7ad3 8350524: Some hotspot/jtreg/serviceability/dcmd/vm tier1 tests fail on static JDK Reviewed-by: stuefe ! test/hotspot/jtreg/serviceability/dcmd/vm/DynLibsTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemDumpMapTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemMapTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemMapTestBase.java Changeset: 0460978e Branch: hermetic-java-runtime Author: Ian Graves Date: 2025-03-14 17:50:42 +0000 URL: https://git.openjdk.org/leyden/commit/0460978e7c769624cacdb528277a99914b327e30 8351096: Typos in Vector API doc Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.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/Float16.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/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMath.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/package-info.java Changeset: d52de3c4 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-14 12:35:04 +0000 URL: https://git.openjdk.org/leyden/commit/d52de3c452a19e789c7f2d29427de7d85d626573 Merge branch 'master' into hermetic-java-runtime ! make/autoconf/spec.gmk.template ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java ! make/autoconf/spec.gmk.template ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java From jrose at openjdk.org Fri Mar 14 20:31:07 2025 From: jrose at openjdk.org (John R Rose) Date: Fri, 14 Mar 2025 20:31:07 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` Really nice, thanks. What motivated the type change on `CompileTaskAlloc_lock`? Some kind of end-of-time effect that broke the mutex grab? ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2725683821 From henryjen at openjdk.org Fri Mar 14 22:00:09 2025 From: henryjen at openjdk.org (Henry Jen) Date: Fri, 14 Mar 2025 22:00:09 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 19:20:40 GMT, Jiangli Zhou wrote: >> Sorry @jianglizhou, I did not properly read the second part of your suggestion, to create a `liblauncher.o` out of `main.o`. Well, tbh, this is just JDK-8351367 all over again. If we should include "optional" libraries in the jmods, we need to figure out first how to handle them. How should they be marked/classified as optional or required? How should the user tell jlink to include or exclude them? If we do get a good answer to that question, then we can introduce an optional `liblauncher.a` as well alongside `libjsig.a`. But until then, we should just stay clear of "optional" static libraries. > > I think for common cases, there would be no C/C++ `main()` function provided from user code with Java applications. The JDK `java` launcher's `main()` is the C/C++ entry point. So we do need to provide a static library with the C/C++ `main` function for linking the executable. > > With the customized launcher cases, the C/C++ `main()` is implemented by the customized launcher. Then, the JDK provided `main` entry point is not needed. > > @magicus, yes, this involves with the optional static library in the jmods, as you pointed out. I think for C/C++ `main`, supporting that is necessary. > > An alternative is to require Java application implement C/C++ `main()`. That doesn't seem to be an applaudable approach. I would prefer that thin wrapper is to be provided by the end tools(like jlink) which use the jmod to link an executable. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996336751 From shade at openjdk.org Fri Mar 14 22:55:13 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Fri, 14 Mar 2025 22:55:13 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 20:28:10 GMT, John R Rose wrote: > What motivated the type change on `CompileTaskAlloc_lock`? Some kind of end-of-time effect that broke the mutex grab? We now need wait/notify, so the lock is no longer a pure `Mutex`, it is `Monitor` now. ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2725952538 From jiangli at openjdk.org Fri Mar 14 23:12:05 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Fri, 14 Mar 2025 23:12:05 GMT Subject: RFR: 8347755: Support static library in jmod [v6] In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 21:57:23 GMT, Henry Jen wrote: > I would prefer that thin wrapper is to be provided by the end tools(like jlink) which use the jmod to link an executable. @slowhog Can you provide details on that? Do you suggest there would be a separate executable that provides the C/C++ `main` entry point as a thin wrapper? The binary that statically linked with the `libjvm.a`, `libjli.a` and etc would contain no C/C++ `main`? Is that binary linked as a shred library? Or, your proposal is to generate some C/C++ code with the `main()` function using jlink, then compile the C/C++ code and use that to link the executable? The issue that we want to solve here is to provide the C/C++ `main()` entry point for the executable for the final image. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/46#discussion_r1996411727 From gunnar.morling at googlemail.com Sat Mar 15 10:48:41 2025 From: gunnar.morling at googlemail.com (Gunnar Morling) Date: Sat, 15 Mar 2025 11:48:41 +0100 Subject: NotCompliantMBeanException during cache creation Message-ID: Hey all, I'm trying to run Apache Kafka with Project Leyden, using Java build 24+36-3646. I am following the steps laid out in JEP 483, yet when trying to create the ahead-of-time cache (via -XX:AOTMode=create -XX:AOTConfiguration=app.aotconf -XX:AOTCache=app.aot), I'm getting the following exception (full stacktrace at [1]): javax.management.NotCompliantMBeanException: com.sun.management.UnixOperatingSystemMXBean: During -Xshare:dump, module system cannot be modified after it's initialized Is there any way to analyse that problem, e.g. to identify the MBean in question? Thanks for any pointers, --Gunnar [1] https://gist.github.com/gunnarmorling/264bfde458c71152336be6faab115563 -------------- next part -------------- An HTML attachment was scrubbed... URL: From vlivanov at openjdk.org Sat Mar 15 14:10:07 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Sat, 15 Mar 2025 14:10:07 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` Thanks for taking care of it, Aleksey. Overall, looks good. `CompileTask::_active_tasks` feels a bit ad-hoc, but IMO it's fine for leyden-premain. Also, since AOT code preparation is a synchronous task during assembly phase, it makes sense to revise how many compiler threads are used. ------------- Marked as reviewed by vlivanov (Committer). PR Review: https://git.openjdk.org/leyden/pull/49#pullrequestreview-2687756004 From ioi.lam at oracle.com Sun Mar 16 02:12:50 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Sat, 15 Mar 2025 19:12:50 -0700 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: Could you send the exact command-line that causes the error? If you can share a self-contain reproducible test case, that would be great! Looking from the stack trace: ??? at jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.java:542) ??? at jdk.management.agent/jdk.internal.agent.Agent.startLocalManagementAgent(Agent.java:316) ??? at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:448) ??? at jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:601) It looks like you might have specified a Java agent in the "java -XX:AOTMode=create ...." command line. Can you try removing that and see if it works? Thanks - Ioi On 3/15/25 3:48 AM, Gunnar Morling wrote: > Hey all, > > I'm trying to run Apache Kafka with Project Leyden, using Java > build?24+36-3646. > > I am following the?steps laid out in JEP 483, yet when trying to > create the ahead-of-time cache (via -XX:AOTMode=create > -XX:AOTConfiguration=app.aotconf -XX:AOTCache=app.aot), I'm getting > the following exception (full stacktrace at [1]): > > javax.management.NotCompliantMBeanException: > com.sun.management.UnixOperatingSystemMXBean: During -Xshare:dump, > module system cannot be modified after it's initialized > > Is there any way to analyse that problem, e.g. to identify the MBean > in question? > > Thanks for any pointers, > > --Gunnar > > [1] https://gist.github.com/gunnarmorling/264bfde458c71152336be6faab115563 > From duke at openjdk.org Sun Mar 16 05:10:02 2025 From: duke at openjdk.org (duke) Date: Sun, 16 Mar 2025 05:10:02 GMT Subject: git: openjdk/leyden: premain: Cleanup. Remove unused code. Message-ID: Changeset: 415045e9 Branch: premain Author: Igor Veresov Date: 2025-03-15 22:06:07 +0000 URL: https://git.openjdk.org/leyden/commit/415045e94ff2c456b3b5aa1d7bc9685aa14fc052 Cleanup. Remove unused code. ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/oops/trainingData.hpp From alan.bateman at oracle.com Sun Mar 16 08:09:42 2025 From: alan.bateman at oracle.com (Alan Bateman) Date: Sun, 16 Mar 2025 08:09:42 +0000 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: On 16/03/2025 02:12, ioi.lam at oracle.com wrote: > Could you send the exact command-line that causes the error? If you > can share a self-contain reproducible test case, that would be great! > > Looking from the stack trace: > > ??? at > jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.java:542) > ??? at > jdk.management.agent/jdk.internal.agent.Agent.startLocalManagementAgent(Agent.java:316) > ??? at > jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:448) > ??? at > jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:601) > > It looks like you might have specified a Java agent in the "java > -XX:AOTMode=create ...." command line. Can you try removing that and > see if it works? I assume it's something started with -Dcom.sun.management=... to start the JMX agent. This sets in motion the registration of management beans and the JMX introspector machinery that looks at annotations and causes Proxy classes to be generated into dynamic modules. Ioi - I suspect the restriction on creating dynamic modules in the dump phase may be too restrictive. The full module graph dumping should only be concerned with the boot layer. -Alan From iklam at openjdk.org Mon Mar 17 02:04:12 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 17 Mar 2025 02:04:12 GMT Subject: git: openjdk/leyden: premain: 233 new changesets Message-ID: <568e71d2-a3f5-4688-b1ca-b6cc6cc10f88@openjdk.org> Changeset: 037e4711 Branch: premain Author: Calvin Cheung Date: 2025-02-25 23:49:52 +0000 URL: https://git.openjdk.org/leyden/commit/037e47112bdf2fa2324f7c58198f6d433f17d9fd 8350666: cmp-baseline builds fail after JDK-8280682 Reviewed-by: iklam ! src/hotspot/share/cds/aotClassLocation.cpp Changeset: f529bf71 Branch: premain Author: Patrick Zhang Committer: Andrew Haley Date: 2025-02-26 09:07:07 +0000 URL: https://git.openjdk.org/leyden/commit/f529bf712d8946584999dfc98abea60c22c97167 8350483: AArch64: turn on signum intrinsics by default on Ampere CPUs Reviewed-by: aph ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: a70eba8e Branch: premain Author: Thomas Stuefe Date: 2025-02-26 09:51:56 +0000 URL: https://git.openjdk.org/leyden/commit/a70eba8e4212c2c7125475f69b3952197e7a8ce3 8330174: Protection zone for easier detection of accidental zero-nKlass use Co-authored-by: Ioi Lam Reviewed-by: iklam, rkennke ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/cds/archiveUtils.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/include/cds.h ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/oops/compressedKlass.hpp ! src/hotspot/share/oops/compressedKlass.inline.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp + test/hotspot/jtreg/runtime/ErrorHandling/AccessZeroNKlassHitsProtectionZone.java ! test/lib/jdk/test/whitebox/WhiteBox.java Changeset: a4310464 Branch: premain Author: Tagir F. Valeev Date: 2025-02-26 10:08:29 +0000 URL: https://git.openjdk.org/leyden/commit/a43104640420fbd82868788ccd8a3a8e938f365a 8350518: org.openjdk.bench.java.util.TreeMapUpdate.compute fails with "java.lang.IllegalArgumentException: key out of range" Reviewed-by: liach, skuksenko ! test/micro/org/openjdk/bench/java/util/TreeMapUpdate.java Changeset: aac9cb45 Branch: premain Author: Thomas Schatzl Date: 2025-02-26 10:30:01 +0000 URL: https://git.openjdk.org/leyden/commit/aac9cb4537b13a4af123ae76f29359e851dc4c82 8349906: G1: Improve initial survivor rate for newly used young regions Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp Changeset: a0dd5654 Branch: premain Author: Thomas Schatzl Date: 2025-02-26 11:31:48 +0000 URL: https://git.openjdk.org/leyden/commit/a0dd56543219343306aea99b684b5e2cb04c7d76 8350643: G1: Make loop iteration variable type correspond to limit in G1SurvRateGroup Reviewed-by: ayang, kbarrett ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp Changeset: 1e18fffe Branch: premain Author: Coleen Phillimore Date: 2025-02-26 11:49:09 +0000 URL: https://git.openjdk.org/leyden/commit/1e18fffee456382c4eeb017b3fad0dc99ccaad35 8328473: StringTable and SymbolTable statistics delay time to safepoint Reviewed-by: shade, eosterlund ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/concurrentHashTableTasks.inline.hpp Changeset: e7d4b360 Branch: premain Author: Matthias Baesken Date: 2025-02-26 12:40:53 +0000 URL: https://git.openjdk.org/leyden/commit/e7d4b360fe27585f1a021fd1d1da1fda7f27a37c 8350667: Remove startThread_lock() and _startThread_lock on AIX Reviewed-by: stuefe, jkern ! src/hotspot/os/aix/osThread_aix.cpp ! src/hotspot/os/aix/osThread_aix.hpp ! src/hotspot/os/aix/os_aix.cpp Changeset: ea2c9238 Branch: premain Author: Johan Sj?len Date: 2025-02-26 12:51:35 +0000 URL: https://git.openjdk.org/leyden/commit/ea2c92384927a22dd1e1e8676723c7cc720a128b 8323807: Async UL: Add a stalling mode to async UL Reviewed-by: dholmes, aboldtch ! src/hotspot/share/logging/logAsyncWriter.cpp ! src/hotspot/share/logging/logAsyncWriter.hpp ! src/hotspot/share/logging/logConfiguration.cpp ! src/hotspot/share/logging/logConfiguration.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/man/java.md ! test/hotspot/gtest/logging/test_asynclog.cpp + test/hotspot/jtreg/runtime/logging/StressAsyncUL.java Changeset: 0f822681 Branch: premain Author: Matthew Donovan Date: 2025-02-26 14:14:33 +0000 URL: https://git.openjdk.org/leyden/commit/0f82268134df65bbc65ecda158d25f708f18d150 8345598: Upgrade NSS binaries for interop tests Reviewed-by: weijun, rhalade ! test/jdk/sun/security/pkcs11/PKCS11Test.java Changeset: 27317123 Branch: premain Author: Hannes Walln?fer Date: 2025-02-26 14:59:18 +0000 URL: https://git.openjdk.org/leyden/commit/2731712383937ce7213c4c2b89f8c041708a3f90 8287749: Re-enable javadoc -serialwarn option Reviewed-by: erikj ! make/Docs.gmk ! make/scripts/genExceptions.sh Changeset: bd112c4f Branch: premain Author: Aleksey Shipilev Date: 2025-02-26 15:00:47 +0000 URL: https://git.openjdk.org/leyden/commit/bd112c4fab8c6b6a8181d4629009b6cb408727a1 8350443: GHA: Split static-libs-bundles into a separate job Reviewed-by: ihse, yzheng ! .github/actions/upload-bundles/action.yml ! .github/workflows/build-linux.yml ! .github/workflows/main.yml Changeset: 3e46480d Branch: premain Author: Thomas Stuefe Date: 2025-02-26 15:57:37 +0000 URL: https://git.openjdk.org/leyden/commit/3e46480dcfabf79b74cc371eaa84dce2e252f3da 8350770: [BACKOUT] Protection zone for easier detection of accidental zero-nKlass use Reviewed-by: mdoerr, rkennke ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/cds/archiveUtils.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/include/cds.h ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/oops/compressedKlass.hpp ! src/hotspot/share/oops/compressedKlass.inline.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp - test/hotspot/jtreg/runtime/ErrorHandling/AccessZeroNKlassHitsProtectionZone.java ! test/lib/jdk/test/whitebox/WhiteBox.java Changeset: 9477c705 Branch: premain Author: Brian Burkhalter Date: 2025-02-26 16:24:25 +0000 URL: https://git.openjdk.org/leyden/commit/9477c705c0bd5ce2d445abb5ca44d46656fc315f 8024695: new File("").exists() returns false whereas it is the current working directory Reviewed-by: alanb, rriggs, lancea ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/io/FileSystem.java ! src/java.base/unix/classes/java/io/UnixFileSystem.java ! src/java.base/windows/classes/java/io/WinNTFileSystem.java ! test/jdk/java/io/File/EmptyPath.java Changeset: ec6624b5 Branch: premain Author: Aleksey Shipilev Date: 2025-02-26 16:41:16 +0000 URL: https://git.openjdk.org/leyden/commit/ec6624b54eaf5c0f94bd760d2e9fa8b55717c350 8350649: Class unloading accesses/resurrects dead Java mirror after JDK-8346567 Reviewed-by: coleenp, egahlin ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/oops/klass.hpp Changeset: 9ec46968 Branch: premain Author: Xiaolong Peng Committer: Aleksey Shipilev Date: 2025-02-26 17:29:12 +0000 URL: https://git.openjdk.org/leyden/commit/9ec46968fbfddf99a8349cb6903d24b1c2fdaf1d 8350313: Include timings for leaving safepoint in safepoint logging Reviewed-by: shade, dholmes ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepoint.hpp Changeset: e43960a0 Branch: premain Author: David Holmes Date: 2025-02-26 20:14:11 +0000 URL: https://git.openjdk.org/leyden/commit/e43960a0170bf29b28ff4733e1c8c927947fb0bb 8350616: Skip ValidateHazardPtrsClosure in non-debug builds Reviewed-by: kbarrett, tschatzl, shade ! src/hotspot/share/runtime/threadSMR.cpp Changeset: 78c18cfb Branch: premain Author: Jiangli Zhou Date: 2025-02-26 23:23:42 +0000 URL: https://git.openjdk.org/leyden/commit/78c18cfbcee92ba170810582e238b40b64805e5a 8349399: GHA: Add static-jdk build on linux-x64 Reviewed-by: shade, ihse ! .github/workflows/main.yml Changeset: b29f8b04 Branch: premain Author: SendaoYan Date: 2025-02-27 06:15:59 +0000 URL: https://git.openjdk.org/leyden/commit/b29f8b04780bffff2b25acb95f22b4fdf83f3724 8350665: SIZE_FORMAT_HEX macro undefined in gtest Reviewed-by: coleenp, stuefe ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: bb48b731 Branch: premain Author: SendaoYan Date: 2025-02-27 06:16:57 +0000 URL: https://git.openjdk.org/leyden/commit/bb48b7319c020f9bb135c0bdf3e8809d0314c837 8350723: RISC-V: debug.cpp help() is missing riscv line for pns Reviewed-by: fyang ! src/hotspot/share/utilities/debug.cpp Changeset: 885338b5 Branch: premain Author: Emanuel Peter Date: 2025-02-27 06:58:43 +0000 URL: https://git.openjdk.org/leyden/commit/885338b5f38ed05d8b91efc0178b371f2f89310e 8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory Reviewed-by: roland, kvn ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/mempointer.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/traceAutoVectorizationTag.hpp ! src/hotspot/share/opto/vectorization.cpp ! src/hotspot/share/opto/vectorization.hpp ! src/hotspot/share/opto/vtransform.cpp ! src/hotspot/share/opto/vtransform.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/vmStructs.cpp + test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegmentUnalignedAddress.java Changeset: e4d3c97c Branch: premain Author: Richard Reingruber Date: 2025-02-27 09:24:15 +0000 URL: https://git.openjdk.org/leyden/commit/e4d3c97c0f388fc4b1684b78844f2166277ffd91 8350111: [PPC] AsyncGetCallTrace crashes when called while handling SIGTRAP Reviewed-by: mdoerr, stuefe ! src/hotspot/cpu/ppc/frame_ppc.cpp Changeset: 4522f128 Branch: premain Author: Andrew Dinn Date: 2025-02-27 09:31:14 +0000 URL: https://git.openjdk.org/leyden/commit/4522f128a3953e3ae885f96c463cb581eaa1e1e7 8349921: Crash in codeBuffer.cpp:1004: guarantee(sect->end() <= tend) failed: sanity Reviewed-by: kvn, dlong ! src/hotspot/cpu/aarch64/stubDeclarations_aarch64.hpp Changeset: 01bd7e41 Branch: premain Author: Xiaolong Peng Date: 2025-02-27 09:49:29 +0000 URL: https://git.openjdk.org/leyden/commit/01bd7e417ee3d39067370e616660b7f5c723dc26 8350314: Shenandoah: Capture thread state sync times in GC timings Reviewed-by: ysr, shade, wkemper ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp Changeset: acc6f19c Branch: premain Author: SendaoYan Date: 2025-02-27 11:06:50 +0000 URL: https://git.openjdk.org/leyden/commit/acc6f19cecd1c55afab3f4d6789cfa90b472d621 8350614: [JMH] jdk.incubator.vector.VectorCommutativeOperSharingBenchmark fails Reviewed-by: redestad ! test/micro/org/openjdk/bench/jdk/incubator/vector/VectorCommutativeOperSharingBenchmark.java Changeset: 63e0fc43 Branch: premain Author: Emanuel Peter Date: 2025-02-27 11:29:02 +0000 URL: https://git.openjdk.org/leyden/commit/63e0fc4331df5443f21a402153ceda87d99dbd46 8350841: ProblemList jdk/incubator/vector/Long256VectorTests.java Reviewed-by: thartmann ! test/jdk/ProblemList.txt Changeset: 799ac528 Branch: premain Author: Ramkumar Sunderbabu Committer: SendaoYan Date: 2025-02-27 12:58:35 +0000 URL: https://git.openjdk.org/leyden/commit/799ac5288efbbb89e21319cd45657c8f817ad680 8314840: 3 gc/epsilon tests ignore external vm options Reviewed-by: tschatzl ! test/hotspot/jtreg/gc/epsilon/TestDieDefault.java ! test/hotspot/jtreg/gc/epsilon/TestDieWithHeapDump.java ! test/hotspot/jtreg/gc/epsilon/TestDieWithOnError.java Changeset: e80b76b6 Branch: premain Author: Robert Toyonaga Committer: SendaoYan Date: 2025-02-27 12:59:47 +0000 URL: https://git.openjdk.org/leyden/commit/e80b76b663c6b82a353665fd68819cc9295ec429 8276995: Bug in jdk.jfr.event.gc.collection.TestSystemGC Reviewed-by: egahlin, dholmes ! test/jdk/jdk/jfr/event/gc/collection/TestSystemGC.java Changeset: d6d94472 Branch: premain Author: Matthias Baesken Date: 2025-02-27 13:34:38 +0000 URL: https://git.openjdk.org/leyden/commit/d6d94472c21b1fa4839f548b85908967057c3f07 8350786: Some java/lang jtreg tests miss requires vm.hasJFR Reviewed-by: alanb ! test/jdk/java/lang/Thread/ThreadSleepEvent.java ! test/jdk/java/lang/Thread/virtual/JfrEvents.java ! test/jdk/java/lang/Thread/virtual/MonitorPinnedEvents.java Changeset: 3c9d64eb Branch: premain Author: Kuai Wei Committer: Christian Hagedorn Date: 2025-02-27 13:55:59 +0000 URL: https://git.openjdk.org/leyden/commit/3c9d64eb07c5bc9006ef05b0ab81bdc318cccc20 8350858: [IR Framework] Some tests failed on Cascade Lake Reviewed-by: chagedorn, epeter ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/VMInfo.java Changeset: 8323ddfe Branch: premain Author: Nizar Benalla Date: 2025-02-27 14:52:18 +0000 URL: https://git.openjdk.org/leyden/commit/8323ddfe189e8a189176a37746985c2473ebab3b 8346659: SnippetTaglet should report an error if provided ambiguous links Reviewed-by: hannesw, liach ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties + test/langtools/jdk/javadoc/doclet/ReproducibleSnippet/ReproducibleSnippetTest.java ! test/langtools/jdk/javadoc/doclet/TestGlobalHtml/TestGlobalHtml.java Changeset: 939815fd Branch: premain Author: Roland Westrelin Date: 2025-02-27 16:47:31 +0000 URL: https://git.openjdk.org/leyden/commit/939815fdcfd046b00b331e085c7b6c5ced0f5dbe 8347040: C2: assert(!loop->_body.contains(in)) failed Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/longcountedloops/TestAssertWhenOuterStripMinedLoopRemoved.java Changeset: 2fd71561 Branch: premain Author: Marc Chevalier Committer: Vladimir Kozlov Date: 2025-02-27 18:06:50 +0000 URL: https://git.openjdk.org/leyden/commit/2fd71561107a5226f44e1732b646e43a82566eb3 8347426: Invalid value used for enum Cell in iTypeFlow::StateVector::meet_exception Reviewed-by: dlong, kvn ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/ci/ciTypeFlow.hpp Changeset: 3ae80bfb Branch: premain Author: Kelvin Nilsen Date: 2025-02-27 18:40:20 +0000 URL: https://git.openjdk.org/leyden/commit/3ae80bfb6085e1a6bcb551c7b0be8f27b6f9fde9 8349766: GenShen: Bad progress after degen does not always need full gc Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.hpp Changeset: f1398ecb Branch: premain Author: Vladimir Ivanov Committer: Derek White Date: 2025-02-27 20:35:58 +0000 URL: https://git.openjdk.org/leyden/commit/f1398ecbe4a650d8d8c21fabb1b8e2e9600fdfec 8350701: [JMH] test foreign.AllocFromSliceTest failed with Exception for size>1024 Reviewed-by: pminborg ! test/micro/org/openjdk/bench/java/lang/foreign/AllocFromSliceTest.java Changeset: 0a4c5a8a Branch: premain Author: Kelvin Nilsen Date: 2025-02-27 23:10:16 +0000 URL: https://git.openjdk.org/leyden/commit/0a4c5a8a483b23ec8c534054187c44f986d137bb 8347804: GenShen: Crash with small GCCardSizeInBytes and small Java heap Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp ! test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java Changeset: ab4b0ef9 Branch: premain Author: Kelvin Nilsen Date: 2025-02-27 23:23:40 +0000 URL: https://git.openjdk.org/leyden/commit/ab4b0ef9242a4cd964fbcf2d1f3d370234c09408 8350889: GenShen: Break out of infinite loop of old GC cycles Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp Changeset: 2af76de0 Branch: premain Author: Matthias Baesken Date: 2025-02-28 07:36:35 +0000 URL: https://git.openjdk.org/leyden/commit/2af76de05a50dee052307b8b82055a4787e96df9 8350683: Non-C2 / minimal JVM crashes in the build on ppc64 platforms Co-authored-by: Martin Doerr Reviewed-by: mdoerr, amitkumar ! src/hotspot/cpu/ppc/compiledIC_ppc.cpp Changeset: eada1ea8 Branch: premain Author: Hamlin Li Date: 2025-02-28 09:05:42 +0000 URL: https://git.openjdk.org/leyden/commit/eada1ea8d21c4811834e20ca467e136580d6cd0a 8350855: RISC-V: print offset by assert of patch_offset_in_conditional_branch Reviewed-by: fyang ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: ac76d8d6 Branch: premain Author: Johan Sj?len Date: 2025-02-28 09:48:17 +0000 URL: https://git.openjdk.org/leyden/commit/ac76d8d63ff7b06a3c116559712a8b48f8acfa20 8350824: New async logging gtest StallingModePreventsDroppedMessages fails Reviewed-by: mbaesken, dholmes ! test/hotspot/gtest/logging/test_asynclog.cpp ! test/hotspot/jtreg/runtime/logging/StressAsyncUL.java Changeset: 2019f445 Branch: premain Author: Ivan Bereziuk Committer: Ludvig Janiuk Date: 2025-02-28 13:46:17 +0000 URL: https://git.openjdk.org/leyden/commit/2019f44539db0e19d92eeb1b4e80b74a6de3276c 8343832: Enhance test summary with number of skipped tests Co-authored-by: Magnus Ihse Bursie Reviewed-by: ihse, erikj ! make/RunTests.gmk Changeset: d6c4be67 Branch: premain Author: Thomas Schatzl Date: 2025-02-28 14:16:52 +0000 URL: https://git.openjdk.org/leyden/commit/d6c4be672f6348f8ed985416ed90d0447f5d5bb3 8350758: G1: Use actual last prediction in accumulated survivor rate prediction too Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp Changeset: e98df71d Branch: premain Author: Calvin Cheung Date: 2025-02-28 17:08:25 +0000 URL: https://git.openjdk.org/leyden/commit/e98df71d9c5120fbb73a4c2f49863775fe5db781 8348028: Unable to run gtests with CDS enabled Reviewed-by: dholmes, iklam, ihse ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/runtime/abstract_vm_version.cpp ! src/hotspot/share/runtime/abstract_vm_version.hpp Changeset: 197004f4 Branch: premain Author: Leonid Mesnik Date: 2025-02-28 18:13:53 +0000 URL: https://git.openjdk.org/leyden/commit/197004f4c621d7ab4c8b9e48362973eaa18156a4 8350820: OperatingSystemMXBean CpuLoad() methods return -1.0 on Windows Reviewed-by: kevinw, jwaters ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: 3a7d9868 Branch: premain Author: Justin Lu Date: 2025-02-28 19:37:36 +0000 URL: https://git.openjdk.org/leyden/commit/3a7d98687849ba0625fed2b516f4103ee8d27e41 8350646: Calendar.Builder.build() Throws ArrayIndexOutOfBoundsException Reviewed-by: naoto ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! test/jdk/java/util/Calendar/Builder/BuilderTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java Changeset: fb659eba Branch: premain Author: Volkan Yazici Committer: Michael McMahon Date: 2025-02-28 19:38:25 +0000 URL: https://git.openjdk.org/leyden/commit/fb659eba028f793f7efb844d42024e903c1d0c5f 8350915: [JMH] test SocketChannelConnectionSetup failed for 2 threads config Reviewed-by: michaelm ! test/micro/org/openjdk/bench/java/net/SocketChannelConnectionSetup.java Changeset: c7fa499b Branch: premain Author: Chen Liang Date: 2025-02-28 20:01:17 +0000 URL: https://git.openjdk.org/leyden/commit/c7fa499bf5023a3f16bb3742d2ba3cd74f2b41bd 8350118: Simplify the layout access VarHandle Reviewed-by: mcimadamore, jvernee, erikj ! make/modules/java.base/gensrc/GensrcScopedMemoryAccess.gmk ! make/modules/java.base/gensrc/GensrcVarHandles.gmk ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java + src/java.base/share/classes/java/lang/invoke/SegmentVarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarHandleGuards.java - src/java.base/share/classes/java/lang/invoke/VarHandleSegmentViewBase.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/lang/invoke/X-VarHandleSegmentView.java.template ! src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! src/java.base/share/classes/jdk/internal/foreign/Utils.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! src/java.base/share/classes/jdk/internal/invoke/MhUtil.java ! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template ! test/jdk/java/foreign/TestAccessModes.java Changeset: a87dd1a7 Branch: premain Author: Alexander Matveev Date: 2025-02-28 20:22:23 +0000 URL: https://git.openjdk.org/leyden/commit/a87dd1a75f78cf872df49bea83ba48af8acfa2fd 8347139: [macos] Test tools/jpackage/share/InOutPathTest.java failed: "execution error: Finder got an error: AppleEvent timed out." Reviewed-by: asemenyuk ! test/jdk/tools/jpackage/share/IconTest.java ! test/jdk/tools/jpackage/share/InOutPathTest.java Changeset: 6b719eee Branch: premain Author: Alisen Chung Date: 2025-02-28 21:22:20 +0000 URL: https://git.openjdk.org/leyden/commit/6b719eeebc346fd4655fc718d7d033b3ebf54d9e 8348596: Update FreeType to 2.13.3 Reviewed-by: azvegint, dnguyen, prr ! src/java.desktop/share/legal/freetype.md ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftconfig.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftheader.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftoption.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/ftstdlib.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/integer-types.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/mac-support.h ! src/java.desktop/share/native/libfreetype/include/freetype/config/public-macros.h ! src/java.desktop/share/native/libfreetype/include/freetype/freetype.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftadvanc.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbbox.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbdf.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftbitmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftcid.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftcolor.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftdriver.h ! src/java.desktop/share/native/libfreetype/include/freetype/fterrdef.h ! src/java.desktop/share/native/libfreetype/include/freetype/fterrors.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftfntfmt.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftgasp.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftglyph.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftgzip.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftimage.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftincrem.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlcdfil.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlist.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftlogging.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmac.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmm.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmodapi.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftmoderr.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftoutln.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftparams.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftrender.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsizes.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsnames.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftstroke.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsynth.h ! src/java.desktop/share/native/libfreetype/include/freetype/ftsystem.h ! src/java.desktop/share/native/libfreetype/include/freetype/fttrigon.h ! src/java.desktop/share/native/libfreetype/include/freetype/fttypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/autohint.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/cffotypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/cfftypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/compiler-macros.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftcalc.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdebug.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftdrv.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftgloadr.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmemory.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftmmtypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftobjs.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftpsprop.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftrfork.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftserv.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftstream.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/fttrace.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/ftvalid.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/psaux.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/pshints.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svbdf.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svcfftl.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svcid.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svfntfmt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svgldict.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svgxval.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svkern.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmetric.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svmm.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svotval.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpfr.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpostnm.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svprop.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpscmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svpsinfo.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svsfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svttcmap.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svtteng.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svttglyf.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/services/svwinfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/sfnt.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/svginterface.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/t1types.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/tttypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/internal/wofftypes.h ! src/java.desktop/share/native/libfreetype/include/freetype/otsvg.h ! src/java.desktop/share/native/libfreetype/include/freetype/t1tables.h ! src/java.desktop/share/native/libfreetype/include/freetype/ttnameid.h ! src/java.desktop/share/native/libfreetype/include/freetype/tttables.h ! src/java.desktop/share/native/libfreetype/include/freetype/tttags.h ! src/java.desktop/share/native/libfreetype/include/ft2build.h ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.c ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.cin ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.dat ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.h ! src/java.desktop/share/native/libfreetype/src/autofit/afblue.hin ! src/java.desktop/share/native/libfreetype/src/autofit/afcjk.c ! src/java.desktop/share/native/libfreetype/src/autofit/afcjk.h ! src/java.desktop/share/native/libfreetype/src/autofit/afcover.h ! src/java.desktop/share/native/libfreetype/src/autofit/afdummy.c ! src/java.desktop/share/native/libfreetype/src/autofit/afdummy.h ! src/java.desktop/share/native/libfreetype/src/autofit/aferrors.h ! src/java.desktop/share/native/libfreetype/src/autofit/afglobal.c ! src/java.desktop/share/native/libfreetype/src/autofit/afglobal.h ! src/java.desktop/share/native/libfreetype/src/autofit/afhints.c ! src/java.desktop/share/native/libfreetype/src/autofit/afhints.h ! src/java.desktop/share/native/libfreetype/src/autofit/afindic.c ! src/java.desktop/share/native/libfreetype/src/autofit/afindic.h ! src/java.desktop/share/native/libfreetype/src/autofit/aflatin.c ! src/java.desktop/share/native/libfreetype/src/autofit/aflatin.h ! src/java.desktop/share/native/libfreetype/src/autofit/afloader.c ! src/java.desktop/share/native/libfreetype/src/autofit/afloader.h ! src/java.desktop/share/native/libfreetype/src/autofit/afmodule.c ! src/java.desktop/share/native/libfreetype/src/autofit/afmodule.h ! src/java.desktop/share/native/libfreetype/src/autofit/afranges.c ! src/java.desktop/share/native/libfreetype/src/autofit/afranges.h ! src/java.desktop/share/native/libfreetype/src/autofit/afscript.h ! src/java.desktop/share/native/libfreetype/src/autofit/afshaper.c ! src/java.desktop/share/native/libfreetype/src/autofit/afshaper.h ! src/java.desktop/share/native/libfreetype/src/autofit/afstyles.h ! src/java.desktop/share/native/libfreetype/src/autofit/aftypes.h ! src/java.desktop/share/native/libfreetype/src/autofit/afws-decl.h ! src/java.desktop/share/native/libfreetype/src/autofit/afws-iter.h ! src/java.desktop/share/native/libfreetype/src/base/ftadvanc.c ! src/java.desktop/share/native/libfreetype/src/base/ftbase.h ! src/java.desktop/share/native/libfreetype/src/base/ftbbox.c ! src/java.desktop/share/native/libfreetype/src/base/ftbitmap.c ! src/java.desktop/share/native/libfreetype/src/base/ftcalc.c ! src/java.desktop/share/native/libfreetype/src/base/ftcid.c ! src/java.desktop/share/native/libfreetype/src/base/ftcolor.c ! src/java.desktop/share/native/libfreetype/src/base/ftdbgmem.c ! src/java.desktop/share/native/libfreetype/src/base/ftdebug.c ! src/java.desktop/share/native/libfreetype/src/base/ftfntfmt.c ! src/java.desktop/share/native/libfreetype/src/base/ftfstype.c ! src/java.desktop/share/native/libfreetype/src/base/ftgasp.c ! src/java.desktop/share/native/libfreetype/src/base/ftgloadr.c ! src/java.desktop/share/native/libfreetype/src/base/ftglyph.c ! src/java.desktop/share/native/libfreetype/src/base/ftinit.c ! src/java.desktop/share/native/libfreetype/src/base/ftlcdfil.c ! src/java.desktop/share/native/libfreetype/src/base/ftmac.c ! src/java.desktop/share/native/libfreetype/src/base/ftmm.c ! src/java.desktop/share/native/libfreetype/src/base/ftobjs.c ! src/java.desktop/share/native/libfreetype/src/base/ftoutln.c ! src/java.desktop/share/native/libfreetype/src/base/ftpatent.c ! src/java.desktop/share/native/libfreetype/src/base/ftpsprop.c ! src/java.desktop/share/native/libfreetype/src/base/ftrfork.c ! src/java.desktop/share/native/libfreetype/src/base/ftsnames.c ! src/java.desktop/share/native/libfreetype/src/base/ftstream.c ! src/java.desktop/share/native/libfreetype/src/base/ftstroke.c ! src/java.desktop/share/native/libfreetype/src/base/ftsynth.c ! src/java.desktop/share/native/libfreetype/src/base/ftsystem.c ! src/java.desktop/share/native/libfreetype/src/base/fttrigon.c ! src/java.desktop/share/native/libfreetype/src/base/fttype1.c ! src/java.desktop/share/native/libfreetype/src/base/ftutil.c ! src/java.desktop/share/native/libfreetype/src/cff/cffcmap.c ! src/java.desktop/share/native/libfreetype/src/cff/cffcmap.h ! src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.c ! src/java.desktop/share/native/libfreetype/src/cff/cffdrivr.h ! src/java.desktop/share/native/libfreetype/src/cff/cfferrs.h ! src/java.desktop/share/native/libfreetype/src/cff/cffgload.c ! src/java.desktop/share/native/libfreetype/src/cff/cffgload.h ! src/java.desktop/share/native/libfreetype/src/cff/cffload.c ! src/java.desktop/share/native/libfreetype/src/cff/cffload.h ! src/java.desktop/share/native/libfreetype/src/cff/cffobjs.c ! src/java.desktop/share/native/libfreetype/src/cff/cffobjs.h ! src/java.desktop/share/native/libfreetype/src/cff/cffparse.c ! src/java.desktop/share/native/libfreetype/src/cff/cffparse.h ! src/java.desktop/share/native/libfreetype/src/cff/cfftoken.h ! src/java.desktop/share/native/libfreetype/src/cid/ciderrs.h ! src/java.desktop/share/native/libfreetype/src/cid/cidgload.c ! src/java.desktop/share/native/libfreetype/src/cid/cidgload.h ! src/java.desktop/share/native/libfreetype/src/cid/cidload.c ! src/java.desktop/share/native/libfreetype/src/cid/cidload.h ! src/java.desktop/share/native/libfreetype/src/cid/cidobjs.c ! src/java.desktop/share/native/libfreetype/src/cid/cidobjs.h ! src/java.desktop/share/native/libfreetype/src/cid/cidparse.c ! src/java.desktop/share/native/libfreetype/src/cid/cidparse.h ! src/java.desktop/share/native/libfreetype/src/cid/cidriver.c ! src/java.desktop/share/native/libfreetype/src/cid/cidriver.h ! src/java.desktop/share/native/libfreetype/src/cid/cidtoken.h ! src/java.desktop/share/native/libfreetype/src/psaux/afmparse.c ! src/java.desktop/share/native/libfreetype/src/psaux/afmparse.h ! src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.c ! src/java.desktop/share/native/libfreetype/src/psaux/cffdecode.h ! src/java.desktop/share/native/libfreetype/src/psaux/psauxerr.h ! src/java.desktop/share/native/libfreetype/src/psaux/psauxmod.c ! src/java.desktop/share/native/libfreetype/src/psaux/psauxmod.h ! src/java.desktop/share/native/libfreetype/src/psaux/psblues.c ! src/java.desktop/share/native/libfreetype/src/psaux/psconv.c ! src/java.desktop/share/native/libfreetype/src/psaux/psconv.h ! src/java.desktop/share/native/libfreetype/src/psaux/psft.c ! src/java.desktop/share/native/libfreetype/src/psaux/psft.h ! src/java.desktop/share/native/libfreetype/src/psaux/psintrp.c ! src/java.desktop/share/native/libfreetype/src/psaux/psobjs.c ! src/java.desktop/share/native/libfreetype/src/psaux/psobjs.h ! src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.c ! src/java.desktop/share/native/libfreetype/src/psaux/t1cmap.h ! src/java.desktop/share/native/libfreetype/src/psaux/t1decode.c ! src/java.desktop/share/native/libfreetype/src/psaux/t1decode.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshalgo.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshglob.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshglob.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshmod.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshnterr.h ! src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.c ! src/java.desktop/share/native/libfreetype/src/pshinter/pshrec.h ! src/java.desktop/share/native/libfreetype/src/psnames/psmodule.c ! src/java.desktop/share/native/libfreetype/src/psnames/psmodule.h ! src/java.desktop/share/native/libfreetype/src/psnames/psnamerr.h ! src/java.desktop/share/native/libfreetype/src/psnames/pstables.h ! src/java.desktop/share/native/libfreetype/src/raster/ftmisc.h ! src/java.desktop/share/native/libfreetype/src/raster/ftraster.c ! src/java.desktop/share/native/libfreetype/src/raster/ftraster.h ! src/java.desktop/share/native/libfreetype/src/raster/ftrend1.c ! src/java.desktop/share/native/libfreetype/src/raster/ftrend1.h ! src/java.desktop/share/native/libfreetype/src/raster/rasterrs.h ! src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.c ! src/java.desktop/share/native/libfreetype/src/sfnt/pngshim.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfdriver.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sferrors.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfobjs.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff.h ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.c ! src/java.desktop/share/native/libfreetype/src/sfnt/sfwoff2.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmap.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcmapc.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcolr.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttcpal.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttkern.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttkern.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttload.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttmtx.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttpost.h ! src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.c ! src/java.desktop/share/native/libfreetype/src/sfnt/ttsbit.h ! src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.c ! src/java.desktop/share/native/libfreetype/src/sfnt/woff2tags.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.c ! src/java.desktop/share/native/libfreetype/src/smooth/ftgrays.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmerrs.h ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.c ! src/java.desktop/share/native/libfreetype/src/smooth/ftsmooth.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttdriver.h ! src/java.desktop/share/native/libfreetype/src/truetype/tterrors.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttgload.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgload.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttgxvar.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttinterp.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttobjs.h ! src/java.desktop/share/native/libfreetype/src/truetype/ttpload.c ! src/java.desktop/share/native/libfreetype/src/truetype/ttpload.h ! src/java.desktop/share/native/libfreetype/src/type1/t1afm.c ! src/java.desktop/share/native/libfreetype/src/type1/t1afm.h ! src/java.desktop/share/native/libfreetype/src/type1/t1driver.c ! src/java.desktop/share/native/libfreetype/src/type1/t1driver.h ! src/java.desktop/share/native/libfreetype/src/type1/t1errors.h ! src/java.desktop/share/native/libfreetype/src/type1/t1gload.c ! src/java.desktop/share/native/libfreetype/src/type1/t1gload.h ! src/java.desktop/share/native/libfreetype/src/type1/t1load.c ! src/java.desktop/share/native/libfreetype/src/type1/t1load.h ! src/java.desktop/share/native/libfreetype/src/type1/t1objs.c ! src/java.desktop/share/native/libfreetype/src/type1/t1objs.h ! src/java.desktop/share/native/libfreetype/src/type1/t1parse.c ! src/java.desktop/share/native/libfreetype/src/type1/t1parse.h ! src/java.desktop/share/native/libfreetype/src/type1/t1tokens.h Changeset: 3c72c04d Branch: premain Author: Leonid Mesnik Date: 2025-02-28 22:37:41 +0000 URL: https://git.openjdk.org/leyden/commit/3c72c04de7a43d265dae7160fe53baaaa8ae6f73 8350818: Improve OperatingSystemMXBean cpu load tests to not accept -1.0 by default Reviewed-by: kevinw ! test/jdk/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java ! test/jdk/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java Changeset: 785e7b47 Branch: premain Author: Mikael Vidstedt Date: 2025-02-28 23:34:07 +0000 URL: https://git.openjdk.org/leyden/commit/785e7b47e05a4c6a2b28a16221fbeaa74db4db7d 8350819: Ignore core files Reviewed-by: erikj, dholmes ! .gitignore ! make/conf/jib-profiles.js Changeset: 157e5ad4 Branch: premain Author: Ioi Lam Date: 2025-03-02 03:43:46 +0000 URL: https://git.openjdk.org/leyden/commit/157e5ad4a3abc7aea9ec2ec3d2381e42101990b8 8350916: Remove misleading warning "Cannot dump shared archive while using shared archive" Reviewed-by: ccheung ! src/hotspot/share/cds/cdsConfig.cpp Changeset: 0a1eea11 Branch: premain Author: Kim Barrett Date: 2025-03-02 23:36:27 +0000 URL: https://git.openjdk.org/leyden/commit/0a1eea112d9f709bac32908f216b8598e918ed33 8345492: Fix -Wzero-as-null-pointer-constant warnings in adlc code Reviewed-by: kvn, dlong ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/formssel.hpp Changeset: d48ddfe4 Branch: premain Author: Xiaohong Gong Date: 2025-03-03 02:22:15 +0000 URL: https://git.openjdk.org/leyden/commit/d48ddfe49a4e0b07949912d3c91d6f4737658b3e 8350748: VectorAPI: Method "checkMaskFromIndexSize" should be force inlined Reviewed-by: psandoz ! 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: 93c87845 Branch: premain Author: Amit Kumar Date: 2025-03-03 03:12:37 +0000 URL: https://git.openjdk.org/leyden/commit/93c878455bfffc07f115f9e20ee11b20186eb2be 8350716: [s390] intrinsify Thread.currentThread() Reviewed-by: lucy, mdoerr ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp Changeset: 3657e92e Branch: premain Author: Jasmine Karthikeyan Date: 2025-03-03 05:18:55 +0000 URL: https://git.openjdk.org/leyden/commit/3657e92ead1e678942fcb272e77c3867eb5aa13e 8349637: Integer.numberOfLeadingZeros outputs incorrectly in certain cases Reviewed-by: thartmann, qamai, jbhateja ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java + test/hotspot/jtreg/compiler/vectorization/TestVectorZeroCount.java Changeset: 717c4997 Branch: premain Author: David Holmes Date: 2025-03-03 06:41:59 +0000 URL: https://git.openjdk.org/leyden/commit/717c4997a2ba4df4e7c66db9efc6b9b4d5336424 8351014: ProblemList the com/sun/management/OperatingSystemMXBean cpuLoad tests on Windows Reviewed-by: lmesnik ! test/jdk/ProblemList.txt Changeset: b054d24d Branch: premain Author: SendaoYan Date: 2025-03-03 07:48:12 +0000 URL: https://git.openjdk.org/leyden/commit/b054d24df55a73bae70c784f6e75b3eb56d4be8b 8350584: Check the usage of LOG_PLEASE Reviewed-by: stuefe ! test/hotspot/gtest/metaspace/test_clms.cpp ! test/hotspot/gtest/metaspace/test_metaspacearena.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp Changeset: 4109c73a Branch: premain Author: Marc Chevalier Date: 2025-03-03 09:32:54 +0000 URL: https://git.openjdk.org/leyden/commit/4109c73a78c424d409e9fdd96913a772467666c8 8349523: Unused runtime calls to drem/frem should be removed Reviewed-by: thartmann, kvn, chagedorn ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/divnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! test/hotspot/jtreg/compiler/c2/irTests/ModDNodeTests.java ! test/hotspot/jtreg/compiler/c2/irTests/ModFNodeTests.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 8b0468fa Branch: premain Author: Coleen Phillimore Date: 2025-03-03 12:08:18 +0000 URL: https://git.openjdk.org/leyden/commit/8b0468faf1c38f2d1d887ab92b76dfff625482ef 8315488: Remove outdated and unused ciReplay support from SA Reviewed-by: kvn, cjplummer, yzheng ! src/hotspot/cpu/aarch64/vmStructs_aarch64.hpp ! src/hotspot/cpu/arm/vmStructs_arm.hpp ! src/hotspot/cpu/ppc/vmStructs_ppc.hpp ! src/hotspot/cpu/riscv/vmStructs_riscv.hpp ! src/hotspot/cpu/s390/vmStructs_s390.hpp ! src/hotspot/cpu/x86/vmStructs_x86.hpp ! src/hotspot/cpu/zero/vmStructs_zero.hpp ! src/hotspot/os/aix/vmStructs_aix.hpp ! src/hotspot/os/bsd/vmStructs_bsd.hpp ! src/hotspot/os/linux/vmStructs_linux.hpp ! src/hotspot/os/windows/vmStructs_windows.hpp ! src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp ! src/hotspot/os_cpu/bsd_aarch64/vmStructs_bsd_aarch64.hpp ! src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp ! src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp ! src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp ! src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp ! src/hotspot/os_cpu/linux_riscv/vmStructs_linux_riscv.hpp ! src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp ! src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp ! src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp ! src/hotspot/os_cpu/windows_aarch64/vmStructs_windows_aarch64.hpp ! src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/ci/ciClassList.hpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciObjectFactory.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/optoreg.hpp ! src/hotspot/share/opto/regalloc.hpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/vmStructs.cpp - src/jdk.hotspot.agent/doc/cireplay.html ! src/jdk.hotspot.agent/doc/clhsdb.html ! src/jdk.hotspot.agent/doc/index.html ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/c1/Runtime1.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciArrayKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciBaseObject.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciConstant.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciEnv.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciField.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciInstance.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciInstanceKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMetadata.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethod.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethodData.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlass.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObject.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObjectFactory.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciSymbol.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciType.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Metadata.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block_Array.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Block_List.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallDynamicJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallRuntimeNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallStaticJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Compile.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CompilerPhaseType.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/HaltNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/InlineTree.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/JVMState.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/LoopNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallRuntimeNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachCallStaticJavaNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachIfNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachReturnNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MachSafePointNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/MultiNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node_Array.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node_List.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Phase.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhaseRegAlloc.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/PhiNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/ProjNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/RegionNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/RootNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/SafePointNode.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/TypeNode.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMReg.java ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/compiler/ciReplay/SABase.java - test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java - test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java Changeset: 30b0c609 Branch: premain Author: Thomas Schatzl Date: 2025-03-03 12:31:33 +0000 URL: https://git.openjdk.org/leyden/commit/30b0c6098028cce63e65bd9d563973f2774fa74d 8350956: Fix repetitions of the word "the" in compiler component comments Reviewed-by: rcastanedalo ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/vectorization.hpp Changeset: f47232ad Branch: premain Author: Thomas Schatzl Date: 2025-03-03 13:57:57 +0000 URL: https://git.openjdk.org/leyden/commit/f47232ad7129e40bdc433525a66de2ca6657f211 8350954: Fix repetitions of the word "the" in gc component comments Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zUncoloredRoot.hpp Changeset: db69ec9e Branch: premain Author: Thomas Stuefe Date: 2025-03-03 14:39:19 +0000 URL: https://git.openjdk.org/leyden/commit/db69ec9e583791d359c5c0acb504c7f01e963e3b 8344009: Improve compiler memory statistics Reviewed-by: rcastanedalo, asmehra ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp + src/hotspot/share/compiler/compilationMemStatInternals.hpp + src/hotspot/share/compiler/compilationMemStatInternals.inline.hpp ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilationMemoryStatistic.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/compiler/compilerThread.cpp ! src/hotspot/share/compiler/compilerThread.hpp ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/memory/resourceArea.hpp ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/vectorization.hpp ! src/hotspot/share/opto/vtransform.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/hotspot/share/utilities/vmError.cpp ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java ! test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java Changeset: 4a51c61b Branch: premain Author: Afshin Zafari Date: 2025-03-03 15:39:35 +0000 URL: https://git.openjdk.org/leyden/commit/4a51c61b2cfa396dace2ca21d819b5f363c9b6b5 8350567: NMT: update VMATree::register_mapping to copy the existing tag of the region Reviewed-by: jsjolen, stuefe ! src/hotspot/share/nmt/vmatree.cpp ! test/hotspot/gtest/nmt/test_vmatree.cpp Changeset: 67dfdfa6 Branch: premain Author: Kim Barrett Date: 2025-03-03 15:53:47 +0000 URL: https://git.openjdk.org/leyden/commit/67dfdfa6ea829fcd1ecac0df8211b591ad15f859 8350623: Fix -Wzero-as-null-pointer-constant warnings in nsk native test utilities Reviewed-by: coleenp ! test/hotspot/jtreg/vmTestbase/nsk/share/native/native_thread.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_list.cpp Changeset: c988d7d6 Branch: premain Author: Kim Barrett Date: 2025-03-03 15:55:07 +0000 URL: https://git.openjdk.org/leyden/commit/c988d7d6476807bf71a977dc771017915b708ca3 8350767: Fix -Wzero-as-null-pointer-constant warnings in nsk jni stress tests Reviewed-by: coleenp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp Changeset: 3602c8cf Branch: premain Author: Thomas Schatzl Date: 2025-03-03 16:51:56 +0000 URL: https://git.openjdk.org/leyden/commit/3602c8cfd805d2e5ae07685145b91bf2c20e255a 8350955: Fix repetitions of the word "the" in runtime component comments Reviewed-by: coleenp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/runtime/objectMonitor.hpp Changeset: 7c187b5d Branch: premain Author: Xiaolong Peng Committer: Paul Hohensee Date: 2025-03-03 17:20:54 +0000 URL: https://git.openjdk.org/leyden/commit/7c187b5d81a653b87fc498101ad9e2d99b72efc6 8338737: Shenandoah: Reset marking bitmaps after the cycle Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: bb70896e Branch: premain Author: Jiangli Zhou Date: 2025-03-03 17:36:31 +0000 URL: https://git.openjdk.org/leyden/commit/bb70896e356536477cfb770096fb769485edc55b 8350903: Remove explicit libjvm.so dependency for libVThreadEventTest Reviewed-by: dholmes, alanb ! make/test/JtregNativeHotspot.gmk ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadEventTest/libVThreadEventTest.cpp Changeset: 79880e56 Branch: premain Author: Hamlin Li Date: 2025-03-03 18:28:28 +0000 URL: https://git.openjdk.org/leyden/commit/79880e56375a1c17ec6ad29bb0ab01868bc956ff 8351033: RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction! Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp Changeset: e1fc14fa Branch: premain Author: Hamlin Li Date: 2025-03-03 18:29:36 +0000 URL: https://git.openjdk.org/leyden/commit/e1fc14fa17e78fef712b5635ee53d10d6d2bb50e 8350940: RISC-V: remove unnecessary assert_different_registers in minmax_fp Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: f53de920 Branch: premain Author: Hamlin Li Date: 2025-03-03 18:30:43 +0000 URL: https://git.openjdk.org/leyden/commit/f53de9208cf5f841ddf80ef9c6073fa61f68fa59 8350931: RISC-V: remove unnecessary src register for fp_sqrt_d/f Reviewed-by: fyang ! src/hotspot/cpu/riscv/riscv.ad Changeset: e470f474 Branch: premain Author: Hamlin Li Date: 2025-03-03 18:31:56 +0000 URL: https://git.openjdk.org/leyden/commit/e470f474ee2176eecc211ec8e99cccc941104c68 8350095: RISC-V: Refactor string_compare Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! test/hotspot/jtreg/compiler/intrinsics/string/TestStringIntrinsics.java Changeset: c4b516df Branch: premain Author: Calvin Cheung Date: 2025-03-03 18:49:11 +0000 URL: https://git.openjdk.org/leyden/commit/c4b516dfe7c5a5fddd4d9c97a21f5f36bf845646 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled Co-authored-by: Ioi Lam Reviewed-by: iklam, matsaave ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassLinker.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/AOTClassLinkingVMOptions.java Changeset: 768b0241 Branch: premain Author: Vladimir Ivanov Committer: Derek White Date: 2025-03-03 21:05:19 +0000 URL: https://git.openjdk.org/leyden/commit/768b02410f1b53ac95d6014f152be84c89eb33ab 8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 Reviewed-by: xgong, drwhite, sviswanathan ! test/micro/org/openjdk/bench/jdk/incubator/vector/IndexInRangeBenchmark.java Changeset: 99fb350b Branch: premain Author: Brian Burkhalter Date: 2025-03-03 21:25:11 +0000 URL: https://git.openjdk.org/leyden/commit/99fb350bf65f9469c8097ddebcc6742255435a88 8350654: (fs) Files.createTempDirectory should say something about the default file permissions when no file attributes specified Reviewed-by: alanb ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 3a8a432c Branch: premain Author: William Kemper Date: 2025-03-04 00:41:39 +0000 URL: https://git.openjdk.org/leyden/commit/3a8a432c05999fe478b94de75b416404b5a515d2 8349094: GenShen: Race between control and regulator threads may violate assertions Reviewed-by: ysr, kdnilsen ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! 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/shenandoahGenerationalControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp Changeset: 96613cc5 Branch: premain Author: Joe Wang Date: 2025-03-04 03:49:17 +0000 URL: https://git.openjdk.org/leyden/commit/96613cc53842bc744e220e5bf7d91e92d0769a8e 8349516: StAXStream2SAX.handleCharacters() fails on empty CDATA Reviewed-by: naoto ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ValidationTest.java Changeset: 7c173fde Branch: premain Author: Xiaolong Peng Date: 2025-03-04 03:56:16 +0000 URL: https://git.openjdk.org/leyden/commit/7c173fde4274a798f299876492a2cd833eee9fdd 8351077: Shenandoah: Update comments in ShenandoahConcurrentGC::op_reset_after_collect Reviewed-by: wkemper, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp Changeset: d9b98f72 Branch: premain Author: Kim Barrett Date: 2025-03-04 04:27:24 +0000 URL: https://git.openjdk.org/leyden/commit/d9b98f72c29f9cf8828fbd33799378bc6b9bfc08 8350771: Fix -Wzero-as-null-pointer-constant warning in nsk/monitoring ThreadController utility Reviewed-by: dholmes ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp Changeset: b6e2d66c Branch: premain Author: Ioi Lam Date: 2025-03-04 05:23:16 +0000 URL: https://git.openjdk.org/leyden/commit/b6e2d66cc4c100d6604ce3edd25e04d459ed1ef1 8351087: Combine scratch object tables in heapShared.cpp Reviewed-by: ccheung ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/memory/universe.cpp Changeset: 4fc72b8e Branch: premain Author: Ioi Lam Date: 2025-03-04 05:23:30 +0000 URL: https://git.openjdk.org/leyden/commit/4fc72b8e4b22db2aa3217afb5b8c30d496589eb8 8351082: Remove dead code for estimating CDS archive size Reviewed-by: ccheung ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 1f10ffba Branch: premain Author: Axel Boldt-Christmas Date: 2025-03-04 07:30:10 +0000 URL: https://git.openjdk.org/leyden/commit/1f10ffba88119caab169b1fc43ccfd143e3b85a6 8350851: ZGC: Reduce size of ZAddressOffsetMax scaling data structures Reviewed-by: eosterlund, jsikstro ! src/hotspot/share/gc/z/zIndexDistributor.hpp ! src/hotspot/share/gc/z/zIndexDistributor.inline.hpp ! src/hotspot/share/gc/z/zMemory.cpp ! src/hotspot/share/gc/z/zMemory.hpp ! src/hotspot/share/gc/z/zPageTable.cpp ! src/hotspot/share/gc/z/zPageTable.hpp ! src/hotspot/share/gc/z/zPageTable.inline.hpp ! src/hotspot/share/gc/z/zVirtualMemory.cpp ! src/hotspot/share/gc/z/zVirtualMemory.hpp ! src/hotspot/share/gc/z/zVirtualMemory.inline.hpp Changeset: fae37aaa Branch: premain Author: Magnus Ihse Bursie Date: 2025-03-04 10:27:52 +0000 URL: https://git.openjdk.org/leyden/commit/fae37aaae8b36fd74309b84fa1fdf017c7d932ed 8345627: [REDO] Use gcc12 -ftrivial-auto-var-init=pattern in debug builds Reviewed-by: erikj, kbarrett ! make/autoconf/flags-cflags.m4 ! make/hotspot/lib/CompileGtest.gmk ! make/modules/jdk.incubator.vector/Lib.gmk ! test/lib/jdk/test/lib/jvmti/jvmti_common.hpp Changeset: 7ee89a53 Branch: premain Author: Andrew Dinn Date: 2025-03-04 12:18:56 +0000 URL: https://git.openjdk.org/leyden/commit/7ee89a53014bc3509271a81c62c91646f891e546 8350893: Use generated names for hand generated opto runtime blobs Reviewed-by: kvn ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/ppc/runtime_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp Changeset: 8073914a Branch: premain Author: Coleen Phillimore Date: 2025-03-04 12:32:23 +0000 URL: https://git.openjdk.org/leyden/commit/8073914af7d4ddd7bbd93d75104c7637e38a7ad9 8350974: The os_cpu VM_STRUCTS, VM_TYPES, etc have no declarations and should be removed Reviewed-by: kvn, dholmes - src/hotspot/os_cpu/aix_ppc/vmStructs_aix_ppc.hpp - src/hotspot/os_cpu/bsd_aarch64/vmStructs_bsd_aarch64.hpp - src/hotspot/os_cpu/bsd_x86/vmStructs_bsd_x86.hpp - src/hotspot/os_cpu/bsd_zero/vmStructs_bsd_zero.hpp - src/hotspot/os_cpu/linux_aarch64/vmStructs_linux_aarch64.hpp - src/hotspot/os_cpu/linux_arm/vmStructs_linux_arm.hpp - src/hotspot/os_cpu/linux_ppc/vmStructs_linux_ppc.hpp - src/hotspot/os_cpu/linux_riscv/vmStructs_linux_riscv.hpp - src/hotspot/os_cpu/linux_s390/vmStructs_linux_s390.hpp - src/hotspot/os_cpu/linux_x86/vmStructs_linux_x86.hpp - src/hotspot/os_cpu/linux_zero/vmStructs_linux_zero.hpp - src/hotspot/os_cpu/windows_aarch64/vmStructs_windows_aarch64.hpp - src/hotspot/os_cpu/windows_x86/vmStructs_windows_x86.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 3230894b Branch: premain Author: Ferenc Rakoczi Committer: Andrew Dinn Date: 2025-03-04 14:41:35 +0000 URL: https://git.openjdk.org/leyden/commit/3230894bdd8ab4183b83ad4c942eb6acad4acce6 8348561: Add aarch64 intrinsics for ML-DSA Reviewed-by: adinn ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubDeclarations_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp ! src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/java.base/share/classes/sun/security/provider/ML_DSA.java ! src/java.base/share/classes/sun/security/provider/SHA3Parallel.java ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: 216f113f Branch: premain Author: Alexander Zvegintsev Date: 2025-03-04 15:42:03 +0000 URL: https://git.openjdk.org/leyden/commit/216f113f8b377054bcfccf875ab29e967164d8ab 8344892: beans/finder/MethodFinder.findMethod incorrectly returns null Reviewed-by: aivanov, serb ! src/java.desktop/share/classes/com/sun/beans/finder/MethodFinder.java Changeset: 6a31aaeb Branch: premain Author: Alexey Semenyuk Date: 2025-03-04 16:22:28 +0000 URL: https://git.openjdk.org/leyden/commit/6a31aaeb00b6c37e2e19c5f2759c4aa9ed87f25a 8350594: Misleading warning about install dir for DMG packaging Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources.properties ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/share/InstallDirTest.java Changeset: daf0213a Branch: premain Author: Prasanta Sadhukhan Date: 2025-03-04 16:58:15 +0000 URL: https://git.openjdk.org/leyden/commit/daf0213abc2c860246564b361061dbda9bd9982f 8350924: javax/swing/JMenu/4213634/bug4213634.java fails Reviewed-by: aivanov, tr ! test/jdk/javax/swing/JMenu/4213634/bug4213634.java Changeset: 4aa4b464 Branch: premain Author: Magnus Ihse Bursie Date: 2025-03-04 16:59:19 +0000 URL: https://git.openjdk.org/leyden/commit/4aa4b46440dcdb0c7707cc145171a45a9f895c07 8351154: Use -ftrivial-auto-var-init=pattern for clang too Reviewed-by: kbarrett, erikj ! make/autoconf/flags-cflags.m4 Changeset: 5b8d3491 Branch: premain Author: Justin Lu Date: 2025-03-04 17:08:54 +0000 URL: https://git.openjdk.org/leyden/commit/5b8d3491bf685a64b72b0ae763697353d09f61a1 4745837: Make grouping usage during parsing apparent in relevant NumberFormat methods Reviewed-by: naoto ! src/java.base/share/classes/java/text/NumberFormat.java Changeset: fe806caa Branch: premain Author: William Kemper Date: 2025-03-04 17:11:59 +0000 URL: https://git.openjdk.org/leyden/commit/fe806caa160b2d550db273af17dc08270f143819 8350605: assert(!heap->is_uncommit_in_progress()) failed: Cannot uncommit bitmaps while resetting them Reviewed-by: kdnilsen, ysr ! src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUncommitThread.hpp Changeset: 55987925 Branch: premain Author: Erik Gahlin Date: 2025-03-04 17:39:55 +0000 URL: https://git.openjdk.org/leyden/commit/55987925fd8ba5d7782934194141fe425a9041be 8351064: JFR: Consistent timestamps Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkParser.java Changeset: 0753376b Branch: premain Author: Weijun Wang Date: 2025-03-04 19:32:33 +0000 URL: https://git.openjdk.org/leyden/commit/0753376b0c3d0d98e3db14d26020b23822176557 8297531: sun/security/krb5/MicroTime.java fails with "Exception: What? only 100 musec precision?" Reviewed-by: mullan, abarashev ! test/jdk/sun/security/krb5/MicroTime.java Changeset: a21302bb Branch: premain Author: Doug Simon Date: 2025-03-04 20:10:57 +0000 URL: https://git.openjdk.org/leyden/commit/a21302bb3244b85dd9809c42d1c0fd502bd677cc 8351036: [JVMCI] value not an s2: -32776 Reviewed-by: yzheng, dlong ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java Changeset: 3e86b3a8 Branch: premain Author: Alexey Semenyuk Date: 2025-03-04 20:30:52 +0000 URL: https://git.openjdk.org/leyden/commit/3e86b3a879c7a425e7c689142cb1f0fdd4f679ed 8350013: Add a test for JDK-8150442 Reviewed-by: almatvee + test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/PackageTestTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacHelper.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java + test/jdk/tools/jpackage/resources/fail-os-condition.wxf + test/jdk/tools/jpackage/windows/WinOSConditionTest.java Changeset: 29de20db Branch: premain Author: Alexander Zvegintsev Date: 2025-03-04 20:55:45 +0000 URL: https://git.openjdk.org/leyden/commit/29de20dbc22e0b68698a1b9cb1241ae5861a6b9a 8280991: [XWayland] No displayChanged event after setDisplayMode call Reviewed-by: honkar, prr ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/FullscreenWindowProps/FullscreenWindowProps.java ! test/jdk/java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java Changeset: 38b4d46c Branch: premain Author: Cesar Soares Lucas Committer: William Kemper Date: 2025-03-04 21:44:40 +0000 URL: https://git.openjdk.org/leyden/commit/38b4d46c1ff3701d75ff8347e5edbb01acd9b512 8351081: Off-by-one error in ShenandoahCardCluster Reviewed-by: wkemper ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp Changeset: 20ea218c Branch: premain Author: Dean Long Date: 2025-03-04 23:10:52 +0000 URL: https://git.openjdk.org/leyden/commit/20ea218ce52f79704445acfe2d4a3dc9d04e86d2 8336042: Caller/callee param size mismatch in deoptimization causes crash Co-authored-by: Richard Reingruber Reviewed-by: pchilanomate, rrich, vlivanov, never ! src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp ! src/hotspot/cpu/arm/abstractInterpreter_arm.cpp ! src/hotspot/cpu/ppc/abstractInterpreter_ppc.cpp ! src/hotspot/cpu/riscv/abstractInterpreter_riscv.cpp ! src/hotspot/cpu/s390/abstractInterpreter_s390.cpp ! src/hotspot/cpu/x86/abstractInterpreter_x86.cpp ! src/hotspot/share/interpreter/bytecode.hpp ! src/hotspot/share/interpreter/bytecode.inline.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/vframeArray.cpp + test/hotspot/jtreg/compiler/jsr292/MHDeoptTest.java Changeset: 62fa33a8 Branch: premain Author: Jatin Bhateja Date: 2025-03-05 01:34:15 +0000 URL: https://git.openjdk.org/leyden/commit/62fa33a8704aef9fd08a8221f4fde217ab749dfc 8351158: Incorrect APX EGPR register save ordering Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp Changeset: b1a21b56 Branch: premain Author: Fei Yang Date: 2025-03-05 02:17:22 +0000 URL: https://git.openjdk.org/leyden/commit/b1a21b563e3ae13fa5c409a4f0c04686c3f5b34a 8351101: RISC-V: C2: Small improvement to MacroAssembler::revb Reviewed-by: fjiang, mli ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp Changeset: 75f028b4 Branch: premain Author: Emanuel Peter Date: 2025-03-05 10:01:26 +0000 URL: https://git.openjdk.org/leyden/commit/75f028b46b245bdcbde8391af69020befda66b7d 8348657: compiler/loopopts/superword/TestEquivalentInvariants.java timed out Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/TestEquivalentInvariants.java Changeset: de29ef3b Branch: premain Author: Sergey Chernyshev Committer: Dmitry Chuyko Date: 2025-03-05 10:32:36 +0000 URL: https://git.openjdk.org/leyden/commit/de29ef3bf3a029f99f340de9f093cd20544217fd 8343191: Cgroup v1 subsystem fails to set subsystem path Co-authored-by: Severin Gehwolf Reviewed-by: sgehwolf, mbaesken ! src/hotspot/os/linux/cgroupUtil_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1SubsystemController.java ! test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp + test/hotspot/jtreg/containers/docker/TestMemoryWithSubgroups.java ! test/jdk/jdk/internal/platform/cgroup/CgroupV1SubsystemControllerTest.java ! test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java + test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetricsSubgroup.java Changeset: a88e8cd0 Branch: premain Author: Matthias Baesken Date: 2025-03-05 12:30:09 +0000 URL: https://git.openjdk.org/leyden/commit/a88e8cd0d2a444187208b41875b9da45daadad6a 8350952: Remove some non present files from OPT_SPEED_SRC list Reviewed-by: dholmes, clanger ! make/hotspot/lib/JvmFeatures.gmk Changeset: 062b7c73 Branch: premain Author: SendaoYan Date: 2025-03-05 12:55:33 +0000 URL: https://git.openjdk.org/leyden/commit/062b7c7348453e6a96c311082b112291913dc1d9 8351115: Test AOTClassLinkingVMOptions.java fails after JDK-8348322 Reviewed-by: dholmes, iklam ! test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/AOTClassLinkingVMOptions.java Changeset: caaf4098 Branch: premain Author: SendaoYan Date: 2025-03-05 12:57:56 +0000 URL: https://git.openjdk.org/leyden/commit/caaf4098452476d981183ad4302b76b9c883a72b 8350546: Several java/net/InetAddress tests fails UnknownHostException Reviewed-by: dfuchs, myankelevich ! test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java ! test/jdk/java/net/InetAddress/getOriginalHostName.java Changeset: ea9e3cfe Branch: premain Author: Serhiy Sachkov Committer: Mark Sheppard Date: 2025-03-05 16:16:58 +0000 URL: https://git.openjdk.org/leyden/commit/ea9e3cfe03b5284ef0edc6f0eb92fcb6ffd62725 8281511: java/net/ipv6tests/UdpTest.java fails with checkTime failed Reviewed-by: dfuchs ! test/jdk/java/net/ipv6tests/TcpTest.java ! test/jdk/java/net/ipv6tests/Tests.java ! test/jdk/java/net/ipv6tests/UdpTest.java Changeset: 61d9ab97 Branch: premain Author: Xiaolong Peng Committer: Aleksey Shipilev Date: 2025-03-05 16:35:46 +0000 URL: https://git.openjdk.org/leyden/commit/61d9ab9717783e5bb0faa555f794499d0e5b3fdb 8350854: Include thread counts in safepoint logging Reviewed-by: shade, dholmes ! src/hotspot/share/runtime/safepoint.cpp Changeset: 661bd5bf Branch: premain Author: Archie Cobbs Date: 2025-03-05 17:32:59 +0000 URL: https://git.openjdk.org/leyden/commit/661bd5bfe883a7449c6949c9f4bd6b5d82d20e10 8343478: Remove unnecessary @SuppressWarnings annotations (core-libs) Reviewed-by: darcy, asemenyuk, joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/io/FileDescriptor.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MemberName.java ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDate.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/ComparableTimSort.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/LinkedHashSet.java ! src/java.base/share/classes/java/util/List.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/PrimitiveIterator.java ! src/java.base/share/classes/java/util/PropertyResourceBundle.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/ReverseOrderDequeView.java ! src/java.base/share/classes/java/util/ReverseOrderListView.java ! src/java.base/share/classes/java/util/ReverseOrderSortedMapView.java ! src/java.base/share/classes/java/util/ReverseOrderSortedSetView.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/java/util/Spliterator.java ! src/java.base/share/classes/java/util/TreeMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/java.base/share/classes/java/util/concurrent/Executors.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/stream/AbstractPipeline.java ! src/java.base/share/classes/java/util/stream/DoublePipeline.java ! src/java.base/share/classes/java/util/stream/IntPipeline.java ! src/java.base/share/classes/java/util/stream/LongPipeline.java ! src/java.base/share/classes/java/util/stream/Node.java ! src/java.base/share/classes/java/util/stream/Nodes.java ! src/java.base/share/classes/java/util/stream/ReferencePipeline.java ! src/java.base/share/classes/java/util/stream/SpinedBuffer.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/NativeImageBuffer.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileStore.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileSystemProvider.java ! src/java.base/share/classes/jdk/internal/jrtfs/SystemImage.java ! src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/Parser.java ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/text/DictionaryBasedBreakIterator.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java ! src/java.naming/share/classes/javax/naming/Name.java ! src/java.naming/share/classes/javax/naming/directory/Attribute.java ! src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java ! src/java.rmi/share/classes/java/rmi/server/RemoteRef.java ! src/java.rmi/share/classes/java/rmi/server/ServerRef.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Skel.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/java.sql/share/classes/java/sql/Date.java ! src/java.sql/share/classes/java/sql/Time.java ! src/java.sql/share/classes/java/sql/Timestamp.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXEventWriter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringComparable.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogReader.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundlerParamInfo.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/ClassReader.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/ClassWriter.java ! test/hotspot/jtreg/testlibrary/asm/org/objectweb/asm/tree/MethodNode.java Changeset: 6012e8d2 Branch: premain Author: Archie Cobbs Date: 2025-03-05 17:33:54 +0000 URL: https://git.openjdk.org/leyden/commit/6012e8d2505af786bd4f17cf56b1e81a102485d4 8350808: Small typos in JShell method SnippetEvent.toString() Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/SnippetEvent.java + test/langtools/jdk/jshell/SnippetEventToStringTest.java Changeset: c3b48196 Branch: premain Author: Justin Lu Date: 2025-03-05 18:12:26 +0000 URL: https://git.openjdk.org/leyden/commit/c3b48196af40356a8251b42db13e02ed905c2139 8351074: Disallow null prefix and suffix in DecimalFormat Reviewed-by: naoto ! src/java.base/share/classes/java/text/DecimalFormat.java + test/jdk/java/text/Format/DecimalFormat/AffixTest.java Changeset: 11a37c82 Branch: premain Author: Coleen Phillimore Date: 2025-03-05 19:28:39 +0000 URL: https://git.openjdk.org/leyden/commit/11a37c829c12d064874416a7b242596cf23972e5 8351165: Remove unused includes from vmStructs Reviewed-by: kbarrett ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/classfile/symbolTable.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/memory/resourceArea.hpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbPrintStatics.java Changeset: 107ee878 Branch: premain Author: Nicole Xu Date: 2025-03-06 01:40:24 +0000 URL: https://git.openjdk.org/leyden/commit/107ee878d66f4006f102c1fd12af3bf156a25757 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException Co-authored-by: Jatin Bhateja Reviewed-by: jbhateja, xgong ! test/micro/org/openjdk/bench/jdk/incubator/vector/MaskedLogicOpts.java Changeset: 4bb3d814 Branch: premain Author: SendaoYan Date: 2025-03-06 01:41:22 +0000 URL: https://git.openjdk.org/leyden/commit/4bb3d81479c1bbe2c6fc7b5234d0f1b6897be117 8351138: Running subset of gtests gets error printing result information Reviewed-by: erikj ! make/RunTests.gmk Changeset: 3626ac35 Branch: premain Author: Jaikiran Pai Date: 2025-03-06 06:22:18 +0000 URL: https://git.openjdk.org/leyden/commit/3626ac35b34650dc64938af63ea21f9f4e011fe4 8204868: java/util/zip/ZipFile/TestCleaner.java still fails with "cleaner failed to clean zipfile." Reviewed-by: lancea ! test/jdk/java/util/zip/ZipFile/TestCleaner.java Changeset: e82031ec Branch: premain Author: Emanuel Peter Date: 2025-03-06 06:48:42 +0000 URL: https://git.openjdk.org/leyden/commit/e82031ec1a8ae2478f83d009594d512a13fdb77e 8350756: C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionRemoveUselessSlowLoop.java Changeset: 5c552a9d Branch: premain Author: SendaoYan Date: 2025-03-06 07:00:44 +0000 URL: https://git.openjdk.org/leyden/commit/5c552a9d64c8116161cb9ef4c777e75a2602a75b 8349358: [JMH] Cannot access class jdk.internal.vm.ContinuationScope Reviewed-by: alanb - test/micro/org/openjdk/bench/loom/obsolete/FreezeAndThaw.java - test/micro/org/openjdk/bench/loom/obsolete/OneShot.java - test/micro/org/openjdk/bench/loom/obsolete/Oscillation.java Changeset: 649ef779 Branch: premain Author: Stefan Karlsson Date: 2025-03-06 07:42:16 +0000 URL: https://git.openjdk.org/leyden/commit/649ef77951d420512e385ee3c792ced80276a30a 8323158: HotSpot Style Guide should specify more include ordering Reviewed-by: kbarrett, stuefe, dholmes, kvn ! doc/hotspot-style.html ! doc/hotspot-style.md Changeset: 40f150d3 Branch: premain Author: Matthias Baesken Date: 2025-03-06 08:10:23 +0000 URL: https://git.openjdk.org/leyden/commit/40f150d3e50caf44fa4a31b79fbcd234142803ce 8330936: [ubsan] exclude function BilinearInterp and ShapeSINextSpan in libawt java2d from ubsan checks Reviewed-by: clanger, prr ! src/java.desktop/share/native/libawt/java2d/loops/TransformHelper.c ! src/java.desktop/share/native/libawt/java2d/pipe/ShapeSpanIterator.c Changeset: 7a5acb9b Branch: premain Author: Fredrik Bredberg Date: 2025-03-06 09:08:32 +0000 URL: https://git.openjdk.org/leyden/commit/7a5acb9be17cd54bbd0abf2524386b981dd5ac04 8343840: Rewrite the ObjectMonitor lists Reviewed-by: dholmes, coleenp, pchilanomate, yzheng ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: cfab88b1 Branch: premain Author: Andrew Dinn Date: 2025-03-06 10:11:44 +0000 URL: https://git.openjdk.org/leyden/commit/cfab88b1a2351a187bc1be153be96ca983a7776c 8351256: Improve printing of runtime call stub names in disassember output Reviewed-by: kvn ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/relocInfo.cpp Changeset: 8f8a879d Branch: premain Author: Kevin Walls Date: 2025-03-06 12:26:53 +0000 URL: https://git.openjdk.org/leyden/commit/8f8a879de03add68e385f2610863d3b4ddd86df7 8350939: Revisit Windows PDH buffer size calculation for OperatingSystemMXBean Reviewed-by: dholmes, lmesnik, sspitsyn ! src/jdk.management/windows/native/libmanagement_ext/OperatingSystemImpl.c Changeset: 93f22607 Branch: premain Author: Brian Burkhalter Date: 2025-03-06 17:11:40 +0000 URL: https://git.openjdk.org/leyden/commit/93f226078e1e1cee5f17b4866f4712326bffa5b2 8351294: (fs) Minor verbiage correction for Files.createTemp{Directory,File} Reviewed-by: alanb ! src/java.base/share/classes/java/nio/file/Files.java Changeset: 08929134 Branch: premain Author: Brian Burkhalter Date: 2025-03-06 17:11:53 +0000 URL: https://git.openjdk.org/leyden/commit/08929134b3533362133139c4e964b1b28de6ebfb 8351086: (fc) Make java/nio/channels/FileChannel/BlockDeviceSize.java test manual Reviewed-by: msheppar ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: a23fb0af Branch: premain Author: Alisen Chung Date: 2025-03-06 21:24:44 +0000 URL: https://git.openjdk.org/leyden/commit/a23fb0af65f491ef655ba114fcc8032a09a55213 8348110: Update LCMS to 2.17 Reviewed-by: honkar, prr, dnguyen ! src/java.desktop/share/legal/lcms.md ! src/java.desktop/share/native/liblcms/cmsalpha.c ! src/java.desktop/share/native/liblcms/cmscam02.c ! src/java.desktop/share/native/liblcms/cmscgats.c ! src/java.desktop/share/native/liblcms/cmscnvrt.c ! src/java.desktop/share/native/liblcms/cmserr.c ! src/java.desktop/share/native/liblcms/cmsgamma.c ! src/java.desktop/share/native/liblcms/cmsgmt.c ! src/java.desktop/share/native/liblcms/cmshalf.c ! src/java.desktop/share/native/liblcms/cmsintrp.c ! src/java.desktop/share/native/liblcms/cmsio0.c ! src/java.desktop/share/native/liblcms/cmsio1.c ! src/java.desktop/share/native/liblcms/cmslut.c ! src/java.desktop/share/native/liblcms/cmsmd5.c ! src/java.desktop/share/native/liblcms/cmsmtrx.c ! src/java.desktop/share/native/liblcms/cmsnamed.c ! src/java.desktop/share/native/liblcms/cmsopt.c ! src/java.desktop/share/native/liblcms/cmspack.c ! src/java.desktop/share/native/liblcms/cmspcs.c ! src/java.desktop/share/native/liblcms/cmsplugin.c ! src/java.desktop/share/native/liblcms/cmsps2.c ! src/java.desktop/share/native/liblcms/cmssamp.c ! src/java.desktop/share/native/liblcms/cmssm.c ! src/java.desktop/share/native/liblcms/cmstypes.c ! src/java.desktop/share/native/liblcms/cmsvirt.c ! src/java.desktop/share/native/liblcms/cmswtpnt.c ! src/java.desktop/share/native/liblcms/cmsxform.c ! src/java.desktop/share/native/liblcms/lcms2.h ! src/java.desktop/share/native/liblcms/lcms2_internal.h ! src/java.desktop/share/native/liblcms/lcms2_plugin.h Changeset: 7c9a7840 Branch: premain Author: Justin Lu Date: 2025-03-06 22:54:24 +0000 URL: https://git.openjdk.org/leyden/commit/7c9a7840ea75a9a7df3f240d063e9833f535e6ec 8351223: Update localized resources in keytool and jarsigner Reviewed-by: weijun ! src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java Changeset: 7314efc9 Branch: premain Author: David Holmes Date: 2025-03-07 03:48:49 +0000 URL: https://git.openjdk.org/leyden/commit/7314efc9483c5db6ecccd9215c04d78818e6a9a2 8351377: Fix the ProblemList for com/sun/management/OperatingSystemMXBean cpuLoad tests on AIX Reviewed-by: darcy ! test/jdk/ProblemList.txt Changeset: 4066f33a Branch: premain Author: Afshin Zafari Date: 2025-03-07 09:06:12 +0000 URL: https://git.openjdk.org/leyden/commit/4066f33a0b9a080d87acd60056b3dbfc9348ab5e 8350565: NMT: remaining memory flag/type to be replaced with memory tag Reviewed-by: gziemski, jsjolen ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/mallocTracker.inline.hpp ! src/hotspot/share/nmt/memBaseline.cpp ! src/hotspot/share/nmt/memBaseline.hpp ! src/hotspot/share/nmt/memReporter.cpp ! src/hotspot/share/nmt/memReporter.hpp ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/memoryFileTracker.cpp ! src/hotspot/share/nmt/memoryFileTracker.hpp ! src/hotspot/share/nmt/nmtCommon.cpp ! src/hotspot/share/nmt/nmtCommon.hpp ! src/hotspot/share/nmt/nmtUsage.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/nmt/vmatree.hpp ! test/hotspot/gtest/nmt/test_nmt_memoryfiletracker.cpp Changeset: 155697fc Branch: premain Author: SendaoYan Date: 2025-03-07 09:13:06 +0000 URL: https://git.openjdk.org/leyden/commit/155697fc0ed69f1b4f871b00fe67685177bad59a 8349623: [ASAN] Gtest os_linux.glibc_mallinfo_wrapper_vm fails Reviewed-by: stuefe ! test/hotspot/gtest/runtime/test_os_linux.cpp Changeset: 54fe643e Branch: premain Author: Kevin Walls Date: 2025-03-07 13:56:23 +0000 URL: https://git.openjdk.org/leyden/commit/54fe643e783befb4d215c68e4b1fed351d470435 8347433: Deprecate XML interchange in java.management/javax/management/modelmbean/DescriptorSupport for removal Reviewed-by: sspitsyn, dfuchs ! src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java ! src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/java.management/share/classes/javax/management/modelmbean/XMLParseException.java Changeset: 7c22b814 Branch: premain Author: Vladimir Ivanov Date: 2025-03-07 16:12:55 +0000 URL: https://git.openjdk.org/leyden/commit/7c22b814d670deda6c2bb93b1e150975c27a165f 8350811: [JMH] test foreign.StrLenTest failed with StringIndexOutOfBoundsException for size=451 Reviewed-by: jbhateja, vpaprotski, mcimadamore ! test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java ! test/micro/org/openjdk/bench/java/lang/foreign/ToCStringTest.java ! test/micro/org/openjdk/bench/java/lang/foreign/ToJavaStringTest.java Changeset: 5cd4fe63 Branch: premain Author: Anthony Scarpino Date: 2025-03-07 17:14:03 +0000 URL: https://git.openjdk.org/leyden/commit/5cd4fe63768715ec7be32e248e05e611ea9b557d 8348309: MultiNST tests need more debugging and timing Reviewed-by: hchao, mullan ! test/jdk/javax/net/ssl/templates/TLSBase.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTClient.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTNoSessionCreation.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTParallel.java ! test/jdk/sun/security/ssl/SSLSessionImpl/MultiNSTSequence.java Changeset: f6a8db28 Branch: premain Author: Vladimir Kozlov Date: 2025-03-07 19:19:03 +0000 URL: https://git.openjdk.org/leyden/commit/f6a8db289e5366845f9518fce7a98538017e9570 8348261: assert(n->is_Mem()) failed: memory node required Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/escape.cpp Changeset: 8ed6c1d7 Branch: premain Author: Chen Liang Date: 2025-03-07 20:35:36 +0000 URL: https://git.openjdk.org/leyden/commit/8ed6c1d7ee3c9914092e7d45087ef61553371b70 8350607: Consolidate MethodHandles::zero into MethodHandles::constant Reviewed-by: jrose, redestad, jvernee ! src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/SimpleMethodHandle.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: 4e67ac41 Branch: premain Author: Vladimir Ivanov Committer: Derek White Date: 2025-03-07 20:38:25 +0000 URL: https://git.openjdk.org/leyden/commit/4e67ac41365ecd0c7e919d77e359f77ea602feb9 8350909: [JMH] test ThreadOnSpinWaitShared failed for 2 threads config Reviewed-by: jbhateja, drwhite ! test/micro/org/openjdk/bench/java/lang/ThreadOnSpinWaitSharedCounter.java Changeset: 76e0f30b Branch: premain Author: Eric Caspole Date: 2025-03-07 21:30:11 +0000 URL: https://git.openjdk.org/leyden/commit/76e0f30b15efda86cbb974bbc764ac3fb3f0f054 8350460: org.openjdk.bench.vm.floatingpoint.DremFrem JMH fails with -ea Reviewed-by: liach, darcy ! test/micro/org/openjdk/bench/vm/floatingpoint/DremFrem.java Changeset: 7ec2e148 Branch: premain Author: Daniel Gredler Committer: SendaoYan Date: 2025-03-08 12:26:46 +0000 URL: https://git.openjdk.org/leyden/commit/7ec2e14897e6dea0c7864a617ded0e33adf792f7 8349932: PSPrinterJob sometimes generates unnecessary PostScript commands Reviewed-by: achung, prr ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java + test/jdk/javax/print/PostScriptLeanTest.java Changeset: a90f323d Branch: premain Author: Xiaolong Peng Committer: SendaoYan Date: 2025-03-08 12:28:34 +0000 URL: https://git.openjdk.org/leyden/commit/a90f323d05f1c90767823b8729b124de0bead265 8349705: java.net.URI.scanIPv4Address throws unnecessary URISyntaxException Reviewed-by: dfuchs ! src/java.base/share/classes/java/net/URI.java Changeset: 4e1367e3 Branch: premain Author: Cesar Soares Lucas Date: 2025-03-08 14:01:28 +0000 URL: https://git.openjdk.org/leyden/commit/4e1367e34be724a0f84069100854c38333610714 8343468: GenShen: Enable relocation of remembered set card tables Reviewed-by: shade, kdnilsen, wkemper ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/ci/ciUtilities.cpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp ! src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 857c5371 Branch: premain Author: Martin Doerr Date: 2025-03-09 16:15:26 +0000 URL: https://git.openjdk.org/leyden/commit/857c53718957283766f6566e5519ab5911cf9f3c 8351456: Build failure with --disable-jvm-feature-shenandoahgc after 8343468 Reviewed-by: kvn, syan ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/riscv/riscv.ad Changeset: 84f71dd6 Branch: premain Author: Daniel Jeli?ski Date: 2025-03-10 07:52:11 +0000 URL: https://git.openjdk.org/leyden/commit/84f71dd6247bbaca508e0a6f04c5b201a1974266 8349849: PKCS11 SunTlsKeyMaterial crashes when used with TLS1.2 TlsKeyMaterialParameterSpec Reviewed-by: wetmore, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java + test/jdk/sun/security/pkcs11/tls/TestKeyMaterialMisuse.java Changeset: 08872623 Branch: premain Author: Hannes Walln?fer Date: 2025-03-10 07:54:17 +0000 URL: https://git.openjdk.org/leyden/commit/088726238664985ebf2bc60deca96f22245e9ce3 8344301: Refine stylesheet for API docs Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/link.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search-page.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessH1/AccessH1.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: 18931d05 Branch: premain Author: Joachim Kern Date: 2025-03-10 09:05:58 +0000 URL: https://git.openjdk.org/leyden/commit/18931d05877a69c9d35ac0706d61f9db03875afc 8351399: AIX: clang pollutes the burned-in library search paths of the generated executables / Second try with a better solution than JDK8348663 Reviewed-by: stuefe, mdoerr, ihse ! make/autoconf/basic.m4 ! make/autoconf/flags-ldflags.m4 - make/scripts/aix/ld.sh Changeset: 19b9f11c Branch: premain Author: Emanuel Peter Date: 2025-03-10 09:44:42 +0000 URL: https://git.openjdk.org/leyden/commit/19b9f11c2ec37ef115c14adcfc31161786d46e95 8351392: C2 crash: failed: Expected Bool, but got OpaqueMultiversioning Reviewed-by: thartmann, kvn, vlivanov, chagedorn ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/opaquenode.hpp ! test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionRemoveUselessSlowLoop.java Changeset: 783eda9f Branch: premain Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-10 10:21:54 +0000 URL: https://git.openjdk.org/leyden/commit/783eda9f54a6e17771c637ff5cac5e30d1facde9 8350266: [PPC64] Interpreter: intrinsify Thread.currentThread() Reviewed-by: mdoerr, rrich ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Changeset: f61f520e Branch: premain Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-10 10:22:17 +0000 URL: https://git.openjdk.org/leyden/commit/f61f520e699e3eb5104c9467ec8269b837da74db 8350325: [PPC64] ConvF2HFIdealizationTests timeouts on Power8 Reviewed-by: mdoerr, clanger ! test/hotspot/jtreg/compiler/c2/irTests/ConvF2HFIdealizationTests.java Changeset: ec683a18 Branch: premain Author: Daniel Fuchs Date: 2025-03-10 10:41:47 +0000 URL: https://git.openjdk.org/leyden/commit/ec683a18bcd8a8282989ba97238899d6375f43c8 8351419: java.net.http: Cleanup links in HttpResponse and module-info API doc comments Reviewed-by: michaelm, vyazici ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! src/java.net.http/share/classes/module-info.java Changeset: 99547c5b Branch: premain Author: Doug Simon Date: 2025-03-10 11:03:28 +0000 URL: https://git.openjdk.org/leyden/commit/99547c5b254807580e0a5238b95d55d38181f4fc 8346825: [JVMCI] Remove NativeImageReinitialize annotation Reviewed-by: never ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/InitTimer.java - src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/common/NativeImageReinitialize.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/Cleaner.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodData.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotMethodHandleAccessProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCI.java Changeset: fb0efbe8 Branch: premain Author: Axel Boldt-Christmas Date: 2025-03-10 11:53:36 +0000 URL: https://git.openjdk.org/leyden/commit/fb0efbe87403fa2f1263c9b916db1a3a3b037eeb 8333578: Fix uses of overaligned types induced by ZCACHE_ALIGNED Reviewed-by: stefank, kbarrett ! src/hotspot/share/gc/z/zArguments.cpp Changeset: 64caf085 Branch: premain Author: Axel Boldt-Christmas Date: 2025-03-10 11:53:50 +0000 URL: https://git.openjdk.org/leyden/commit/64caf085344dcd5fc5185ed5882439249e239d50 8350572: ZGC: Enhance z_verify_safepoints_are_blocked interactions with VMError Reviewed-by: eosterlund, stefank ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 4867a4c8 Branch: premain Author: Christian Hagedorn Date: 2025-03-10 12:09:16 +0000 URL: https://git.openjdk.org/leyden/commit/4867a4c89e99e3ba7fdd9f44e926c82216804167 8351280: Mark Assertion Predicates useless instead of replacing them by a constant directly Reviewed-by: epeter, roland ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp Changeset: e90b6bdb Branch: premain Author: Hannes Walln?fer Date: 2025-03-10 13:28:42 +0000 URL: https://git.openjdk.org/leyden/commit/e90b6bdb875315de6b962e2c7d36606d9a593eb9 8350638: Make keyboard navigation more usable in API docs Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTree.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testConstantValuesPage/TestConstantValuesPage.java ! test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServicesLink.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSpecTag/TestSpecTag.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: d90b79a2 Branch: premain Author: Coleen Phillimore Date: 2025-03-10 14:54:50 +0000 URL: https://git.openjdk.org/leyden/commit/d90b79a2bd2f8bb6e50aa32aafe47748ef6ebeff 8351046: Rename ObjectMonitor functions Reviewed-by: stefank, fbredberg ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 32f2c2d8 Branch: premain Author: Naoto Sato Date: 2025-03-10 16:13:50 +0000 URL: https://git.openjdk.org/leyden/commit/32f2c2d80894552b8c5329cfa51c7e836314901f 8351017: ChronoUnit.MONTHS.between() not giving correct result when date is in February Reviewed-by: scolebourne, rriggs ! src/java.base/share/classes/java/time/temporal/TemporalUnit.java Changeset: 6b84bdef Branch: premain Author: Nizar Benalla Date: 2025-03-10 16:15:23 +0000 URL: https://git.openjdk.org/leyden/commit/6b84bdef3b203e62cebd77705ef5b3e081302c28 8350007: Add usage message to the javadoc executable Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/langtools/tools/javac/options/JavadocIgnoreSymbolFile.java Changeset: b40be225 Branch: premain Author: Daniel Lund?n Date: 2025-03-10 16:18:02 +0000 URL: https://git.openjdk.org/leyden/commit/b40be22512a8d3b3350fef8d6668d80134a6f1a6 8333393: PhaseCFG::insert_anti_dependences can fail to raise LCAs and to add necessary anti-dependence edges Co-authored-by: Roberto Casta?eda Lozano Co-authored-by: Christian Hagedorn Co-authored-by: Tobias Hartmann Co-authored-by: Emanuel Peter Co-authored-by: Quan Anh Mai Reviewed-by: rcastanedalo, chagedorn, epeter ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/codegen/TestGCMLoadPlacement.java Changeset: 8450ae90 Branch: premain Author: Mikael Vidstedt Date: 2025-03-10 16:31:39 +0000 URL: https://git.openjdk.org/leyden/commit/8450ae902ee012b6447015b24369eee85c091ec5 8351440: Link with -reproducible on macOS Reviewed-by: erikj, ihse ! make/autoconf/flags-ldflags.m4 Changeset: 7999091e Branch: premain Author: Hannes Walln?fer Date: 2025-03-10 17:22:26 +0000 URL: https://git.openjdk.org/leyden/commit/7999091e3e976fe62d859d508bf649b6ec7bc94e 8351555: Help section added in JDK-8350638 uses invalid HTML Reviewed-by: liach, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java Changeset: dbdbbd47 Branch: premain Author: Harshitha Onkar Date: 2025-03-10 17:47:54 +0000 URL: https://git.openjdk.org/leyden/commit/dbdbbd473061d7e8077ed07ccc6b03065a8c2ffc 8348597: Update HarfBuzz to 10.4.0 Reviewed-by: erikj, prr ! make/modules/java.desktop/lib/ClientLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/colrv1-closure.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/CPAL/CPAL.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh ! src/java.desktop/share/native/libharfbuzz/OT/Color/svg/svg.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Anchor.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorMatrix.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Common.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePos.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat1.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat2.hh ! src/java.desktop/share/native/libharfbuzz/OT/Layout/types.hh + src/java.desktop/share/native/libharfbuzz/OT/Var/VARC/VARC.hh + src/java.desktop/share/native/libharfbuzz/OT/Var/VARC/coord-setter.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh - src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh - src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh ! src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh ! src/java.desktop/share/native/libharfbuzz/OT/name/name.hh ! src/java.desktop/share/native/libharfbuzz/UPDATING.txt ! src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh ! src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-ankr-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-bsln-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-feat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-just-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-kerx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-opbd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-ltag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh ! src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff-interp-dict-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-cff2-interp-cs.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-config.hh ! src/java.desktop/share/native/libharfbuzz/hb-cplusplus.hh + src/java.desktop/share/native/libharfbuzz/hb-decycler.hh ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-draw.h ! src/java.desktop/share/native/libharfbuzz/hb-draw.hh ! src/java.desktop/share/native/libharfbuzz/hb-face-builder.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.hh ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-ft.h + src/java.desktop/share/native/libharfbuzz/hb-geometry.hh ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh ! src/java.desktop/share/native/libharfbuzz/hb-limits.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-face-table-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-hhea-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-kern-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-jstf-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-maxp-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hebrew.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shaper.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-cvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh + src/java.desktop/share/native/libharfbuzz/hb-ot-var-varc-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-vorg-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-paint-extents.hh ! src/java.desktop/share/native/libharfbuzz/hb-paint.h ! src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh ! src/java.desktop/share/native/libharfbuzz/hb-repacker.hh ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-style.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc + src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-iup.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-instancer-solver.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan-member-list.hh ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh + src/java.desktop/share/native/libharfbuzz/hb-subset-serialize.h ! src/java.desktop/share/native/libharfbuzz/hb-subset.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset.h ! src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-utf.hh ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: 73465b98 Branch: premain Author: jeremy Committer: Phil Race Date: 2025-03-10 18:32:15 +0000 URL: https://git.openjdk.org/leyden/commit/73465b9866da8e97e557d6ad80a95568ada3ee01 8160327: Support for thumbnails present in APP1 marker for JPEG Reviewed-by: prr + src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/ExifMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/JpegExifThumbnailTest.java + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/SV650.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/bad-timestamp.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/corrupt-magic-number.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/jfif-and-exif.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/malicious-looping-IFD.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/plastic-wrap.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/uncompressed-exif-thumbnail.jpg + test/jdk/javax/imageio/plugins/jpeg/JpegExifThumbnail/unusual-ImageFileDirectory.jpeg Changeset: 8d8bd0c4 Branch: premain Author: Fernando Guallini Committer: Rajan Halade Date: 2025-03-10 19:51:16 +0000 URL: https://git.openjdk.org/leyden/commit/8d8bd0c4b3bfdc7670bba03b01b0a00dac9f9825 8349492: Update sun/security/pkcs12/KeytoolOpensslInteropTest.java to use a recent Openssl version Reviewed-by: rhalade ! test/jdk/sun/security/pkcs12/KeytoolOpensslInteropTest.java ! test/lib/jdk/test/lib/security/OpensslArtifactFetcher.java Changeset: ffa63409 Branch: premain Author: Roger Riggs Date: 2025-03-10 23:05:19 +0000 URL: https://git.openjdk.org/leyden/commit/ffa63409884e9a2d41f5223ab5962980edbb008c 8351567: Jar Manifest test ValueUtf8Coding produces misleading diagnostic output Reviewed-by: lancea, bpb, iris ! test/jdk/java/util/jar/Manifest/ValueUtf8Coding.java Changeset: f984c2b3 Branch: premain Author: Brian Burkhalter Date: 2025-03-10 23:58:12 +0000 URL: https://git.openjdk.org/leyden/commit/f984c2b32d7a1420f93424e1d48f06dfbca659e9 8351505: (fs) Typo in the documentation of java.nio.file.spi.FileSystemProvider.getFileSystem() Reviewed-by: alanb, lancea, iris ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Changeset: 59282092 Branch: premain Author: Kuai Wei Committer: Shaojin Wen Date: 2025-03-11 02:07:19 +0000 URL: https://git.openjdk.org/leyden/commit/5928209280e7a655a22f11bc03eae32a4e99756c 8347405: MergeStores with reverse bytes order value Co-authored-by: Richard Reingruber Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/memnode.cpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: 8a5ed47f Branch: premain Author: Ioi Lam Date: 2025-03-11 06:49:58 +0000 URL: https://git.openjdk.org/leyden/commit/8a5ed47f00d74d4eb0d2b8027fb92ff2f5c30163 8350148: Native stack overflow when writing Java heap objects into AOT cache Reviewed-by: iveresov, matsaave ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp Changeset: 4cf63160 Branch: premain Author: Emanuel Peter Date: 2025-03-11 07:10:31 +0000 URL: https://git.openjdk.org/leyden/commit/4cf63160ad575d49dbe70f128cd36aba22b8f2ff 8351414: C2: MergeStores must happen after RangeCheck smearing Reviewed-by: chagedorn, qamai ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phasetype.hpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java ! test/hotspot/jtreg/compiler/lib/ir_framework/CompilePhase.java Changeset: cd9f1d3d Branch: premain Author: Abhishek Kumar Date: 2025-03-11 09:05:04 +0000 URL: https://git.openjdk.org/leyden/commit/cd9f1d3d921531511a7552807d099d5d3cce01a6 8286204: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS Reviewed-by: honkar, kizune, asemenov ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java + test/jdk/javax/accessibility/TestJSpinnerAccessibility.java Changeset: 0de2cddf Branch: premain Author: Alan Bateman Date: 2025-03-11 11:26:47 +0000 URL: https://git.openjdk.org/leyden/commit/0de2cddf3a7be23f67af93972875af1235f3107e 8351458: (ch) Move preClose to UnixDispatcher Reviewed-by: bpb, jpai ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/NativeDispatcher.java ! src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java ! src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/DatagramDispatcher.java ! src/java.base/unix/classes/sun/nio/ch/SinkChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/SocketDispatcher.java ! src/java.base/unix/classes/sun/nio/ch/SourceChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/UnixDispatcher.java ! src/java.base/windows/classes/sun/nio/ch/DatagramDispatcher.java ! src/java.base/windows/classes/sun/nio/ch/SocketDispatcher.java Changeset: 83de3404 Branch: premain Author: Boris Ulasevich Date: 2025-03-11 12:33:36 +0000 URL: https://git.openjdk.org/leyden/commit/83de34041eacdf987988364487712c79bbb4c235 8343789: Move mutable nmethod data out of CodeCache Reviewed-by: kvn, dlong ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java Changeset: af9af7e9 Branch: premain Author: Hamlin Li Date: 2025-03-11 12:51:22 +0000 URL: https://git.openjdk.org/leyden/commit/af9af7e90f7dab5adc7b89b76eb978d269e863de 8351145: RISC-V: only enable some crypto intrinsic when AvoidUnalignedAccess == false Reviewed-by: fyang, rehn ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: b957e5ed Branch: premain Author: Harald Eilertsen Date: 2025-03-11 15:11:10 +0000 URL: https://git.openjdk.org/leyden/commit/b957e5ed1a8b77e01aad1bb574e4914131cdbfa6 8351322: Parameterize link option for pthreads Reviewed-by: erikj, ihse, dholmes ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.template ! make/modules/java.base/Lib.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk ! make/modules/jdk.sctp/Lib.gmk ! make/test/JtregNativeHotspot.gmk Changeset: 0ad9a104 Branch: premain Author: Aleksey Shipilev Date: 2025-03-11 15:27:36 +0000 URL: https://git.openjdk.org/leyden/commit/0ad9a104e2fed2dd80494cec22e9d9332d37821b 8351146: JFR: JavaMonitorInflate event should default to no threshold and be disabled Reviewed-by: coleenp, egahlin ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: 030c85de Branch: premain Author: Richard Reingruber Date: 2025-03-11 15:54:49 +0000 URL: https://git.openjdk.org/leyden/commit/030c85de1376123615e804f98084cb3723205819 8350106: [PPC] Avoid ticks_unknown_not_Java AsyncGetCallTrace() if JavaFrameAnchor::_last_Java_pc not set Reviewed-by: mdoerr ! src/hotspot/os_cpu/aix_ppc/javaThread_aix_ppc.cpp ! src/hotspot/os_cpu/linux_ppc/javaThread_linux_ppc.cpp Changeset: da2b4f07 Branch: premain Author: Mikael Vidstedt Date: 2025-03-11 16:02:25 +0000 URL: https://git.openjdk.org/leyden/commit/da2b4f0749dffc99fa42c7311fbc74231af273bd 8351606: Use build_platform for graphviz dependency Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: cef36931 Branch: premain Author: Aleksey Shipilev Date: 2025-03-11 19:38:29 +0000 URL: https://git.openjdk.org/leyden/commit/cef369317570f95ac70aac6ceea88a0042ca2b45 8351656: Problemlist gc/TestAllocHumongousFragment#generational Reviewed-by: xpeng, wkemper ! test/hotspot/jtreg/ProblemList.txt Changeset: e71f3274 Branch: premain Author: Chen Liang Date: 2025-03-11 19:51:47 +0000 URL: https://git.openjdk.org/leyden/commit/e71f3274a9de4006bc8cdfe4ba1bd12a8867a11a 8351045: ClassValue::remove cannot ensure computation observes up-to-date state Reviewed-by: rriggs, jrose ! src/java.base/share/classes/java/lang/ClassValue.java ! test/jdk/java/lang/invoke/ClassValueTest.java Changeset: 9a494181 Branch: premain Author: Artur Barashev Committer: Weijun Wang Date: 2025-03-11 20:07:10 +0000 URL: https://git.openjdk.org/leyden/commit/9a49418138b93bc8ed8879be5c9b9b9c85ef47e1 8345940: Migrate security-related resources from Java classes to properties files Reviewed-by: jlu, weijun, erikj ! make/modules/java.base/Gensrc.gmk ! make/modules/jdk.jartool/Gensrc.gmk ! src/java.base/share/classes/sun/security/tools/keytool/Main.java - src/java.base/share/classes/sun/security/tools/keytool/Resources.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_HK.java - src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_de.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_es.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_fr.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_it.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ja.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_ko.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_pt_BR.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_sv.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_CN.properties + src/java.base/share/classes/sun/security/tools/keytool/resources/keytool_zh_TW.properties - src/java.base/share/classes/sun/security/util/AuthResources.java - src/java.base/share/classes/sun/security/util/AuthResources_de.java - src/java.base/share/classes/sun/security/util/AuthResources_es.java - src/java.base/share/classes/sun/security/util/AuthResources_fr.java - src/java.base/share/classes/sun/security/util/AuthResources_it.java - src/java.base/share/classes/sun/security/util/AuthResources_ja.java - src/java.base/share/classes/sun/security/util/AuthResources_ko.java - src/java.base/share/classes/sun/security/util/AuthResources_pt_BR.java - src/java.base/share/classes/sun/security/util/AuthResources_sv.java - src/java.base/share/classes/sun/security/util/AuthResources_zh_CN.java - src/java.base/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/java.base/share/classes/sun/security/util/LocalizedMessage.java - src/java.base/share/classes/sun/security/util/Resources.java ! src/java.base/share/classes/sun/security/util/ResourcesMgr.java - src/java.base/share/classes/sun/security/util/Resources_de.java - src/java.base/share/classes/sun/security/util/Resources_es.java - src/java.base/share/classes/sun/security/util/Resources_fr.java - src/java.base/share/classes/sun/security/util/Resources_it.java - src/java.base/share/classes/sun/security/util/Resources_ja.java - src/java.base/share/classes/sun/security/util/Resources_ko.java - src/java.base/share/classes/sun/security/util/Resources_pt_BR.java - src/java.base/share/classes/sun/security/util/Resources_sv.java - src/java.base/share/classes/sun/security/util/Resources_zh_CN.java - src/java.base/share/classes/sun/security/util/Resources_zh_TW.java + src/java.base/share/classes/sun/security/util/resources/auth.properties + src/java.base/share/classes/sun/security/util/resources/auth_de.properties + src/java.base/share/classes/sun/security/util/resources/auth_es.properties + src/java.base/share/classes/sun/security/util/resources/auth_fr.properties + src/java.base/share/classes/sun/security/util/resources/auth_it.properties + src/java.base/share/classes/sun/security/util/resources/auth_ja.properties + src/java.base/share/classes/sun/security/util/resources/auth_ko.properties + src/java.base/share/classes/sun/security/util/resources/auth_pt_BR.properties + src/java.base/share/classes/sun/security/util/resources/auth_sv.properties + src/java.base/share/classes/sun/security/util/resources/auth_zh_CN.properties + src/java.base/share/classes/sun/security/util/resources/auth_zh_TW.properties + src/java.base/share/classes/sun/security/util/resources/security.properties + src/java.base/share/classes/sun/security/util/resources/security_de.properties + src/java.base/share/classes/sun/security/util/resources/security_es.properties + src/java.base/share/classes/sun/security/util/resources/security_fr.properties + src/java.base/share/classes/sun/security/util/resources/security_it.properties + src/java.base/share/classes/sun/security/util/resources/security_ja.properties + src/java.base/share/classes/sun/security/util/resources/security_ko.properties + src/java.base/share/classes/sun/security/util/resources/security_pt_BR.properties + src/java.base/share/classes/sun/security/util/resources/security_sv.properties + src/java.base/share/classes/sun/security/util/resources/security_zh_CN.properties + src/java.base/share/classes/sun/security/util/resources/security_zh_TW.properties ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java - src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_de.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_ja.properties + src/jdk.jartool/share/classes/sun/security/tools/jarsigner/resources/jarsigner_zh_CN.properties ! test/jdk/sun/security/util/Resources/Usages.java ! test/jdk/sun/security/util/Resources/customSysClassLoader/MessageFormatting.java Changeset: 64464eab Branch: premain Author: Coleen Phillimore Date: 2025-03-11 20:32:21 +0000 URL: https://git.openjdk.org/leyden/commit/64464eab6291ee498fe677e90bcb8980fe8a9a3c 8351673: Clean up a case of if (LockingMode == LM_LIGHTWEIGHT) in a legacy-only locking mode function Reviewed-by: pchilanomate ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 1dd9cf10 Branch: premain Author: Karm Michal Babacek Date: 2025-03-11 21:16:14 +0000 URL: https://git.openjdk.org/leyden/commit/1dd9cf1018f33af34f1f822cb0d1dc706353bbdf 8349099: java/awt/Headless/HeadlessMalfunctionTest.java fails on CI with Compilation error Reviewed-by: aivanov, sgehwolf, prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Headless/HeadlessMalfunctionAgent.java ! test/jdk/java/awt/Headless/HeadlessMalfunctionTest.java Changeset: 4412c079 Branch: premain Author: Jaikiran Pai Date: 2025-03-12 06:55:04 +0000 URL: https://git.openjdk.org/leyden/commit/4412c079fccefbb235b22651206089f5bac47d18 8351639: Improve debuggability of test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java test Reviewed-by: jlahoda ! test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java Changeset: 1d147ccb Branch: premain Author: Aleksey Shipilev Date: 2025-03-12 07:20:48 +0000 URL: https://git.openjdk.org/leyden/commit/1d147ccb4cfcb1da23664ac941e56ac542a7ac61 8351484: Race condition in max stats in MonitorList::add Reviewed-by: pchilanomate, zgu ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! test/hotspot/gtest/runtime/test_synchronizer.cpp Changeset: 1fe45265 Branch: premain Author: Manuel H?ssig Committer: Tobias Hartmann Date: 2025-03-12 08:43:58 +0000 URL: https://git.openjdk.org/leyden/commit/1fe45265e446eeca5dc496085928ce20863a3172 8350194: Last 2 parameters of ReturnNode::ReturnNode are swapped in the declaration Reviewed-by: thartmann, epeter ! src/hotspot/share/opto/callnode.hpp Changeset: 4be502ea Branch: premain Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-12 10:22:44 +0000 URL: https://git.openjdk.org/leyden/commit/4be502ea38b37d5fb532b64e5b82363805bfe657 8350642: Interpreter: Upgrade CountBytecodes to 64 bit on 64 bit platforms Reviewed-by: lmesnik, mdoerr, shade ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/runtime/interpreter/CountBytecodesTest.java Changeset: 84f87dd4 Branch: premain Author: Matthias Baesken Date: 2025-03-12 12:21:28 +0000 URL: https://git.openjdk.org/leyden/commit/84f87dd4e96bbea42b482a3a23383c8894a40868 8351665: Remove unused UseNUMA in os_aix.cpp Reviewed-by: mdoerr, jkern ! src/hotspot/os/aix/os_aix.cpp Changeset: 95b66d5a Branch: premain Author: Doug Simon Date: 2025-03-12 12:31:37 +0000 URL: https://git.openjdk.org/leyden/commit/95b66d5a43a77b257a097afe5df369f92769abd2 8351700: Remove code conditional on BarrierSetNMethod being null Reviewed-by: shade, eosterlund, never ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/g1/g1NMethodClosure.cpp ! src/hotspot/share/gc/shared/barrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/memory/iterator.cpp Changeset: 3b189e0e Branch: premain Author: Hamlin Li Date: 2025-03-12 13:24:42 +0000 URL: https://git.openjdk.org/leyden/commit/3b189e0e78c867b75e984bfaabc92d12b9ff2b9e 8351345: [IR Framework] Improve reported disabled IR verification messages Reviewed-by: chagedorn, epeter ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java Changeset: a21fa463 Branch: premain Author: Jiangli Zhou Date: 2025-03-12 14:40:43 +0000 URL: https://git.openjdk.org/leyden/commit/a21fa463c4f8d067c18c09a072f3cdfa772aea5e 8351309: test/hotspot/jtreg/runtime/posixSig/TestPosixSig.java fails on static-jdk Reviewed-by: manc, ihse, stuefe ! make/modules/java.base/Lib.gmk Changeset: f16a7426 Branch: premain Author: Hannes Walln?fer Date: 2025-03-12 15:53:54 +0000 URL: https://git.openjdk.org/leyden/commit/f16a74260f329ccef51faa2e375bce5947057a49 8351626: Update remaining icons to SVG format Reviewed-by: nbenalla, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/glass.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/glass.svg + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/left.svg + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/right.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/x.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/x.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/Entity.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testFonts/TestFonts.java ! test/langtools/jdk/javadoc/doclet/testPassthruFiles/TestPassThruFiles.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 23716967 Branch: premain Author: Rajan Halade Date: 2025-03-12 17:19:41 +0000 URL: https://git.openjdk.org/leyden/commit/2371696781edc040d8fa8133c78b284a2e3de1ed 8303770: Remove Baltimore root certificate expiring in May 2025 Reviewed-by: shade, mullan - src/java.base/share/data/cacerts/baltimorecybertrustca ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 02c850fc Branch: premain Author: Jiangli Zhou Date: 2025-03-12 17:20:16 +0000 URL: https://git.openjdk.org/leyden/commit/02c850fca87372173eadba18dfa0231df33bebb0 8350982: -server|-client causes fatal exception on static JDK Reviewed-by: iklam, alanb ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndHeapDump.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndLoadKlass.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNonExactAllocate.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNullableLoads.java ! test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndPointerComparisons.java ! test/hotspot/jtreg/compiler/escapeAnalysis/TestIterativeEA.java ! test/hotspot/jtreg/compiler/escapeAnalysis/TestReduceAllocationAndNonReduciblePhi.java ! test/hotspot/jtreg/compiler/inlining/InlineBimorphicVirtualCallAfterMorphismChanged.java ! test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxIntrinsics.java ! test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithG1.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithParallel.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithSerial.java ! test/hotspot/jtreg/runtime/CDSCompressedKPtrs/XShareAuto.java Changeset: db531bf7 Branch: premain Author: Nizar Benalla Date: 2025-03-12 18:56:58 +0000 URL: https://git.openjdk.org/leyden/commit/db531bf7df517eb6a07080aceb2a88a3b90d5e94 8351881: Tidy complains about missing "alt" attribute Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java Changeset: 895f64a1 Branch: premain Author: Aleksey Shipilev Date: 2025-03-12 19:25:08 +0000 URL: https://git.openjdk.org/leyden/commit/895f64a18d7c752332ef9255c0b118bf25bdbb90 8351142: Add JFR monitor deflation and statistics events Reviewed-by: egahlin, dholmes, lmesnik ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/runtime/lightweightSynchronizer.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/runtime/TestJavaMonitorDeflateEvent.java + test/jdk/jdk/jfr/event/runtime/TestJavaMonitorStatisticsEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 930455b5 Branch: premain Author: Aleksey Shipilev Date: 2025-03-12 19:45:31 +0000 URL: https://git.openjdk.org/leyden/commit/930455b59608b547017c9649efeb6bd381340c34 8351640: Print reason for making method not entrant Co-authored-by: Vladimir Ivanov Reviewed-by: vlivanov, kvn ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java Changeset: cdf7632f Branch: premain Author: William Kemper Date: 2025-03-12 20:12:53 +0000 URL: https://git.openjdk.org/leyden/commit/cdf7632f8a85611077a27c91ad928ed8ea116f95 8351444: Shenandoah: Class Unloading may encounter recycled oops Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 5502ce73 Branch: premain Author: Chris Plummer Date: 2025-03-12 20:39:38 +0000 URL: https://git.openjdk.org/leyden/commit/5502ce733e77efa9f40116dd0e34d4d2333a48dc 8351699: Problem list com/sun/jdi/JdbStopInNotificationThreadTest.java with ZGC Reviewed-by: amenkov ! test/jdk/ProblemList-zgc.txt Changeset: a347ecde Branch: premain Author: William Kemper Date: 2025-03-12 20:42:41 +0000 URL: https://git.openjdk.org/leyden/commit/a347ecdedc098bd23598ba6acf28d77db01be066 8350905: Shenandoah: Releasing a WeakHandle's referent may extend its lifetime Reviewed-by: shade, ysr ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 41cc049f Branch: premain Author: Jatin Bhateja Date: 2025-03-13 03:36:50 +0000 URL: https://git.openjdk.org/leyden/commit/41cc049f425e0b7c90ad3870102366a836eb2209 8350840: C2: x64 Assembler::vpcmpeqq assert: failed: XMM register should be 0-15 Reviewed-by: sviswanathan, kvn ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! test/jdk/ProblemList.txt Changeset: a7ad4144 Branch: premain Author: Ioi Lam Date: 2025-03-13 04:57:43 +0000 URL: https://git.openjdk.org/leyden/commit/a7ad4144c8663ed54b9b22cad5fc677273ae9e5c 8351327: -XX:AOTMode=record interferes with application execution Reviewed-by: shade, kvn, matsaave ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/metaspaceShared.cpp + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/TrainingRun.java ! test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: 0e7d460e Branch: premain Author: Hamlin Li Date: 2025-03-13 08:12:38 +0000 URL: https://git.openjdk.org/leyden/commit/0e7d460e4f95cb0209f9b815fe8c9846de4c9b7e 8351662: [Test] RISC-V: enable bunch of IR test Reviewed-by: fyang, rehn, tonyp ! test/hotspot/jtreg/compiler/c2/irTests/RotateLeftNodeIntIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/RotateLeftNodeLongIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVecCountingDownLoop.java ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVectorization2DArray.java ! test/hotspot/jtreg/compiler/c2/irTests/TestIRAbs.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMinMaxIdentities.java ! test/hotspot/jtreg/compiler/c2/irTests/TestPhiDuplicatedConversion.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeTypeConversion.java ! test/hotspot/jtreg/compiler/vectorization/TestAutoVecIntMinMax.java ! test/hotspot/jtreg/compiler/vectorization/TestBufferVectorization.java ! test/hotspot/jtreg/compiler/vectorization/TestOptionVectorizeIR.java ! test/hotspot/jtreg/compiler/vectorization/TestPopulateIndex.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayCopyTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayInvariantFillTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayTypeConvertTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicBooleanOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopControlFlowTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/LoopReductionOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/StripMinedLoopTest.java Changeset: 6241d096 Branch: premain Author: Hamlin Li Date: 2025-03-13 08:12:56 +0000 URL: https://git.openjdk.org/leyden/commit/6241d09657fdd2bbd4f02cf6361df8bd07216147 8351861: RISC-V: add simple assert at arrays_equals_v Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp Changeset: a33b1f7f Branch: premain Author: Hamlin Li Date: 2025-03-13 08:16:53 +0000 URL: https://git.openjdk.org/leyden/commit/a33b1f7f640e0a9e76d2a686734e472a87d809bf 8345298: RISC-V: Add riscv backend for Float16 operations - scalar Reviewed-by: rehn, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! test/hotspot/jtreg/compiler/c2/irTests/ConvF2HFIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/MulHFNodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/TestFloat16ScalarOperations.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java Changeset: 86860cac Branch: premain Author: Casper Norrbin Committer: Albert Mingkun Yang Date: 2025-03-13 09:35:59 +0000 URL: https://git.openjdk.org/leyden/commit/86860cac044e6f464732753670b14a80c1fef438 8346916: [REDO] align_up has potential overflow Reviewed-by: ayang, kbarrett, dlong ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/utilities/align.hpp ! test/hotspot/gtest/utilities/test_align.cpp Changeset: c18494d3 Branch: premain Author: Jeremy Wood Date: 2025-03-13 10:08:49 +0000 URL: https://git.openjdk.org/leyden/commit/c18494d3c9eebd9d97d95fbca712d59ccab2f124 8351108: ImageIO.write(..) fails with exception when writing JPEG with IndexColorModel Reviewed-by: aivanov, prr, azvegint ! src/java.desktop/share/classes/javax/imageio/ImageTypeSpecifier.java + test/jdk/javax/imageio/plugins/jpeg/JpegWriterWriteNonOpaqueIndexColorModelTest.java Changeset: 9c003314 Branch: premain Author: Saranya Natarajan Committer: Roberto Casta?eda Lozano Date: 2025-03-13 11:02:44 +0000 URL: https://git.openjdk.org/leyden/commit/9c00331465fe83e491f6dd1e6df4df1fb790f2fc 8330469: C2: Remove or change "PrintOpto && VerifyLoopOptimizations" as printing code condition Reviewed-by: chagedorn, rcastanedalo ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/split_if.cpp Changeset: 4c5956d7 Branch: premain Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-13 11:14:52 +0000 URL: https://git.openjdk.org/leyden/commit/4c5956d7481e043c35f5dc78f095516288a00a2e 8350866: [x86] Add C1 intrinsics for CRC32-C Reviewed-by: mdoerr, kvn ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/opto/library_call.cpp Changeset: 375722f4 Branch: premain Author: Fei Yang Date: 2025-03-13 12:06:17 +0000 URL: https://git.openjdk.org/leyden/commit/375722f4ab62865c45d8d76f01dc9c7209be57c8 8351839: RISC-V: Fix base offset calculation introduced in JDK-8347489 Reviewed-by: mli, fjiang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: c3db6671 Branch: premain Author: Matthias Baesken Date: 2025-03-13 12:41:57 +0000 URL: https://git.openjdk.org/leyden/commit/c3db667156f7e6b7d05c76370973b9f2db9f0d55 8351542: LIBMANAGEMENT_OPTIMIZATION remove special optimization settings Reviewed-by: ihse, kevinw ! make/modules/java.management/Lib.gmk ! make/modules/jdk.management/Lib.gmk Changeset: 82eb7806 Branch: premain Author: Sean Mullan Date: 2025-03-13 12:43:04 +0000 URL: https://git.openjdk.org/leyden/commit/82eb78069ffbaf66ae479d41d850d5999055e0e1 8351349: GSSUtil.createSubject has outdated access control context and policy related text Reviewed-by: weijun ! src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java Changeset: 7e3bc81e Branch: premain Author: Joel Sikstr?m Date: 2025-03-13 13:21:57 +0000 URL: https://git.openjdk.org/leyden/commit/7e3bc81e885071352fceab01015d7deef067a27a 8351216: ZGC: Store NUMA node count Reviewed-by: tschatzl, sjohanss, eosterlund ! src/hotspot/os/bsd/gc/z/zNUMA_bsd.cpp ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/windows/gc/z/zNUMA_windows.cpp ! src/hotspot/share/gc/z/zNUMA.cpp ! src/hotspot/share/gc/z/zNUMA.hpp ! src/hotspot/share/gc/z/zNUMA.inline.hpp ! src/hotspot/share/gc/z/zPageCache.cpp Changeset: 4e51a8c9 Branch: premain Author: Galder Zamarre?o Date: 2025-03-13 13:53:54 +0000 URL: https://git.openjdk.org/leyden/commit/4e51a8c9ad4e5345d05cf32ce1e82b7158f80e93 8307513: C2: intrinsify Math.max(long,long) and Math.min(long,long) Reviewed-by: roland, epeter, chagedorn, darcy ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/java.base/share/classes/java/lang/Math.java ! test/hotspot/jtreg/compiler/c2/irTests/TestMinMaxIdentities.java + test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxInlining.java + test/hotspot/jtreg/compiler/loopopts/superword/MinMaxRed_Long.java + test/micro/org/openjdk/bench/java/lang/MinMaxVector.java Changeset: 37ec7962 Branch: premain Author: Thomas Stuefe Date: 2025-03-13 16:08:08 +0000 URL: https://git.openjdk.org/leyden/commit/37ec796255ae857588a5c7e0d572407dd81cbec9 8351500: G1: NUMA migrations cause crashes in region allocation Reviewed-by: rkennke, sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1Allocator.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 0ff1c083 Branch: premain Author: Henry Jen Date: 2025-03-13 16:44:06 +0000 URL: https://git.openjdk.org/leyden/commit/0ff1c0832e7d2ca70f344e933d86a5d16fdcabe0 8349984: (jdeps) jdeps can use String.repeat instead of String.replaceAll Reviewed-by: alanb ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageResourcesTree.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java Changeset: 771e160d Branch: premain Author: Harald Eilertsen Date: 2025-03-13 16:54:54 +0000 URL: https://git.openjdk.org/leyden/commit/771e160da4daa98bfe37bf1acba65454c088910c 8351323: Parameterize compiler and linker flags for iconv Reviewed-by: ihse, erikj ! make/autoconf/libraries.m4 ! make/autoconf/spec.gmk.template ! make/modules/java.desktop/lib/ClientLibraries.gmk ! make/modules/java.instrument/Lib.gmk ! make/modules/jdk.jdwp.agent/Lib.gmk Changeset: b50fe9b8 Branch: premain Author: Rajat Mahajan Committer: Alexey Ivanov Date: 2025-03-13 17:09:17 +0000 URL: https://git.openjdk.org/leyden/commit/b50fe9b8cc39730d3339e45a83b365ab3dd8a5da 8280818: Expand bug8033699.java to iterate over all LaFs Reviewed-by: dnguyen, aivanov, honkar, abhiscxk ! test/jdk/javax/swing/JRadioButton/8033699/bug8033699.java Changeset: 03ef79cf Branch: premain Author: Eric Caspole Date: 2025-03-13 18:32:15 +0000 URL: https://git.openjdk.org/leyden/commit/03ef79cf05bdcfc3bb126d004f8f039fb2f4ba9f 8346470: Improve WriteBarrier JMH to have old-to-young refs Reviewed-by: tschatzl ! test/micro/org/openjdk/bench/vm/compiler/WriteBarrier.java Changeset: 248c373b Branch: premain Author: Erik Gahlin Date: 2025-03-13 19:21:11 +0000 URL: https://git.openjdk.org/leyden/commit/248c373b5b066b6b3eaa5a7461f30733f30b0a13 8351266: JFR: -XX:StartFlightRecording:report-on-exit Reviewed-by: mgronlun ! src/java.base/share/man/java.md ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/AbstractEventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdQuery.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdView.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/QueryRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/Configuration.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/QueryPrinter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/query/Report.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/query/ViewPrinter.java + test/jdk/jdk/jfr/startupargs/TestStartReportOnExit.java Changeset: cd1be917 Branch: premain Author: Alex Menkov Date: 2025-03-13 20:05:49 +0000 URL: https://git.openjdk.org/leyden/commit/cd1be9175714186b8881a4d08628fdfcc9382bbc 8319055: JCMD should not buffer the whole output of commands Reviewed-by: stuefe, jsjolen ! src/hotspot/os/posix/attachListener_posix.cpp ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/attachListener.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java + test/hotspot/jtreg/serviceability/attach/AttachAPIv2/StreamingOutputTest.java ! test/hotspot/jtreg/serviceability/dcmd/compiler/CodeHeapAnalyticsParams.java Changeset: aa047ee0 Branch: premain Author: Phil Race Date: 2025-03-13 20:13:29 +0000 URL: https://git.openjdk.org/leyden/commit/aa047ee02472c65297cc8a153458e634c5e4f350 8319192: Remove javax.swing.plaf.synth.SynthLookAndFeel.load(URL url) Reviewed-by: azvegint, tr ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Changeset: 3da5e3fe Branch: premain Author: Gennadiy Krivoshein Date: 2025-03-13 20:27:13 +0000 URL: https://git.openjdk.org/leyden/commit/3da5e3fe10350f9bf0ff8c6b8d9aad3f50646364 8349350: Unable to print using InputSlot and OutputBin print attributes at the same time Reviewed-by: prr, kizune, psadhukhan ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java ! src/java.desktop/unix/classes/sun/print/UnixPrintJob.java + test/jdk/javax/print/PrintExecCmdOptionTest.java + test/jdk/javax/print/UnixPrintJobOptionsTest.java Changeset: 7fc776e2 Branch: premain Author: Daniel Gredler Committer: Phil Race Date: 2025-03-13 20:27:27 +0000 URL: https://git.openjdk.org/leyden/commit/7fc776e2ace920a3b1b319c021e6d3d440305b5e 8270265: LineBreakMeasurer calculates incorrect line breaks with zero-width characters Reviewed-by: achung, prr ! src/java.desktop/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/java.desktop/share/native/libfontmanager/HBShaper.c ! src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c ! src/java.desktop/share/native/libfontmanager/hb-jdk-p.h ! src/java.desktop/share/native/libfontmanager/hb-jdk.h ! test/jdk/java/awt/font/TextLayout/FormatCharAdvanceTest.java Changeset: be36b234 Branch: premain Author: Ioi Lam Date: 2025-03-13 21:06:00 +0000 URL: https://git.openjdk.org/leyden/commit/be36b234319f1ed89ea4f4ee29471b01c1dc89f2 8351778: JIT compiler fails when running -XX:AOTMode=create Reviewed-by: shade, kvn, vlivanov ! src/hotspot/share/classfile/symbolTable.cpp Changeset: 04544064 Branch: premain Author: David Holmes Date: 2025-03-13 22:29:42 +0000 URL: https://git.openjdk.org/leyden/commit/0454406417701341dafa0d733cd480c145673d32 8351987: ProblemList the failing JFR streaming tests on macOS Reviewed-by: egahlin ! test/jdk/ProblemList.txt Changeset: a7a09f69 Branch: premain Author: Anjian-Wen Committer: Fei Yang Date: 2025-03-14 05:53:04 +0000 URL: https://git.openjdk.org/leyden/commit/a7a09f69abc6c4730599d3de9067c2fde75c5172 8349632: RISC-V: Add Zfa?fminm/fmaxm Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: e3c29c9e Branch: premain Author: Aleksey Shipilev Date: 2025-03-14 07:46:46 +0000 URL: https://git.openjdk.org/leyden/commit/e3c29c9e6cff7648952c0ba359b0763a0ea8da18 8351556: Optimize Location.locationFor/isModuleOrientedLocation Reviewed-by: liach, jlahoda ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/java.compiler/share/classes/javax/tools/StandardLocation.java + test/langtools/tools/javac/api/location/LocationFor.java + test/micro/org/openjdk/bench/javax/tools/LocationFor.java + test/micro/org/openjdk/bench/javax/tools/LocationProps.java Changeset: 65c5282f Branch: premain Author: Christian Hagedorn Date: 2025-03-14 12:13:18 +0000 URL: https://git.openjdk.org/leyden/commit/65c5282f4b83343062571736b7d34ddb147ea39c 8351938: C2: Print compilation bailouts with PrintCompilation compile command Reviewed-by: epeter, thartmann, kvn, galder ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 86b24339 Branch: premain Author: Tobias Hartmann Date: 2025-03-14 12:46:18 +0000 URL: https://git.openjdk.org/leyden/commit/86b24339dc05422f61e10023f97a9013e2c03a15 8352050: Problem list compiler/ciReplay/* test until JDK-8349191 is fixed Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 985ca127 Branch: premain Author: Fei Yang Date: 2025-03-14 13:44:29 +0000 URL: https://git.openjdk.org/leyden/commit/985ca1270e8d9bc041e50c2e9dd22bfeb0113e6e 8352011: RISC-V: Two IR tests fail after JDK-8351662 Reviewed-by: syan, mli ! test/hotspot/jtreg/compiler/c2/irTests/TestAutoVecCountingDownLoop.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeTypeConversion.java Changeset: 712a70c5 Branch: premain Author: Hamlin Li Date: 2025-03-14 15:07:29 +0000 URL: https://git.openjdk.org/leyden/commit/712a70c5c44ac1fe916ceb1fff854d689b79b126 8318220: RISC-V: C2 ReverseI 8318221: RISC-V: C2 ReverseL Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_b.ad ! src/hotspot/cpu/riscv/vm_version_riscv.hpp + test/hotspot/jtreg/compiler/c2/riscv64/TestIntegerReverse.java + test/hotspot/jtreg/compiler/c2/riscv64/TestLongReverse.java + test/hotspot/jtreg/compiler/lib/golden/GoldenReverse.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: 7f428041 Branch: premain Author: Jiangli Zhou Date: 2025-03-14 16:25:23 +0000 URL: https://git.openjdk.org/leyden/commit/7f42804148fca3fb6ff669c35c4086c9fafc7ad3 8350524: Some hotspot/jtreg/serviceability/dcmd/vm tier1 tests fail on static JDK Reviewed-by: stuefe ! test/hotspot/jtreg/serviceability/dcmd/vm/DynLibsTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemDumpMapTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemMapTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/SystemMapTestBase.java Changeset: 0460978e Branch: premain Author: Ian Graves Date: 2025-03-14 17:50:42 +0000 URL: https://git.openjdk.org/leyden/commit/0460978e7c769624cacdb528277a99914b327e30 8351096: Typos in Vector API doc Reviewed-by: psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.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/Float16.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/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMath.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/package-info.java Changeset: 7fdb2532 Branch: premain Author: Ioi Lam Date: 2025-03-15 22:44:53 +0000 URL: https://git.openjdk.org/leyden/commit/7fdb25322cb3c2f765e6ecef7a9aa2120ab00a34 Merge branch 'master' into premain ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassLinker.cpp ! src/hotspot/share/cds/aotClassLocation.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciObjectFactory.hpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciUtilities.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/interpreter/bytecodeHistogram.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/trainingData.cpp ! src/hotspot/share/oops/trainingData.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java ! src/java.base/share/classes/java/net/URI.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/c1/c1_Compilation.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassLinker.cpp ! src/hotspot/share/cds/aotClassLocation.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciObjectFactory.hpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciUtilities.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/moduleEntry.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/interpreter/bytecodeHistogram.cpp ! src/hotspot/share/interpreter/bytecodeHistogram.hpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/method.cpp + src/hotspot/share/oops/trainingData.cpp + src/hotspot/share/oops/trainingData.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubDeclarations.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java ! src/java.base/share/classes/java/net/URI.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups Changeset: f57ae6a4 Branch: premain Author: Ioi Lam Date: 2025-03-16 19:01:13 +0000 URL: https://git.openjdk.org/leyden/commit/f57ae6a42a6fa242650f72caffe8a27b1161d08a Merge branch 'premain' of https://github.com/openjdk/leyden into premain ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/trainingData.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/trainingData.hpp From shade at openjdk.org Mon Mar 17 09:28:39 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 17 Mar 2025 09:28:39 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` Thanks for reviews, I am going to integrate now. If there are follow-ups, we can handle them separately. ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2728746109 From duke at openjdk.org Mon Mar 17 09:28:39 2025 From: duke at openjdk.org (duke) Date: Mon, 17 Mar 2025 09:28:39 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` @shipilev Your change (at version 758f18b25fcedeec082feb0b811ce1cb482c2b85) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2728752548 From shade at openjdk.org Mon Mar 17 09:28:39 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 17 Mar 2025 09:28:39 GMT Subject: RFR: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Sat, 15 Mar 2025 14:07:28 GMT, Vladimir Ivanov wrote: > Also, since AOT code preparation is a synchronous task during assembly phase, it makes sense to revise how many compiler threads are used. I had the same thought, but the effects I measured were not compelling. So I left the number of compiler threads to the default dynamic policy, which seems to work well. ------------- PR Comment: https://git.openjdk.org/leyden/pull/49#issuecomment-2728737845 From shade at openjdk.org Mon Mar 17 10:46:19 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 17 Mar 2025 10:46:19 GMT Subject: Integrated: 8352042: [leyden] Parallel precompilation In-Reply-To: References: Message-ID: On Fri, 14 Mar 2025 12:22:00 GMT, Aleksey Shipilev wrote: > For simplicity reasons, our current precompilation code uses effectively single-threaded blocking compiles. Even for simple cases, this makes assembly phase remarkably long. This does not scale well. We need to do precompilations in parallel. > > Unfortunately, I haven't found a good way to check that all async compilations are completed, so I introduced a new one. > > Additional testing: > - [x] Ad-hoc precompilation tests > - [x] Linux x86_64 server fastdebug, `runtime/cds` This pull request has now been integrated. Changeset: 92203ef8 Author: Aleksey Shipilev Committer: Andrew Dinn URL: https://git.openjdk.org/leyden/commit/92203ef8a1d840a073958abeee3b0494d83a0780 Stats: 123 lines in 8 files changed: 65 ins; 44 del; 14 mod 8352042: [leyden] Parallel precompilation Reviewed-by: vlivanov ------------- PR: https://git.openjdk.org/leyden/pull/49 From adinn at openjdk.org Mon Mar 17 10:46:53 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Mon, 17 Mar 2025 10:46:53 GMT Subject: git: openjdk/leyden: premain: 8352042: [leyden] Parallel precompilation Message-ID: Changeset: 92203ef8 Branch: premain Author: Aleksey Shipilev Committer: Andrew Dinn Date: 2025-03-17 10:43:08 +0000 URL: https://git.openjdk.org/leyden/commit/92203ef8a1d840a073958abeee3b0494d83a0780 8352042: [leyden] Parallel precompilation Reviewed-by: vlivanov ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/compiler/compileLog.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/precompiler.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp From asmehra at openjdk.org Mon Mar 17 11:43:52 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 17 Mar 2025 11:43:52 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer In-Reply-To: References: Message-ID: On Wed, 11 Dec 2024 00:00:32 GMT, Ashutosh Mehra wrote: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... @adinn @vnkozlov fyi ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2536635679 From asmehra at openjdk.org Mon Mar 17 11:43:52 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 17 Mar 2025 11:43:52 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer Message-ID: This is the prototype for storing and loading nmethods without going through the CodeBuffer. The new implementation is protected by the flag -XX:+UseNewCode2. Some numbers using this implementation: spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. Numbers for Springboot Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 Run,Old CDS + AOT,New CDS + AOT 1,544,512 2,554,525 3,550,508 4,571,515 5,550,506 6,552,515 7,568,510 8,554,517 9,551,506 10,556,508 Geomean,554.94,512.17 Stdev,7.90,5.65 Numbers for Quarkus: Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 Run,Old CDS + AOT,New CDS + AOT 1,359,346 2,360,353 3,373,357 4,376,356 5,366,353 6,360,356 7,361,361 8,347,349 9,355,336 10,374,342 Geomean,363.00,350.82 Stdev,8.70,7.27 -Xlog:init logs the load time from AOT code cache at JVM exit. For spring-boot-getting-started without `UseNewCode2`: [3.459s][info][init] SC Load Time: 0.202 s [3.459s][info][init] nmethod register: 0.135 s [3.459s][info][init] find cached code: 0.007 s For spring-boot-getting-started with `UseNewCode2`: [3.192s][info][init] [3.192s][info][init] SC Load Time: 0.138 s [3.192s][info][init] nmethod register: 0.111 s [3.192s][info][init] find cached code: 0.006 s For quarkus-getting-started without `UseNewCode2` [0.392s][info][init] SC Load Time: 0.060 s [0.392s][info][init] nmethod register: 0.039 s [0.392s][info][init] find cached code: 0.002 s For quarkus-getting-started with `UseNewCode2` [0.386s][info][init] SC Load Time: 0.033 s [0.386s][info][init] nmethod register: 0.027 s [0.386s][info][init] find cached code: 0.002 s [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started [1] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/quarkus-getting-started ------------- Commit messages: - Handle mutable nmethod data properly when storing/loading from AOT code - Fix win compile failures - Remove trailing whitespaces - Include os.hpp to fix compile failures - Store asm remarks and debug strings in the cache - More whitespace fixes - Fix whitespace errors; Some more cleanup - Fix compile failures in minimal build - Removed old code for storing/loading nmethods from AOT code cache - Store nmethod directly into AOT code cache - ... and 1 more: https://git.openjdk.org/leyden/compare/f57ae6a4...04b77eab Changes: https://git.openjdk.org/leyden/pull/27/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=00 Stats: 1765 lines in 16 files changed: 1119 ins; 430 del; 216 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From kvn at openjdk.org Mon Mar 17 11:43:52 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 17 Mar 2025 11:43:52 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer In-Reply-To: References: Message-ID: On Wed, 11 Dec 2024 17:27:35 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > @adinn @vnkozlov fyi Hi @ashu-mehra This is good POC. In general this looks good. My only concern is that `SCnmethod` is "copy" of `nmethod` so you have to copy values. Can you make `SCnmethod` as subclass of `nmethod` so you don't need to allocate it and copy offsets values which don't change? If it is difficult, please explain why. I see that you use `apply_relocations()` to update relocations only once. Good. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2573726777 From kvn at openjdk.org Mon Mar 17 11:43:53 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 17 Mar 2025 11:43:53 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer In-Reply-To: References: Message-ID: On Mon, 6 Jan 2025 19:00:30 GMT, Vladimir Kozlov wrote: > Can you make SCnmethod as subclass of nmethod so you don't need to allocate it and copy offsets values which don't change? If it is difficult, please explain why. I may know answer myself. It is virtual table pointer since `nmethod` class has virtual methods. Lets go with your SCnmethod for now. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2576032292 From asmehra at openjdk.org Mon Mar 17 11:43:53 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 17 Mar 2025 11:43:53 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer In-Reply-To: References: Message-ID: On Tue, 7 Jan 2025 19:08:34 GMT, Vladimir Kozlov wrote: > It is virtual table pointer since nmethod class has virtual methods. That's right. My next step is to try store nmethods as is and map them back which would require handling of vtable ptr. CDS already has capability to do that. So it should be feasible. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2576108492 From asmehra at openjdk.org Mon Mar 17 11:53:32 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 17 Mar 2025 11:53:32 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Minor cleanup Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/27/files - new: https://git.openjdk.org/leyden/pull/27/files/04b77eab..417a4450 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=01 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=00-01 Stats: 8 lines in 2 files changed: 0 ins; 1 del; 7 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From asmehra at openjdk.org Mon Mar 17 12:04:18 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 17 Mar 2025 12:04:18 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra I have updated this PR to remove `SCnmethod` and store `nmethod` directly into AOT code cache. Perf numbers have changed compared to the last prototype. For spring boot: Old build = /home/asmehra/data/ashu-mehra/leyden/build/premain-release/images/jdk with options New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options Run,Old CDS + AOT,New CDS + AOT 1,544,532 2,548,526 3,558,534 4,550,529 5,541,532 6,540,540 7,539,542 8,554,526 9,540,532 10,544,530 Geomean,545.77,532.28 Stdev,6.18,5.02 For quarkus: Old build = /home/asmehra/data/ashu-mehra/leyden/build/premain-release/images/jdk with options New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options Run,Old CDS + AOT,New CDS + AOT 1,358,349 2,355,356 3,360,347 4,372,342 5,357,353 6,344,336 7,356,353 8,352,339 9,359,338 10,347,340 Geomean,355.93,345.23 Stdev,7.27,6.84 This shows an improvement of 2.5~3%. `SC Load Time` as reported by `-Xlog:init` shows it is cut down to almost half. Springboot without this change: [0.810s][info][init] SC Load Time: 0.127 s [0.810s][info][init] nmethod register: 0.091 s [0.810s][info][init] find cached code: 0.003 s Springboot with this change: [0.800s][info][init] SC Load Time: 0.064 s [0.800s][info][init] nmethod register: 0.055 s [0.800s][info][init] find cached code: 0.003 s Quarkus without this change: [0.392s][info][init] SC Load Time: 0.056 s [0.392s][info][init] nmethod register: 0.040 s [0.392s][info][init] find cached code: 0.002 s Quarkus with this change: [0.383s][info][init] SC Load Time: 0.027 s [0.383s][info][init] nmethod register: 0.024 s [0.383s][info][init] find cached code: 0.002 s ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2729228757 From kvn at openjdk.org Mon Mar 17 18:06:39 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Mon, 17 Mar 2025 18:06:39 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra Nice. @ashu-mehra do you know why "New CDS + AOT" results for SpringBoot is worse than before: geo mean 532.28 vs 512.17? ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2730423334 From ioi.lam at oracle.com Tue Mar 18 03:47:39 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Mon, 17 Mar 2025 20:47:39 -0700 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: On 3/16/25 1:09 AM, Alan Bateman wrote: > On 16/03/2025 02:12, ioi.lam at oracle.com wrote: >> Could you send the exact command-line that causes the error? If you >> can share a self-contain reproducible test case, that would be great! >> >> Looking from the stack trace: >> >> ??? at >> jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.java:542) >> ??? at >> jdk.management.agent/jdk.internal.agent.Agent.startLocalManagementAgent(Agent.java:316) >> ??? at >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:448) >> ??? at >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:601) >> >> It looks like you might have specified a Java agent in the "java >> -XX:AOTMode=create ...." command line. Can you try removing that and >> see if it works? > > I assume it's something started with -Dcom.sun.management=... to start > the JMX agent. This sets in motion the registration of management > beans and the JMX introspector machinery that looks at annotations and > causes Proxy classes to be generated into dynamic modules. > > Ioi - I suspect the restriction on creating dynamic modules in the > dump phase may be too restrictive. The full module graph dumping > should only be concerned with the boot layer. > > -Alan Hi Alan, thanks for the information. I've created https://bugs.openjdk.org/browse/JDK-8352187 to address this problem. I verified that the dynamic modules created by the dynamic proxies always have a null for its ModuleLayer. Also, there are no APIs for adding new modules into the boot layer (after the boot layer has been initialized), so the usage of ProxyBuilder.getDynamicModule() shouldn't cause problems for CDS. https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/jdk/internal/module/Modules.java#L76-L82 https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/java/lang/System.java#L2033-L2037 Thanks - Ioi From duke at openjdk.org Tue Mar 18 06:15:17 2025 From: duke at openjdk.org (duke) Date: Tue, 18 Mar 2025 06:15:17 GMT Subject: git: openjdk/leyden: premain: Minor fix to use the new make target in the script that compares builds Message-ID: Changeset: 9d3ab855 Branch: premain Author: Ashutosh Mehra Date: 2025-03-18 11:42:40 +0000 URL: https://git.openjdk.org/leyden/commit/9d3ab855f81bd668c55eec5a81fde99ff51b0910 Minor fix to use the new make target in the script that compares builds Signed-off-by: Ashutosh Mehra ! test/hotspot/jtreg/premain/lib/Bench.gmk From asmehra at openjdk.org Tue Mar 18 10:44:38 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 18 Mar 2025 10:44:38 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 18:04:08 GMT, Vladimir Kozlov wrote: > do you know why "New CDS + AOT" results for SpringBoot is worse than before: geo mean 532.28 vs 512.17? I noticed this but at the moment I don't know the reason for this increase in startup time. The `SC Load Time` has gone down on expected lines. So may be there are other factors playing a role here. I am trying to get my earlier prototype working with latest premain to see if I still get the same numbers as before. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2732629396 From shade at openjdk.org Tue Mar 18 18:22:35 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 18:22:35 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Note the improvements in `User` time, these are the compilations we do not do. This somewhat reflects in end-to-end timings too. `JavacBenchApp 1`: Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -Xms64m -Xmx8g \ -XX:+UseSerialGC -cp JavacBenchApp.jar -XX:AOTCache=app.aot JavacBenchApp 1 # Before Time (mean ? ?): 180.2 ms ? 3.5 ms [User: 349.9 ms, System: 67.2 ms] Range (min ? max): 173.5 ms ? 184.9 ms 30 runs # After Time (mean ? ?): 176.5 ms ? 2.3 ms [User: 299.7 ms, System: 65.7 ms] Range (min ? max): 173.4 ms ? 181.0 ms 30 runs `JavacBenchApp 50`: Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -Xms64m -Xmx8g \ -XX:+UseSerialGC -cp JavacBenchApp.jar -XX:AOTCache=app.aot JavacBenchApp 50 # Before Time (mean ? ?): 467.4 ms ? 8.3 ms [User: 2150.0 ms, System: 172.9 ms] Range (min ? max): 455.5 ms ? 488.6 ms 30 runs # After Time (mean ? ?): 453.7 ms ? 4.8 ms [User: 1567.3 ms, System: 146.4 ms] Range (min ? max): 446.7 ms ? 468.7 ms 30 runs ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2734312638 From shade at openjdk.org Tue Mar 18 18:43:09 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 18:43:09 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped In-Reply-To: References: Message-ID: On Thu, 13 Mar 2025 16:43:23 GMT, Aleksey Shipilev wrote: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` OK, so here is my argument. Some uncommon traps are endemic to preload code. I _suspect_ the one in the disassembly above could come from places like `ciTypeFlow::StateVector::do_new`. Regardless, I believe that if preload code traps, then non-preload code would also trap in those conditions, since both versions were compiled in the same environment. When we start eliminating more traps in preload code, this heuristics would naturally go away for those cases. (I need to finish https://github.com/openjdk/leyden/pull/38, probably when G1 barriers work lands here from upstream and we can re-evaluate the impact). But right now, this heuristics helps the compilation times _a lot_, see the comment above. In new version, I have extended MDO to track preload decompiles exactly, so we do not mix with "normal" decompilations and profiles. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2734352753 From shade at openjdk.org Tue Mar 18 18:43:08 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 18:43:08 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v2] In-Reply-To: References: Message-ID: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: - Indenting - Null-check - Count preload decompiles separately - Cleanup - Fix ------------- Changes: https://git.openjdk.org/leyden/pull/48/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=01 Stats: 38 lines in 5 files changed: 37 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From shade at openjdk.org Tue Mar 18 18:45:39 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 18:45:39 GMT Subject: RFR: 8349814: [leyden] Reduce uncommon traps in preload code [v5] In-Reply-To: References: Message-ID: > Preload code is the C2 code we load very early, before it gets substituted by more advanced C2 code. We are seeing lots of uncommon traps from the preloaded code, though, which invalidates it too early. We can do precompile code without uncommon traps to alleviate this. > > Additional testing: > - [x] Ad-hoc perf tests (see comment below) > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev 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 11 additional commits since the last revision: - Merge branch 'premain' into JDK-8349814-preload-avoid-uncommon-traps - Merge logging - Better logging levels - Merge branch 'premain' into JDK-8349814-preload-avoid-uncommon-traps - Also print the comment - Merge branch 'premain' into JDK-8349814-preload-avoid-uncommon-traps - Demote to info - Merge branch 'premain' into JDK-8349814-preload-avoid-uncommon-traps - Shuffle things around to capture more cases - Comment - ... and 1 more: https://git.openjdk.org/leyden/compare/1dfcdcc8...5a1f9e1c ------------- Changes: - all: https://git.openjdk.org/leyden/pull/38/files - new: https://git.openjdk.org/leyden/pull/38/files/bc4e825b..5a1f9e1c Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=38&range=04 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=38&range=03-04 Stats: 89461 lines in 1881 files changed: 43334 ins; 31830 del; 14297 mod Patch: https://git.openjdk.org/leyden/pull/38.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/38/head:pull/38 PR: https://git.openjdk.org/leyden/pull/38 From shade at openjdk.org Tue Mar 18 19:17:41 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:17:41 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v3] In-Reply-To: References: Message-ID: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Also mark entry as non-entrant ------------- Changes: - all: https://git.openjdk.org/leyden/pull/48/files - new: https://git.openjdk.org/leyden/pull/48/files/6f6795d9..4c7b1a2b Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=01-02 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From kvn at openjdk.org Tue Mar 18 19:17:41 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Tue, 18 Mar 2025 19:17:41 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v2] In-Reply-To: References: Message-ID: On Tue, 18 Mar 2025 18:43:08 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits: > > - Indenting > - Null-check > - Count preload decompiles separately > - Cleanup > - Fix > Some uncommon traps are endemic to preload code. I suspect the one in the disassembly above could come from places like ciTypeFlow::StateVector::do_new. Regardless, I believe that if preload code traps, then non-preload code would also trap in those conditions, since both versions were compiled in the same environment. Right. They are also compiled by the same compiler thread one after an other: [output.cpp#L3463](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/opto/output.cpp#L3463) Note, `Reason_PrecompileForPreload` is used only for precompilation feature which we are not using for our workflow AFAICS. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2734456062 From shade at openjdk.org Tue Mar 18 19:20:22 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:20:22 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v3] In-Reply-To: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> References: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> Message-ID: On Tue, 18 Mar 2025 19:17:41 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Also mark entry as non-entrant I need to double-check the dynamics for some of the methods to make sure we are not delaying the T4 compilation unnecessarily when we bail when loading A4 code. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2734463071 From kvn at openjdk.org Tue Mar 18 19:31:18 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Tue, 18 Mar 2025 19:31:18 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v3] In-Reply-To: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> References: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> Message-ID: On Tue, 18 Mar 2025 19:17:41 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Also mark entry as non-entrant src/hotspot/share/ci/ciEnv.cpp line 1083: > 1081: if (mdo != nullptr && _inc_decompile_count_on_failure) { > 1082: mdo->inc_decompile_count(); > 1083: if (nm != nullptr && nm->preloaded()) { `nm` is not set yet here. You need to check `preload` ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/48#discussion_r2001848871 From shade at openjdk.org Tue Mar 18 19:42:03 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:42:03 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v4] In-Reply-To: References: Message-ID: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Handle things on trapping path ------------- Changes: - all: https://git.openjdk.org/leyden/pull/48/files - new: https://git.openjdk.org/leyden/pull/48/files/4c7b1a2b..48846a1d Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=03 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=02-03 Stats: 69 lines in 7 files changed: 30 ins; 38 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From shade at openjdk.org Tue Mar 18 19:42:05 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:42:05 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v3] In-Reply-To: References: <0Z1dxvhwMbjYStrcnp07c11MxcDl7r4acEfyLQClXCA=.0ec8fe24-b8ea-4f07-94e5-b2c69308cc6e@github.com> Message-ID: On Tue, 18 Mar 2025 19:28:24 GMT, Vladimir Kozlov wrote: >> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: >> >> Also mark entry as non-entrant > > src/hotspot/share/ci/ciEnv.cpp line 1083: > >> 1081: if (mdo != nullptr && _inc_decompile_count_on_failure) { >> 1082: mdo->inc_decompile_count(); >> 1083: if (nm != nullptr && nm->preloaded()) { > > `nm` is not set yet here. You need to check `preload` Right. Actually, I think I need to invalidate the A4 SCC entry anyway, so I can just do that on trapping path, and avoid extending any MDOs. This also avoids any attempt to actually load A4 code, touching any queues, or interfering with compilation policies. I pushed a new version, going to measure its perf tomorrow. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/48#discussion_r2001864191 From shade at openjdk.org Tue Mar 18 19:53:59 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:53:59 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v5] In-Reply-To: References: Message-ID: <97o52aP6HFZowJ0noDc0Pf9yCO8-0Z6dXxXnAbZUK6c=.5dcd6b52-437c-4528-b729-fd84f0bc78b8@github.com> > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Touching compiler directives acquires lock out of order with Nmethod locks... ------------- Changes: - all: https://git.openjdk.org/leyden/pull/48/files - new: https://git.openjdk.org/leyden/pull/48/files/48846a1d..04823621 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=04 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=03-04 Stats: 13 lines in 2 files changed: 3 ins; 1 del; 9 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From shade at openjdk.org Tue Mar 18 19:54:00 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Tue, 18 Mar 2025 19:54:00 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v4] In-Reply-To: References: Message-ID: On Tue, 18 Mar 2025 19:42:03 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Handle things on trapping path For the reference, this is how sample dynamics look like now. After the trap from AP4 code, no attempt to load A4 code is made, and only a single T2 compilation happens (used to be two), followed by T4 compilation. $ grep com.sun.tools.javac.util.StringNameTable::fromString print-compilation.log 43 W0.0 Q8.8 C0.1 333 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) [0.047s][debug ][deoptimization] cid= 333 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x000071945803a2c0 relative_pc=0x00000000000003c0 47 333 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant: uncommon trap 47 W0.1 Q0.0 C0.6 1379 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) 99 1379 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant: not used 99 W2.7 Q0.0 C8.5 1839 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2734542631 From asmehra at openjdk.org Wed Mar 19 07:06:26 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Wed, 19 Mar 2025 07:06:26 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Tue, 18 Mar 2025 10:41:53 GMT, Ashutosh Mehra wrote: > I am trying to get my earlier prototype working with latest premain to see if I still get the same numbers as before. @vnkozlov I used the first prototype but I am not getting same numbers as mentioned in https://github.com/openjdk/leyden/pull/27#issue-2731492066 The startup time and `SC Load time` numbers are comparable to what I am getting with the current patch. So I don't think the current patch is any worse than the earlier prototype (and it shouldn't be!). ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2735544166 From shade at openjdk.org Wed Mar 19 09:18:00 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Wed, 19 Mar 2025 09:18:00 GMT Subject: RFR: 8351965: [leyden] Skip installing C2 AOT code if C2 precompiled AOT code trapped [v6] In-Reply-To: References: Message-ID: > This is clearly visible in compilation logs: > > > 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c > 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 > 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant > 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) > > > So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. > > I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. > > `decompile_count()` is only updated by C2, so we can just check it directly. > > Additional testing: > - [x] Ad-hoc benchmarks > - [x] Linux x86_64 server fastdebug, `runtime/cds` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Fix Minimal build ------------- Changes: - all: https://git.openjdk.org/leyden/pull/48/files - new: https://git.openjdk.org/leyden/pull/48/files/04823621..c1fb6516 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=05 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=48&range=04-05 Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/48.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/48/head:pull/48 PR: https://git.openjdk.org/leyden/pull/48 From shade at openjdk.org Wed Mar 19 09:24:28 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Wed, 19 Mar 2025 09:24:28 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: On Mon, 10 Mar 2025 13:38:30 GMT, Magnus Ihse Bursie wrote: >> I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. >> >> With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Also remove added extra line Are you still looking for review to push this, @magicus? Here it is. ------------- Marked as reviewed by shade (Reviewer). PR Review: https://git.openjdk.org/leyden/pull/47#pullrequestreview-2697612975 From shade at openjdk.org Wed Mar 19 09:25:58 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Wed, 19 Mar 2025 09:25:58 GMT Subject: RFR: Fix ARM builds after incomplete merge Message-ID: We seem to have missed this upstream rewrite (JDK-8350642) with recent merge, which makes ARM builds in GHA failing. This PR picks up the line version from mainline. ------------- Commit messages: - Fix ARM builds after incomplete merge Changes: https://git.openjdk.org/leyden/pull/50/files Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=50&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/50.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/50/head:pull/50 PR: https://git.openjdk.org/leyden/pull/50 From shade at openjdk.org Wed Mar 19 11:14:19 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Wed, 19 Mar 2025 11:14:19 GMT Subject: RFR: Fix ARM builds after incomplete merge In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:20:50 GMT, Aleksey Shipilev wrote: > We seem to have missed this upstream rewrite (JDK-8350642) with recent merge, which makes ARM builds in GHA failing. This PR picks up the line version from mainline. Thanks! ------------- PR Comment: https://git.openjdk.org/leyden/pull/50#issuecomment-2736243246 From adinn at openjdk.org Wed Mar 19 11:14:19 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Wed, 19 Mar 2025 11:14:19 GMT Subject: RFR: Fix ARM builds after incomplete merge In-Reply-To: References: Message-ID: <4VJ2-u1JsnNya-4Ilk95c2TEaCWGHhfE1mb50vqMiGY=.20707aeb-5781-413a-af47-81e632783bf6@github.com> On Wed, 19 Mar 2025 09:20:50 GMT, Aleksey Shipilev wrote: > We seem to have missed this upstream rewrite (JDK-8350642) with recent merge, which makes ARM builds in GHA failing. This PR picks up the line version from mainline. Good ------------- Marked as reviewed by adinn (Committer). PR Review: https://git.openjdk.org/leyden/pull/50#pullrequestreview-2697995047 From duke at openjdk.org Wed Mar 19 11:14:19 2025 From: duke at openjdk.org (duke) Date: Wed, 19 Mar 2025 11:14:19 GMT Subject: RFR: Fix ARM builds after incomplete merge In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:20:50 GMT, Aleksey Shipilev wrote: > We seem to have missed this upstream rewrite (JDK-8350642) with recent merge, which makes ARM builds in GHA failing. This PR picks up the line version from mainline. @shipilev Your change (at version 3676465c6e00139f320eacf282dbf6d608bbc201) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/leyden/pull/50#issuecomment-2736248512 From adinn at openjdk.org Wed Mar 19 11:23:15 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Wed, 19 Mar 2025 11:23:15 GMT Subject: git: openjdk/leyden: premain: Fix ARM builds after incomplete merge Message-ID: <01903b03-3b74-4d20-aa03-acf88277b901@openjdk.org> Changeset: adb81071 Branch: premain Author: Aleksey Shipilev Committer: Andrew Dinn Date: 2025-03-19 11:21:35 +0000 URL: https://git.openjdk.org/leyden/commit/adb81071edc8325b184e34e8fca31ff84e523628 Fix ARM builds after incomplete merge Reviewed-by: adinn ! src/hotspot/share/runtime/java.cpp From shade at openjdk.org Wed Mar 19 11:24:20 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Wed, 19 Mar 2025 11:24:20 GMT Subject: Integrated: Fix ARM builds after incomplete merge In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:20:50 GMT, Aleksey Shipilev wrote: > We seem to have missed this upstream rewrite (JDK-8350642) with recent merge, which makes ARM builds in GHA failing. This PR picks up the line version from mainline. This pull request has now been integrated. Changeset: adb81071 Author: Aleksey Shipilev Committer: Andrew Dinn URL: https://git.openjdk.org/leyden/commit/adb81071edc8325b184e34e8fca31ff84e523628 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Fix ARM builds after incomplete merge Reviewed-by: adinn ------------- PR: https://git.openjdk.org/leyden/pull/50 From kvn at openjdk.org Wed Mar 19 16:34:25 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 19 Mar 2025 16:34:25 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 07:04:09 GMT, Ashutosh Mehra wrote: >>> do you know why "New CDS + AOT" results for SpringBoot is worse than before: geo mean 532.28 vs 512.17? >> >> I noticed this but at the moment I don't know the reason for this increase in startup time. >> The `SC Load Time` has gone down on expected lines. So may be there are other factors playing a role here. >> I am trying to get my earlier prototype working with latest premain to see if I still get the same numbers as before. > >> I am trying to get my earlier prototype working with latest premain to see if I still get the same numbers as before. > > @vnkozlov I used the first prototype but I am not getting same numbers as mentioned in https://github.com/openjdk/leyden/pull/27#issue-2731492066 > The startup time and `SC Load time` numbers are comparable to what I am getting with the current patch. So I don't think the current patch is any worse than the earlier prototype (and it shouldn't be!). @ashu-mehra how complex to do the same for adapters? ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2737312131 From kvn at openjdk.org Wed Mar 19 16:48:26 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Wed, 19 Mar 2025 16:48:26 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:18:00 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Fix Minimal build src/hotspot/share/code/SCCache.cpp line 4462: > 4460: } > 4461: > 4462: void SCCache::block_loading(Method* method, CompLevel comp_level) { The name is a little confusing. May be `invalidate_trapped_entry()`? ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/48#discussion_r2003806098 From ihse at openjdk.org Wed Mar 19 18:03:32 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Wed, 19 Mar 2025 18:03:32 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: <0lKn0c_eEVVLDvQiiZ6YSQH-MF4Py8EDSRu-EkidhXI=.fc0fe357-d188-4d2f-89a2-dc2128c7955a@github.com> On Mon, 10 Mar 2025 13:38:30 GMT, Magnus Ihse Bursie wrote: >> I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. >> >> With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Also remove added extra line @jianglizhou I'd like your review as well, please? ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2737568893 From jiangli at openjdk.org Wed Mar 19 18:36:27 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Wed, 19 Mar 2025 18:36:27 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: On Mon, 10 Mar 2025 13:38:30 GMT, Magnus Ihse Bursie wrote: >> I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. >> >> With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Also remove added extra line Marked as reviewed by jiangli (Reviewer). ------------- PR Review: https://git.openjdk.org/leyden/pull/47#pullrequestreview-2699660220 From jiangli at openjdk.org Wed Mar 19 18:36:27 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Wed, 19 Mar 2025 18:36:27 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: <0lKn0c_eEVVLDvQiiZ6YSQH-MF4Py8EDSRu-EkidhXI=.fc0fe357-d188-4d2f-89a2-dc2128c7955a@github.com> References: <0lKn0c_eEVVLDvQiiZ6YSQH-MF4Py8EDSRu-EkidhXI=.fc0fe357-d188-4d2f-89a2-dc2128c7955a@github.com> Message-ID: On Wed, 19 Mar 2025 18:01:11 GMT, Magnus Ihse Bursie wrote: >> Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: >> >> Also remove added extra line > > @jianglizhou I'd like your review as well, please? @magicus Apologize for the delay, as I didn't realize that you were looking for review on the change. The removal looks fine to me. I initially added `--with-static-java` to explicitly build static libraries that could be handled as system provided instead of bundled by default. I haven't removed it as I was still considering (in background) if it would be needed. We can always add a new flag when we identify the usages. ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2737657916 From asmehra at openjdk.org Thu Mar 20 06:27:32 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Thu, 20 Mar 2025 06:27:32 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 16:32:09 GMT, Vladimir Kozlov wrote: > how complex to do the same for adapters? I would say it should be easier compared to nmethods. I actually did the first prototype for adapters before trying out nmethods, but it was not storing adapter blobs in the aot code cache. I can resurrect that old patch for adapters and update it to store adapter blobs, as we are doing now for nmethods. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2739337093 From adinn at openjdk.org Thu Mar 20 10:01:25 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Thu, 20 Mar 2025 10:01:25 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra src/hotspot/share/code/SCCache.hpp line 550: > 548: bool write_nmethod_reloc_immediates(GrowableArray& oop_list, GrowableArray& metadata_list); > 549: bool write_nmethod_extra_relocations(nmethod* nm, GrowableArray& oop_list, GrowableArray& metadata_list); > 550: `write_nmethod_extra_relocations` name doesn't really say what the extra relocs are for i.e. to ensure that at load time we correctly relocate a reference into the current runtime. Could we rename this to `write_nmethod_loadtime_relocations`. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/27#discussion_r2005223400 From adinn at openjdk.org Thu Mar 20 11:31:30 2025 From: adinn at openjdk.org (Andrew Dinn) Date: Thu, 20 Mar 2025 11:31:30 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra Looks ok to me. ------------- Marked as reviewed by adinn (Committer). PR Review: https://git.openjdk.org/leyden/pull/27#pullrequestreview-2702271880 From ihse at openjdk.org Thu Mar 20 12:54:14 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Thu, 20 Mar 2025 12:54:14 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 8351493: Revert build changes that are no longer needed Message-ID: <7ec727d3-efa8-48ec-98d8-b5e30c03391a@openjdk.org> Changeset: e1406944 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-20 12:51:29 +0000 URL: https://git.openjdk.org/leyden/commit/e1406944fabb07cbe8e57a5df17e67e357b0ed95 8351493: Revert build changes that are no longer needed Reviewed-by: shade, jiangli ! make/autoconf/configure.ac ! make/autoconf/lib-bundled.m4 ! make/autoconf/lib-freetype.m4 ! make/autoconf/spec.gmk.template ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/utilities/zipLibrary.cpp ! src/java.base/share/native/libjli/java.c ! src/java.base/unix/native/libjli/java_md.c From ihse at openjdk.org Thu Mar 20 12:54:29 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Thu, 20 Mar 2025 12:54:29 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: <0lKn0c_eEVVLDvQiiZ6YSQH-MF4Py8EDSRu-EkidhXI=.fc0fe357-d188-4d2f-89a2-dc2128c7955a@github.com> Message-ID: On Wed, 19 Mar 2025 18:33:34 GMT, Jiangli Zhou wrote: >> @jianglizhou I'd like your review as well, please? > > @magicus Apologize for the delay, as I didn't realize that you were looking for review on the change. The removal looks fine to me. I initially added `--with-static-java` to explicitly build static libraries that could be handled as system provided instead of bundled by default. I haven't removed it as I was still considering (in background) if it would be needed. We can always add a new flag when we identify the usages. @jianglizhou > [...] explicitly build static libraries that could be handled as system provided instead of bundled by default. I'm not sure what you mean by this? ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2740353479 From ihse at openjdk.org Thu Mar 20 12:54:29 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Thu, 20 Mar 2025 12:54:29 GMT Subject: Integrated: 8351493: Revert build changes that are no longer needed In-Reply-To: References: Message-ID: <8uxk2bz_Gq-YFdJVdBgN35y3SZhQ9ufT37ggXR7A6ew=.a72b3e11-1e12-4730-b451-3d95ce7e8783@github.com> On Thu, 6 Mar 2025 15:38:52 GMT, Magnus Ihse Bursie wrote: > I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. > > With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. This pull request has now been integrated. Changeset: e1406944 Author: Magnus Ihse Bursie URL: https://git.openjdk.org/leyden/commit/e1406944fabb07cbe8e57a5df17e67e357b0ed95 Stats: 28 lines in 8 files changed: 0 ins; 26 del; 2 mod 8351493: Revert build changes that are no longer needed Reviewed-by: shade, jiangli ------------- PR: https://git.openjdk.org/leyden/pull/47 From jiangli at openjdk.org Thu Mar 20 16:19:29 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Thu, 20 Mar 2025 16:19:29 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: <0lKn0c_eEVVLDvQiiZ6YSQH-MF4Py8EDSRu-EkidhXI=.fc0fe357-d188-4d2f-89a2-dc2128c7955a@github.com> Message-ID: On Wed, 19 Mar 2025 18:33:34 GMT, Jiangli Zhou wrote: >> @jianglizhou I'd like your review as well, please? > > @magicus Apologize for the delay, as I didn't realize that you were looking for review on the change. The removal looks fine to me. I initially added `--with-static-java` to explicitly build static libraries that could be handled as system provided instead of bundled by default. I haven't removed it as I was still considering (in background) if it would be needed. We can always add a new flag when we identify the usages. > @jianglizhou > > > [...] explicitly build static libraries that could be handled as system provided instead of bundled by default. > > I'm not sure what you mean by this? This is related to the libraries setup by `autoconf/lib-bundled.m4`. I think `libharfbuzz` is default to system at some point of time. The library is not built from the source included in the JDK if system provided is used. For static support, we want to produce?all libs in `static-libs` as we don't know if the users require the lib or not. It then has the same complexity as the "optional" static library (e.g. `libjsig.a`) that we recently discussed. ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2741003959 From kvn at openjdk.org Thu Mar 20 17:37:39 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 20 Mar 2025 17:37:39 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Thu, 20 Mar 2025 06:24:27 GMT, Ashutosh Mehra wrote: > > how complex to do the same for adapters? > > I would say it should be easier compared to nmethods. I actually did the first prototype for adapters before trying out nmethods, but it was not storing adapter blobs in the aot code cache. I can resurrect that old patch for adapters and update it to store adapter blobs, as we are doing now for nmethods. Thank you, @ashu-mehra I am almost ready to create PR for mainline with changes for adapters caching. It works now for simple blob. I need to clean it up. After that you can do that this direct saving of adapters there. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2741199263 From kvn at openjdk.org Thu Mar 20 18:11:26 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 20 Mar 2025 18:11:26 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra Good. src/hotspot/share/code/SCCache.cpp line 3218: > 3216: if (VerifyCachedCode) { > 3217: return false; > 3218: } Why you need to create these intermediate arrays for oops and metadata? Can you cache `oop_recorder` data as we did before? Or I missing something here. src/hotspot/share/code/nmethod.cpp line 1375: > 1373: SCCache::copy_bytes(reloc_addr, (address)relocation_begin(), scnm->relocation_size()); > 1374: const char* content_addr = scc_reader->addr_of_entry_offset(scnm->content_offset()); > 1375: SCCache::copy_bytes(content_addr, content_begin(), scnm->content_size()); Why copy them separately? ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/27#pullrequestreview-2532792009 PR Review Comment: https://git.openjdk.org/leyden/pull/27#discussion_r1904555155 PR Review Comment: https://git.openjdk.org/leyden/pull/27#discussion_r1904532185 From kvn at openjdk.org Thu Mar 20 18:11:26 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 20 Mar 2025 18:11:26 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 6 Jan 2025 19:07:29 GMT, Vladimir Kozlov wrote: >> Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: >> >> Minor cleanup >> >> Signed-off-by: Ashutosh Mehra > > src/hotspot/share/code/nmethod.cpp line 1375: > >> 1373: SCCache::copy_bytes(reloc_addr, (address)relocation_begin(), scnm->relocation_size()); >> 1374: const char* content_addr = scc_reader->addr_of_entry_offset(scnm->content_offset()); >> 1375: SCCache::copy_bytes(content_addr, content_begin(), scnm->content_size()); > > Why copy them separately? I mean they usually collocated. ------------- PR Review Comment: https://git.openjdk.org/leyden/pull/27#discussion_r1905925696 From kvn at openjdk.org Thu Mar 20 20:42:28 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Thu, 20 Mar 2025 20:42:28 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Mon, 17 Mar 2025 11:53:32 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Minor cleanup > > Signed-off-by: Ashutosh Mehra Github somehow messed up the order of comments. Ignore my [Outdated] code comments - they we from Draft review. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2741610960 From headius at headius.com Thu Mar 20 22:14:23 2025 From: headius at headius.com (Charles Oliver Nutter) Date: Thu, 20 Mar 2025 17:14:23 -0500 Subject: Crash loading JSA on an older 23+Valhalla build Message-ID: This may be irrelevant now but I just had a crash booting up JRuby with a stale JSA file on a build of 23+Valhalla I happened to have. The dump is here: https://gist.github.com/headius/911b66eac8d0cb8ef7b9f2ff8d9f4133 It ran fine the second time, but I'm not sure if it updated the jsa or not (we run with AutoCreateSharedArchive to generate the jsa if it does not exist). Feel free to disregard if this is too peculiar or old to be interesting! *Charles Oliver Nutter* *Architect and Technologist* Headius Enterprises https://www.headius.com headius at headius.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From ihse at openjdk.org Thu Mar 20 22:20:28 2025 From: ihse at openjdk.org (Magnus Ihse Bursie) Date: Thu, 20 Mar 2025 22:20:28 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: On Mon, 10 Mar 2025 13:38:30 GMT, Magnus Ihse Bursie wrote: >> I compared the hermetic-java-runtime branch with mainline, and noticed some old build changes lingering, that are no longer needed. Furthermore, I checked a handful of other files and noticed a few spurious changes that just make the branch differ from mainline for no good reason. I also reverted those. >> >> With this patch, the difference between hermetic-java-runtime and mainline gets even more minimal. > > Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: > > Also remove added extra line I don't really see how this differs from the dynamic case. The distributor building the JDK must decide whether to use the system libraries (typically done by Linux distributions, since they have control over such things), or bundle it (most other). The same goes for when building a static library. Even if we allow some kind of "mix and match" with jlink, there needs to be some kind of limit on how much a single version of the JDK can provide for. In one extreme, mixing different address sizes or CPU architectures is not possible, and will never be. On the other hand, libjsig has been provided as an optional library. So somewhere between there will libharfbuzz need to fall. My instinct is that it is not like libjsig but rather like the OS; that is, for a specific instance of the JDK a distributor builds, they decide not only OS and CPU, but also if libraries like harfbuzz should be included or not, both for static and dynamic. ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2741789229 From jiangli at openjdk.org Thu Mar 20 22:45:28 2025 From: jiangli at openjdk.org (Jiangli Zhou) Date: Thu, 20 Mar 2025 22:45:28 GMT Subject: RFR: 8351493: Revert build changes that are no longer needed [v2] In-Reply-To: References: Message-ID: <5jTtVRX-p4ok3ZkQHeUxECO5e5OHnY5G7YxLkpcC0g8=.d6059c85-eb48-4be0-8fc4-9b60158d7947@github.com> On Thu, 20 Mar 2025 22:17:29 GMT, Magnus Ihse Bursie wrote: > I don't really see how this differs from the dynamic case. The distributor building the JDK must decide whether to use the system libraries (typically done by Linux distributions, since they have control over such things), or bundle it (most other). The same goes for when building a static library. Even if we allow some kind of "mix and match" with jlink, there needs to be some kind of limit on how much a single version of the JDK can provide for. In one extreme, mixing different address sizes or CPU architectures is not possible, and will never be. On the other hand, libjsig has been provided as an optional library. So somewhere between there will libharfbuzz need to fall. My instinct is that it is not like libjsig but rather like the OS; that is, for a specific instance of the JDK a distributor builds, they decide not only OS and CPU, but also if libraries like harfbuzz should be included or not, both for static and dynamic. Thanks for the reasoning with dynamic case. It does make sense to treat libharfbuzz and other bundled libs on static the same as on dynamic JDK. ------------- PR Comment: https://git.openjdk.org/leyden/pull/47#issuecomment-2741824171 From kvn at openjdk.org Fri Mar 21 16:05:45 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 21 Mar 2025 16:05:45 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: <_BSU-vBzrbTKbFI653IALBPCiQxSGpzS1NfY29Kw454=.37e0920a-5394-42c3-8e94-6c51da900689@github.com> On Thu, 20 Mar 2025 17:32:07 GMT, Vladimir Kozlov wrote: > > > how complex to do the same for adapters? > > > > > > I would say it should be easier compared to nmethods. I actually did the first prototype for adapters before trying out nmethods, but it was not storing adapter blobs in the aot code cache. I can resurrect that old patch for adapters and update it to store adapter blobs, as we are doing now for nmethods. > > Thank you, @ashu-mehra I am almost ready to create PR for mainline with changes for adapters caching. It works now for simple blob. I need to clean it up. After that you can do that this direct saving of adapters there. https://github.com/openjdk/jdk/pull/24158 ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2743809387 From duke at openjdk.org Fri Mar 21 19:34:39 2025 From: duke at openjdk.org (duke) Date: Fri, 21 Mar 2025 19:34:39 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 76 new changesets Message-ID: Changeset: 06289f3d Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-16 13:04:45 +0000 URL: https://git.openjdk.org/leyden/commit/06289f3d90577d220de5509a3892f7ed260c24b9 8351821: VMManagementImpl.c avoid switching off warnings Reviewed-by: ihse, kevinw ! make/modules/java.management/Lib.gmk ! src/java.management/share/native/libmanagement/VMManagementImpl.c Changeset: 63bf7918 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-16 21:47:25 +0000 URL: https://git.openjdk.org/leyden/commit/63bf79183d27d79333c4ab58dbec1820e935f426 8351992: JFR: Improve robustness of the SettingControl examples Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/SettingControl.java ! src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java Changeset: 2672c40b Branch: hermetic-java-runtime Author: Joel Sikstr?m Date: 2025-03-17 07:55:44 +0000 URL: https://git.openjdk.org/leyden/commit/2672c40bf10a6597ae861e2183e7558ffed43dba 8351167: ZGC: Lazily initialize livemap Reviewed-by: sjohanss, eosterlund, tschatzl ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zLiveMap.hpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp Changeset: 9f8d833f Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-17 07:57:45 +0000 URL: https://git.openjdk.org/leyden/commit/9f8d833f8654cb4280d002ef86ce3ae9d709eddc 8346194: Improve G1 pre-barrier C2 cost estimate Co-authored-by: Roberto Casta?eda Lozano Reviewed-by: rcastanedalo, ayang ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp Changeset: e29d4055 Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-17 08:00:41 +0000 URL: https://git.openjdk.org/leyden/commit/e29d405504560eee46b4d98b90476deb45c32668 8352110: [BACKOUT] C2: Print compilation bailouts with PrintCompilation compile command Reviewed-by: thartmann, syan ! src/hotspot/share/compiler/compileBroker.cpp Changeset: c8913d2c Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-17 09:00:50 +0000 URL: https://git.openjdk.org/leyden/commit/c8913d2c9cd2ec522dc660cce01eb555e95dc775 8345555: Improve layout of search results Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search-page.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SystemPropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/TagletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlAttr.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTag.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTree.java ! test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java ! test/langtools/jdk/javadoc/doclet/testAutoHeaderId/TestAutoHeaderId.java ! test/langtools/jdk/javadoc/doclet/testErasure/TestErasure.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInherited/TestIndexInherited.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewApiList/TestNewApiList.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSpecTag/TestSpecTag.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: 2eecf159 Branch: hermetic-java-runtime Author: Markus Gr?nlund Date: 2025-03-17 09:56:10 +0000 URL: https://git.openjdk.org/leyden/commit/2eecf159afac32fe3a8141aec467d83cb63ef92b 8351967: JFR: AnnotationIterator should handle num_annotations = 0 Reviewed-by: egahlin ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp Changeset: e5666f56 Branch: hermetic-java-runtime Author: Markus Gr?nlund Date: 2025-03-17 10:03:53 +0000 URL: https://git.openjdk.org/leyden/commit/e5666f56ff6993cbfe52d91e5cadcb4d0b8f4ec2 8351976: assert(vthread_epoch == current_epoch) failed: invariant Reviewed-by: egahlin ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp Changeset: 0450ba9b Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-17 10:32:11 +0000 URL: https://git.openjdk.org/leyden/commit/0450ba9b65d0a41d086d04554e3f9c3852345267 8351999: JFR: Incorrect scaling of throttled values Reviewed-by: shade ! src/jdk.jfr/share/classes/jdk/jfr/internal/settings/ThrottleSetting.java Changeset: d207ed3f Branch: hermetic-java-runtime Author: Markus Gr?nlund Date: 2025-03-17 10:47:18 +0000 URL: https://git.openjdk.org/leyden/commit/d207ed3f7cb810e3c0c8a8cd4d9aaa65164c6d16 8352066: JVM.commit() and JVM.flush() exhibit race conditions against JFR epochs Reviewed-by: egahlin ! src/hotspot/share/jfr/jni/jfrJniMethod.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp ! src/hotspot/share/jfr/support/jfrIntrinsics.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp Changeset: dbf47d6c Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-17 11:47:18 +0000 URL: https://git.openjdk.org/leyden/commit/dbf47d6c6c9573a143e0158a0664dd3bbab8e251 8351876: RISC-V: enable and fix some float round tests Reviewed-by: fyang ! test/hotspot/jtreg/compiler/vectorization/TestRoundVectFloat.java ! test/hotspot/jtreg/compiler/vectorization/TestRoundVectRiscv64.java Changeset: e62becc6 Branch: hermetic-java-runtime Author: Matthew Donovan Date: 2025-03-17 11:59:16 +0000 URL: https://git.openjdk.org/leyden/commit/e62becc6ce8e1b777c3e5b78a9d9406b6389cd25 8350964: Add an ArtifactResolver.fetch(clazz) method Reviewed-by: weijun ! test/jdk/sun/security/pkcs11/PKCS11Test.java ! test/jdk/sun/security/pkcs11/SecmodTest.java ! test/jdk/sun/security/pkcs12/KeytoolOpensslInteropTest.java ! test/jdk/sun/security/provider/acvp/Launcher.java ! test/lib/jdk/test/lib/artifacts/ArtifactResolver.java ! test/lib/jdk/test/lib/security/OpensslArtifactFetcher.java Changeset: d68775d7 Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-17 15:29:14 +0000 URL: https://git.openjdk.org/leyden/commit/d68775d7118c926cacb7e9e4c02b85bdb0705521 8351995: JFR: Leftovers from removal of Security Manager Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java - src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriterKey.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/ShutdownHook.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java Changeset: 4c6a523e Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-03-17 16:07:52 +0000 URL: https://git.openjdk.org/leyden/commit/4c6a523e89e077a6697abb30863eb70bc977757c 8352096: Test jdk/jfr/event/profiling/TestFullStackTrace.java shouldn't be executed with -XX:+DeoptimizeALot Reviewed-by: egahlin ! test/jdk/jdk/jfr/event/profiling/TestFullStackTrace.java Changeset: 2674a31b Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-17 16:36:20 +0000 URL: https://git.openjdk.org/leyden/commit/2674a31bb85a3f7b2dcca9a9bb10a79fba026da0 8351891: Disable TestBreakSignalThreadDump.java#with_jsig and XCheckJSig.java on static JDK Reviewed-by: manc, dholmes ! test/hotspot/jtreg/runtime/Thread/TestBreakSignalThreadDump.java ! test/hotspot/jtreg/runtime/XCheckJniJsig/XCheckJSig.java Changeset: 6b82b42a Branch: hermetic-java-runtime Author: Harshitha Onkar Date: 2025-03-17 16:50:33 +0000 URL: https://git.openjdk.org/leyden/commit/6b82b42a2116900b2125e03c1ffa0824d6062757 8348598: Update Libpng to 1.6.47 Reviewed-by: azvegint, prr, erikj ! make/modules/java.desktop/lib/ClientLibraries.gmk ! src/java.desktop/share/legal/libpng.md ! src/java.desktop/share/native/libsplashscreen/libpng/CHANGES ! src/java.desktop/share/native/libsplashscreen/libpng/LICENSE ! src/java.desktop/share/native/libsplashscreen/libpng/README ! src/java.desktop/share/native/libsplashscreen/libpng/png.c ! src/java.desktop/share/native/libsplashscreen/libpng/png.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngerror.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngget.c ! src/java.desktop/share/native/libsplashscreen/libpng/pnginfo.h ! src/java.desktop/share/native/libsplashscreen/libpng/pnglibconf.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngmem.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h ! src/java.desktop/share/native/libsplashscreen/libpng/pngread.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrtran.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngset.c ! src/java.desktop/share/native/libsplashscreen/libpng/pngstruct.h Changeset: 47c19609 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-17 16:55:41 +0000 URL: https://git.openjdk.org/leyden/commit/47c19609659a85397e3eed7c2a3a918ff6055edc 8351689: -Xshare:dump with default classlist fails on static JDK Reviewed-by: iklam, dholmes ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: 3239919a Branch: hermetic-java-runtime Author: Sandhya Viswanathan Date: 2025-03-17 17:50:34 +0000 URL: https://git.openjdk.org/leyden/commit/3239919a5a5910922ea4cb6109f94a24c5f6b4f2 8350835: C2 SuperWord: assert/wrong result when using Float.float16ToFloat with byte instead of short input Reviewed-by: epeter, kvn ! src/hotspot/share/opto/vectornode.cpp + test/hotspot/jtreg/compiler/vectorization/TestFloat16ToFloatConv.java Changeset: 3aa6d62a Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-17 18:38:28 +0000 URL: https://git.openjdk.org/leyden/commit/3aa6d62afecbea5684618bc82425e59404233be5 8351372: Improve negative tests coverage of jpackage Reviewed-by: almatvee ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/DottedVersion.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/LauncherData.java + src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/TokenReplace.java ! src/jdk.jpackage/share/classes/jdk/jpackage/main/Main.java ! test/jdk/tools/jpackage/helpers-test/jdk/jpackage/test/PackageTestTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/CannedFormattedString.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Executor.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/HelloApp.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageStringBundle.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Main.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageType.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestInstance.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/WindowsHelper.java ! test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/DottedVersionTest.java + test/jdk/tools/jpackage/junit/share/jdk.jpackage/jdk/jpackage/internal/util/TokenReplaceTest.java ! test/jdk/tools/jpackage/linux/LinuxResourceTest.java ! test/jdk/tools/jpackage/macosx/MacAppStoreJlinkOptionsTest.java - test/jdk/tools/jpackage/macosx/MacAppStoreRuntimeTest.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTest.java ! test/jdk/tools/jpackage/macosx/base/SigningBase.java ! test/jdk/tools/jpackage/share/AppImagePackageTest.java ! test/jdk/tools/jpackage/share/AppVersionTest.java ! test/jdk/tools/jpackage/share/BasicTest.java ! test/jdk/tools/jpackage/share/ErrorTest.java ! test/jdk/tools/jpackage/share/FileAssociationsTest.java ! test/jdk/tools/jpackage/share/JLinkOptionsTest.java ! test/jdk/tools/jpackage/share/JavaOptionsEqualsTest.java ! test/jdk/tools/jpackage/share/JavaOptionsTest.java ! test/jdk/tools/jpackage/share/MainClassTest.java ! test/jdk/tools/jpackage/share/ModulePathTest.java - test/jdk/tools/jpackage/share/NonExistentTest.java - test/jdk/tools/jpackage/share/PredefinedAppImageErrorTest.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: 19154f7a Branch: hermetic-java-runtime Author: Roger Riggs Date: 2025-03-17 18:55:19 +0000 URL: https://git.openjdk.org/leyden/commit/19154f7af34bf6f13d61d7a9f05d6277964845d8 8351970: Retire JavaLangAccess::exit Reviewed-by: rgiulietti, liach, djelinski ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java Changeset: 38499b3f Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-18 00:49:36 +0000 URL: https://git.openjdk.org/leyden/commit/38499b3fbfcd22252ddf860d42b9eb0bf6f77235 8352084: Add more test code in TestSetupAOT.java Reviewed-by: erikj, kvn, lmesnik ! make/RunTests.gmk ! make/test/BuildTestSetupAOT.gmk ! test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBench.java = test/setup_aot/JavacBenchApp.java ! test/setup_aot/TestSetupAOT.java Changeset: f4ddac5e Branch: hermetic-java-runtime Author: Afshin Zafari Date: 2025-03-18 08:10:24 +0000 URL: https://git.openjdk.org/leyden/commit/f4ddac5e58322a801182eda005a9592c78128569 8331201: UBSAN enabled build reports on Linux x86_64 runtime error: shift exponent 65 is too large for 64-bit type 'long unsigned int' Reviewed-by: dlong, aboldtch ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: e1bcff3a Branch: hermetic-java-runtime Author: Quan Anh Mai Date: 2025-03-18 08:59:48 +0000 URL: https://git.openjdk.org/leyden/commit/e1bcff3ada9214940e9c71ba4ed5ba93d0218af2 8345687: Improve the implementation of SegmentFactories::allocateSegment Reviewed-by: jvernee, mcimadamore ! src/java.base/share/classes/jdk/internal/foreign/ArenaImpl.java ! src/java.base/share/classes/jdk/internal/foreign/SegmentFactories.java ! src/java.base/share/classes/jdk/internal/misc/VM.java ! test/micro/org/openjdk/bench/java/lang/foreign/AllocTest.java Changeset: f8c2122b Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-18 09:28:43 +0000 URL: https://git.openjdk.org/leyden/commit/f8c2122b306df72883673f4af9b297b553db247f 8352138: G1: Remove G1AddMetaspaceDependency.java test Reviewed-by: ayang, shade - test/hotspot/jtreg/gc/metaspace/G1AddMetaspaceDependency.java Changeset: 558c015c Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-18 09:29:51 +0000 URL: https://git.openjdk.org/leyden/commit/558c015c995dbe65d876c1c5761030588773271c 8351921: G1: Pinned regions with pinned objects only reachable by native code crash VM Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp + test/hotspot/jtreg/gc/g1/pinnedobjs/TestPinnedEvacEmpty.java Changeset: 46b3d1d8 Branch: hermetic-java-runtime Author: Sergey Chernyshev Committer: Severin Gehwolf Date: 2025-03-18 09:37:45 +0000 URL: https://git.openjdk.org/leyden/commit/46b3d1d8cfd03e01d993be19d725cdbcafef7865 8351382: New test containers/docker/TestMemoryWithSubgroups.java is failing Reviewed-by: sgehwolf, dholmes ! test/hotspot/jtreg/containers/docker/TestMemoryWithSubgroups.java Changeset: 20f1bca0 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-18 10:17:54 +0000 URL: https://git.openjdk.org/leyden/commit/20f1bca0770b6b4d935b068e7f6a742cef4f5449 8351187: Add JFR monitor notification event Reviewed-by: dholmes, lmesnik, mgronlun ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/runtime/TestJavaMonitorNotifyEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: b891bfa7 Branch: hermetic-java-runtime Author: Anjian-Wen Committer: Fei Yang Date: 2025-03-18 11:01:18 +0000 URL: https://git.openjdk.org/leyden/commit/b891bfa7e67c21478475642e2bfa2cdc65a3bffe 8352022: RISC-V: Support Zfa fminm_h/fmaxm_h for float16 Reviewed-by: fyang, mli ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: a37d8434 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-18 12:59:29 +0000 URL: https://git.openjdk.org/leyden/commit/a37d8434ab991507bf8085ecf7816d0cd41ab584 8352015: LIBVERIFY_OPTIMIZATION remove special optimization settings Reviewed-by: erikj, ihse ! make/modules/java.base/lib/CoreLibraries.gmk Changeset: b025d8c2 Branch: hermetic-java-runtime Author: Patrick Zhang Committer: Andrew Dinn Date: 2025-03-18 15:44:28 +0000 URL: https://git.openjdk.org/leyden/commit/b025d8c2e062210b6148da43f11517666b0b4932 8350663: AArch64: Enable UseSignumIntrinsic by default Reviewed-by: adinn ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 53c5b93c Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-03-18 17:54:38 +0000 URL: https://git.openjdk.org/leyden/commit/53c5b93ca528ec21628c2b03dd6064e02f7ac408 8352180: AttachListenerThread causes many tests to timeout on Windows Reviewed-by: dholmes, alanb ! src/hotspot/os/windows/attachListener_windows.cpp Changeset: a3540be5 Branch: hermetic-java-runtime Author: Alex Menkov Date: 2025-03-18 17:59:01 +0000 URL: https://git.openjdk.org/leyden/commit/a3540be502ef2f93c0fdc3fb2496c29ae7c8b041 8352163: [AIX] SIGILL in AttachOperation::ReplyWriter::write_fully after 8319055 Reviewed-by: dholmes, mdoerr ! src/hotspot/share/services/attachListener.cpp Changeset: 355b2f3b Branch: hermetic-java-runtime Author: Kim Barrett Date: 2025-03-18 18:59:42 +0000 URL: https://git.openjdk.org/leyden/commit/355b2f3bdd99b28c97c7a20ef25ad862012b5007 8351374: Improve comment about queue.remove timeout in CleanerImpl.run Reviewed-by: rriggs, shade ! src/java.base/share/classes/jdk/internal/ref/CleanerImpl.java Changeset: 4a02de82 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-18 19:04:08 +0000 URL: https://git.openjdk.org/leyden/commit/4a02de82923545f18590f8509c55129a4aa20842 8352098: -Xrunjdwp fails on static JDK Reviewed-by: cjplummer, dholmes ! src/hotspot/share/prims/jvmtiAgent.cpp Changeset: c8a11f28 Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-18 21:35:54 +0000 URL: https://git.openjdk.org/leyden/commit/c8a11f28dff58382f943b3615ca8c7e33d6eab8e 8352293: jpackage tests build rpm packages on Ubuntu test machines after JDK-8351372 Reviewed-by: almatvee ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageType.java Changeset: 8e530633 Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-18 23:07:09 +0000 URL: https://git.openjdk.org/leyden/commit/8e530633a9d99d7ce585cafd5573cb89212feee7 8352275: Clean up dead code in jpackage revealed with improved negative test coverage Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/LauncherData.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java ! src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources.properties Changeset: 20d4fe3a Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-19 00:30:25 +0000 URL: https://git.openjdk.org/leyden/commit/20d4fe3a574a33784dc02e7cc653cdb248b697a2 8351464: Shenandoah: Hang on ShenandoahController::handle_alloc_failure when run test TestAllocHumongousFragment#generational Reviewed-by: xpeng, ysr ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 577ede73 Branch: hermetic-java-runtime Author: Weijun Wang Date: 2025-03-19 02:20:07 +0000 URL: https://git.openjdk.org/leyden/commit/577ede73d8e916bac9050d3bee80d2f18cc833a7 8352302: Test sun/security/tools/jarsigner/TimestampCheck.java is failing Reviewed-by: dholmes ! test/jdk/sun/security/tools/jarsigner/TimestampCheck.java Changeset: e57b2725 Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-19 07:41:07 +0000 URL: https://git.openjdk.org/leyden/commit/e57b2725065eaa79db7f9132f4152cbae9279f8e 8350578: Refactor useless Parse and Template Assertion Predicate elimination code by using a PredicateVisitor Reviewed-by: epeter, kvn, roland ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp + src/hotspot/share/opto/predicates_enums.hpp Changeset: c2be19c2 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-19 09:42:22 +0000 URL: https://git.openjdk.org/leyden/commit/c2be19c261ba45df29865077b511c49bb61433a6 8351902: RISC-V: Several tests fail after JDK-8351145 Reviewed-by: rehn, fyang, syan ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java Changeset: 8f64ccc0 Branch: hermetic-java-runtime Author: Saranya Natarajan Committer: Roberto Casta?eda Lozano Date: 2025-03-19 09:59:15 +0000 URL: https://git.openjdk.org/leyden/commit/8f64ccc01b8c692b59e81255c59c333cc23e834d 8350485: C2: factor out common code in Node::grow() and Node::out_grow() Reviewed-by: thartmann, rcastanedalo ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp Changeset: fed34e46 Branch: hermetic-java-runtime Author: Dmitry Chuyko Date: 2025-03-19 11:35:26 +0000 URL: https://git.openjdk.org/leyden/commit/fed34e46b89bc9b0462d9b5f5e5ab5516fe18c6e 8351933: Inaccurate masking of TC subfield decrement in ForkJoinPool Reviewed-by: dl, alanb, liach ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: c7f33388 Branch: hermetic-java-runtime Author: Manukumar V S Committer: Alexey Ivanov Date: 2025-03-19 15:25:22 +0000 URL: https://git.openjdk.org/leyden/commit/c7f333888be052aa37fe878bfc2785fc47fbeaaa 8352109: java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not supported Reviewed-by: aivanov ! test/jdk/java/awt/Desktop/MailTest.java Changeset: 8e999b83 Branch: hermetic-java-runtime Author: Joe Wang Date: 2025-03-19 16:37:05 +0000 URL: https://git.openjdk.org/leyden/commit/8e999b83a42a163800a5895268943e7077a4b7cc 8351969: Add Public Identifiers to the JDK built-in Catalog Reviewed-by: rriggs, lancea, iris, naoto ! src/java.xml/share/classes/jdk/xml/internal/jdkcatalog/JDKCatalog.xml ! src/java.xml/share/classes/jdk/xml/internal/jdkcatalog/w3c/dtd/schema10/XMLSchema.dtd ! src/java.xml/share/classes/jdk/xml/internal/jdkcatalog/w3c/dtd/schema10/datatypes.dtd ! test/jaxp/javax/xml/jaxp/unittest/common/jdkcatalog/JDKCatalogTest.java Changeset: 8a1c85ea Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-19 16:56:53 +0000 URL: https://git.openjdk.org/leyden/commit/8a1c85eaa902500d49ca82c67b6838d39cb5b24f 8350898: Shenandoah: Eliminate final roots safepoint Reviewed-by: rkennke, kdnilsen, cslucas ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp Changeset: ac3ad03a Branch: hermetic-java-runtime Author: Andrew Dinn Date: 2025-03-19 17:23:23 +0000 URL: https://git.openjdk.org/leyden/commit/ac3ad03a3f946fbff147732c5f403c8dc445eed8 8350589: Investigate cleaner implementation of AArch64 ML-DSA intrinsic introduced in JDK-8348561 Reviewed-by: dlong ! src/hotspot/cpu/aarch64/register_aarch64.cpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: fcc2a242 Branch: hermetic-java-runtime Author: Alexander Zuev Date: 2025-03-19 20:05:44 +0000 URL: https://git.openjdk.org/leyden/commit/fcc2a24291d499f7149debad1250903ddc369d91 8350813: Rendering of bulky sound bank from MIDI sequence can cause OutOfMemoryError Reviewed-by: honkar, prr ! src/java.desktop/share/classes/com/sun/media/sound/AudioFileSoundbankReader.java + test/jdk/javax/sound/midi/BulkSoundBank/BulkSoundBank.java Changeset: 74df384a Branch: hermetic-java-runtime Author: Kelvin Nilsen Date: 2025-03-20 00:53:33 +0000 URL: https://git.openjdk.org/leyden/commit/74df384a9870431efb184158bba032c79c35356e 8352428: GenShen: Old-gen cycles are still looping Reviewed-by: wkemper, shade ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp Changeset: a5d06a18 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-20 05:59:18 +0000 URL: https://git.openjdk.org/leyden/commit/a5d06a18762c81eda5883c07b42621278b9209c9 8352249: Remove incidental whitespace in traditional doc comments Reviewed-by: liach ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! test/langtools/jdk/javadoc/doclet/testAutoHeaderId/TestAutoHeaderId.java ! test/langtools/jdk/javadoc/doclet/testBreakIterator/TestBreakIterator.java ! test/langtools/jdk/javadoc/doclet/testCRLineSeparator/TestCRLineSeparator.java ! test/langtools/jdk/javadoc/doclet/testDirectedInheritance/TestDirectedInheritance.java ! test/langtools/jdk/javadoc/doclet/testDocRootLink/TestDocRootLink.java ! test/langtools/jdk/javadoc/doclet/testDocTreeDiags/MyTaglet.java ! test/langtools/jdk/javadoc/doclet/testDocTreeDiags/TestDocTreeDiags.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLeadingSpaces/LeadingSpaces.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTagletPrimitive.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTagletWithModule.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testRecordLinks/TestRecordLinks.java ! test/langtools/jdk/javadoc/doclet/testRelativeLinks/TestRelativeModuleLinks.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testSourceTab/SingleTab/C.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/tools/javac/doctree/AtEscapeTest.java ! test/langtools/tools/javac/doctree/AttrTest.java ! test/langtools/tools/javac/doctree/CodeTest.java ! test/langtools/tools/javac/doctree/DeprecatedTest.java ! test/langtools/tools/javac/doctree/DocCommentTester.java ! test/langtools/tools/javac/doctree/ElementTest.java ! test/langtools/tools/javac/doctree/EntityTest.java ! test/langtools/tools/javac/doctree/ExceptionTest.java ! test/langtools/tools/javac/doctree/FirstSentenceTest.java ! test/langtools/tools/javac/doctree/HiddenTest.java ! test/langtools/tools/javac/doctree/InPreTest.java ! test/langtools/tools/javac/doctree/IndexTest.java ! test/langtools/tools/javac/doctree/LinkPlainTest.java ! test/langtools/tools/javac/doctree/LinkTest.java ! test/langtools/tools/javac/doctree/LiteralTest.java ! test/langtools/tools/javac/doctree/ParamTest.java ! test/langtools/tools/javac/doctree/ProvidesTest.java ! test/langtools/tools/javac/doctree/ReturnTest.java ! test/langtools/tools/javac/doctree/SeeTest.java ! test/langtools/tools/javac/doctree/SerialDataTest.java ! test/langtools/tools/javac/doctree/SerialFieldTest.java ! test/langtools/tools/javac/doctree/SerialTest.java ! test/langtools/tools/javac/doctree/SinceTest.java ! test/langtools/tools/javac/doctree/SnippetTest.java ! test/langtools/tools/javac/doctree/SpecTest.java ! test/langtools/tools/javac/doctree/SummaryTest.java ! test/langtools/tools/javac/doctree/SystemPropertyTest.java ! test/langtools/tools/javac/doctree/TagTest.java ! test/langtools/tools/javac/doctree/ThrowableTest.java ! test/langtools/tools/javac/doctree/UsesTest.java ! test/langtools/tools/javac/doctree/ValueTest.java ! test/langtools/tools/javac/doctree/VersionTest.java Changeset: 3ed010ab Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-20 06:13:52 +0000 URL: https://git.openjdk.org/leyden/commit/3ed010ab7cf5b8c9bf8fa000e88ea95285351982 8352020: [CompileFramework] enable compilation for VectorAPI Reviewed-by: chagedorn, kvn ! test/hotspot/jtreg/compiler/lib/compile_framework/Compile.java ! test/hotspot/jtreg/compiler/lib/compile_framework/CompileFramework.java + test/hotspot/jtreg/testlibrary_tests/compile_framework/examples/IRFrameworkWithVectorAPIExample.java Changeset: fb210e3a Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-20 06:14:07 +0000 URL: https://git.openjdk.org/leyden/commit/fb210e3a7174bca1da112216158b2c1dede6dc34 8351952: [IR Framework]: allow ignoring methods that are not compilable Co-authored-by: Christian Hagedorn Reviewed-by: chagedorn, thartmann ! test/hotspot/jtreg/compiler/lib/ir_framework/Test.java ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/NotCompilableIRMethod.java + test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/irmethod/NotCompilableIRMethodMatchResult.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IRMethodBuilder.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestClassParser.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/report/CompilationOutputBuilder.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/report/FailCountVisitor.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/report/FailureMessageBuilder.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/visitor/MatchResultVisitor.java ! test/hotspot/jtreg/compiler/lib/ir_framework/shared/TestFrameworkSocket.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/AbstractTest.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/DeclaredTest.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/TestVM.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestNotCompilable.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java Changeset: 96305e09 Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-03-20 09:28:57 +0000 URL: https://git.openjdk.org/leyden/commit/96305e0953a2a3b41bc32b1c584a1a29901a37fd 4466930: JTable.selectAll boundary handling Reviewed-by: abhiscxk, tr ! src/java.desktop/share/classes/javax/swing/JTable.java + test/jdk/javax/swing/JTable/TestTableSelectAll.java Changeset: 73177d9c Branch: hermetic-java-runtime Author: Casper Norrbin Committer: David Holmes Date: 2025-03-20 12:26:14 +0000 URL: https://git.openjdk.org/leyden/commit/73177d9c53ba02e9c358991774023619afe8379a 8347734: Turning off PerfData logging doesn't work Reviewed-by: dholmes, coleenp ! src/hotspot/share/logging/logConfiguration.cpp ! src/hotspot/share/logging/logConfiguration.hpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/gtest/logging/test_logConfiguration.cpp Changeset: 2560a637 Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-20 12:32:22 +0000 URL: https://git.openjdk.org/leyden/commit/2560a63773ad8223e42d3ecf5bdcaaec30b001ee 8352131: [REDO] C2: Print compilation bailouts with PrintCompilation compile command Reviewed-by: thartmann, kvn, epeter ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 91836e18 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-20 15:09:03 +0000 URL: https://git.openjdk.org/leyden/commit/91836e181a789ef16e8d70bfde4c040e6f5031db 8352276: Skip jtreg tests using native executable with libjvm.so/libjli.so dependencies on static JDK Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/StackGap/TestStackGap.java ! test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java ! test/hotspot/jtreg/runtime/TLS/TestTLS.java ! test/hotspot/jtreg/runtime/jni/daemonDestroy/TestDaemonDestroy.java ! test/hotspot/jtreg/runtime/jni/getCreatedJavaVMs/TestGetCreatedJavaVMs.java ! test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java ! test/jdk/jni/nullCaller/NullCallerTest.java ! test/jdk/tools/launcher/JniInvocationTest.java Changeset: 9a17a6ff Branch: hermetic-java-runtime Author: Jan Lahoda Date: 2025-03-20 15:17:10 +0000 URL: https://git.openjdk.org/leyden/commit/9a17a6ff0f7b53e9d87bf5db85399aabeb2582c8 8350749: Upgrade JLine to 3.29.0 Reviewed-by: liach ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/UserInterruptException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/DefaultHighlighter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/LineReaderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/SystemCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/history/DefaultHistory.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/TerminalBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractPosixTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/Diag.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecPty.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecTerminalProvider.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/Kernel32.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/NativeWinSysTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Display.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/InputStreamReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Status.java ! src/jdk.internal.le/share/legal/jline.md Changeset: 2bc4f64c Branch: hermetic-java-runtime Author: Marc Chevalier Date: 2025-03-20 15:50:23 +0000 URL: https://git.openjdk.org/leyden/commit/2bc4f64c56ebc844d494a4ce8ba72a25643d4075 8335708: C2: Compile::verify_graph_edges must start at root and safepoints, just like CCP traversal Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/loopopts/VerifyGraphEdgesWithDeadCodeCheckFromSafepoints.java Changeset: 56038fb5 Branch: hermetic-java-runtime Author: Jatin Bhateja Date: 2025-03-20 18:56:25 +0000 URL: https://git.openjdk.org/leyden/commit/56038fb5a156568cce2e80f5db18b10ad61c06e4 8352317: Assertion failure during size estimation of BoxLockNode with -XX:+UseAPX Reviewed-by: thartmann ! src/hotspot/cpu/x86/x86_64.ad Changeset: 06ba6cf3 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-20 22:25:49 +0000 URL: https://git.openjdk.org/leyden/commit/06ba6cf3a137a6cdf572a876a46d18e51c248451 8329173: LCMS_CFLAGS from configure are lost Reviewed-by: erikj, azvegint ! make/modules/java.desktop/lib/ClientLibraries.gmk Changeset: 466f82a4 Branch: hermetic-java-runtime Author: Marc Chevalier Committer: Christian Hagedorn Date: 2025-03-21 08:53:56 +0000 URL: https://git.openjdk.org/leyden/commit/466f82a49996242d900a444931017261a427f9ea 8314999: IR framework fails to detect allocation Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java Changeset: 1c0fa0af Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Martin Doerr Date: 2025-03-21 09:23:30 +0000 URL: https://git.openjdk.org/leyden/commit/1c0fa0af7847d80fd3fbe38f28207aab270609b3 8352512: TestVectorZeroCount: counter not reset between iterations Reviewed-by: mdoerr, chagedorn ! test/hotspot/jtreg/compiler/vectorization/TestVectorZeroCount.java Changeset: b545b9e7 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-21 10:00:07 +0000 URL: https://git.openjdk.org/leyden/commit/b545b9e79ea6a1e616c35e584f333b47bd7bd6d6 8352584: [Backout] G1: Pinned regions with pinned objects only reachable by native code crash VM Reviewed-by: shade ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp - test/hotspot/jtreg/gc/g1/pinnedobjs/TestPinnedEvacEmpty.java Changeset: 07667ca2 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-21 10:20:29 +0000 URL: https://git.openjdk.org/leyden/commit/07667ca2f40782bd50e2551ab9f24bee38ae2bfb 8352506: Simplify make/test/JtregNativeHotspot.gmk Reviewed-by: erikj ! make/common/TestFilesCompilation.gmk ! make/test/JtregNativeHotspot.gmk Changeset: b32be18b Branch: hermetic-java-runtime Author: Albert Mingkun Yang Date: 2025-03-21 10:35:35 +0000 URL: https://git.openjdk.org/leyden/commit/b32be18bf940eb6eb9805390fd72e0de175c912a 8352178: Add precondition in VMThread::execute to prevent deadlock Reviewed-by: pchilanomate, tschatzl, dholmes, shade ! src/hotspot/share/runtime/vmThread.cpp Changeset: 28250f83 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-21 11:50:26 +0000 URL: https://git.openjdk.org/leyden/commit/28250f83b728c9b3395d9c4858568a3603172b8a 8352151: Fix display issues in javadoc-generated docs Reviewed-by: liach, nbenalla ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css Changeset: 84694584 Branch: hermetic-java-runtime Author: Hannes Walln?fer Date: 2025-03-21 11:57:42 +0000 URL: https://git.openjdk.org/leyden/commit/84694584d54fccf3887a6e2aa3185f086f7e68b7 8352511: Show additional level of headings in table of contents Reviewed-by: liach ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandler.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.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/MethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TableOfContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script.js.template ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/ListBuilder.java ! test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java + test/langtools/jdk/javadoc/doclet/testTOCHeadings/TestTOCHeadings.java Changeset: 2b559795 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-21 12:07:33 +0000 URL: https://git.openjdk.org/leyden/commit/2b559795958a18d8a14d2e30d039488ad6f6ee5a 8352529: RISC-V: enable loopopts tests Reviewed-by: fyang, luhenry, rehn ! test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestCompatibleUseDefTypeSize.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestEquivalentInvariants.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegmentUnalignedAddress.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionRemoveUselessSlowLoop.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestSplitPacks.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestUnorderedReductionPartialVectorization.java Changeset: d1cf2328 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-21 12:08:53 +0000 URL: https://git.openjdk.org/leyden/commit/d1cf232893615f1907bb84728cbc1f566a369757 8352248: Check if CMoveX is supported Reviewed-by: chagedorn, luhenry, rehn ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/movenode.cpp ! src/hotspot/share/opto/movenode.hpp Changeset: ac760dd1 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-21 12:09:08 +0000 URL: https://git.openjdk.org/leyden/commit/ac760dd106d88129f3c13520754f594b1d317a11 8352423: RISC-V: simplify DivI/L ModI/L Reviewed-by: fyang, luhenry, rehn ! src/hotspot/cpu/riscv/c1_LIRAssembler_arith_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! test/hotspot/jtreg/compiler/c2/TestDivModNodes.java Changeset: 04eac0c3 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-21 12:10:22 +0000 URL: https://git.openjdk.org/leyden/commit/04eac0c3e2ce1a37d0661de10907228e0ca48aab 8352159: RISC-V: add more zfa support Reviewed-by: fyang, luhenry, rehn ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad Changeset: 0cb110eb Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-03-21 13:00:25 +0000 URL: https://git.openjdk.org/leyden/commit/0cb110ebb7f8d184dd855f64c5dd7924c8202b3d 8350892: [JVMCI] Align ResolvedJavaType.getInstanceFields with Class.getDeclaredFields Reviewed-by: yzheng, never, thartmann ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.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: b8f38563 Branch: hermetic-java-runtime Author: Doug Simon Date: 2025-03-21 15:56:27 +0000 URL: https://git.openjdk.org/leyden/commit/b8f3856389258bba7e267ac3ae275072daec31cd 8352420: [ubsan] codeBuffer.cpp:984:27: runtime error: applying non-zero offset 18446744073709486080 to null pointer Reviewed-by: kvn, mbaesken ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 52c6ce6c Branch: hermetic-java-runtime Author: William Kemper Date: 2025-03-21 16:04:33 +0000 URL: https://git.openjdk.org/leyden/commit/52c6ce6c73194762970fd9521121333713495fa3 8352091: GenShen: assert(!(request.generation->is_old() && _heap->old_generation()->is_doing_mixed_evacuations())) failed: Old heuristic should not request cycles while it waits for mixed evacuation Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp Changeset: c2e14b1b Branch: hermetic-java-runtime Author: Abhishek Kumar Date: 2025-03-21 17:47:57 +0000 URL: https://git.openjdk.org/leyden/commit/c2e14b1b304796753bea2eca81aa24ab4b3bf6db 8343891: Test javax/swing/JTabbedPane/TestJTabbedPaneBackgroundColor.java failed Reviewed-by: aivanov, psadhukhan ! test/jdk/javax/swing/JTabbedPane/TestJTabbedPaneBackgroundColor.java Changeset: 07551a3b Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-21 12:16:56 +0000 URL: https://git.openjdk.org/leyden/commit/07551a3b5b7261c4b0048e7670f899ac2e44d121 Merge branch 'master' into hermetic-java-runtime Resolved merge conflicts for lookup_On_Load_entry_point in src/hotspot/share/prims/jvmtiAgent.cpp. ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/prims/jvmtiAgent.cpp ! src/hotspot/share/runtime/arguments.cpp ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/prims/jvmtiAgent.cpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 1d584dad Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-21 12:20:34 +0000 URL: https://git.openjdk.org/leyden/commit/1d584dad5347fa2578366cd06288d95269950f56 Merge branch 'hermetic-java-runtime' of github.com:openjdk/leyden into hermetic-java-runtime From duke at openjdk.org Fri Mar 21 19:41:21 2025 From: duke at openjdk.org (duke) Date: Fri, 21 Mar 2025 19:41:21 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: Resolve merge error. Message-ID: <7802bb38-6ab8-43e8-9070-0570519f7ac9@openjdk.org> Changeset: edf279c6 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-21 12:39:31 +0000 URL: https://git.openjdk.org/leyden/commit/edf279c6b798d873e7b15d1431d5e8acd3835ec6 Resolve merge error. ! src/hotspot/share/prims/jvmtiAgent.cpp From duke at openjdk.org Fri Mar 21 21:23:10 2025 From: duke at openjdk.org (duke) Date: Fri, 21 Mar 2025 21:23:10 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: Remove make/autoconf/static-java.m4. It was for `--with-static-java` config flag. See discussion with @magicus in https://github.com/openjdk/leyden/pull/47/. Message-ID: <98dd8478-bca3-4a8c-bef1-3a194f2355bc@openjdk.org> Changeset: 018a4d0c Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-21 14:20:06 +0000 URL: https://git.openjdk.org/leyden/commit/018a4d0c3d89338cdd558f7c72b2ca41b5000644 Remove make/autoconf/static-java.m4. It was for `--with-static-java` config flag. See discussion with @magicus in https://github.com/openjdk/leyden/pull/47/. - make/autoconf/static-java.m4 From iklam at openjdk.org Fri Mar 21 22:02:45 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 21 Mar 2025 22:02:45 GMT Subject: git: openjdk/leyden: premain: 8352087: [leyden] AOTMode=record crashes in FinalImageRecipes::add_reflection_data_flags Message-ID: <26ee8a6d-68ce-4f96-bec9-2fd671340a5c@openjdk.org> Changeset: c2c54946 Branch: premain Author: Ioi Lam Date: 2025-03-21 12:52:57 +0000 URL: https://git.openjdk.org/leyden/commit/c2c54946c03c54c6a51d3c0e33dd978720ef7f73 8352087: [leyden] AOTMode=record crashes in FinalImageRecipes::add_reflection_data_flags ! src/hotspot/share/cds/cdsHeapVerifier.cpp ! src/hotspot/share/cds/finalImageRecipes.cpp From duke at openjdk.org Fri Mar 21 22:10:07 2025 From: duke at openjdk.org (duke) Date: Fri, 21 Mar 2025 22:10:07 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: Remove STATIC_JAVA check since STATIC_JAVA is no longer set. Message-ID: <5dc92a1d-e3cf-4a46-aa3b-c8b1faf1f808@openjdk.org> Changeset: 050ced8d Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-21 15:08:09 +0000 URL: https://git.openjdk.org/leyden/commit/050ced8dc599d5133e34017951eefc0e509c3ddd Remove STATIC_JAVA check since STATIC_JAVA is no longer set. ! make/Images.gmk From vlivanov at openjdk.org Fri Mar 21 23:01:26 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:01:26 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v2] In-Reply-To: References: Message-ID: On Tue, 18 Mar 2025 19:14:59 GMT, Vladimir Kozlov wrote: > Right. They are also compiled by the same compiler thread one after an other: [output.cpp#L3463](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/opto/output.cpp#L3463) > Note, Reason_PrecompileForPreload is used only for precompilation feature which we are not using for our workflow AFAICS. Actually, it's not how it works in 1-step workflow. `Reason_Precompile` and `Reason_PrecompileForPreload` are used for populating AOT code archive during assembly phase (see [precompiler.cpp#L138](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/compiler/precompiler.cpp#L138)). ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744636878 From kvn at openjdk.org Fri Mar 21 23:24:23 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 21 Mar 2025 23:24:23 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v2] In-Reply-To: References: Message-ID: On Fri, 21 Mar 2025 22:58:42 GMT, Vladimir Ivanov wrote: > [precompiler.cpp#L138](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/compiler/precompiler.cpp#L138) ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744665284 From kvn at openjdk.org Fri Mar 21 23:30:28 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 21 Mar 2025 23:30:28 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v2] In-Reply-To: References: Message-ID: On Fri, 21 Mar 2025 22:58:42 GMT, Vladimir Ivanov wrote: > > Right. They are also compiled by the same compiler thread one after an other: [output.cpp#L3463](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/opto/output.cpp#L3463) > > Note, Reason_PrecompileForPreload is used only for precompilation feature which we are not using for our workflow AFAICS. > > Actually, it's not how it works in 1-step workflow. `Reason_Precompile` and `Reason_PrecompileForPreload` are used for populating AOT code archive during assembly phase (see [precompiler.cpp#L138](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/compiler/precompiler.cpp#L138)). Okay, I see it now: [metaspaceShared.cpp#L1116](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/cds/metaspaceShared.cpp#L1116) Which means we compile "preload" and "normal" AOT code by different tasks and they may have different MDO due to pollution. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744671920 From vlivanov at openjdk.org Fri Mar 21 23:34:30 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:34:30 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:18:00 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Fix Minimal build I still feel a bit uneasy about the proposed change. > Regardless, I believe that if preload code traps, then non-preload code would also trap in those conditions, since both versions were compiled in the same environment. Unless it caused by a divergence in behavior between training and production runs, I'd attribute it to a bug in our code where we misinterpret training data (e.g., excluding the class from the archive, not preloading class in all loaders, not preresolving relevant CP entry, etc). Before making a decision, I'd like to understand what's the real cause of the trap at `new NameImpl(this, string)` in your case. [0.047s][debug ][deoptimization] cid= 333 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x000071945803a2c0 relative_pc=0x00000000000003c0 ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744678193 From vlivanov at openjdk.org Fri Mar 21 23:54:27 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:54:27 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v2] In-Reply-To: References: Message-ID: On Fri, 21 Mar 2025 23:27:54 GMT, Vladimir Kozlov wrote: > Which means we compile "preload" and "normal" AOT code by different tasks and they may have different MDO due to pollution. There should be no divergence in profiling data between compilations unless there's Java code execution happening concurrently. But by the time `Precompiler::compile_cached_code()` is invoked, there's no Java code executed anymore. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744688776 From kvn at openjdk.org Fri Mar 21 23:54:28 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 21 Mar 2025 23:54:28 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:18:00 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Fix Minimal build We generate more AOT code with this. With one task request before I don't generate second "normal" version if code does not have init barriers. Now we generate 2 copies of the same code. May be this is fine performance vise but not space saving. We may also generate 2 version of tier2 because we generate them for limited_profiling and full_profiling. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744689523 PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744692443 From kvn at openjdk.org Fri Mar 21 23:54:28 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 21 Mar 2025 23:54:28 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Fri, 21 Mar 2025 23:47:54 GMT, Vladimir Ivanov wrote: > For `Reason_Precompile` and `Reason_PrecompileForPreload` C2 compilations, MDOs are unconditionally taken from training data (see [ciMethod::method_data()](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/ci/ciMethod.cpp#L1062)). That is good. Then the assumption that both code versions have same traps is correct. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744693558 From vlivanov at openjdk.org Fri Mar 21 23:54:28 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:54:28 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Wed, 19 Mar 2025 09:18:00 GMT, Aleksey Shipilev wrote: >> This is clearly visible in compilation logs: >> >> >> 43 W0.1 Q8.1 C0.0 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.049s][debug ][deoptimization] cid= 293 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7e4e7ac relative_pc=0x000000000000068c >> 49 293 AP 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 49 W0.2 Q0.0 C0.3 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 90 1394 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 90 W0.0 Q0.0 C0.1 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> [0.098s][debug ][deoptimization] cid=1867 level=4 com.sun.tools.javac.util.StringNameTable::fromString(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name; trap_bci=28 unloaded reinterpret pc=0x00007c6bd7ebcb58 relative_pc=0x00000000000005d8 >> 98 1867 A 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 104 W0.0 Q0.0 C0.3 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> 130 1942 2 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) made not entrant >> 130 W1.0 Q0.7 C13.3 1968 4 com.sun.tools.javac.util.StringNameTable::fromString (50 bytes) >> >> >> So the AP4 method was preloaded, then it trapped and got replaced by T2 method, which eventually got to C2, at which point we loaded A4 method. That method trapped _at the same bci_, so we are back at T2, then then to real T4. So we have spent one deopt cycle unnecessarily, and the code was in T2 for twice as long. >> >> I don't think we would be able to fully tame uncommon traps from the preload code, so fixing this gap is valuable. >> >> `decompile_count()` is only updated by C2, so we can just check it directly. >> >> Additional testing: >> - [x] Ad-hoc benchmarks >> - [x] Linux x86_64 server fastdebug, `runtime/cds` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Fix Minimal build For `Reason_Precompile` and `Reason_PrecompileForPreload` C2 compilations, MDOs are unconditionally taken from training data (see [ciMethod::method_data()](https://github.com/openjdk/leyden/blob/premain/src/hotspot/share/ci/ciMethod.cpp#L1062)). ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744690712 From vlivanov at openjdk.org Fri Mar 21 23:54:28 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:54:28 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: <55IWO3AKMcn-P1AJnXCA64PX5Jlpth05jLlNwd-N33c=.8e72b227-c2aa-4124-994c-5f1188b3e02e@github.com> On Fri, 21 Mar 2025 23:46:09 GMT, Vladimir Kozlov wrote: > We generate more AOT code with this. With one task request before I don't generate second "normal" version if code does not have init barriers. Now we generate 2 copies of the same code. May be this is fine performance vise but not space saving. It sounds like a good optimization, but now there are more divergences in generated code (reduction in uncommon trap usage). In a future, I'd expect more distinctions to be introduced. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744693996 From vlivanov at openjdk.org Fri Mar 21 23:58:38 2025 From: vlivanov at openjdk.org (Vladimir Ivanov) Date: Fri, 21 Mar 2025 23:58:38 GMT Subject: RFR: 8351965: [leyden] Skip C2 AOT code if C2 preload AOT code trapped [v6] In-Reply-To: References: Message-ID: On Fri, 21 Mar 2025 23:50:09 GMT, Vladimir Kozlov wrote: > We may also generate 2 version of tier2 because we generate them for limited_profiling and full_profiling. Good point. That's a bug. ------------- PR Comment: https://git.openjdk.org/leyden/pull/48#issuecomment-2744696577 From duke at openjdk.org Sat Mar 22 02:24:56 2025 From: duke at openjdk.org (duke) Date: Sat, 22 Mar 2025 02:24:56 GMT Subject: git: openjdk/leyden: premain: 8352090: [leyden] Creating AOT cache crashes with SIGSEGV in RunTimeClassInfo::klass() Message-ID: <894a10d0-623a-48ee-bc4d-a9b4071e41be@openjdk.org> Changeset: 6c9e9675 Branch: premain Author: Vladimir Ivanov Date: 2025-03-21 19:20:41 +0000 URL: https://git.openjdk.org/leyden/commit/6c9e967579716fbcfc6ecc26990ad7787f0bcb43 8352090: [leyden] Creating AOT cache crashes with SIGSEGV in RunTimeClassInfo::klass() ! src/hotspot/share/compiler/compileBroker.cpp From sureshg.g at gmail.com Sat Mar 22 04:51:56 2025 From: sureshg.g at gmail.com (Suresh G) Date: Fri, 21 Mar 2025 21:51:56 -0700 Subject: Fwd: AOTCache + ZGC crashes In-Reply-To: References: Message-ID: Hello Leyden Team, I'm currently testing the new AOT cache feature with the latest OpenJDK 25 EA builds. My setup is straightforward, aiming to create a Docker image with the AOT cache, much like I did previously with AppCDS. Here is the docker multi-stage build for my sample Hello world app - Using openjdk:25-slim (25-ea+15-1670) - Compiling and creating app.jar - Getting module deps jdeps -q \ -R \ --ignore-missing-deps \ --print-module-deps \ --multi-release=25 \ *.jar > ${APP_DIR}/java.modules - Creating jlinked image $JAVA_HOME/bin/jlink \ --verbose \ --module-path ${JAVA_HOME}/jmods \ --add-modules="$(cat ${APP_DIR}/java.modules)" \ --compress=zip-9 \ --strip-debug \ --strip-java-debug-attributes \ --no-man-pages \ --no-header-files \ --save-opts "${APP_DIR}/jlink.opts" \ --output ${RUNTIME_IMAGE} - Creating AOT cache echo "AOT training run for the app..." nohup ${RUNTIME_IMAGE}/bin/java \ --show-version \ --enable-preview \ -XX:+UnlockExperimentalVMOptions \ -XX:+UseCompactObjectHeaders \ -XX:AOTMode=record -XX:AOTConfiguration=${APP_DIR}/app.aotconf \ -jar ${APP_JAR} & \ sleep 1 && \ curl -fsSL --retry 5 --retry-delay 2 --retry-all-errors http://localhost/test curl -fsSL http://localhost/shutdown || echo "AOT training run completed!" echo "Creating AOT archive..." ${RUNTIME_IMAGE}/bin/java \ --show-version \ --enable-preview \ -XX:+UnlockExperimentalVMOptions \ -XX:+UseCompactObjectHeaders \ -XX:AOTMode=create -XX:AOTConfiguration=${APP_DIR}/app.aotconf -XX:AOTCache=${APP_DIR}/app.aot \ -jar ${APP_JAR} - Now copy the APP_DIR to a distroless container (Final image) --------------------------------------------------------------- --------------------- I'm experiencing the following issues with the current build. 1. JVM crashes with ZGC enabled: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000000105b4f318, pid=13825, tid=8963 # # JRE version: (25.0+15) (build ) # Java VM: OpenJDK 64-Bit Server VM (25-ea+15-1670, interpreted mode, sharing, compressed class ptrs, z gc, bsd-aarch64) # Problematic frame: # V [libjvm.dylib+0x47f318] MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 # # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # --------------- S U M M A R Y ------------ Command Line: --enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:+UseZGC -XX:AOTMode=create -XX: AOTConfiguration=app.aotconf -XX:AOTCache=app.aot app.jar Host: "MacBookPro18,1" arm64, 10 cores, 32G, Darwin 23.6.0, macOS 14.6.1 (23G93) Time: Fri Mar 21 20:21:47 2025 PDT elapsed time: 0.044457 seconds (0d 0h 0m 0s) --------------- T H R E A D --------------- Current thread (0x0000000136808c00): JavaThread "Unknown thread" [_thread_in_vm, id=8963, stack(0x000000016bd84000, 0x000000016bf87000) (2060K)] Stack: [0x000000016bd84000,0x000000016bf87000], sp=0x000000016bf86380, free space=2056k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.dylib+0x47f318] MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 V [libjvm.dylib+0x2d1b38] ConstantPool::restore_unshareable_info(JavaThread*)+0x20c V [libjvm.dylib+0xa52928] vmClasses::resolve_all(JavaThread*)+0xe0 V [libjvm.dylib+0x9a85cc] SystemDictionary::initialize(JavaThread*)+0xa0 V [libjvm.dylib+0xa0c8d0] Universe::genesis(JavaThread*)+0x74 V [libjvm.dylib+0xa0f570] universe2_init()+0x24 V [libjvm.dylib+0x497dac] init_globals2()+0xc 2. AOT Cache generation fails during Docker cross-compilation: Specifically, running docker build with --platform=linux/amd64 on ARM64 runner. 36.70 + /opt/java/openjdk/bin/java --enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf -XX:AOTCache=/app/app.aot -jar app.jar 36.70 Creating AOT archive... 36.77 Error occurred during initialization of VM 36.77 Must be a valid AOT configuration generated by the current JVM: /app/app.aotconf 3. Also, are there plans to make the app.aotconf file cross-platform compatible? This would allow us to generate the configuration once, and then produce platform-specific caches from that configuration in CI systems like GitHub Actions. Thanks Suresh -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Sun Mar 23 05:40:59 2025 From: duke at openjdk.org (duke) Date: Sun, 23 Mar 2025 05:40:59 GMT Subject: git: openjdk/leyden: premain: Use a version of MethodTrainingData::find() in printing that doesn't do Message-ID: <898ccc2e-275b-4904-9fb7-e723ce53ba66@openjdk.org> Changeset: b5abb9d8 Branch: premain Author: Igor Veresov Date: 2025-03-22 10:07:20 +0000 URL: https://git.openjdk.org/leyden/commit/b5abb9d85cdc0a734865cfc38256d7c038465c8f Use a version of MethodTrainingData::find() in printing that doesn't do metaspace allocations. ! src/hotspot/share/compiler/compilationPolicy.cpp From duke at openjdk.org Tue Mar 25 02:46:36 2025 From: duke at openjdk.org (duke) Date: Tue, 25 Mar 2025 02:46:36 GMT Subject: git: openjdk/leyden: premain: Ported changes for the JEP 2 PR Message-ID: <319151b9-ba96-4ead-8676-3749c37285f0@openjdk.org> Changeset: aea4efba Branch: premain Author: Igor Veresov Date: 2025-03-24 19:44:10 +0000 URL: https://git.openjdk.org/leyden/commit/aea4efbada012e80aea1a6cca3145aa9332bedc6 Ported changes for the JEP 2 PR ! src/hotspot/share/cds/cds_globals.hpp ! src/hotspot/share/cds/cppVtables.cpp ! src/hotspot/share/compiler/compiler_globals.hpp From ioi.lam at oracle.com Tue Mar 25 04:03:12 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Mon, 24 Mar 2025 21:03:12 -0700 Subject: Fwd: AOTCache + ZGC crashes In-Reply-To: References: Message-ID: <544dee9d-0c44-4566-b3c7-8871670adb42@oracle.com> Hi Suresh, Thanks for the bug report. I have created https://bugs.openjdk.org/browse/JDK-8352775 to track this issue. This issue is new in JDK 25 EA and does not affect JDK 24. Please see my comments below On 3/21/25 9:51 PM, Suresh G wrote: > Hello Leyden Team, > > I'm currently testing the new AOT cache feature with the latest > OpenJDK 25 EA builds. My setup is straightforward, aiming to create a > Docker image with the AOT cache, much like I did previously with AppCDS. > > Here is the docker multi-stage build for my sample Hello world app > > ? - Using openjdk:25-slim (25-ea+15-1670) > ? - Compiling and creating app.jar > ? - Getting module deps > ? ? jdeps -q \ > ? ? ? ?-R \ > ? ? ? ?--ignore-missing-deps \ > ? ? ? ?--print-module-deps \ > ? ? ? ?--multi-release=25 \ > ? ? ? ?*.jar > ${APP_DIR}/java.modules > > ? - Creating jlinked image > ? ? $JAVA_HOME/bin/jlink \ > ? ? ? ? ? --verbose \ > ? ? ? ? ? --module-path ${JAVA_HOME}/jmods \ > ? ? ? ? ? --add-modules="$(cat ${APP_DIR}/java.modules)" \ > ? ? ? ? ? --compress=zip-9 \ > ? ? ? ? ? --strip-debug \ > ? ? ? ? ? --strip-java-debug-attributes \ > ? ? ? ? ? --no-man-pages \ > ? ? ? ? ? --no-header-files \ > ? ? ? ? ? --save-opts "${APP_DIR}/jlink.opts" \ > ? ? ? ? ? --output ${RUNTIME_IMAGE} > > ? - Creating AOT cache > ? ? echo "AOT training run for the app..." > ? ? nohup ${RUNTIME_IMAGE}/bin/java \ > ? ? ? ? --show-version \ > ? ? ? ? --enable-preview \ > ? ? ? ? -XX:+UnlockExperimentalVMOptions \ > ? ? ? ? -XX:+UseCompactObjectHeaders \ > ? ? ? ? -XX:AOTMode=record -XX:AOTConfiguration=${APP_DIR}/app.aotconf \ > ? ? ? ? -jar ${APP_JAR} & \ > > ? ? sleep 1 && \ > ? ? curl -fsSL --retry 5 --retry-delay 2 --retry-all-errors > http://localhost/test > ? ? curl -fsSL http://localhost/shutdown || echo "AOT training run > completed!" > > ? ? echo "Creating AOT archive..." > ? ? ${RUNTIME_IMAGE}/bin/java \ > ? ? ? ? ? --show-version \ > ? ? ? ? ? --enable-preview \ > ? ? ? ? ? -XX:+UnlockExperimentalVMOptions \ > ? ? ? ? ? -XX:+UseCompactObjectHeaders \ > ? ? ? ? ? -XX:AOTMode=create > -XX:AOTConfiguration=${APP_DIR}/app.aotconf > -XX:AOTCache=${APP_DIR}/app.aot \ > ? ? ? ? ? -jar ${APP_JAR} > > ?- Now copy the APP_DIR to a distroless container (Final image) > ?------------------------------------------------------------------------------------ > > ?I'm experiencing the following issues with the current build. > > ?1. JVM crashes with ZGC enabled: > ? ? # > ? ? # A fatal error has been detected by the Java Runtime Environment: > ? ? # > ? ? # ?SIGSEGV (0xb) at pc=0x0000000105b4f318, pid=13825, tid=8963 > ? ? # > ? ? # JRE version: ?(25.0+15) (build ) > ? ? # Java VM: OpenJDK 64-Bit Server VM (25-ea+15-1670, interpreted > mode, sharing, compressed class ptrs, z gc, bsd-aarch64) > ? ? # Problematic frame: > ? ? # V ?[libjvm.dylib+0x47f318] > ?MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 > ? ? # > ? ? # No core dump will be written. Core dumps have been disabled. To > enable core dumping, try "ulimit -c unlimited" before starting ? ?Java > again > ? ? # > ? ? # > > ? ? --------------- ?S U M M A R Y ------------ > > ? ? Command Line: --enable-preview -XX:+UnlockExperimentalVMOptions > -XX:+UseCompactObjectHeaders -XX:+UseZGC -XX:AOTMode=create -XX: ? > ?AOTConfiguration=app.aotconf -XX:AOTCache=app.aot app.jar > > ? ? Host: "MacBookPro18,1" arm64, 10 cores, 32G, Darwin 23.6.0, macOS > 14.6.1 (23G93) > ? ? Time: Fri Mar 21 20:21:47 2025 PDT elapsed time: 0.044457 seconds > (0d 0h 0m 0s) > > ? ? --------------- ?T H R E A D ?--------------- > > ? ? Current thread (0x0000000136808c00): ?JavaThread "Unknown thread" > [_thread_in_vm, id=8963, stack(0x000000016bd84000, ? > ?0x000000016bf87000) (2060K)] > > ? ? Stack: [0x000000016bd84000,0x000000016bf87000], > ?sp=0x000000016bf86380, ?free space=2056k > ? ? Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, > C=native code) > ? ? V ?[libjvm.dylib+0x47f318] > ?MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 > ? ? V ?[libjvm.dylib+0x2d1b38] > ?ConstantPool::restore_unshareable_info(JavaThread*)+0x20c > ? ? V ?[libjvm.dylib+0xa52928] ?vmClasses::resolve_all(JavaThread*)+0xe0 > ? ? V ?[libjvm.dylib+0x9a85cc] > ?SystemDictionary::initialize(JavaThread*)+0xa0 > ? ? V ?[libjvm.dylib+0xa0c8d0] ?Universe::genesis(JavaThread*)+0x74 > ? ? V ?[libjvm.dylib+0xa0f570] ?universe2_init()+0x24 > ? ? V ?[libjvm.dylib+0x497dac] ?init_globals2()+0xc > > 2. AOT Cache generation fails during Docker cross-compilation: > Specifically, running docker build with --platform=linux/amd64on ARM64 > runner. > > ? ?36.70 + /opt/java/openjdk/bin/java --enable-preview > -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders > -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf > -XX:AOTCache=/app/app.aot -jar app.jar > ? ?36.70 Creating AOT archive... > ? ?36.77 Error occurred during initialization of VM > ? ?36.77 Must be a valid AOT configuration generated by the current > JVM: /app/app.aotconf > > > 3. Also, are there plans to make the app.aotconf file cross-platform > compatible? This would allow us to generate the configuration once, > and then produce platform-specific caches from that configuration in > CI systems like GitHub Actions. > > In JDK 25 and going forward, we are collecting execution profile during AOT training. As a result, we have changed the AOT configuration file to a binary file format that's tied to the execution platform of the JVM. You can see more information from https://bugs.openjdk.org/browse/JDK-8348426 The profile data is difficult to be represented in a cross-platform format (e.g., a text file). The need for "cross platform builds" has come up before in our design discussion. We have decided to defer it and focus on delivering optimizations for the most common use cases first. We might re-evaluate this decision in the future when we have more user feedback (and more time :-) Thanks - Ioi > Thanks > Suresh -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmehra at openjdk.org Tue Mar 25 09:41:32 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Tue, 25 Mar 2025 09:41:32 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v3] In-Reply-To: References: Message-ID: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... Ashutosh Mehra has updated the pull request incrementally with two additional commits since the last revision: - Some more cleanup Signed-off-by: Ashutosh Mehra - Set compile id Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/27/files - new: https://git.openjdk.org/leyden/pull/27/files/417a4450..900d4a4e Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=02 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=01-02 Stats: 12 lines in 4 files changed: 8 ins; 3 del; 1 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From headius at headius.com Tue Mar 25 15:30:10 2025 From: headius at headius.com (Charles Oliver Nutter) Date: Tue, 25 Mar 2025 10:30:10 -0500 Subject: Detecting CDS/Leyden use at runtime Message-ID: Hello! We are about to release JRuby 10 with a new launcher script that utilizes optimal CDS/AOT flags for startup time. When users run JRuby 10 on a JDK >= 13, we will automatically dump JSA and use that for subsequent runs. Users can also actively regenerate that cache based on some Ruby command line. The gains have been sick, so to speak. However we are trying to error-proof this feature, and wondering there's a way to query AppCDS/Leyden/AOT features are runtime, so we can know if they were used to start up when diagnosing issues. Is there any API or JMX or anything that we could access to get this information at runtime? *Charles Oliver Nutter* *Architect and Technologist* Headius Enterprises https://www.headius.com headius at headius.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From gunnar.morling at googlemail.com Tue Mar 25 16:18:03 2025 From: gunnar.morling at googlemail.com (Gunnar Morling) Date: Tue, 25 Mar 2025 17:18:03 +0100 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: Hey all, Sorry for the late reply, I was travelling for a conference last week. Indeed I had the following as part of my Java invocation, as you suspected, Alan: -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false It happens automatically from within Kafka's launch scripts, which is why I hadn't noticed it at first. Once I dropped that part, I could create the AOT cache file successfully. Interestingly, the error still occurred when I replaced the above with the following: -Dcom.sun.management.jmxremote=false I'd have assumed this not to be the case? Similarly, I tried to specify -XX:+UnlockDiagnosticVMOptions -XX:+AllowArchivingWithJavaAgent to allow the cache creation with an agent, but to no avail. The only way it did work was by removing the three -Dcom.sun.management.* options altogether. I don't fully understand all the moving parts here yet, but it appears as if the ergonomics of this feature could still be improved? In any case, thanks a lot for your help, I was able to create the AOT cache file in the end and it shaved off a nice chunk of the Kafka start-up time! Best, --Gunnar On Tue, 18 Mar 2025 at 05:40, wrote: > > On 3/16/25 1:09 AM, Alan Bateman wrote: > > On 16/03/2025 02:12, ioi.lam at oracle.com wrote: > >> Could you send the exact command-line that causes the error? If you > >> can share a self-contain reproducible test case, that would be great! > >> > >> Looking from the stack trace: > >> > >> at > >> > jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.java:542) > >> at > >> > jdk.management.agent/jdk.internal.agent.Agent.startLocalManagementAgent(Agent.java:316) > >> at > >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:448) > >> at > >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:601) > >> > >> It looks like you might have specified a Java agent in the "java > >> -XX:AOTMode=create ...." command line. Can you try removing that and > >> see if it works? > > > > I assume it's something started with -Dcom.sun.management=... to start > > the JMX agent. This sets in motion the registration of management > > beans and the JMX introspector machinery that looks at annotations and > > causes Proxy classes to be generated into dynamic modules. > > > > Ioi - I suspect the restriction on creating dynamic modules in the > > dump phase may be too restrictive. The full module graph dumping > > should only be concerned with the boot layer. > > > > -Alan > > > Hi Alan, thanks for the information. I've created > https://bugs.openjdk.org/browse/JDK-8352187 to address this problem. > > I verified that the dynamic modules created by the dynamic proxies > always have a null for its ModuleLayer. Also, there are no APIs for > adding new modules into the boot layer (after the boot layer has been > initialized), so the usage of ProxyBuilder.getDynamicModule() shouldn't > cause problems for CDS. > > > https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/jdk/internal/module/Modules.java#L76-L82 > > https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/java/lang/System.java#L2033-L2037 > > Thanks > > - Ioi > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Tue Mar 25 19:06:30 2025 From: duke at openjdk.org (duke) Date: Tue, 25 Mar 2025 19:06:30 GMT Subject: git: openjdk/leyden: hermetic-java-runtime: 51 new changesets Message-ID: <93d306db-9a0a-42bc-adc7-ef1047d089fd@openjdk.org> Changeset: 22182f71 Branch: hermetic-java-runtime Author: Vladimir Kozlov Date: 2025-03-21 20:51:30 +0000 URL: https://git.openjdk.org/leyden/commit/22182f71ed520150b1ee05e5b788ecddfb0a6508 8352112: [ubsan] hotspot/share/code/relocInfo.cpp:130:37: runtime error: applying non-zero offset 18446744073709551614 to null pointer Reviewed-by: dlong, bulasevich ! src/hotspot/share/code/codeBlob.cpp Changeset: 74420391 Branch: hermetic-java-runtime Author: Shaojin Wen Date: 2025-03-22 01:35:09 +0000 URL: https://git.openjdk.org/leyden/commit/74420391faff5614d3c9254be1fd2e764c3f0731 8337279: Share StringBuilder to format instant Reviewed-by: naoto, liach ! src/java.base/share/classes/java/time/LocalDate.java ! src/java.base/share/classes/java/time/LocalDateTime.java ! src/java.base/share/classes/java/time/LocalTime.java ! src/java.base/share/classes/java/time/OffsetDateTime.java ! src/java.base/share/classes/java/time/OffsetTime.java ! src/java.base/share/classes/java/time/ZonedDateTime.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java + src/java.base/share/classes/jdk/internal/util/DateTimeHelper.java ! test/jdk/java/time/tck/java/time/format/TCKInstantPrinterParser.java ! test/micro/org/openjdk/bench/java/time/ToStringBench.java Changeset: 334a1eec Branch: hermetic-java-runtime Author: Leonid Mesnik Date: 2025-03-22 01:59:59 +0000 URL: https://git.openjdk.org/leyden/commit/334a1eec2375a4f9f3150bdb556c1c2432596b4b 8351375: nsk/jvmti/ tests should fail when nsk_jvmti_setFailStatus() is called Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp Changeset: 5dd0acb3 Branch: hermetic-java-runtime Author: Fei Yang Date: 2025-03-22 02:31:53 +0000 URL: https://git.openjdk.org/leyden/commit/5dd0acb3cddb96845062c0b7cee1e384e69f43cb 8352477: RISC-V: Print warnings when unsupported intrinsics are enabled Reviewed-by: mli, rehn, fjiang ! src/hotspot/cpu/riscv/vm_version_riscv.cpp Changeset: df9210e6 Branch: hermetic-java-runtime Author: Zihao Lin Committer: SendaoYan Date: 2025-03-23 00:35:59 +0000 URL: https://git.openjdk.org/leyden/commit/df9210e6578acd53384ee1ac06601510c9a52696 8347706: jvmciEnv.cpp has jvmci includes out of order Reviewed-by: dnsimon ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: ee1577b7 Branch: hermetic-java-runtime Author: David Holmes Date: 2025-03-24 00:18:13 +0000 URL: https://git.openjdk.org/leyden/commit/ee1577b790cd29c0bee9f77829aa40d9e512e30f 8352652: [BACKOUT] nsk/jvmti/ tests should fail when nsk_jvmti_setFailStatus() is called Reviewed-by: lmesnik ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA10/ma10t006/ma10t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp Changeset: adfb1206 Branch: hermetic-java-runtime Author: Ioi Lam Date: 2025-03-24 06:42:02 +0000 URL: https://git.openjdk.org/leyden/commit/adfb1206498987f43a4cf0cd6ba0cb6a5bb8e479 8351748: Add class init barrier to AOT-cached Method/Var Handles Reviewed-by: vlivanov, liach ! src/hotspot/share/cds/aotClassInitializer.cpp ! src/hotspot/share/cds/aotClassInitializer.hpp ! src/hotspot/share/cds/cdsConfig.cpp ! src/hotspot/share/cds/cdsConfig.hpp ! src/hotspot/share/cds/cds_globals.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/jdk/internal/misc/CDS.java ! src/java.base/share/native/libjava/CDS.c + test/hotspot/jtreg/runtime/cds/appcds/aotClassLinking/MethodHandleTest.java Changeset: e23e0f85 Branch: hermetic-java-runtime Author: Marc Chevalier Committer: SendaoYan Date: 2025-03-24 07:24:07 +0000 URL: https://git.openjdk.org/leyden/commit/e23e0f85ef0f959a68adda0cff9e721ba2173ffc 8352591: Missing UnlockDiagnosticVMOptions in VerifyGraphEdgesWithDeadCodeCheckFromSafepoints test Reviewed-by: kvn, chagedorn, syan ! test/hotspot/jtreg/compiler/loopopts/VerifyGraphEdgesWithDeadCodeCheckFromSafepoints.java Changeset: 56a4ffa6 Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-24 07:57:14 +0000 URL: https://git.openjdk.org/leyden/commit/56a4ffa62cdeb552589802042f18aa2a707d5cb0 8352597: [IR Framework] test bug: TestNotCompilable.java fails on product build Reviewed-by: fyang, syan, thartmann ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestNotCompilable.java Changeset: 5591f8a4 Branch: hermetic-java-runtime Author: Manuel H?ssig Date: 2025-03-24 07:59:20 +0000 URL: https://git.openjdk.org/leyden/commit/5591f8a42997c7bbe99d26f7a75d494a53e436fa 8351515: C2 incorrectly removes double negation for double and float Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/subnode.cpp + test/hotspot/jtreg/compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java Changeset: a8757332 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-24 08:07:28 +0000 URL: https://git.openjdk.org/leyden/commit/a8757332667df3fe41a29a7eedb2a7234d23c2a0 8352486: [ubsan] compilationMemoryStatistic.cpp:659:21: runtime error: index 64 out of bounds for type const struct unnamed struct Reviewed-by: kvn, mdoerr, stuefe ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp Changeset: de580090 Branch: hermetic-java-runtime Author: Roberto Casta?eda Lozano Date: 2025-03-24 11:05:46 +0000 URL: https://git.openjdk.org/leyden/commit/de580090cd9ada313a878975b9f183045d293684 8351468: C2: array fill optimization assigns wrong type to intrinsic call Reviewed-by: epeter, thartmann, qamai ! src/hotspot/share/opto/loopTransform.cpp + test/hotspot/jtreg/compiler/loopopts/TestArrayFillAntiDependence.java + test/hotspot/jtreg/compiler/loopopts/TestArrayFillIntrinsic.java Changeset: 02a4ce23 Branch: hermetic-java-runtime Author: Thomas Schatzl Date: 2025-03-24 12:18:02 +0000 URL: https://git.openjdk.org/leyden/commit/02a4ce23f8353a9dd6400f2dd44f9cc1649626d3 8352147: G1: TestEagerReclaimHumongousRegionsClearMarkBits test takes very long Reviewed-by: iwalulya, ayang ! test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java Changeset: 5709f79c Branch: hermetic-java-runtime Author: Erik Gahlin Date: 2025-03-24 15:16:54 +0000 URL: https://git.openjdk.org/leyden/commit/5709f79cf86d532b38133a7fc11e6388af573723 8352648: JFR: 'jfr query' should not be available in product builds Reviewed-by: mgronlun, shade ! src/hotspot/share/jfr/jni/jfrJniMethod.cpp ! src/hotspot/share/jfr/jni/jfrJniMethod.hpp ! src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Command.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Query.java Changeset: d8c2f59a Branch: hermetic-java-runtime Author: Joachim Kern Date: 2025-03-24 16:15:36 +0000 URL: https://git.openjdk.org/leyden/commit/d8c2f59a1b28521ab9969fdf71c52726026d2a85 8352064: AIX: now also able to build static-jdk image with a statically linked launcher Reviewed-by: mdoerr, mbaesken, ihse ! make/Main.gmk ! make/StaticLibs.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! make/modules/java.desktop/lib/AwtLibraries.gmk ! src/hotspot/os/aix/loadlib_aix.cpp Changeset: ddc43180 Branch: hermetic-java-runtime Author: Naoto Sato Date: 2025-03-24 16:15:45 +0000 URL: https://git.openjdk.org/leyden/commit/ddc431805363b4aa8f3d46f4c60517ce3dfd9074 8352628: Refine Grapheme test Reviewed-by: jlu, joehw ! test/jdk/java/util/regex/RegExTest.java Changeset: 7d1fe0e0 Branch: hermetic-java-runtime Author: Ian Graves Date: 2025-03-24 16:24:56 +0000 URL: https://git.openjdk.org/leyden/commit/7d1fe0e03fbdc73920094ff7905208a57dc4ee65 8339543: [vectorapi] laneHelper and withLaneHelper should be ForceInline Reviewed-by: liach, psandoz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template Changeset: c87e1be0 Branch: hermetic-java-runtime Author: Srinivas Vamsi Parasa Date: 2025-03-24 16:44:26 +0000 URL: https://git.openjdk.org/leyden/commit/c87e1be0526fdd656bf0601542db6b92ccea567f 8349582: APX NDD code generation for OpenJDK Reviewed-by: epeter, jbhateja, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad ! test/hotspot/gtest/x86/asmtest.out.h ! test/hotspot/gtest/x86/x86-asmtest.py Changeset: a54445f7 Branch: hermetic-java-runtime Author: Dhamoder Nalla Committer: Sandhya Viswanathan Date: 2025-03-24 17:40:42 +0000 URL: https://git.openjdk.org/leyden/commit/a54445f789c7e37c03b28e07a7fdaa83672e3edc 8350609: Cleanup unknown unwind opcode (0xB) for windows Reviewed-by: sviswanathan, epeter ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_atan2_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cos_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cosh_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_expm1_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_hypot_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log1p_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_pow_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sin_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sinh_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tan_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tanh_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_atan2_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cos_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cosh_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_expm1_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_hypot_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log1p_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_pow_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sin_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sinh_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tan_windows_x86.S ! src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tanh_windows_x86.S Changeset: b84b2927 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-24 18:11:26 +0000 URL: https://git.openjdk.org/leyden/commit/b84b29278f710fabab703bc75dda1fa817bc13f6 8352615: [Test] RISC-V: TestVectorizationMultiInvar.java fails on riscv64 without rvv support Reviewed-by: fyang, rehn ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMultiInvar.java Changeset: 6e6a39d3 Branch: hermetic-java-runtime Author: Phil Race Date: 2025-03-24 19:52:52 +0000 URL: https://git.openjdk.org/leyden/commit/6e6a39d35fda929300c7668fdf5d2f0fbfed0606 8347321: [ubsan] CGGlyphImages.m:553:30: runtime error: nan is outside the range of representable values of type 'unsigned long' Reviewed-by: kizune, azvegint, aivanov ! src/java.desktop/macosx/classes/sun/font/CStrike.java Changeset: 2c60fc51 Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-24 22:46:08 +0000 URL: https://git.openjdk.org/leyden/commit/2c60fc5189b9ecec8460c130a0c939195dfa5ffb 8352176: Automate setting up environment for mac signing tests Reviewed-by: almatvee ! test/jdk/tools/jpackage/TEST.properties + test/jdk/tools/jpackage/helpers/jdk/jpackage/test/MacSign.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TestInstance.java ! test/jdk/tools/jpackage/macosx/base/SigningBase.java + test/jdk/tools/jpackage/resources/sign-utils.applescript Changeset: 5625b43f Branch: hermetic-java-runtime Author: Zihao Lin Committer: David Holmes Date: 2025-03-25 01:34:11 +0000 URL: https://git.openjdk.org/leyden/commit/5625b43ff4fa77843260d152d618ae1083ec04b8 8350429: runtime/NMT/CheckForProperDetailStackTrace.java should only run for debug JVM Reviewed-by: stuefe, jsjolen ! test/hotspot/jtreg/runtime/NMT/CheckForProperDetailStackTrace.java Changeset: ba658a71 Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-03-25 01:35:27 +0000 URL: https://git.openjdk.org/leyden/commit/ba658a71ba4372b42a496edee55400f5014815d4 8349522: AArch64: Add backend implementation for new unsigned and saturating vector operations Reviewed-by: epeter, haosun, bkilambi ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorapi/VectorSaturatedOperationsTest.java Changeset: b2da0d34 Branch: hermetic-java-runtime Author: Alexey Semenyuk Date: 2025-03-25 01:45:03 +0000 URL: https://git.openjdk.org/leyden/commit/b2da0d341b740eb5fbb784075adb3433427c3cff 8352289: [macos] Review skipped tests in tools/jpackage/macosx/SigningPackage* Reviewed-by: almatvee ! 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/SigningAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTwoStepsTest.java - test/jdk/tools/jpackage/macosx/SigningOptionsTest.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/base/SigningCheck.java ! test/jdk/tools/jpackage/share/ErrorTest.java Changeset: 99c8a6e4 Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-03-25 06:06:42 +0000 URL: https://git.openjdk.org/leyden/commit/99c8a6e47ac9b0659349a849940c27c626beb905 8350463: AArch64: Add vector rearrange support for small lane count vectors Reviewed-by: epeter, bkilambi, haosun ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/VectorRearrangeTest.java Changeset: 48fac662 Branch: hermetic-java-runtime Author: Damon Fenacci Date: 2025-03-25 07:10:47 +0000 URL: https://git.openjdk.org/leyden/commit/48fac6626c605f4679544e3dd24d5ad70561494a 8347406: [REDO] C1/C2 don't handle allocation failure properly during initialization (RuntimeStub::new_runtime_stub fatal crash) Reviewed-by: dlong, adinn ! src/hotspot/cpu/aarch64/runtime_aarch64.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/ppc/runtime_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/riscv/runtime_riscv.cpp ! src/hotspot/cpu/s390/runtime_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/runtime_x86_32.cpp ! src/hotspot/cpu/x86/runtime_x86_64.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_Compiler.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/c1/c1_Runtime1.hpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp ! src/hotspot/share/gc/z/c1/zBarrierSetC1.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/startup/StartupOutput.java Changeset: c94bc742 Branch: hermetic-java-runtime Author: Marc Chevalier Committer: Christian Hagedorn Date: 2025-03-25 07:28:06 +0000 URL: https://git.openjdk.org/leyden/commit/c94bc7427ce86dce9613d3a201eef7f3828447b0 8352595: Regression of JDK-8314999 in IR matching Reviewed-by: chagedorn, thartmann ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestBadFormat.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java ! test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/flag/TestCompilePhaseCollector.java Changeset: 6bc48035 Branch: hermetic-java-runtime Author: Matthias Baesken Date: 2025-03-25 08:01:15 +0000 URL: https://git.openjdk.org/leyden/commit/6bc480358c80b0a1a94b5ca5f4b7ff2d84ce8e37 8351277: Remove pipewire from AIX build Reviewed-by: ihse, prr, azvegint ! make/modules/java.desktop/lib/AwtLibraries.gmk ! src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c ! src/java.desktop/unix/native/libawt_xawt/awt/screencast_portal.c ! src/java.desktop/unix/native/libpipewire/include/spa/utils/endian.h Changeset: 17dc30c5 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-25 08:20:35 +0000 URL: https://git.openjdk.org/leyden/commit/17dc30c54e90a339783b7da6ef282a2206205653 8352414: JFR: JavaMonitorDeflateEvent crashes when deflated monitor object is dead Reviewed-by: dholmes, mgronlun ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/runtime/objectMonitor.cpp + test/jdk/jdk/jfr/event/runtime/StressJavaMonitorEvents.java ! test/jdk/jdk/jfr/event/runtime/TestJavaMonitorDeflateEvent.java Changeset: f9bcef4d Branch: hermetic-java-runtime Author: Xiaohong Gong Date: 2025-03-25 08:27:18 +0000 URL: https://git.openjdk.org/leyden/commit/f9bcef4dba569701ebed7762fc8730d552325382 8351627: C2 AArch64 ROR/ROL: assert((1 << ((T>>1)+3)) > shift) failed: Invalid Shift value Reviewed-by: chagedorn, epeter, jbhateja, adinn ! src/hotspot/share/opto/vectornode.cpp + test/hotspot/jtreg/compiler/vectorapi/TestRotateWithZero.java Changeset: aee4d691 Branch: hermetic-java-runtime Author: Aleksey Shipilev Date: 2025-03-25 09:01:48 +0000 URL: https://git.openjdk.org/leyden/commit/aee4d6910ba15f8b8946f36968fc8b8599d9e50d 8348829: Remove ObjectMonitor perf counters Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/lightweightSynchronizer.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 6879c446 Branch: hermetic-java-runtime Author: Ivan Walulya Date: 2025-03-25 09:24:36 +0000 URL: https://git.openjdk.org/leyden/commit/6879c446c6e7734c162c85bd2bd3d7f3b012cca4 8351405: G1: Collection set early pruning causes suboptimal region selection Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.cpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1CollectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp ! src/hotspot/share/gc/g1/g1HeapRegion.cpp ! src/hotspot/share/gc/g1/g1HeapRegion.hpp ! src/hotspot/share/gc/g1/g1HeapRegion.inline.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RegionMarkStatsCache.hpp ! src/hotspot/share/gc/g1/g1RegionMarkStatsCache.inline.hpp Changeset: 9f582e56 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-25 09:29:40 +0000 URL: https://git.openjdk.org/leyden/commit/9f582e56baee0e7f5af20da0f395cd935bf5a962 8320997: RISC-V: C2 ReverseV Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorization/TestReverseBitsVector.java Changeset: 3d3b7820 Branch: hermetic-java-runtime Author: Hamlin Li Date: 2025-03-25 09:30:51 +0000 URL: https://git.openjdk.org/leyden/commit/3d3b7820371058b40f2e694536c98aa3900abb5f 8352607: RISC-V: use cmove in min/max when Zicond is supported Reviewed-by: fyang, rehn ! src/hotspot/cpu/riscv/riscv.ad Changeset: bdcac986 Branch: hermetic-java-runtime Author: Marc Chevalier Committer: Tobias Hartmann Date: 2025-03-25 10:15:55 +0000 URL: https://git.openjdk.org/leyden/commit/bdcac98673a2250f608bdf244e17578eecb30fbe 8347459: C2: missing transformation for chain of shifts/multiplications by constants Reviewed-by: dfenacci, epeter ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/compiler/c2/irTests/LShiftINodeIdealizationTests.java ! test/hotspot/jtreg/compiler/c2/irTests/LShiftLNodeIdealizationTests.java Changeset: c002b97e Branch: hermetic-java-runtime Author: Prasanta Sadhukhan Date: 2025-03-25 10:35:07 +0000 URL: https://git.openjdk.org/leyden/commit/c002b97ee99c1889aa89e0a8853beafaf0969e9c 8352676: Opensource JMenu tests - series1 Reviewed-by: azvegint + test/jdk/javax/swing/JMenu/bug4140643.java + test/jdk/javax/swing/JMenu/bug4146588.java + test/jdk/javax/swing/JMenu/bug4342646.java Changeset: 721ef767 Branch: hermetic-java-runtime Author: Markus Gr?nlund Date: 2025-03-25 10:37:29 +0000 URL: https://git.openjdk.org/leyden/commit/721ef76738a2145bdff9b8534d3512282c61db8b 8352696: JFR: assert(false): EA: missing memory path Reviewed-by: thartmann, shade, kvn ! src/hotspot/share/opto/library_call.cpp + test/jdk/jdk/jfr/jvm/TestJvmCommitIntrinsicAndEA.java Changeset: 512b9b16 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-25 10:56:52 +0000 URL: https://git.openjdk.org/leyden/commit/512b9b16e009fc550afaf9aefdb912c9495ed50a 8196896: Use SYSROOT_CFLAGS in dtrace gensrc Reviewed-by: erikj ! make/hotspot/gensrc/GensrcDtrace.gmk Changeset: bab93729 Branch: hermetic-java-runtime Author: Magnus Ihse Bursie Date: 2025-03-25 10:58:10 +0000 URL: https://git.openjdk.org/leyden/commit/bab93729c26907dc51d15dbb5651f860f0cb58ab 8352618: Remove old deprecated functionality in the build system Reviewed-by: erikj, kbarrett, jwaters ! make/PreInit.gmk ! make/PreInitSupport.gmk ! make/RunTestsPrebuilt.gmk ! make/autoconf/basic.m4 ! make/autoconf/configure.ac ! make/autoconf/help.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/jvm-features.m4 ! make/autoconf/util.m4 ! make/common/LogUtils.gmk Changeset: 67c44052 Branch: hermetic-java-runtime Author: Tobias Hartmann Date: 2025-03-25 11:52:54 +0000 URL: https://git.openjdk.org/leyden/commit/67c4405250f93a1188c03bf336db160f77a10c7f 8352866: TestLogJIT.java runs wrong test class Reviewed-by: rcastanedalo, chagedorn ! test/hotspot/jtreg/compiler/arguments/TestLogJIT.java ! test/hotspot/jtreg/compiler/c2/Test7005594.java ! test/hotspot/jtreg/compiler/loopopts/TestMissingSkeletonPredicateForIfNode.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestSearchAlignment.java Changeset: c953e0ed Branch: hermetic-java-runtime Author: Christian Hagedorn Date: 2025-03-25 11:58:28 +0000 URL: https://git.openjdk.org/leyden/commit/c953e0ede17aed9b80a637f1ffce90b2ea54ae21 8350579: Remove Template Assertion Predicates belonging to a loop once it is folded away Reviewed-by: epeter, roland ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/predicates.cpp ! src/hotspot/share/opto/predicates.hpp ! src/hotspot/share/opto/split_if.cpp + test/hotspot/jtreg/compiler/predicates/assertion/TestAssertionPredicates.java Changeset: 997aa176 Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-03-25 12:32:16 +0000 URL: https://git.openjdk.org/leyden/commit/997aa176dbfc3709f8731c10f901334334e606d1 8351310: Deprecate com.sun.jdi.JDIPermission for removal Reviewed-by: sspitsyn, cjplummer ! src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java Changeset: 3ac9678e Branch: hermetic-java-runtime Author: Kevin Walls Date: 2025-03-25 12:32:37 +0000 URL: https://git.openjdk.org/leyden/commit/3ac9678ea1078087f047cb31fb705d94de3f690e 8351224: Deprecate com.sun.tools.attach.AttachPermission for removal Reviewed-by: sspitsyn ! src/jdk.attach/share/classes/com/sun/tools/attach/AttachPermission.java Changeset: fa0b18bf Branch: hermetic-java-runtime Author: Mikhail Yankelevich Committer: Weijun Wang Date: 2025-03-25 13:04:30 +0000 URL: https://git.openjdk.org/leyden/commit/fa0b18bfde38ee2ffbab33a9eaac547fe8aa3c7c 8352509: Update jdk.test.lib.SecurityTools jar method to accept List parameter Reviewed-by: weijun ! test/lib/jdk/test/lib/SecurityTools.java Changeset: fe03e2ec Branch: hermetic-java-runtime Author: Archie Cobbs Date: 2025-03-25 14:28:05 +0000 URL: https://git.openjdk.org/leyden/commit/fe03e2ecbd5c4d5d06ad1703fa969043d1127c0f 8351897: Extra closing curly brace typos in Javadoc Reviewed-by: liach ! src/java.base/share/classes/java/lang/classfile/package-info.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/util/stream/AbstractTask.java ! src/java.base/share/classes/java/util/stream/Collectors.java Changeset: 03105fc9 Branch: hermetic-java-runtime Author: Volkan Yazici Committer: Jaikiran Pai Date: 2025-03-25 14:35:45 +0000 URL: https://git.openjdk.org/leyden/commit/03105fc92505e9e367354e763b99cbe02bf473d6 8351601: [JMH] test UnixSocketChannelReadWrite failed for 2 threads config Reviewed-by: michaelm ! test/micro/org/openjdk/bench/java/net/UnixSocketChannelReadWrite.java Changeset: e98838f5 Branch: hermetic-java-runtime Author: David Linus Briemann Committer: Richard Reingruber Date: 2025-03-25 15:16:46 +0000 URL: https://git.openjdk.org/leyden/commit/e98838f58db1606f35c85ac9fcdbdf1076b6a303 8352065: [PPC64] C2: Implement PopCountVL, CountLeadingZerosV and CountTrailingZerosV nodes 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/vectorization/TestNumberOfContinuousZeros.java Changeset: 993eae4a Branch: hermetic-java-runtime Author: Naoto Sato Date: 2025-03-25 15:52:18 +0000 URL: https://git.openjdk.org/leyden/commit/993eae4aa591ec9610b9d8bc03382a225c93d844 8346948: Update CLDR to Version 47.0 Reviewed-by: jlu, joehw ! make/data/cldr/LICENSE ! make/data/cldr/common/bcp47/collation.xml ! make/data/cldr/common/dtd/ldml.dtd ! make/data/cldr/common/dtd/ldml.xsd ! make/data/cldr/common/dtd/ldmlBCP47.dtd ! make/data/cldr/common/dtd/ldmlBCP47.xsd ! make/data/cldr/common/dtd/ldmlSupplemental.dtd ! make/data/cldr/common/dtd/ldmlSupplemental.xsd ! make/data/cldr/common/main/aa.xml ! make/data/cldr/common/main/aa_DJ.xml ! make/data/cldr/common/main/aa_ER.xml ! make/data/cldr/common/main/aa_ET.xml ! make/data/cldr/common/main/ab.xml ! make/data/cldr/common/main/ab_GE.xml ! make/data/cldr/common/main/af.xml ! make/data/cldr/common/main/af_NA.xml ! make/data/cldr/common/main/af_ZA.xml ! make/data/cldr/common/main/agq.xml ! make/data/cldr/common/main/agq_CM.xml ! make/data/cldr/common/main/ak.xml ! make/data/cldr/common/main/ak_GH.xml ! make/data/cldr/common/main/am.xml ! make/data/cldr/common/main/am_ET.xml ! make/data/cldr/common/main/an.xml ! make/data/cldr/common/main/an_ES.xml ! make/data/cldr/common/main/ann.xml ! make/data/cldr/common/main/ann_NG.xml ! make/data/cldr/common/main/apc.xml ! make/data/cldr/common/main/apc_SY.xml ! make/data/cldr/common/main/ar.xml ! make/data/cldr/common/main/ar_001.xml ! make/data/cldr/common/main/ar_AE.xml ! make/data/cldr/common/main/ar_BH.xml ! make/data/cldr/common/main/ar_DJ.xml ! make/data/cldr/common/main/ar_DZ.xml ! make/data/cldr/common/main/ar_EG.xml ! make/data/cldr/common/main/ar_EH.xml ! make/data/cldr/common/main/ar_ER.xml ! make/data/cldr/common/main/ar_IL.xml ! make/data/cldr/common/main/ar_IQ.xml ! make/data/cldr/common/main/ar_JO.xml ! make/data/cldr/common/main/ar_KM.xml ! make/data/cldr/common/main/ar_KW.xml ! make/data/cldr/common/main/ar_LB.xml ! make/data/cldr/common/main/ar_LY.xml ! make/data/cldr/common/main/ar_MA.xml ! make/data/cldr/common/main/ar_MR.xml ! make/data/cldr/common/main/ar_OM.xml ! make/data/cldr/common/main/ar_PS.xml ! make/data/cldr/common/main/ar_QA.xml ! make/data/cldr/common/main/ar_SA.xml ! make/data/cldr/common/main/ar_SD.xml ! make/data/cldr/common/main/ar_SO.xml ! make/data/cldr/common/main/ar_SS.xml ! make/data/cldr/common/main/ar_SY.xml ! make/data/cldr/common/main/ar_TD.xml ! make/data/cldr/common/main/ar_TN.xml ! make/data/cldr/common/main/ar_YE.xml ! make/data/cldr/common/main/arn.xml ! make/data/cldr/common/main/arn_CL.xml ! make/data/cldr/common/main/as.xml ! make/data/cldr/common/main/as_IN.xml ! make/data/cldr/common/main/asa.xml ! make/data/cldr/common/main/asa_TZ.xml ! make/data/cldr/common/main/ast.xml ! make/data/cldr/common/main/ast_ES.xml ! make/data/cldr/common/main/az.xml ! make/data/cldr/common/main/az_Arab.xml ! make/data/cldr/common/main/az_Arab_IQ.xml ! make/data/cldr/common/main/az_Arab_IR.xml ! make/data/cldr/common/main/az_Arab_TR.xml ! make/data/cldr/common/main/az_Cyrl.xml ! make/data/cldr/common/main/az_Cyrl_AZ.xml ! make/data/cldr/common/main/az_Latn.xml ! make/data/cldr/common/main/az_Latn_AZ.xml ! make/data/cldr/common/main/ba.xml ! make/data/cldr/common/main/ba_RU.xml ! make/data/cldr/common/main/bal.xml ! make/data/cldr/common/main/bal_Arab.xml ! make/data/cldr/common/main/bal_Arab_PK.xml ! make/data/cldr/common/main/bal_Latn.xml ! make/data/cldr/common/main/bal_Latn_PK.xml ! make/data/cldr/common/main/bas.xml ! make/data/cldr/common/main/bas_CM.xml ! make/data/cldr/common/main/be.xml ! make/data/cldr/common/main/be_BY.xml ! make/data/cldr/common/main/be_TARASK.xml ! make/data/cldr/common/main/bem.xml ! make/data/cldr/common/main/bem_ZM.xml ! make/data/cldr/common/main/bew.xml ! make/data/cldr/common/main/bew_ID.xml ! make/data/cldr/common/main/bez.xml ! make/data/cldr/common/main/bez_TZ.xml ! make/data/cldr/common/main/bg.xml ! make/data/cldr/common/main/bg_BG.xml ! make/data/cldr/common/main/bgc.xml ! make/data/cldr/common/main/bgc_IN.xml ! make/data/cldr/common/main/bgn.xml ! make/data/cldr/common/main/bgn_AE.xml ! make/data/cldr/common/main/bgn_AF.xml ! make/data/cldr/common/main/bgn_IR.xml ! make/data/cldr/common/main/bgn_OM.xml ! make/data/cldr/common/main/bgn_PK.xml ! make/data/cldr/common/main/bho.xml ! make/data/cldr/common/main/bho_IN.xml ! make/data/cldr/common/main/blo.xml ! make/data/cldr/common/main/blo_BJ.xml ! make/data/cldr/common/main/blt.xml ! make/data/cldr/common/main/blt_VN.xml ! make/data/cldr/common/main/bm.xml ! make/data/cldr/common/main/bm_ML.xml ! make/data/cldr/common/main/bm_Nkoo.xml ! make/data/cldr/common/main/bm_Nkoo_ML.xml ! make/data/cldr/common/main/bn.xml ! make/data/cldr/common/main/bn_BD.xml ! make/data/cldr/common/main/bn_IN.xml ! make/data/cldr/common/main/bo.xml ! make/data/cldr/common/main/bo_CN.xml ! make/data/cldr/common/main/bo_IN.xml ! make/data/cldr/common/main/br.xml ! make/data/cldr/common/main/br_FR.xml ! make/data/cldr/common/main/brx.xml ! make/data/cldr/common/main/brx_IN.xml ! make/data/cldr/common/main/bs.xml ! make/data/cldr/common/main/bs_Cyrl.xml ! make/data/cldr/common/main/bs_Cyrl_BA.xml ! make/data/cldr/common/main/bs_Latn.xml ! make/data/cldr/common/main/bs_Latn_BA.xml ! make/data/cldr/common/main/bss.xml ! make/data/cldr/common/main/bss_CM.xml ! make/data/cldr/common/main/byn.xml ! make/data/cldr/common/main/byn_ER.xml ! make/data/cldr/common/main/ca.xml ! make/data/cldr/common/main/ca_AD.xml ! make/data/cldr/common/main/ca_ES.xml ! make/data/cldr/common/main/ca_ES_VALENCIA.xml ! make/data/cldr/common/main/ca_FR.xml ! make/data/cldr/common/main/ca_IT.xml ! make/data/cldr/common/main/cad.xml ! make/data/cldr/common/main/cad_US.xml ! make/data/cldr/common/main/cch.xml ! make/data/cldr/common/main/cch_NG.xml ! make/data/cldr/common/main/ccp.xml ! make/data/cldr/common/main/ccp_BD.xml ! make/data/cldr/common/main/ccp_IN.xml ! make/data/cldr/common/main/ce.xml ! make/data/cldr/common/main/ce_RU.xml ! make/data/cldr/common/main/ceb.xml ! make/data/cldr/common/main/ceb_PH.xml ! make/data/cldr/common/main/cgg.xml ! make/data/cldr/common/main/cgg_UG.xml ! make/data/cldr/common/main/cho.xml ! make/data/cldr/common/main/cho_US.xml ! make/data/cldr/common/main/chr.xml ! make/data/cldr/common/main/chr_US.xml ! make/data/cldr/common/main/cic.xml ! make/data/cldr/common/main/cic_US.xml ! make/data/cldr/common/main/ckb.xml ! make/data/cldr/common/main/ckb_IQ.xml ! make/data/cldr/common/main/ckb_IR.xml ! make/data/cldr/common/main/co.xml ! make/data/cldr/common/main/co_FR.xml + make/data/cldr/common/main/cop.xml + make/data/cldr/common/main/cop_EG.xml ! make/data/cldr/common/main/cs.xml ! make/data/cldr/common/main/cs_CZ.xml ! make/data/cldr/common/main/csw.xml ! make/data/cldr/common/main/csw_CA.xml ! make/data/cldr/common/main/cu.xml ! make/data/cldr/common/main/cu_RU.xml ! make/data/cldr/common/main/cv.xml ! make/data/cldr/common/main/cv_RU.xml ! make/data/cldr/common/main/cy.xml ! make/data/cldr/common/main/cy_GB.xml ! make/data/cldr/common/main/da.xml ! make/data/cldr/common/main/da_DK.xml ! make/data/cldr/common/main/da_GL.xml ! make/data/cldr/common/main/dav.xml ! make/data/cldr/common/main/dav_KE.xml ! make/data/cldr/common/main/de.xml ! make/data/cldr/common/main/de_AT.xml ! make/data/cldr/common/main/de_BE.xml ! make/data/cldr/common/main/de_CH.xml ! make/data/cldr/common/main/de_DE.xml ! make/data/cldr/common/main/de_IT.xml ! make/data/cldr/common/main/de_LI.xml ! make/data/cldr/common/main/de_LU.xml ! make/data/cldr/common/main/dje.xml ! make/data/cldr/common/main/dje_NE.xml ! make/data/cldr/common/main/doi.xml ! make/data/cldr/common/main/doi_IN.xml ! make/data/cldr/common/main/dsb.xml ! make/data/cldr/common/main/dsb_DE.xml ! make/data/cldr/common/main/dua.xml ! make/data/cldr/common/main/dua_CM.xml ! make/data/cldr/common/main/dv.xml ! make/data/cldr/common/main/dv_MV.xml ! make/data/cldr/common/main/dyo.xml ! make/data/cldr/common/main/dyo_SN.xml ! make/data/cldr/common/main/dz.xml ! make/data/cldr/common/main/dz_BT.xml ! make/data/cldr/common/main/ebu.xml ! make/data/cldr/common/main/ebu_KE.xml ! make/data/cldr/common/main/ee.xml ! make/data/cldr/common/main/ee_GH.xml ! make/data/cldr/common/main/ee_TG.xml ! make/data/cldr/common/main/el.xml ! make/data/cldr/common/main/el_CY.xml ! make/data/cldr/common/main/el_GR.xml ! make/data/cldr/common/main/el_POLYTON.xml ! make/data/cldr/common/main/en.xml ! make/data/cldr/common/main/en_001.xml ! make/data/cldr/common/main/en_150.xml ! make/data/cldr/common/main/en_AE.xml ! make/data/cldr/common/main/en_AG.xml ! make/data/cldr/common/main/en_AI.xml ! make/data/cldr/common/main/en_AS.xml ! make/data/cldr/common/main/en_AT.xml ! make/data/cldr/common/main/en_AU.xml ! make/data/cldr/common/main/en_BB.xml ! make/data/cldr/common/main/en_BE.xml ! make/data/cldr/common/main/en_BI.xml ! make/data/cldr/common/main/en_BM.xml ! make/data/cldr/common/main/en_BS.xml ! make/data/cldr/common/main/en_BW.xml ! make/data/cldr/common/main/en_BZ.xml ! make/data/cldr/common/main/en_CA.xml ! make/data/cldr/common/main/en_CC.xml ! make/data/cldr/common/main/en_CH.xml ! make/data/cldr/common/main/en_CK.xml ! make/data/cldr/common/main/en_CM.xml ! make/data/cldr/common/main/en_CX.xml ! make/data/cldr/common/main/en_CY.xml + make/data/cldr/common/main/en_CZ.xml ! make/data/cldr/common/main/en_DE.xml ! make/data/cldr/common/main/en_DG.xml ! make/data/cldr/common/main/en_DK.xml ! make/data/cldr/common/main/en_DM.xml ! make/data/cldr/common/main/en_Dsrt.xml ! make/data/cldr/common/main/en_Dsrt_US.xml ! make/data/cldr/common/main/en_ER.xml + make/data/cldr/common/main/en_ES.xml ! make/data/cldr/common/main/en_FI.xml ! make/data/cldr/common/main/en_FJ.xml ! make/data/cldr/common/main/en_FK.xml ! make/data/cldr/common/main/en_FM.xml + make/data/cldr/common/main/en_FR.xml ! make/data/cldr/common/main/en_GB.xml ! make/data/cldr/common/main/en_GD.xml ! make/data/cldr/common/main/en_GG.xml ! make/data/cldr/common/main/en_GH.xml ! make/data/cldr/common/main/en_GI.xml ! make/data/cldr/common/main/en_GM.xml = make/data/cldr/common/main/en_GS.xml ! make/data/cldr/common/main/en_GU.xml ! make/data/cldr/common/main/en_GY.xml ! make/data/cldr/common/main/en_HK.xml + make/data/cldr/common/main/en_HU.xml ! make/data/cldr/common/main/en_ID.xml ! make/data/cldr/common/main/en_IE.xml ! make/data/cldr/common/main/en_IL.xml ! make/data/cldr/common/main/en_IM.xml ! make/data/cldr/common/main/en_IN.xml ! make/data/cldr/common/main/en_IO.xml + make/data/cldr/common/main/en_IT.xml ! make/data/cldr/common/main/en_JE.xml ! make/data/cldr/common/main/en_JM.xml ! make/data/cldr/common/main/en_KE.xml ! make/data/cldr/common/main/en_KI.xml ! make/data/cldr/common/main/en_KN.xml ! make/data/cldr/common/main/en_KY.xml ! make/data/cldr/common/main/en_LC.xml ! make/data/cldr/common/main/en_LR.xml ! make/data/cldr/common/main/en_LS.xml ! make/data/cldr/common/main/en_MG.xml ! make/data/cldr/common/main/en_MH.xml ! make/data/cldr/common/main/en_MO.xml ! make/data/cldr/common/main/en_MP.xml ! make/data/cldr/common/main/en_MS.xml ! make/data/cldr/common/main/en_MT.xml ! make/data/cldr/common/main/en_MU.xml ! make/data/cldr/common/main/en_MV.xml ! make/data/cldr/common/main/en_MW.xml ! make/data/cldr/common/main/en_MY.xml ! make/data/cldr/common/main/en_NA.xml ! make/data/cldr/common/main/en_NF.xml ! make/data/cldr/common/main/en_NG.xml ! make/data/cldr/common/main/en_NL.xml + make/data/cldr/common/main/en_NO.xml ! make/data/cldr/common/main/en_NR.xml ! make/data/cldr/common/main/en_NU.xml ! make/data/cldr/common/main/en_NZ.xml ! make/data/cldr/common/main/en_PG.xml ! make/data/cldr/common/main/en_PH.xml ! make/data/cldr/common/main/en_PK.xml + make/data/cldr/common/main/en_PL.xml ! make/data/cldr/common/main/en_PN.xml ! make/data/cldr/common/main/en_PR.xml + make/data/cldr/common/main/en_PT.xml ! make/data/cldr/common/main/en_PW.xml + make/data/cldr/common/main/en_RO.xml ! make/data/cldr/common/main/en_RW.xml ! make/data/cldr/common/main/en_SB.xml ! make/data/cldr/common/main/en_SC.xml ! make/data/cldr/common/main/en_SD.xml ! make/data/cldr/common/main/en_SE.xml ! make/data/cldr/common/main/en_SG.xml ! make/data/cldr/common/main/en_SH.xml ! make/data/cldr/common/main/en_SI.xml + make/data/cldr/common/main/en_SK.xml ! make/data/cldr/common/main/en_SL.xml ! make/data/cldr/common/main/en_SS.xml ! make/data/cldr/common/main/en_SX.xml ! make/data/cldr/common/main/en_SZ.xml ! make/data/cldr/common/main/en_Shaw.xml ! make/data/cldr/common/main/en_Shaw_GB.xml ! make/data/cldr/common/main/en_TC.xml ! make/data/cldr/common/main/en_TK.xml ! make/data/cldr/common/main/en_TO.xml ! make/data/cldr/common/main/en_TT.xml ! make/data/cldr/common/main/en_TV.xml ! make/data/cldr/common/main/en_TZ.xml ! make/data/cldr/common/main/en_UG.xml ! make/data/cldr/common/main/en_UM.xml ! make/data/cldr/common/main/en_US.xml ! make/data/cldr/common/main/en_US_POSIX.xml ! make/data/cldr/common/main/en_VC.xml ! make/data/cldr/common/main/en_VG.xml ! make/data/cldr/common/main/en_VI.xml ! make/data/cldr/common/main/en_VU.xml ! make/data/cldr/common/main/en_WS.xml ! make/data/cldr/common/main/en_ZA.xml ! make/data/cldr/common/main/en_ZM.xml ! make/data/cldr/common/main/en_ZW.xml ! make/data/cldr/common/main/eo.xml ! make/data/cldr/common/main/eo_001.xml ! make/data/cldr/common/main/es.xml ! make/data/cldr/common/main/es_419.xml ! make/data/cldr/common/main/es_AR.xml ! make/data/cldr/common/main/es_BO.xml ! make/data/cldr/common/main/es_BR.xml ! make/data/cldr/common/main/es_BZ.xml ! make/data/cldr/common/main/es_CL.xml ! make/data/cldr/common/main/es_CO.xml ! make/data/cldr/common/main/es_CR.xml ! make/data/cldr/common/main/es_CU.xml ! make/data/cldr/common/main/es_DO.xml ! make/data/cldr/common/main/es_EA.xml ! make/data/cldr/common/main/es_EC.xml ! make/data/cldr/common/main/es_ES.xml ! make/data/cldr/common/main/es_GQ.xml ! make/data/cldr/common/main/es_GT.xml ! make/data/cldr/common/main/es_HN.xml ! make/data/cldr/common/main/es_IC.xml ! make/data/cldr/common/main/es_MX.xml ! make/data/cldr/common/main/es_NI.xml ! make/data/cldr/common/main/es_PA.xml ! make/data/cldr/common/main/es_PE.xml ! make/data/cldr/common/main/es_PH.xml ! make/data/cldr/common/main/es_PR.xml ! make/data/cldr/common/main/es_PY.xml ! make/data/cldr/common/main/es_SV.xml ! make/data/cldr/common/main/es_US.xml ! make/data/cldr/common/main/es_UY.xml ! make/data/cldr/common/main/es_VE.xml ! make/data/cldr/common/main/et.xml ! make/data/cldr/common/main/et_EE.xml ! make/data/cldr/common/main/eu.xml ! make/data/cldr/common/main/eu_ES.xml ! make/data/cldr/common/main/ewo.xml ! make/data/cldr/common/main/ewo_CM.xml ! make/data/cldr/common/main/fa.xml ! make/data/cldr/common/main/fa_AF.xml ! make/data/cldr/common/main/fa_IR.xml ! make/data/cldr/common/main/ff.xml ! make/data/cldr/common/main/ff_Adlm.xml ! make/data/cldr/common/main/ff_Adlm_BF.xml ! make/data/cldr/common/main/ff_Adlm_CM.xml ! make/data/cldr/common/main/ff_Adlm_GH.xml ! make/data/cldr/common/main/ff_Adlm_GM.xml ! make/data/cldr/common/main/ff_Adlm_GN.xml ! make/data/cldr/common/main/ff_Adlm_GW.xml ! make/data/cldr/common/main/ff_Adlm_LR.xml ! make/data/cldr/common/main/ff_Adlm_MR.xml ! make/data/cldr/common/main/ff_Adlm_NE.xml ! make/data/cldr/common/main/ff_Adlm_NG.xml ! make/data/cldr/common/main/ff_Adlm_SL.xml ! make/data/cldr/common/main/ff_Adlm_SN.xml ! make/data/cldr/common/main/ff_Latn.xml ! make/data/cldr/common/main/ff_Latn_BF.xml ! make/data/cldr/common/main/ff_Latn_CM.xml ! make/data/cldr/common/main/ff_Latn_GH.xml ! make/data/cldr/common/main/ff_Latn_GM.xml ! make/data/cldr/common/main/ff_Latn_GN.xml ! make/data/cldr/common/main/ff_Latn_GW.xml ! make/data/cldr/common/main/ff_Latn_LR.xml ! make/data/cldr/common/main/ff_Latn_MR.xml ! make/data/cldr/common/main/ff_Latn_NE.xml ! make/data/cldr/common/main/ff_Latn_NG.xml ! make/data/cldr/common/main/ff_Latn_SL.xml ! make/data/cldr/common/main/ff_Latn_SN.xml ! make/data/cldr/common/main/fi.xml ! make/data/cldr/common/main/fi_FI.xml ! make/data/cldr/common/main/fil.xml ! make/data/cldr/common/main/fil_PH.xml ! make/data/cldr/common/main/fo.xml ! make/data/cldr/common/main/fo_DK.xml ! make/data/cldr/common/main/fo_FO.xml ! make/data/cldr/common/main/fr.xml ! make/data/cldr/common/main/fr_BE.xml ! make/data/cldr/common/main/fr_BF.xml ! make/data/cldr/common/main/fr_BI.xml ! make/data/cldr/common/main/fr_BJ.xml ! make/data/cldr/common/main/fr_BL.xml ! make/data/cldr/common/main/fr_CA.xml ! make/data/cldr/common/main/fr_CD.xml ! make/data/cldr/common/main/fr_CF.xml ! make/data/cldr/common/main/fr_CG.xml ! make/data/cldr/common/main/fr_CH.xml ! make/data/cldr/common/main/fr_CI.xml ! make/data/cldr/common/main/fr_CM.xml ! make/data/cldr/common/main/fr_DJ.xml ! make/data/cldr/common/main/fr_DZ.xml ! make/data/cldr/common/main/fr_FR.xml ! make/data/cldr/common/main/fr_GA.xml ! make/data/cldr/common/main/fr_GF.xml ! make/data/cldr/common/main/fr_GN.xml ! make/data/cldr/common/main/fr_GP.xml ! make/data/cldr/common/main/fr_GQ.xml ! make/data/cldr/common/main/fr_HT.xml ! make/data/cldr/common/main/fr_KM.xml ! make/data/cldr/common/main/fr_LU.xml ! make/data/cldr/common/main/fr_MA.xml ! make/data/cldr/common/main/fr_MC.xml ! make/data/cldr/common/main/fr_MF.xml ! make/data/cldr/common/main/fr_MG.xml ! make/data/cldr/common/main/fr_ML.xml ! make/data/cldr/common/main/fr_MQ.xml ! make/data/cldr/common/main/fr_MR.xml ! make/data/cldr/common/main/fr_MU.xml ! make/data/cldr/common/main/fr_NC.xml ! make/data/cldr/common/main/fr_NE.xml ! make/data/cldr/common/main/fr_PF.xml ! make/data/cldr/common/main/fr_PM.xml ! make/data/cldr/common/main/fr_RE.xml ! make/data/cldr/common/main/fr_RW.xml ! make/data/cldr/common/main/fr_SC.xml ! make/data/cldr/common/main/fr_SN.xml ! make/data/cldr/common/main/fr_SY.xml ! make/data/cldr/common/main/fr_TD.xml ! make/data/cldr/common/main/fr_TG.xml ! make/data/cldr/common/main/fr_TN.xml ! make/data/cldr/common/main/fr_VU.xml ! make/data/cldr/common/main/fr_WF.xml ! make/data/cldr/common/main/fr_YT.xml ! make/data/cldr/common/main/frr.xml ! make/data/cldr/common/main/frr_DE.xml ! make/data/cldr/common/main/fur.xml ! make/data/cldr/common/main/fur_IT.xml ! make/data/cldr/common/main/fy.xml ! make/data/cldr/common/main/fy_NL.xml ! make/data/cldr/common/main/ga.xml ! make/data/cldr/common/main/ga_GB.xml ! make/data/cldr/common/main/ga_IE.xml ! make/data/cldr/common/main/gaa.xml ! make/data/cldr/common/main/gaa_GH.xml ! make/data/cldr/common/main/gd.xml ! make/data/cldr/common/main/gd_GB.xml ! make/data/cldr/common/main/gez.xml ! make/data/cldr/common/main/gez_ER.xml ! make/data/cldr/common/main/gez_ET.xml ! make/data/cldr/common/main/gl.xml ! make/data/cldr/common/main/gl_ES.xml ! make/data/cldr/common/main/gn.xml ! make/data/cldr/common/main/gn_PY.xml ! make/data/cldr/common/main/gsw.xml ! make/data/cldr/common/main/gsw_CH.xml ! make/data/cldr/common/main/gsw_FR.xml ! make/data/cldr/common/main/gsw_LI.xml ! make/data/cldr/common/main/gu.xml ! make/data/cldr/common/main/gu_IN.xml ! make/data/cldr/common/main/guz.xml ! make/data/cldr/common/main/guz_KE.xml ! make/data/cldr/common/main/gv.xml ! make/data/cldr/common/main/gv_IM.xml ! make/data/cldr/common/main/ha.xml ! make/data/cldr/common/main/ha_Arab.xml ! make/data/cldr/common/main/ha_Arab_NG.xml ! make/data/cldr/common/main/ha_Arab_SD.xml ! make/data/cldr/common/main/ha_GH.xml ! make/data/cldr/common/main/ha_NE.xml ! make/data/cldr/common/main/ha_NG.xml ! make/data/cldr/common/main/haw.xml ! make/data/cldr/common/main/haw_US.xml ! make/data/cldr/common/main/he.xml ! make/data/cldr/common/main/he_IL.xml ! make/data/cldr/common/main/hi.xml ! make/data/cldr/common/main/hi_IN.xml ! make/data/cldr/common/main/hi_Latn.xml ! make/data/cldr/common/main/hi_Latn_IN.xml ! make/data/cldr/common/main/hnj.xml ! make/data/cldr/common/main/hnj_Hmnp.xml ! make/data/cldr/common/main/hnj_Hmnp_US.xml ! make/data/cldr/common/main/hr.xml ! make/data/cldr/common/main/hr_BA.xml ! make/data/cldr/common/main/hr_HR.xml ! make/data/cldr/common/main/hsb.xml ! make/data/cldr/common/main/hsb_DE.xml + make/data/cldr/common/main/ht.xml + make/data/cldr/common/main/ht_HT.xml ! make/data/cldr/common/main/hu.xml ! make/data/cldr/common/main/hu_HU.xml ! make/data/cldr/common/main/hy.xml ! make/data/cldr/common/main/hy_AM.xml ! make/data/cldr/common/main/ia.xml ! make/data/cldr/common/main/ia_001.xml ! make/data/cldr/common/main/id.xml ! make/data/cldr/common/main/id_ID.xml ! make/data/cldr/common/main/ie.xml ! make/data/cldr/common/main/ie_EE.xml ! make/data/cldr/common/main/ig.xml ! make/data/cldr/common/main/ig_NG.xml ! make/data/cldr/common/main/ii.xml ! make/data/cldr/common/main/ii_CN.xml ! make/data/cldr/common/main/io.xml ! make/data/cldr/common/main/io_001.xml ! make/data/cldr/common/main/is.xml ! make/data/cldr/common/main/is_IS.xml ! make/data/cldr/common/main/it.xml ! make/data/cldr/common/main/it_CH.xml ! make/data/cldr/common/main/it_IT.xml ! make/data/cldr/common/main/it_SM.xml ! make/data/cldr/common/main/it_VA.xml ! make/data/cldr/common/main/iu.xml ! make/data/cldr/common/main/iu_CA.xml ! make/data/cldr/common/main/iu_Latn.xml ! make/data/cldr/common/main/iu_Latn_CA.xml ! make/data/cldr/common/main/ja.xml ! make/data/cldr/common/main/ja_JP.xml ! make/data/cldr/common/main/jbo.xml ! make/data/cldr/common/main/jbo_001.xml ! make/data/cldr/common/main/jgo.xml ! make/data/cldr/common/main/jgo_CM.xml ! make/data/cldr/common/main/jmc.xml ! make/data/cldr/common/main/jmc_TZ.xml ! make/data/cldr/common/main/jv.xml ! make/data/cldr/common/main/jv_ID.xml ! make/data/cldr/common/main/ka.xml ! make/data/cldr/common/main/ka_GE.xml ! make/data/cldr/common/main/kaa.xml ! make/data/cldr/common/main/kaa_Cyrl.xml ! make/data/cldr/common/main/kaa_Cyrl_UZ.xml ! make/data/cldr/common/main/kaa_Latn.xml ! make/data/cldr/common/main/kaa_Latn_UZ.xml ! make/data/cldr/common/main/kab.xml ! make/data/cldr/common/main/kab_DZ.xml ! make/data/cldr/common/main/kaj.xml ! make/data/cldr/common/main/kaj_NG.xml ! make/data/cldr/common/main/kam.xml ! make/data/cldr/common/main/kam_KE.xml ! make/data/cldr/common/main/kcg.xml ! make/data/cldr/common/main/kcg_NG.xml ! make/data/cldr/common/main/kde.xml ! make/data/cldr/common/main/kde_TZ.xml ! make/data/cldr/common/main/kea.xml ! make/data/cldr/common/main/kea_CV.xml ! make/data/cldr/common/main/ken.xml ! make/data/cldr/common/main/ken_CM.xml ! make/data/cldr/common/main/kgp.xml ! make/data/cldr/common/main/kgp_BR.xml ! make/data/cldr/common/main/khq.xml ! make/data/cldr/common/main/khq_ML.xml ! make/data/cldr/common/main/ki.xml ! make/data/cldr/common/main/ki_KE.xml ! make/data/cldr/common/main/kk.xml ! make/data/cldr/common/main/kk_Arab.xml ! make/data/cldr/common/main/kk_Arab_CN.xml ! make/data/cldr/common/main/kk_Cyrl.xml ! make/data/cldr/common/main/kk_Cyrl_KZ.xml ! make/data/cldr/common/main/kk_KZ.xml ! make/data/cldr/common/main/kkj.xml ! make/data/cldr/common/main/kkj_CM.xml ! make/data/cldr/common/main/kl.xml ! make/data/cldr/common/main/kl_GL.xml ! make/data/cldr/common/main/kln.xml ! make/data/cldr/common/main/kln_KE.xml ! make/data/cldr/common/main/km.xml ! make/data/cldr/common/main/km_KH.xml ! make/data/cldr/common/main/kn.xml ! make/data/cldr/common/main/kn_IN.xml ! make/data/cldr/common/main/ko.xml ! make/data/cldr/common/main/ko_CN.xml ! make/data/cldr/common/main/ko_KP.xml ! make/data/cldr/common/main/ko_KR.xml ! make/data/cldr/common/main/kok.xml ! make/data/cldr/common/main/kok_Deva.xml ! make/data/cldr/common/main/kok_Deva_IN.xml ! make/data/cldr/common/main/kok_Latn.xml ! make/data/cldr/common/main/kok_Latn_IN.xml ! make/data/cldr/common/main/kpe.xml ! make/data/cldr/common/main/kpe_GN.xml ! make/data/cldr/common/main/kpe_LR.xml ! make/data/cldr/common/main/ks.xml ! make/data/cldr/common/main/ks_Arab.xml ! make/data/cldr/common/main/ks_Arab_IN.xml ! make/data/cldr/common/main/ks_Deva.xml ! make/data/cldr/common/main/ks_Deva_IN.xml ! make/data/cldr/common/main/ksb.xml ! make/data/cldr/common/main/ksb_TZ.xml ! make/data/cldr/common/main/ksf.xml ! make/data/cldr/common/main/ksf_CM.xml ! make/data/cldr/common/main/ksh.xml ! make/data/cldr/common/main/ksh_DE.xml ! make/data/cldr/common/main/ku.xml ! make/data/cldr/common/main/ku_TR.xml ! make/data/cldr/common/main/kw.xml ! make/data/cldr/common/main/kw_GB.xml ! make/data/cldr/common/main/kxv.xml ! make/data/cldr/common/main/kxv_Deva.xml ! make/data/cldr/common/main/kxv_Deva_IN.xml ! make/data/cldr/common/main/kxv_Latn.xml ! make/data/cldr/common/main/kxv_Latn_IN.xml ! make/data/cldr/common/main/kxv_Orya.xml ! make/data/cldr/common/main/kxv_Orya_IN.xml ! make/data/cldr/common/main/kxv_Telu.xml ! make/data/cldr/common/main/kxv_Telu_IN.xml ! make/data/cldr/common/main/ky.xml ! make/data/cldr/common/main/ky_KG.xml ! make/data/cldr/common/main/la.xml ! make/data/cldr/common/main/la_VA.xml ! make/data/cldr/common/main/lag.xml ! make/data/cldr/common/main/lag_TZ.xml ! make/data/cldr/common/main/lb.xml ! make/data/cldr/common/main/lb_LU.xml ! make/data/cldr/common/main/lg.xml ! make/data/cldr/common/main/lg_UG.xml ! make/data/cldr/common/main/lij.xml ! make/data/cldr/common/main/lij_IT.xml ! make/data/cldr/common/main/lkt.xml ! make/data/cldr/common/main/lkt_US.xml ! make/data/cldr/common/main/lld.xml ! make/data/cldr/common/main/lld_IT.xml ! make/data/cldr/common/main/lmo.xml ! make/data/cldr/common/main/lmo_IT.xml ! make/data/cldr/common/main/ln.xml ! make/data/cldr/common/main/ln_AO.xml ! make/data/cldr/common/main/ln_CD.xml ! make/data/cldr/common/main/ln_CF.xml ! make/data/cldr/common/main/ln_CG.xml ! make/data/cldr/common/main/lo.xml ! make/data/cldr/common/main/lo_LA.xml ! make/data/cldr/common/main/lrc.xml ! make/data/cldr/common/main/lrc_IQ.xml ! make/data/cldr/common/main/lrc_IR.xml ! make/data/cldr/common/main/lt.xml ! make/data/cldr/common/main/lt_LT.xml ! make/data/cldr/common/main/ltg.xml ! make/data/cldr/common/main/ltg_LV.xml ! make/data/cldr/common/main/lu.xml ! make/data/cldr/common/main/lu_CD.xml ! make/data/cldr/common/main/luo.xml ! make/data/cldr/common/main/luo_KE.xml ! make/data/cldr/common/main/luy.xml ! make/data/cldr/common/main/luy_KE.xml ! make/data/cldr/common/main/lv.xml ! make/data/cldr/common/main/lv_LV.xml ! make/data/cldr/common/main/mai.xml ! make/data/cldr/common/main/mai_IN.xml ! make/data/cldr/common/main/mas.xml ! make/data/cldr/common/main/mas_KE.xml ! make/data/cldr/common/main/mas_TZ.xml ! make/data/cldr/common/main/mdf.xml ! make/data/cldr/common/main/mdf_RU.xml ! make/data/cldr/common/main/mer.xml ! make/data/cldr/common/main/mer_KE.xml ! make/data/cldr/common/main/mfe.xml ! make/data/cldr/common/main/mfe_MU.xml ! make/data/cldr/common/main/mg.xml ! make/data/cldr/common/main/mg_MG.xml ! make/data/cldr/common/main/mgh.xml ! make/data/cldr/common/main/mgh_MZ.xml ! make/data/cldr/common/main/mgo.xml ! make/data/cldr/common/main/mgo_CM.xml ! make/data/cldr/common/main/mhn.xml ! make/data/cldr/common/main/mhn_IT.xml ! make/data/cldr/common/main/mi.xml ! make/data/cldr/common/main/mi_NZ.xml ! make/data/cldr/common/main/mic.xml ! make/data/cldr/common/main/mic_CA.xml ! make/data/cldr/common/main/mk.xml ! make/data/cldr/common/main/mk_MK.xml ! make/data/cldr/common/main/ml.xml ! make/data/cldr/common/main/ml_IN.xml ! make/data/cldr/common/main/mn.xml ! make/data/cldr/common/main/mn_MN.xml ! make/data/cldr/common/main/mn_Mong.xml ! make/data/cldr/common/main/mn_Mong_CN.xml ! make/data/cldr/common/main/mn_Mong_MN.xml ! make/data/cldr/common/main/mni.xml ! make/data/cldr/common/main/mni_Beng.xml ! make/data/cldr/common/main/mni_Beng_IN.xml ! make/data/cldr/common/main/mni_Mtei.xml ! make/data/cldr/common/main/mni_Mtei_IN.xml ! make/data/cldr/common/main/moh.xml ! make/data/cldr/common/main/moh_CA.xml ! make/data/cldr/common/main/mr.xml ! make/data/cldr/common/main/mr_IN.xml ! make/data/cldr/common/main/ms.xml ! make/data/cldr/common/main/ms_Arab.xml ! make/data/cldr/common/main/ms_Arab_BN.xml ! make/data/cldr/common/main/ms_Arab_MY.xml ! make/data/cldr/common/main/ms_BN.xml ! make/data/cldr/common/main/ms_ID.xml ! make/data/cldr/common/main/ms_MY.xml ! make/data/cldr/common/main/ms_SG.xml ! make/data/cldr/common/main/mt.xml ! make/data/cldr/common/main/mt_MT.xml ! make/data/cldr/common/main/mua.xml ! make/data/cldr/common/main/mua_CM.xml ! make/data/cldr/common/main/mus.xml ! make/data/cldr/common/main/mus_US.xml ! make/data/cldr/common/main/my.xml ! make/data/cldr/common/main/my_MM.xml ! make/data/cldr/common/main/myv.xml ! make/data/cldr/common/main/myv_RU.xml ! make/data/cldr/common/main/mzn.xml ! make/data/cldr/common/main/mzn_IR.xml ! make/data/cldr/common/main/naq.xml ! make/data/cldr/common/main/naq_NA.xml ! make/data/cldr/common/main/nb.xml ! make/data/cldr/common/main/nb_NO.xml ! make/data/cldr/common/main/nb_SJ.xml ! make/data/cldr/common/main/nd.xml ! make/data/cldr/common/main/nd_ZW.xml ! make/data/cldr/common/main/nds.xml ! make/data/cldr/common/main/nds_DE.xml ! make/data/cldr/common/main/nds_NL.xml ! make/data/cldr/common/main/ne.xml ! make/data/cldr/common/main/ne_IN.xml ! make/data/cldr/common/main/ne_NP.xml ! make/data/cldr/common/main/nl.xml ! make/data/cldr/common/main/nl_AW.xml ! make/data/cldr/common/main/nl_BE.xml ! make/data/cldr/common/main/nl_BQ.xml ! make/data/cldr/common/main/nl_CW.xml ! make/data/cldr/common/main/nl_NL.xml ! make/data/cldr/common/main/nl_SR.xml ! make/data/cldr/common/main/nl_SX.xml ! make/data/cldr/common/main/nmg.xml ! make/data/cldr/common/main/nmg_CM.xml ! make/data/cldr/common/main/nn.xml ! make/data/cldr/common/main/nn_NO.xml ! make/data/cldr/common/main/nnh.xml ! make/data/cldr/common/main/nnh_CM.xml ! make/data/cldr/common/main/no.xml ! make/data/cldr/common/main/nqo.xml ! make/data/cldr/common/main/nqo_GN.xml ! make/data/cldr/common/main/nr.xml ! make/data/cldr/common/main/nr_ZA.xml ! make/data/cldr/common/main/nso.xml ! make/data/cldr/common/main/nso_ZA.xml ! make/data/cldr/common/main/nus.xml ! make/data/cldr/common/main/nus_SS.xml ! make/data/cldr/common/main/nv.xml ! make/data/cldr/common/main/nv_US.xml ! make/data/cldr/common/main/ny.xml ! make/data/cldr/common/main/ny_MW.xml ! make/data/cldr/common/main/nyn.xml ! make/data/cldr/common/main/nyn_UG.xml ! make/data/cldr/common/main/oc.xml ! make/data/cldr/common/main/oc_ES.xml ! make/data/cldr/common/main/oc_FR.xml ! make/data/cldr/common/main/om.xml ! make/data/cldr/common/main/om_ET.xml ! make/data/cldr/common/main/om_KE.xml ! make/data/cldr/common/main/or.xml ! make/data/cldr/common/main/or_IN.xml ! make/data/cldr/common/main/os.xml ! make/data/cldr/common/main/os_GE.xml ! make/data/cldr/common/main/os_RU.xml ! make/data/cldr/common/main/osa.xml ! make/data/cldr/common/main/osa_US.xml ! make/data/cldr/common/main/pa.xml ! make/data/cldr/common/main/pa_Arab.xml ! make/data/cldr/common/main/pa_Arab_PK.xml ! make/data/cldr/common/main/pa_Guru.xml ! make/data/cldr/common/main/pa_Guru_IN.xml ! make/data/cldr/common/main/pap.xml ! make/data/cldr/common/main/pap_AW.xml ! make/data/cldr/common/main/pap_CW.xml ! make/data/cldr/common/main/pcm.xml ! make/data/cldr/common/main/pcm_NG.xml ! make/data/cldr/common/main/pis.xml ! make/data/cldr/common/main/pis_SB.xml ! make/data/cldr/common/main/pl.xml ! make/data/cldr/common/main/pl_PL.xml ! make/data/cldr/common/main/prg.xml ! make/data/cldr/common/main/prg_PL.xml ! make/data/cldr/common/main/ps.xml ! make/data/cldr/common/main/ps_AF.xml ! make/data/cldr/common/main/ps_PK.xml ! make/data/cldr/common/main/pt.xml ! make/data/cldr/common/main/pt_AO.xml ! make/data/cldr/common/main/pt_BR.xml ! make/data/cldr/common/main/pt_CH.xml ! make/data/cldr/common/main/pt_CV.xml ! make/data/cldr/common/main/pt_GQ.xml ! make/data/cldr/common/main/pt_GW.xml ! make/data/cldr/common/main/pt_LU.xml ! make/data/cldr/common/main/pt_MO.xml ! make/data/cldr/common/main/pt_MZ.xml ! make/data/cldr/common/main/pt_PT.xml ! make/data/cldr/common/main/pt_ST.xml ! make/data/cldr/common/main/pt_TL.xml ! make/data/cldr/common/main/qu.xml ! make/data/cldr/common/main/qu_BO.xml ! make/data/cldr/common/main/qu_EC.xml ! make/data/cldr/common/main/qu_PE.xml ! make/data/cldr/common/main/quc.xml ! make/data/cldr/common/main/quc_GT.xml ! make/data/cldr/common/main/raj.xml ! make/data/cldr/common/main/raj_IN.xml ! make/data/cldr/common/main/rhg.xml ! make/data/cldr/common/main/rhg_Rohg.xml ! make/data/cldr/common/main/rhg_Rohg_BD.xml ! make/data/cldr/common/main/rhg_Rohg_MM.xml ! make/data/cldr/common/main/rif.xml ! make/data/cldr/common/main/rif_MA.xml ! make/data/cldr/common/main/rm.xml ! make/data/cldr/common/main/rm_CH.xml ! make/data/cldr/common/main/rn.xml ! make/data/cldr/common/main/rn_BI.xml ! make/data/cldr/common/main/ro.xml ! make/data/cldr/common/main/ro_MD.xml ! make/data/cldr/common/main/ro_RO.xml ! make/data/cldr/common/main/rof.xml ! make/data/cldr/common/main/rof_TZ.xml ! make/data/cldr/common/main/root.xml ! make/data/cldr/common/main/ru.xml ! make/data/cldr/common/main/ru_BY.xml ! make/data/cldr/common/main/ru_KG.xml ! make/data/cldr/common/main/ru_KZ.xml ! make/data/cldr/common/main/ru_MD.xml ! make/data/cldr/common/main/ru_RU.xml ! make/data/cldr/common/main/ru_UA.xml ! make/data/cldr/common/main/rw.xml ! make/data/cldr/common/main/rw_RW.xml ! make/data/cldr/common/main/rwk.xml ! make/data/cldr/common/main/rwk_TZ.xml ! make/data/cldr/common/main/sa.xml ! make/data/cldr/common/main/sa_IN.xml ! make/data/cldr/common/main/sah.xml ! make/data/cldr/common/main/sah_RU.xml ! make/data/cldr/common/main/saq.xml ! make/data/cldr/common/main/saq_KE.xml ! make/data/cldr/common/main/sat.xml ! make/data/cldr/common/main/sat_Deva.xml ! make/data/cldr/common/main/sat_Deva_IN.xml ! make/data/cldr/common/main/sat_Olck.xml ! make/data/cldr/common/main/sat_Olck_IN.xml ! make/data/cldr/common/main/sbp.xml ! make/data/cldr/common/main/sbp_TZ.xml ! make/data/cldr/common/main/sc.xml ! make/data/cldr/common/main/sc_IT.xml ! make/data/cldr/common/main/scn.xml ! make/data/cldr/common/main/scn_IT.xml ! make/data/cldr/common/main/sd.xml ! make/data/cldr/common/main/sd_Arab.xml ! make/data/cldr/common/main/sd_Arab_PK.xml ! make/data/cldr/common/main/sd_Deva.xml ! make/data/cldr/common/main/sd_Deva_IN.xml ! make/data/cldr/common/main/sdh.xml ! make/data/cldr/common/main/sdh_IQ.xml ! make/data/cldr/common/main/sdh_IR.xml ! make/data/cldr/common/main/se.xml ! make/data/cldr/common/main/se_FI.xml ! make/data/cldr/common/main/se_NO.xml ! make/data/cldr/common/main/se_SE.xml ! make/data/cldr/common/main/seh.xml ! make/data/cldr/common/main/seh_MZ.xml ! make/data/cldr/common/main/ses.xml ! make/data/cldr/common/main/ses_ML.xml ! make/data/cldr/common/main/sg.xml ! make/data/cldr/common/main/sg_CF.xml ! make/data/cldr/common/main/shi.xml ! make/data/cldr/common/main/shi_Latn.xml ! make/data/cldr/common/main/shi_Latn_MA.xml ! make/data/cldr/common/main/shi_Tfng.xml ! make/data/cldr/common/main/shi_Tfng_MA.xml ! make/data/cldr/common/main/shn.xml ! make/data/cldr/common/main/shn_MM.xml ! make/data/cldr/common/main/shn_TH.xml ! make/data/cldr/common/main/si.xml ! make/data/cldr/common/main/si_LK.xml ! make/data/cldr/common/main/sid.xml ! make/data/cldr/common/main/sid_ET.xml ! make/data/cldr/common/main/sk.xml ! make/data/cldr/common/main/sk_SK.xml ! make/data/cldr/common/main/skr.xml ! make/data/cldr/common/main/skr_PK.xml ! make/data/cldr/common/main/sl.xml ! make/data/cldr/common/main/sl_SI.xml ! make/data/cldr/common/main/sma.xml ! make/data/cldr/common/main/sma_NO.xml ! make/data/cldr/common/main/sma_SE.xml ! make/data/cldr/common/main/smj.xml ! make/data/cldr/common/main/smj_NO.xml ! make/data/cldr/common/main/smj_SE.xml ! make/data/cldr/common/main/smn.xml ! make/data/cldr/common/main/smn_FI.xml ! make/data/cldr/common/main/sms.xml ! make/data/cldr/common/main/sms_FI.xml ! make/data/cldr/common/main/sn.xml ! make/data/cldr/common/main/sn_ZW.xml ! make/data/cldr/common/main/so.xml ! make/data/cldr/common/main/so_DJ.xml ! make/data/cldr/common/main/so_ET.xml ! make/data/cldr/common/main/so_KE.xml ! make/data/cldr/common/main/so_SO.xml ! make/data/cldr/common/main/sq.xml ! make/data/cldr/common/main/sq_AL.xml ! make/data/cldr/common/main/sq_MK.xml ! make/data/cldr/common/main/sq_XK.xml ! make/data/cldr/common/main/sr.xml ! make/data/cldr/common/main/sr_Cyrl.xml ! make/data/cldr/common/main/sr_Cyrl_BA.xml ! make/data/cldr/common/main/sr_Cyrl_ME.xml ! make/data/cldr/common/main/sr_Cyrl_RS.xml ! make/data/cldr/common/main/sr_Cyrl_XK.xml ! make/data/cldr/common/main/sr_Latn.xml ! make/data/cldr/common/main/sr_Latn_BA.xml ! make/data/cldr/common/main/sr_Latn_ME.xml ! make/data/cldr/common/main/sr_Latn_RS.xml ! make/data/cldr/common/main/sr_Latn_XK.xml ! make/data/cldr/common/main/ss.xml ! make/data/cldr/common/main/ss_SZ.xml ! make/data/cldr/common/main/ss_ZA.xml ! make/data/cldr/common/main/ssy.xml ! make/data/cldr/common/main/ssy_ER.xml ! make/data/cldr/common/main/st.xml ! make/data/cldr/common/main/st_LS.xml ! make/data/cldr/common/main/st_ZA.xml ! make/data/cldr/common/main/su.xml ! make/data/cldr/common/main/su_Latn.xml ! make/data/cldr/common/main/su_Latn_ID.xml ! make/data/cldr/common/main/sv.xml ! make/data/cldr/common/main/sv_AX.xml ! make/data/cldr/common/main/sv_FI.xml ! make/data/cldr/common/main/sv_SE.xml ! make/data/cldr/common/main/sw.xml ! make/data/cldr/common/main/sw_CD.xml ! make/data/cldr/common/main/sw_KE.xml ! make/data/cldr/common/main/sw_TZ.xml ! make/data/cldr/common/main/sw_UG.xml ! make/data/cldr/common/main/syr.xml ! make/data/cldr/common/main/syr_IQ.xml ! make/data/cldr/common/main/syr_SY.xml ! make/data/cldr/common/main/szl.xml ! make/data/cldr/common/main/szl_PL.xml ! make/data/cldr/common/main/ta.xml ! make/data/cldr/common/main/ta_IN.xml ! make/data/cldr/common/main/ta_LK.xml ! make/data/cldr/common/main/ta_MY.xml ! make/data/cldr/common/main/ta_SG.xml ! make/data/cldr/common/main/te.xml ! make/data/cldr/common/main/te_IN.xml ! make/data/cldr/common/main/teo.xml ! make/data/cldr/common/main/teo_KE.xml ! make/data/cldr/common/main/teo_UG.xml ! make/data/cldr/common/main/tg.xml ! make/data/cldr/common/main/tg_TJ.xml ! make/data/cldr/common/main/th.xml ! make/data/cldr/common/main/th_TH.xml ! make/data/cldr/common/main/ti.xml ! make/data/cldr/common/main/ti_ER.xml ! make/data/cldr/common/main/ti_ET.xml ! make/data/cldr/common/main/tig.xml ! make/data/cldr/common/main/tig_ER.xml ! make/data/cldr/common/main/tk.xml ! make/data/cldr/common/main/tk_TM.xml ! make/data/cldr/common/main/tn.xml ! make/data/cldr/common/main/tn_BW.xml ! make/data/cldr/common/main/tn_ZA.xml ! make/data/cldr/common/main/to.xml ! make/data/cldr/common/main/to_TO.xml ! make/data/cldr/common/main/tok.xml ! make/data/cldr/common/main/tok_001.xml ! make/data/cldr/common/main/tpi.xml ! make/data/cldr/common/main/tpi_PG.xml ! make/data/cldr/common/main/tr.xml ! make/data/cldr/common/main/tr_CY.xml ! make/data/cldr/common/main/tr_TR.xml ! make/data/cldr/common/main/trv.xml ! make/data/cldr/common/main/trv_TW.xml ! make/data/cldr/common/main/trw.xml ! make/data/cldr/common/main/trw_PK.xml ! make/data/cldr/common/main/ts.xml ! make/data/cldr/common/main/ts_ZA.xml ! make/data/cldr/common/main/tt.xml ! make/data/cldr/common/main/tt_RU.xml ! make/data/cldr/common/main/twq.xml ! make/data/cldr/common/main/twq_NE.xml ! make/data/cldr/common/main/tyv.xml ! make/data/cldr/common/main/tyv_RU.xml ! make/data/cldr/common/main/tzm.xml ! make/data/cldr/common/main/tzm_MA.xml ! make/data/cldr/common/main/ug.xml ! make/data/cldr/common/main/ug_CN.xml ! make/data/cldr/common/main/uk.xml ! make/data/cldr/common/main/uk_UA.xml ! make/data/cldr/common/main/ur.xml ! make/data/cldr/common/main/ur_IN.xml ! make/data/cldr/common/main/ur_PK.xml ! make/data/cldr/common/main/uz.xml ! make/data/cldr/common/main/uz_Arab.xml ! make/data/cldr/common/main/uz_Arab_AF.xml ! make/data/cldr/common/main/uz_Cyrl.xml ! make/data/cldr/common/main/uz_Cyrl_UZ.xml ! make/data/cldr/common/main/uz_Latn.xml ! make/data/cldr/common/main/uz_Latn_UZ.xml ! make/data/cldr/common/main/vai.xml ! make/data/cldr/common/main/vai_Latn.xml ! make/data/cldr/common/main/vai_Latn_LR.xml ! make/data/cldr/common/main/vai_Vaii.xml ! make/data/cldr/common/main/vai_Vaii_LR.xml ! make/data/cldr/common/main/ve.xml ! make/data/cldr/common/main/ve_ZA.xml ! make/data/cldr/common/main/vec.xml ! make/data/cldr/common/main/vec_IT.xml ! make/data/cldr/common/main/vi.xml ! make/data/cldr/common/main/vi_VN.xml ! make/data/cldr/common/main/vmw.xml ! make/data/cldr/common/main/vmw_MZ.xml ! make/data/cldr/common/main/vo.xml ! make/data/cldr/common/main/vo_001.xml ! make/data/cldr/common/main/vun.xml ! make/data/cldr/common/main/vun_TZ.xml ! make/data/cldr/common/main/wa.xml ! make/data/cldr/common/main/wa_BE.xml ! make/data/cldr/common/main/wae.xml ! make/data/cldr/common/main/wae_CH.xml ! make/data/cldr/common/main/wal.xml ! make/data/cldr/common/main/wal_ET.xml ! make/data/cldr/common/main/wbp.xml ! make/data/cldr/common/main/wbp_AU.xml ! make/data/cldr/common/main/wo.xml ! make/data/cldr/common/main/wo_SN.xml ! make/data/cldr/common/main/xh.xml ! make/data/cldr/common/main/xh_ZA.xml ! make/data/cldr/common/main/xnr.xml ! make/data/cldr/common/main/xnr_IN.xml ! make/data/cldr/common/main/xog.xml ! make/data/cldr/common/main/xog_UG.xml ! make/data/cldr/common/main/yav.xml ! make/data/cldr/common/main/yav_CM.xml ! make/data/cldr/common/main/yi.xml ! make/data/cldr/common/main/yi_UA.xml ! make/data/cldr/common/main/yo.xml ! make/data/cldr/common/main/yo_BJ.xml ! make/data/cldr/common/main/yo_NG.xml ! make/data/cldr/common/main/yrl.xml ! make/data/cldr/common/main/yrl_BR.xml ! make/data/cldr/common/main/yrl_CO.xml ! make/data/cldr/common/main/yrl_VE.xml ! make/data/cldr/common/main/yue.xml ! make/data/cldr/common/main/yue_Hans.xml ! make/data/cldr/common/main/yue_Hans_CN.xml ! make/data/cldr/common/main/yue_Hant.xml ! make/data/cldr/common/main/yue_Hant_CN.xml ! make/data/cldr/common/main/yue_Hant_HK.xml + make/data/cldr/common/main/yue_Hant_MO.xml ! make/data/cldr/common/main/za.xml ! make/data/cldr/common/main/za_CN.xml ! make/data/cldr/common/main/zgh.xml ! make/data/cldr/common/main/zgh_MA.xml ! make/data/cldr/common/main/zh.xml ! make/data/cldr/common/main/zh_Hans.xml ! make/data/cldr/common/main/zh_Hans_CN.xml ! make/data/cldr/common/main/zh_Hans_HK.xml ! make/data/cldr/common/main/zh_Hans_MO.xml ! make/data/cldr/common/main/zh_Hans_MY.xml ! make/data/cldr/common/main/zh_Hans_SG.xml ! make/data/cldr/common/main/zh_Hant.xml ! make/data/cldr/common/main/zh_Hant_HK.xml ! make/data/cldr/common/main/zh_Hant_MO.xml ! make/data/cldr/common/main/zh_Hant_MY.xml ! make/data/cldr/common/main/zh_Hant_TW.xml ! make/data/cldr/common/main/zh_Latn.xml ! make/data/cldr/common/main/zh_Latn_CN.xml ! make/data/cldr/common/main/zu.xml ! make/data/cldr/common/main/zu_ZA.xml ! make/data/cldr/common/properties/coverageLevels.txt ! make/data/cldr/common/supplemental/attributeValueValidity.xml ! make/data/cldr/common/supplemental/coverageLevels.xml ! make/data/cldr/common/supplemental/dayPeriods.xml ! make/data/cldr/common/supplemental/languageInfo.xml ! make/data/cldr/common/supplemental/likelySubtags.xml ! make/data/cldr/common/supplemental/supplementalData.xml ! make/data/cldr/common/supplemental/supplementalMetadata.xml ! src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md ! test/jdk/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java ! test/jdk/java/time/test/java/time/format/TestUnicodeExtension.java ! test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java - test/jdk/sun/util/resources/cldr/Bug8145136.java + test/jdk/sun/util/resources/cldr/LikelySubtagLocalesTest.java ! test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java ! test/jdk/tools/jlink/plugins/IncludeLocalesPluginTest.java Changeset: c856b342 Branch: hermetic-java-runtime Author: Emanuel Peter Date: 2025-03-25 16:08:57 +0000 URL: https://git.openjdk.org/leyden/commit/c856b3425a70d2aecb6c5c44da36396a5d74b00d 8352587: C2 SuperWord: we must avoid Multiversioning for PeelMainPost loops Reviewed-by: chagedorn, kvn ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/superword/TestMultiversionWithPeelMainPost.java + test/hotspot/jtreg/compiler/loopopts/superword/TestPeelMainPostNoMultiversioning.java Changeset: 121732d4 Branch: hermetic-java-runtime Author: Jiangli Zhou Date: 2025-03-25 11:49:47 +0000 URL: https://git.openjdk.org/leyden/commit/121732d46321439ff36314dc64b53863a82357be Merge branch 'master' into hermetic-java-runtime ! make/StaticLibs.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/utilities/globalDefinitions.hpp ! make/StaticLibs.gmk ! make/modules/java.base/lib/CoreLibraries.gmk ! src/hotspot/share/utilities/globalDefinitions.hpp From sureshg.g at gmail.com Tue Mar 25 23:51:30 2025 From: sureshg.g at gmail.com (Suresh G) Date: Tue, 25 Mar 2025 16:51:30 -0700 Subject: Fwd: AOTCache + ZGC crashes In-Reply-To: <544dee9d-0c44-4566-b3c7-8871670adb42@oracle.com> References: <544dee9d-0c44-4566-b3c7-8871670adb42@oracle.com> Message-ID: Hi Loi, > We have decided to defer it and focus on delivering optimizations for the most common use cases first Thanks, make sense. > file format that's tied to the execution platform of the JVM The second issue I reported seems a bit different. While the Docker engine successfully downloads ARM64 JDK images and the AOT cache configuration is created, the error occurs when generating the cache using that same configuration in the exact same environment. This makes me wonder if the AOT cache generation process isn't properly recognizing the hardware architecture provided by the container platform where the configuration file was created. # AOT conf is created succesfully /opt/java/openjdk/bin/java --show-version --enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:AOTMode=record -XX:AOTConfiguration=/app/app.aotconf -jar app.jar #39 63.57 openjdk 25-ea 2025-09-16 #39 63.57 OpenJDK Runtime Environment (build 25-ea+15-1670) #39 63.57 OpenJDK 64-Bit Server VM (build 25-ea+15-1670, mixed mode) #39 64.30 Starting Http Server on port 80 #39 66.43 + AOT training run completed! # But using the same JVM (execution env), creating AOT archive failed. #39 67.49 + /opt/java/openjdk/bin/java --show-version --enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf -XX:AOTCache=/app/app.aot -jar app.jar #39 67.67 Error occurred during initialization of VM #39 67.67 Must be a valid AOT configuration generated by the current JVM: /app/app.aotconf So IIUC, this is not really a cross platform AOT cache creation. More like cross platform docker run. Thanks Suresh On Mon, Mar 24, 2025 at 9:03?PM wrote: > Hi Suresh, > > Thanks for the bug report. I have created > https://bugs.openjdk.org/browse/JDK-8352775 to track this issue. > > This issue is new in JDK 25 EA and does not affect JDK 24. > > Please see my comments below > > > On 3/21/25 9:51 PM, Suresh G wrote: > > Hello Leyden Team, > > I'm currently testing the new AOT cache feature with the latest OpenJDK 25 > EA builds. My setup is straightforward, aiming to create a Docker image > with the AOT cache, much like I did previously with AppCDS. > > Here is the docker multi-stage build for my sample Hello world app > > - Using openjdk:25-slim (25-ea+15-1670) > - Compiling and creating app.jar > - Getting module deps > jdeps -q \ > -R \ > --ignore-missing-deps \ > --print-module-deps \ > --multi-release=25 \ > *.jar > ${APP_DIR}/java.modules > > - Creating jlinked image > $JAVA_HOME/bin/jlink \ > --verbose \ > --module-path ${JAVA_HOME}/jmods \ > --add-modules="$(cat ${APP_DIR}/java.modules)" \ > --compress=zip-9 \ > --strip-debug \ > --strip-java-debug-attributes \ > --no-man-pages \ > --no-header-files \ > --save-opts "${APP_DIR}/jlink.opts" \ > --output ${RUNTIME_IMAGE} > > - Creating AOT cache > echo "AOT training run for the app..." > nohup ${RUNTIME_IMAGE}/bin/java \ > --show-version \ > --enable-preview \ > -XX:+UnlockExperimentalVMOptions \ > -XX:+UseCompactObjectHeaders \ > -XX:AOTMode=record -XX:AOTConfiguration=${APP_DIR}/app.aotconf \ > -jar ${APP_JAR} & \ > > sleep 1 && \ > curl -fsSL --retry 5 --retry-delay 2 --retry-all-errors > http://localhost/test > curl -fsSL http://localhost/shutdown || echo "AOT training run > completed!" > > echo "Creating AOT archive..." > ${RUNTIME_IMAGE}/bin/java \ > --show-version \ > --enable-preview \ > -XX:+UnlockExperimentalVMOptions \ > -XX:+UseCompactObjectHeaders \ > -XX:AOTMode=create -XX:AOTConfiguration=${APP_DIR}/app.aotconf > -XX:AOTCache=${APP_DIR}/app.aot \ > -jar ${APP_JAR} > > - Now copy the APP_DIR to a distroless container (Final image) > --------------------------------------------------------------- > --------------------- > > I'm experiencing the following issues with the current build. > > 1. JVM crashes with ZGC enabled: > # > # A fatal error has been detected by the Java Runtime Environment: > # > # SIGSEGV (0xb) at pc=0x0000000105b4f318, pid=13825, tid=8963 > # > # JRE version: (25.0+15) (build ) > # Java VM: OpenJDK 64-Bit Server VM (25-ea+15-1670, interpreted mode, > sharing, compressed class ptrs, z gc, bsd-aarch64) > # Problematic frame: > # V [libjvm.dylib+0x47f318] > MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 > # > # No core dump will be written. Core dumps have been disabled. To > enable core dumping, try "ulimit -c unlimited" before starting Java again > # > # > > --------------- S U M M A R Y ------------ > > Command Line: --enable-preview -XX:+UnlockExperimentalVMOptions > -XX:+UseCompactObjectHeaders -XX:+UseZGC -XX:AOTMode=create -XX: > AOTConfiguration=app.aotconf -XX:AOTCache=app.aot app.jar > > Host: "MacBookPro18,1" arm64, 10 cores, 32G, Darwin 23.6.0, macOS > 14.6.1 (23G93) > Time: Fri Mar 21 20:21:47 2025 PDT elapsed time: 0.044457 seconds (0d > 0h 0m 0s) > > --------------- T H R E A D --------------- > > Current thread (0x0000000136808c00): JavaThread "Unknown thread" > [_thread_in_vm, id=8963, stack(0x000000016bd84000, 0x000000016bf87000) > (2060K)] > > Stack: [0x000000016bd84000,0x000000016bf87000], > sp=0x000000016bf86380, free space=2056k > Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, > C=native code) > V [libjvm.dylib+0x47f318] > MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 > V [libjvm.dylib+0x2d1b38] > ConstantPool::restore_unshareable_info(JavaThread*)+0x20c > V [libjvm.dylib+0xa52928] vmClasses::resolve_all(JavaThread*)+0xe0 > V [libjvm.dylib+0x9a85cc] > SystemDictionary::initialize(JavaThread*)+0xa0 > V [libjvm.dylib+0xa0c8d0] Universe::genesis(JavaThread*)+0x74 > V [libjvm.dylib+0xa0f570] universe2_init()+0x24 > V [libjvm.dylib+0x497dac] init_globals2()+0xc > > 2. AOT Cache generation fails during Docker cross-compilation: > Specifically, running docker build with --platform=linux/amd64 on ARM64 > runner. > > 36.70 + /opt/java/openjdk/bin/java --enable-preview > -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders > -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf > -XX:AOTCache=/app/app.aot -jar app.jar > 36.70 Creating AOT archive... > 36.77 Error occurred during initialization of VM > 36.77 Must be a valid AOT configuration generated by the current JVM: > /app/app.aotconf > > > 3. Also, are there plans to make the app.aotconf file cross-platform > compatible? This would allow us to generate the configuration once, and > then produce platform-specific caches from that configuration in CI systems > like GitHub Actions. > > > In JDK 25 and going forward, we are collecting execution profile during > AOT training. As a result, we have changed the AOT configuration file to a > binary file format that's tied to the execution platform of the JVM. You > can see more information from https://bugs.openjdk.org/browse/JDK-8348426 > > The profile data is difficult to be represented in a cross-platform format > (e.g., a text file). The need for "cross platform builds" has come up > before in our design discussion. We have decided to defer it and focus on > delivering optimizations for the most common use cases first. We might > re-evaluate this decision in the future when we have more user feedback > (and more time :-) > > Thanks > > - Ioi > > Thanks > Suresh > > -- ~ Suresh G -------------- next part -------------- An HTML attachment was scrubbed... URL: From ioi.lam at oracle.com Thu Mar 27 18:36:45 2025 From: ioi.lam at oracle.com (ioi.lam at oracle.com) Date: Thu, 27 Mar 2025 11:36:45 -0700 Subject: Fwd: AOTCache + ZGC crashes In-Reply-To: References: <544dee9d-0c44-4566-b3c7-8871670adb42@oracle.com> Message-ID: <0f66ab4f-1c6b-4d93-9ff2-43d35fc1e8af@oracle.com> Hi Suresh, Does this problem happen only with docker, and not with running directly on a Linux host? Could you send the exact command-lines that shows the error? Thanks - Ioi On 3/25/25 4:51 PM, Suresh G wrote: > Hi Loi, > > > We have decided to defer it and focus on delivering optimizations > for the most common use cases first > Thanks, make sense. > > > ?file format that's tied to the execution platform of the JVM > > The second issue I reported seems a bit different. While the Docker > engine successfully downloads ARM64 JDK images and the AOT cache > configuration is created, the error occurs when generating the cache > using that same configuration in the exact same environment. This > makes me wonder if the AOT cache generation process isn't properly > recognizing the hardware architecture provided by the container > platform where the configuration file was created. > > # AOT conf is created succesfully > /opt/java/openjdk/bin/java --show-version --enable-preview > -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders > -XX:AOTMode=record -XX:AOTConfiguration=/app/app.aotconf -jar app.jar > #39 63.57 openjdk 25-ea 2025-09-16 > #39 63.57 OpenJDK Runtime Environment (build 25-ea+15-1670) > #39 63.57 OpenJDK 64-Bit Server VM (build 25-ea+15-1670, mixed mode) > #39 64.30 Starting Http Server on port 80 > #39 66.43 + AOT training run completed! > > > # But using the same JVM (execution env), creating AOT archive failed. > #39 67.49 + /opt/java/openjdk/bin/java --show-version --enable-preview > -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders > -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf > -XX:AOTCache=/app/app.aot -jar app.jar > #39 67.67 Error occurred during initialization of VM > #39 67.67 Must be a valid AOT configuration generated by the current > JVM: /app/app.aotconf > > So? IIUC, this is not really a cross platform AOT cache creation. More > like cross platform docker run. > > Thanks > Suresh > > > On Mon, Mar 24, 2025 at 9:03?PM wrote: > > Hi Suresh, > > Thanks for the bug report. I have created > https://bugs.openjdk.org/browse/JDK-8352775 to track this issue. > > This issue is new in JDK 25 EA and does not affect JDK 24. > > Please see my comments below > > > On 3/21/25 9:51 PM, Suresh G wrote: >> Hello Leyden Team, >> >> I'm currently testing the new AOT cache feature with the latest >> OpenJDK 25 EA builds. My setup is straightforward, aiming to >> create a Docker image with the AOT cache, much like I did >> previously with AppCDS. >> >> Here is the docker multi-stage build for my sample Hello world app >> >> ? - Using openjdk:25-slim (25-ea+15-1670) >> ? - Compiling and creating app.jar >> ? - Getting module deps >> ? ? jdeps -q \ >> ? ? ? ?-R \ >> ? ? ? ?--ignore-missing-deps \ >> ? ? ? ?--print-module-deps \ >> ? ? ? ?--multi-release=25 \ >> ? ? ? ?*.jar > ${APP_DIR}/java.modules >> >> ? - Creating jlinked image >> ? ? $JAVA_HOME/bin/jlink \ >> ? ? ? ? ? --verbose \ >> ? ? ? ? ? --module-path ${JAVA_HOME}/jmods \ >> ? ? ? ? ? --add-modules="$(cat ${APP_DIR}/java.modules)" \ >> ? ? ? ? ? --compress=zip-9 \ >> ? ? ? ? ? --strip-debug \ >> ? ? ? ? ? --strip-java-debug-attributes \ >> ? ? ? ? ? --no-man-pages \ >> ? ? ? ? ? --no-header-files \ >> ? ? ? ? ? --save-opts "${APP_DIR}/jlink.opts" \ >> ? ? ? ? ? --output ${RUNTIME_IMAGE} >> >> ? - Creating AOT cache >> ? ? echo "AOT training run for the app..." >> ? ? nohup ${RUNTIME_IMAGE}/bin/java \ >> ? ? ? ? --show-version \ >> ? ? ? ? --enable-preview \ >> ? ? ? ? -XX:+UnlockExperimentalVMOptions \ >> ? ? ? ? -XX:+UseCompactObjectHeaders \ >> ? ? ? ? -XX:AOTMode=record >> -XX:AOTConfiguration=${APP_DIR}/app.aotconf \ >> ? ? ? ? -jar ${APP_JAR} & \ >> >> ? ? sleep 1 && \ >> ? ? curl -fsSL --retry 5 --retry-delay 2 --retry-all-errors >> http://localhost/test >> >> ? ? curl -fsSL http://localhost/shutdown >> >> || echo "AOT training run completed!" >> >> ? ? echo "Creating AOT archive..." >> ? ? ${RUNTIME_IMAGE}/bin/java \ >> ? ? ? ? ? --show-version \ >> ? ? ? ? ? --enable-preview \ >> ? ? ? ? ? -XX:+UnlockExperimentalVMOptions \ >> ? ? ? ? ? -XX:+UseCompactObjectHeaders \ >> ? ? ? ? ? -XX:AOTMode=create >> -XX:AOTConfiguration=${APP_DIR}/app.aotconf >> -XX:AOTCache=${APP_DIR}/app.aot \ >> ? ? ? ? ? -jar ${APP_JAR} >> >> ?- Now copy the APP_DIR to a distroless container (Final image) >> ?------------------------------------------------------------------------------------ >> >> ?I'm experiencing the following issues with the current build. >> >> ?1. JVM crashes with ZGC enabled: >> ? ? # >> ? ? # A fatal error has been detected by the Java Runtime >> Environment: >> ? ? # >> ? ? # ?SIGSEGV (0xb) at pc=0x0000000105b4f318, pid=13825, tid=8963 >> ? ? # >> ? ? # JRE version: ?(25.0+15) (build ) >> ? ? # Java VM: OpenJDK 64-Bit Server VM (25-ea+15-1670, >> interpreted mode, sharing, compressed class ptrs, z gc, bsd-aarch64) >> ? ? # Problematic frame: >> ? ? # V ?[libjvm.dylib+0x47f318] >> ?MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 >> ? ? # >> ? ? # No core dump will be written. Core dumps have been >> disabled. To enable core dumping, try "ulimit -c unlimited" >> before starting ? ?Java again >> ? ? # >> ? ? # >> >> ? ? --------------- ?S U M M A R Y ------------ >> >> ? ? Command Line: --enable-preview >> -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders >> -XX:+UseZGC -XX:AOTMode=create -XX: ?AOTConfiguration=app.aotconf >> -XX:AOTCache=app.aot app.jar >> >> ? ? Host: "MacBookPro18,1" arm64, 10 cores, 32G, Darwin 23.6.0, >> macOS 14.6.1 (23G93) >> ? ? Time: Fri Mar 21 20:21:47 2025 PDT elapsed time: 0.044457 >> seconds (0d 0h 0m 0s) >> >> ? ? --------------- ?T H R E A D ?--------------- >> >> ? ? Current thread (0x0000000136808c00): ?JavaThread "Unknown >> thread" [_thread_in_vm, id=8963, stack(0x000000016bd84000, >> ?0x000000016bf87000) (2060K)] >> >> ? ? Stack: [0x000000016bd84000,0x000000016bf87000], >> ?sp=0x000000016bf86380, ?free space=2056k >> ? ? Native frames: (J=compiled Java code, j=interpreted, Vv=VM >> code, C=native code) >> ? ? V ?[libjvm.dylib+0x47f318] >> ?MetaspaceObjToOopHandleTable::set_oop(MetaspaceObj*, oopDesc*)+0x78 >> ? ? V ?[libjvm.dylib+0x2d1b38] >> ?ConstantPool::restore_unshareable_info(JavaThread*)+0x20c >> ? ? V ?[libjvm.dylib+0xa52928] >> ?vmClasses::resolve_all(JavaThread*)+0xe0 >> ? ? V ?[libjvm.dylib+0x9a85cc] >> ?SystemDictionary::initialize(JavaThread*)+0xa0 >> ? ? V ?[libjvm.dylib+0xa0c8d0] ?Universe::genesis(JavaThread*)+0x74 >> ? ? V ?[libjvm.dylib+0xa0f570] ?universe2_init()+0x24 >> ? ? V ?[libjvm.dylib+0x497dac] ?init_globals2()+0xc >> >> 2. AOT Cache generation fails during Docker cross-compilation: >> Specifically, running docker build with --platform=linux/amd64on >> ARM64 runner. >> >> ? ?36.70 + /opt/java/openjdk/bin/java --enable-preview >> -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders >> -XX:AOTMode=create -XX:AOTConfiguration=/app/app.aotconf >> -XX:AOTCache=/app/app.aot -jar app.jar >> ? ?36.70 Creating AOT archive... >> ? ?36.77 Error occurred during initialization of VM >> ? ?36.77 Must be a valid AOT configuration generated by the >> current JVM: /app/app.aotconf >> >> >> 3. Also, are there plans to make the app.aotconf file >> cross-platform compatible? This would allow us to generate the >> configuration once, and then produce platform-specific caches >> from that configuration in CI systems like GitHub Actions. >> >> > In JDK 25 and going forward, we are collecting execution profile > during AOT training. As a result, we have changed the AOT > configuration file to a binary file format that's tied to the > execution platform of the JVM. You can see more information from > https://bugs.openjdk.org/browse/JDK-8348426 > > The profile data is difficult to be represented in a > cross-platform format (e.g., a text file). The need for "cross > platform builds" has come up before in our design discussion. We > have decided to defer it and focus on delivering optimizations for > the most common use cases first. We might re-evaluate this > decision in the future when we have more user feedback (and more > time :-) > > Thanks > > - Ioi > > >> Thanks >> Suresh > > > > -- > ~Suresh G > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.r.rose at oracle.com Thu Mar 27 21:02:26 2025 From: john.r.rose at oracle.com (John Rose) Date: Thu, 27 Mar 2025 14:02:26 -0700 Subject: JavaOne keynote video Message-ID: <3594AB64-AF53-426E-8329-E9CD3EBF4D9B@oracle.com> The JavaOne keynote I spoke of in today?s meeting is found here: https://www.youtube.com/live/mk_2MIWxLI0?si=36qipONp50jc43gb It is on this playlist, which is small but will grow in time: https://www.youtube.com/playlist?list=PLX8CzqL3ArzVV1xRJkRbcM2tOgVwytJAi At about 1:44 is an interview about AOT with Dan Heidinga! https://www.youtube.com/live/mk_2MIWxLI0?si=vhVtYOyYz9ZkuH8E&t=6264 From asmehra at openjdk.org Fri Mar 28 04:57:09 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 28 Mar 2025 04:57:09 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v4] In-Reply-To: References: Message-ID: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Flush code block when loading the nmethod from archive Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/27/files - new: https://git.openjdk.org/leyden/pull/27/files/900d4a4e..2ccf016e Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=03 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=02-03 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From asmehra at openjdk.org Fri Mar 28 05:46:33 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 28 Mar 2025 05:46:33 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v5] In-Reply-To: References: Message-ID: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: Rename write_nmethod_extra_relocations to write_nmethod_loadtime_relocations Signed-off-by: Ashutosh Mehra ------------- Changes: - all: https://git.openjdk.org/leyden/pull/27/files - new: https://git.openjdk.org/leyden/pull/27/files/2ccf016e..14a44f83 Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=04 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=03-04 Stats: 3 lines in 2 files changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From asmehra at openjdk.org Fri Mar 28 05:46:34 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 28 Mar 2025 05:46:34 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Thu, 20 Mar 2025 11:28:51 GMT, Andrew Dinn wrote: >> Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: >> >> Minor cleanup >> >> Signed-off-by: Ashutosh Mehra > > Looks ok to me. Thanks @adinn for finding out the missing code to flush icache. I have updated the patch to flush the icache and that fixes the intermittent crashes seen on aarch64. I think this patch is now ready to be pushed to premain branch. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2760247251 From asmehra at openjdk.org Fri Mar 28 09:58:26 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 28 Mar 2025 09:58:26 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v2] In-Reply-To: References: Message-ID: On Thu, 20 Mar 2025 11:28:51 GMT, Andrew Dinn wrote: >> Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: >> >> Minor cleanup >> >> Signed-off-by: Ashutosh Mehra > > Looks ok to me. @adinn or @vnkozlov can either of you please review the changes again as I have pushed few more commits since the approval. ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2760773796 From shade at openjdk.org Fri Mar 28 11:05:55 2025 From: shade at openjdk.org (Aleksey Shipilev) Date: Fri, 28 Mar 2025 11:05:55 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v5] In-Reply-To: References: Message-ID: On Fri, 28 Mar 2025 05:46:33 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision: > > Rename write_nmethod_extra_relocations to write_nmethod_loadtime_relocations > > Signed-off-by: Ashutosh Mehra ARM32 build is failing, I think because base for this PR misses https://github.com/openjdk/leyden/commit/adb81071edc8325b184e34e8fca31ff84e523628 -- pull it in to get clean GHA run :) ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2761022684 From gunnar.morling at googlemail.com Fri Mar 28 11:11:39 2025 From: gunnar.morling at googlemail.com (Gunnar Morling) Date: Fri, 28 Mar 2025 12:11:39 +0100 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: Hey all, I've written a quick blog post about my experiences with JEP 483: https://www.morling.dev/blog/jep-483-aot-class-loading-linking/ Observing a reduction of 59% of start-up time for Apache Kafka and of 51% of time-to-first-message for a simple Apache Flink job, very nice! Best, --Gunnar On Tue, 25 Mar 2025 at 17:18, Gunnar Morling wrote: > Hey all, > > Sorry for the late reply, I was travelling for a conference last week. > Indeed I had the following as part of my Java invocation, as you suspected, > Alan: > > -Dcom.sun.management.jmxremote=true > -Dcom.sun.management.jmxremote.authenticate=false > -Dcom.sun.management.jmxremote.ssl=false > > It happens automatically from within Kafka's launch scripts, which is why > I hadn't noticed it at first. Once I dropped that part, I could create the > AOT cache file successfully. Interestingly, the error still occurred when I > replaced the above with the following: > > -Dcom.sun.management.jmxremote=false > > I'd have assumed this not to be the case? Similarly, I tried to specify > -XX:+UnlockDiagnosticVMOptions -XX:+AllowArchivingWithJavaAgent to allow > the cache creation with an agent, but to no avail. The only way it did work > was by removing the three -Dcom.sun.management.* options altogether. > > I don't fully understand all the moving parts here yet, but it appears as > if the ergonomics of this feature could still be improved? In any case, > thanks a lot for your help, I was able to create the AOT cache file in the > end and it shaved off a nice chunk of the Kafka start-up time! > > Best, > > --Gunnar > > > > On Tue, 18 Mar 2025 at 05:40, wrote: > >> >> On 3/16/25 1:09 AM, Alan Bateman wrote: >> > On 16/03/2025 02:12, ioi.lam at oracle.com wrote: >> >> Could you send the exact command-line that causes the error? If you >> >> can share a self-contain reproducible test case, that would be great! >> >> >> >> Looking from the stack trace: >> >> >> >> at >> >> >> jdk.management.agent/sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.java:542) >> >> at >> >> >> jdk.management.agent/jdk.internal.agent.Agent.startLocalManagementAgent(Agent.java:316) >> >> at >> >> >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:448) >> >> at >> >> >> jdk.management.agent/jdk.internal.agent.Agent.startAgent(Agent.java:601) >> >> >> >> It looks like you might have specified a Java agent in the "java >> >> -XX:AOTMode=create ...." command line. Can you try removing that and >> >> see if it works? >> > >> > I assume it's something started with -Dcom.sun.management=... to start >> > the JMX agent. This sets in motion the registration of management >> > beans and the JMX introspector machinery that looks at annotations and >> > causes Proxy classes to be generated into dynamic modules. >> > >> > Ioi - I suspect the restriction on creating dynamic modules in the >> > dump phase may be too restrictive. The full module graph dumping >> > should only be concerned with the boot layer. >> > >> > -Alan >> >> >> Hi Alan, thanks for the information. I've created >> https://bugs.openjdk.org/browse/JDK-8352187 to address this problem. >> >> I verified that the dynamic modules created by the dynamic proxies >> always have a null for its ModuleLayer. Also, there are no APIs for >> adding new modules into the boot layer (after the boot layer has been >> initialized), so the usage of ProxyBuilder.getDynamicModule() shouldn't >> cause problems for CDS. >> >> >> https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/jdk/internal/module/Modules.java#L76-L82 >> >> https://github.com/openjdk/jdk/blob/38499b3fbfcd22252ddf860d42b9eb0bf6f77235/src/java.base/share/classes/java/lang/System.java#L2033-L2037 >> >> Thanks >> >> - Ioi >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmehra at openjdk.org Fri Mar 28 11:51:12 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Fri, 28 Mar 2025 11:51:12 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v6] In-Reply-To: References: Message-ID: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... 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 17 additional commits since the last revision: - Merge branch 'premain' into nmethod-single-copy-load - Rename write_nmethod_extra_relocations to write_nmethod_loadtime_relocations Signed-off-by: Ashutosh Mehra - Flush code block when loading the nmethod from archive Signed-off-by: Ashutosh Mehra - Some more cleanup Signed-off-by: Ashutosh Mehra - Set compile id Signed-off-by: Ashutosh Mehra - Minor cleanup Signed-off-by: Ashutosh Mehra - Handle mutable nmethod data properly when storing/loading from AOT code cache Signed-off-by: Ashutosh Mehra - Fix win compile failures Signed-off-by: Ashutosh Mehra - Remove trailing whitespaces Signed-off-by: Ashutosh Mehra - Include os.hpp to fix compile failures Signed-off-by: Ashutosh Mehra - ... and 7 more: https://git.openjdk.org/leyden/compare/efccd77f...45b086ad ------------- Changes: - all: https://git.openjdk.org/leyden/pull/27/files - new: https://git.openjdk.org/leyden/pull/27/files/14a44f83..45b086ad Webrevs: - full: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=05 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=27&range=04-05 Stats: 147 lines in 16 files changed: 75 ins; 47 del; 25 mod Patch: https://git.openjdk.org/leyden/pull/27.diff Fetch: git fetch https://git.openjdk.org/leyden.git pull/27/head:pull/27 PR: https://git.openjdk.org/leyden/pull/27 From iklam at openjdk.org Fri Mar 28 15:57:03 2025 From: iklam at openjdk.org (Ioi Lam) Date: Fri, 28 Mar 2025 15:57:03 GMT Subject: git: openjdk/leyden: premain: 2 new changesets Message-ID: Changeset: 78774b05 Branch: premain Author: Ioi Lam Date: 2025-03-27 19:16:50 +0000 URL: https://git.openjdk.org/leyden/commit/78774b052aecef838069791b0ce8a54144706ba7 sync lambdaFormInvokers.cpp with mainline ! src/hotspot/share/cds/lambdaFormInvokers.cpp Changeset: e53efd9c Branch: premain Author: Ioi Lam Date: 2025-03-28 00:18:10 +0000 URL: https://git.openjdk.org/leyden/commit/e53efd9c0e90e3d87d49765bb9d640a6f6f448ec Support pointer tagging in archived metaspace objects (for archived MethodData) ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/memory/metaspaceClosure.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp From kvn at openjdk.org Fri Mar 28 16:20:02 2025 From: kvn at openjdk.org (Vladimir Kozlov) Date: Fri, 28 Mar 2025 16:20:02 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v6] In-Reply-To: References: Message-ID: On Fri, 28 Mar 2025 11:51:12 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > 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 17 additional commits since the last revision: > > - Merge branch 'premain' into nmethod-single-copy-load > - Rename write_nmethod_extra_relocations to write_nmethod_loadtime_relocations > > Signed-off-by: Ashutosh Mehra > - Flush code block when loading the nmethod from archive > > Signed-off-by: Ashutosh Mehra > - Some more cleanup > > Signed-off-by: Ashutosh Mehra > - Set compile id > > Signed-off-by: Ashutosh Mehra > - Minor cleanup > > Signed-off-by: Ashutosh Mehra > - Handle mutable nmethod data properly when storing/loading from AOT code > cache > > Signed-off-by: Ashutosh Mehra > - Fix win compile failures > > Signed-off-by: Ashutosh Mehra > - Remove trailing whitespaces > > Signed-off-by: Ashutosh Mehra > - Include os.hpp to fix compile failures > > Signed-off-by: Ashutosh Mehra > - ... and 7 more: https://git.openjdk.org/leyden/compare/21a44f50...45b086ad Looks good. ------------- Marked as reviewed by kvn (Committer). PR Review: https://git.openjdk.org/leyden/pull/27#pullrequestreview-2726051404 From adinn at redhat.com Fri Mar 28 20:44:59 2025 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 28 Mar 2025 20:44:59 +0000 Subject: NotCompliantMBeanException during cache creation In-Reply-To: References: Message-ID: <4c1040fd-e380-477b-8719-aed616621f2c@redhat.com> Hi Gunnar, On 28/03/2025 11:11, Gunnar Morling wrote: > I've written a quick blog post about my experiences with JEP 483: > > https://www.morling.dev/blog/jep-483-aot-class-loading-linking/ > > > Observing?a reduction of 59% of start-up time for Apache Kafka and of > 51% of time-to-first-message for a simple Apache Flink job, very nice! It's great to have you as an early adopter of JEP 483 and Leyden. Thanks very much for the nice blog post (yet another one of many) and also for priming and pursuing discussion on Hacker News. regards, Andrew Dinn ----------- From duke at openjdk.org Sat Mar 29 01:44:55 2025 From: duke at openjdk.org (duke) Date: Sat, 29 Mar 2025 01:44:55 GMT Subject: git: openjdk/leyden: premain: Backport some of the JEP2 review changes Message-ID: <124e2837-3278-41f2-8363-2ca476bb2396@openjdk.org> Changeset: 2c2289b1 Branch: premain Author: Igor Veresov Date: 2025-03-28 18:41:23 +0000 URL: https://git.openjdk.org/leyden/commit/2c2289b153823b747637fd603c5305888a2c1935 Backport some of the JEP2 review changes ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/oops/methodCounters.hpp ! src/hotspot/share/oops/recompilationSchedule.cpp ! src/hotspot/share/oops/recompilationSchedule.hpp ! src/hotspot/share/oops/trainingData.cpp ! src/hotspot/share/oops/trainingData.hpp From asmehra at openjdk.org Mon Mar 31 08:38:54 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 31 Mar 2025 08:38:54 GMT Subject: git: openjdk/leyden: premain: Save/load nmethod without going through CodeBuffer Message-ID: <0401fcfd-bb45-498c-92e4-0c5561fdd418@openjdk.org> Changeset: b55a514d Branch: premain Author: Ashutosh Mehra Date: 2025-03-31 08:37:24 +0000 URL: https://git.openjdk.org/leyden/commit/b55a514d22f82b5283af480e6a958a2e4f9d074d Save/load nmethod without going through CodeBuffer Reviewed-by: adinn, kvn ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/code/SCCache.cpp ! src/hotspot/share/code/SCCache.hpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeBlob.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/oopMap.hpp From asmehra at openjdk.org Mon Mar 31 08:40:50 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 31 Mar 2025 08:40:50 GMT Subject: RFR: Save/load nmethod without going through CodeBuffer [v6] In-Reply-To: References: Message-ID: On Fri, 28 Mar 2025 11:51:12 GMT, Ashutosh Mehra wrote: >> This is the prototype for storing and loading nmethods without going through the CodeBuffer. >> The new implementation is protected by the flag -XX:+UseNewCode2. >> >> Some numbers using this implementation: >> spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. >> >> Numbers for Springboot >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,544,512 >> 2,554,525 >> 3,550,508 >> 4,571,515 >> 5,550,506 >> 6,552,515 >> 7,568,510 >> 8,554,517 >> 9,551,506 >> 10,556,508 >> Geomean,554.94,512.17 >> Stdev,7.90,5.65 >> >> Numbers for Quarkus: >> >> Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 >> New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 >> Run,Old CDS + AOT,New CDS + AOT >> 1,359,346 >> 2,360,353 >> 3,373,357 >> 4,376,356 >> 5,366,353 >> 6,360,356 >> 7,361,361 >> 8,347,349 >> 9,355,336 >> 10,374,342 >> Geomean,363.00,350.82 >> Stdev,8.70,7.27 >> >> >> -Xlog:init logs the load time from AOT code cache at JVM exit. >> For spring-boot-getting-started without `UseNewCode2`: >> >> [3.459s][info][init] SC Load Time: 0.202 s >> [3.459s][info][init] nmethod register: 0.135 s >> [3.459s][info][init] find cached code: 0.007 s >> >> >> For spring-boot-getting-started with `UseNewCode2`: >> >> [3.192s][info][init] >> [3.192s][info][init] SC Load Time: 0.138 s >> [3.192s][info][init] nmethod register: 0.111 s >> [3.192s][info][init] find cached code: 0.006 s >> >> >> For quarkus-getting-started without `UseNewCode2` >> >> [0.392s][info][init] SC Load Time: 0.060 s >> [0.392s][info][init] nmethod register: 0.039 s >> [0.392s][info][init] find cached code: 0.002 s >> >> >> For quarkus-getting-started with `UseNewCode2` >> >> [0.386s][info][init] SC Load Time: 0.033 s >> [0.386s][info][init] nmethod register: 0.027 s >> [0.386s][info][init] find cached code: ... > > 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 17 additional commits since the last revision: > > - Merge branch 'premain' into nmethod-single-copy-load > - Rename write_nmethod_extra_relocations to write_nmethod_loadtime_relocations > > Signed-off-by: Ashutosh Mehra > - Flush code block when loading the nmethod from archive > > Signed-off-by: Ashutosh Mehra > - Some more cleanup > > Signed-off-by: Ashutosh Mehra > - Set compile id > > Signed-off-by: Ashutosh Mehra > - Minor cleanup > > Signed-off-by: Ashutosh Mehra > - Handle mutable nmethod data properly when storing/loading from AOT code > cache > > Signed-off-by: Ashutosh Mehra > - Fix win compile failures > > Signed-off-by: Ashutosh Mehra > - Remove trailing whitespaces > > Signed-off-by: Ashutosh Mehra > - Include os.hpp to fix compile failures > > Signed-off-by: Ashutosh Mehra > - ... and 7 more: https://git.openjdk.org/leyden/compare/d5429885...45b086ad I got some numbers for aarch64 as well and they are in similar range as for x86-64 On a 128 cpu server: Old build = /tmp/ashu/leyden/build/premain-release/images/jdk with options New build = /tmp/ashu/leyden/build/nmethod-single-copy-load-release/images/jdk with options Run,Old CDS + AOT,New CDS + AOT 1,463,444 2,457,443 3,465,453 4,452,447 5,460,446 6,458,443 7,465,445 8,464,454 9,461,449 10,455,449 Geomean,459.98,447.28 Stdev,4.22,3.72 On same 128 cpu server but bound to 0-7 cpus: Old build = /tmp/ashu/leyden/build/premain-release/images/jdk with options New build = /tmp/ashu/leyden/build/nmethod-single-copy-load-release/images/jdk with options Run,Old CDS + AOT,New CDS + AOT 1,441,424 2,449,420 3,435,427 4,429,427 5,429,430 6,437,424 7,441,425 8,447,426 9,429,432 10,438,421 Geomean,437.45,425.59 Stdev,6.86,3.50 Load time as reported by `Xlog:init` for premain: [0.680s][info][init] SC Load Time: 0.210 s [0.680s][info][init] nmethod register: 0.148 s [0.680s][info][init] find cached code: 0.004 s Load time as reported by `Xlog:init` for this PR: [0.675s][info][init] SC Load Time: 0.143 s [0.675s][info][init] nmethod register: 0.128 s [0.675s][info][init] find cached code: 0.004 s ------------- PR Comment: https://git.openjdk.org/leyden/pull/27#issuecomment-2765510815 From asmehra at openjdk.org Mon Mar 31 08:40:50 2025 From: asmehra at openjdk.org (Ashutosh Mehra) Date: Mon, 31 Mar 2025 08:40:50 GMT Subject: Integrated: Save/load nmethod without going through CodeBuffer In-Reply-To: References: Message-ID: On Wed, 11 Dec 2024 00:00:32 GMT, Ashutosh Mehra wrote: > This is the prototype for storing and loading nmethods without going through the CodeBuffer. > The new implementation is protected by the flag -XX:+UseNewCode2. > > Some numbers using this implementation: > spring-boot-getting-started [0] shows startup improvement of ~ 7.5%% and quarkus-getting-started [1] shows improvement of around ~3.5%. > > Numbers for Springboot > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,544,512 > 2,554,525 > 3,550,508 > 4,571,515 > 5,550,506 > 6,552,515 > 7,568,510 > 8,554,517 > 9,551,506 > 10,556,508 > Geomean,554.94,512.17 > Stdev,7.90,5.65 > > Numbers for Quarkus: > > Old build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:-UseNewCode2 > New build = /home/asmehra/data/ashu-mehra/leyden/build/nmethod-single-copy-load-release/images/jdk with options -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode2 > Run,Old CDS + AOT,New CDS + AOT > 1,359,346 > 2,360,353 > 3,373,357 > 4,376,356 > 5,366,353 > 6,360,356 > 7,361,361 > 8,347,349 > 9,355,336 > 10,374,342 > Geomean,363.00,350.82 > Stdev,8.70,7.27 > > > -Xlog:init logs the load time from AOT code cache at JVM exit. > For spring-boot-getting-started without `UseNewCode2`: > > [3.459s][info][init] SC Load Time: 0.202 s > [3.459s][info][init] nmethod register: 0.135 s > [3.459s][info][init] find cached code: 0.007 s > > > For spring-boot-getting-started with `UseNewCode2`: > > [3.192s][info][init] > [3.192s][info][init] SC Load Time: 0.138 s > [3.192s][info][init] nmethod register: 0.111 s > [3.192s][info][init] find cached code: 0.006 s > > > For quarkus-getting-started without `UseNewCode2` > > [0.392s][info][init] SC Load Time: 0.060 s > [0.392s][info][init] nmethod register: 0.039 s > [0.392s][info][init] find cached code: 0.002 s > > > For quarkus-getting-started with `UseNewCode2` > > [0.386s][info][init] SC Load Time: 0.033 s > [0.386s][info][init] nmethod register: 0.027 s > [0.386s][info][init] find cached code: 0.002 s > > > [0] https://github.com/openjdk/leyden/tree/premain/test/hotspot/jtreg/premain/spring-boot-getting-started > [1] https://github.com/op... This pull request has now been integrated. Changeset: b55a514d Author: Ashutosh Mehra URL: https://git.openjdk.org/leyden/commit/b55a514d22f82b5283af480e6a958a2e4f9d074d Stats: 1769 lines in 16 files changed: 1128 ins; 432 del; 209 mod Save/load nmethod without going through CodeBuffer Reviewed-by: adinn, kvn ------------- PR: https://git.openjdk.org/leyden/pull/27 From iklam at openjdk.org Mon Mar 31 15:15:32 2025 From: iklam at openjdk.org (Ioi Lam) Date: Mon, 31 Mar 2025 15:15:32 GMT Subject: git: openjdk/leyden: premain: Cleaned up log message with pointers that are set to null by RelocateEmbeddedPointers Message-ID: <771be2b5-d5c2-4017-9766-dc7918d4538b@openjdk.org> Changeset: 334471da Branch: premain Author: Ioi Lam Date: 2025-03-31 08:11:04 +0000 URL: https://git.openjdk.org/leyden/commit/334471da3ea3c0071ae305c8c1ff2be6dd34fca6 Cleaned up log message with pointers that are set to null by RelocateEmbeddedPointers ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp From duke at openjdk.org Mon Mar 31 22:15:46 2025 From: duke at openjdk.org (duke) Date: Mon, 31 Mar 2025 22:15:46 GMT Subject: git: openjdk/leyden: premain: Remove MethodData::__gap Message-ID: <71ef2c10-fb8b-479c-8cf7-5d210fdab132@openjdk.org> Changeset: 3613cb65 Branch: premain Author: Igor Veresov Date: 2025-03-31 15:13:08 +0000 URL: https://git.openjdk.org/leyden/commit/3613cb6524d27f4ceec3f045245fe2b610ad9488 Remove MethodData::__gap ! src/hotspot/share/oops/methodData.hpp